tx · 3XdZoiFPpLEhsiefwaEVjAC5musXdg4onPE9Kgu7w5Nq

3PEgVPqJ3NYWbRn1CLELUpuY9KCmragc7sY:  -0.01500000 Waves

2024.01.22 09:15 [4008081] smart account 3PEgVPqJ3NYWbRn1CLELUpuY9KCmragc7sY > SELF 0.00000000 Waves

{ "type": 13, "id": "3XdZoiFPpLEhsiefwaEVjAC5musXdg4onPE9Kgu7w5Nq", "fee": 1500000, "feeAssetId": null, "timestamp": 1705904188831, "version": 2, "chainId": 87, "sender": "3PEgVPqJ3NYWbRn1CLELUpuY9KCmragc7sY", "senderPublicKey": "8bCz9o3CUTfKKYBmcfJcAwKVKxEmLhGGyULemkcJwtkB", "proofs": [ "SpJEaqtu7cuo7knpwEvUSqNaFkCUaeWPebEgz8Ttiycn1TfTctxqUea6fBCWq3yZxUa4pvd8KDb1FDzHnnYx5PL" ], "script": "base64:BgIuCAISABIAEgASAwoBCBIAEgASAwoBCBIAEgMKAQgSABIAEgMKAQgSABIECgIICCABDXRyeUdldEludGVnZXICB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEMdHJ5R2V0U3RyaW5nAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFiBQckbWF0Y2gwBQFiAgAAAmQ4AIDC1y8AB3Bvb2xCQkIBGgFXUu6TVhRNfgeM0oUP5n5cVzd+HJ/vPIIdAA1wdXp6bGVTdGFraW5nCQEHQWRkcmVzcwEBGgFXlGiM+e6iuaqf1vWOvKmPZxqcBvQWKYm7AAliYmJQb29sSWQBGgFXUu6TVhRNfgeM0oUP5n5cVzd+HJ/vPIIdAAdidXJueHRuASAkT3V5an4zObj7DP+EqXFcXsot3jOgxF1p+epEEexMVAAJd2hpcmxwb29sASBZ443cwrUjukoU3MTQrxQJ5mTmBL4lBgsmTuVQbZdZxwAGcHV6emxlASDxGv4l/vaZOPRpKsTf4RLWR7LGyg66Nwmvd20fjqLlYwAEcm9tZQEgi1+UAYTDZcEkNI7/G/xwkTFIaskx6qjLk/P5nzRECM8ADHB1enpsZVN0YWtlZAkBDXRyeUdldEludGVnZXICBQ1wdXp6bGVTdGFraW5nCQCsAgIJAKUIAQUEdGhpcwIHX3N0YWtlZAAMcHV6emxlSW5Qb29sCQENdHJ5R2V0SW50ZWdlcgIJAQdBZGRyZXNzAQUJYmJiUG9vbElkCQCsAgIJAKwCAgIHZ2xvYmFsXwkA2AQBBQZwdXp6bGUCCF9iYWxhbmNlAAxwcm9qZWN0U3Rha2UJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQliYmJQb29sSWQJAKwCAgkApQgBBQR0aGlzAgxfaW5kZXhTdGFrZWQACnRvdGFsU3Rha2UJAQ10cnlHZXRJbnRlZ2VyAgkBB0FkZHJlc3MBBQliYmJQb29sSWQCF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50AAthc3NldFdlaWdodAkBDXRyeUdldEludGVnZXICCQEHQWRkcmVzcwEFCWJiYlBvb2xJZAkArAICCQCsAgICB3N0YXRpY18JANgEAQUGcHV6emxlAgdfd2VpZ2h0AA1CQkJscEluUHV6emxlCQBrAwkAaAIJAGkCBQxwdXp6bGVJblBvb2wFC2Fzc2V0V2VpZ2h0AJBOBQxwcm9qZWN0U3Rha2UFCnRvdGFsU3Rha2UAFmtleUFkZHJlc3Nlc1JlZ2lzdGVyZWQCFEFkZHJlc3NlcyByZWdpc3RlcmVkAAlhZGRyZXNzZXMJALMCAgkBDHRyeUdldFN0cmluZwIFBHRoaXMFFmtleUFkZHJlc3Nlc1JlZ2lzdGVyZWQAAQAQa2V5QnVybnh0bkFtb3VudAIWQlVSTi1YVE4gdG90YWwgcmV3YXJkcwANa2V5Um9tZUFtb3VudAISUk9NRSB0b3RhbCByZXdhcmRzAA9rZXlQdXp6bGVBbW91bnQCFFBVWlpMRSB0b3RhbCByZXdhcmRzAA5rZXlXYXZlc0Ftb3VudAITV0FWRVMgdG90YWwgcmV3YXJkcwASa2V5V2hpcmxwb29sQW1vdW50AhdXSElSTFBPT0wgdG90YWwgcmV3YXJkcwAQa2V5VG90YWxORlRwb3dlcgIPVG90YWwgTkZUIHBvd2VyABNrZXlUb3RhbFB1enpsZVZhbHVlAhJUb3RhbCBwdXp6bGUgdmFsdWUAE2tleVRvdGFsQnVybnh0blBhaWQCE1RvdGFsIEJVUk4tWFROIHBhaWQAFWtleVRvdGFsV2hpcmxwb29sUGFpZAIUVG90YWwgV0hJUkxQT09MIHBhaWQAEGtleVRvdGFsUm9tZVBhaWQCD1RvdGFsIFJPTUUgcGFpZAARa2V5VG90YWxXYXZlc1BhaWQCEFRvdGFsIFdBVkVTIHBhaWQAEmtleVRvdGFsUHV6emxlUGFpZAIRVG90YWwgUFVaWkxFIHBhaWQAB1dGU2xpc3QJAMwIAgIsR25weTVuVmFqUFAzWFFRVnhySGJvTUFzWHRqbnlXQXh5Yk1EZEtyYnI4c0QJAMwIAgIsQlQ5UTRtUWRRUW1laTJyNVlOTUJNYXNaQlFqN215TmFpejZRSGJhNWNQWFMJAMwIAgIsQk12a3lGdFBWbUZhdHBGUjlRVkZLUjVNWVRjWlZUWTJWVXdGWjI1dnJBQWMJAMwIAgIsNzdScXU4VExqQmRNdER1WGQ5bzVmVVNHbzY0elFlNUZDY2FvNUw4SHQ5ajgJAMwIAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCATUJAMwIAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCATYJAMwIAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCATcJAMwIAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCATgJAMwIAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCATkJAMwIAgkBDHRyeUdldFN0cmluZwIFBHRoaXMCAjEwBQNuaWwAB0JCQmxpc3QJAMwIAgIsOXBDeG9HdEQxOEdlSDlnQ2VtenFyakhNTWpmeUJRRGZzclJBdXhTUmFnTWMJAMwIAgIsN0RnRmdDa0JqVkRjNVA5Wmd3c1ZMOVNpVGk3a1hKdVM0YVJWZ2I3WkhXM2sJAMwIAgIsNzZiVHZFOHR0SHZzdU4xRnVINEtjOFFVVzRrTDRtOGMxY2pmc1h5MkdmYlYJAMwIAgIsNFpyZjRINXRpRmNRTDhlUW1uQTJ3SjFYV1BFQkg2aDFHMk1lZlpEWW1jQ0IJAMwIAgIsMkR0QzRuRm54ejVVTTZtYmpQd01WWnBRV1pGVXF4czUyb1pyQmVOUms5QW8JAMwIAgIsRGpaR01BRmZvUVdrTVczUzVGVHNRTjNqb25jWnQ2QnNtaG5FSzNnZ0x4bU4JAMwIAgIsQm5lYVpYRDZvdkRKY1Y1cmdmcjhoc0haYU1Rc0pROERINmE1Z1RuR0NwQmMJAMwIAgIsNEVLZmd6RmtkNVVHS3JqbmFKVjN3N2FyZ1cxWW1GNGhxNTR4V1FGekFYYjkJAMwIAgIsOGhHRGtXS2l1MmlnRHBXVDNIcHI0bWNoREQ2eHdKOWhHbTJoMmpuVXZUcXoJAMwIAgIsRTNablNlanBYTDFYcjZWRzRRb0xoOHhvZDlOTWdwUGU0NzNyOVFrMkhpYkwFA25pbA4BaQERY2xhaW1JbnZlc3RQdXp6bGUAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQTcHV6emxlQmFsYW5jZUJlZm9yZQkA8AcCBQR0aGlzBQZwdXp6bGUDCQAAAgUTcHV6emxlQmFsYW5jZUJlZm9yZQUTcHV6emxlQmFsYW5jZUJlZm9yZQQRcm9tZUJhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwUEcm9tZQMJAAACBRFyb21lQmFsYW5jZUJlZm9yZQURcm9tZUJhbGFuY2VCZWZvcmUEEmNsYWltUHV6emxlU3Rha2luZwkA/AcEBQ1wdXp6bGVTdGFraW5nAgtjbGFpbVJld2FyZAUDbmlsBQNuaWwDCQAAAgUSY2xhaW1QdXp6bGVTdGFraW5nBRJjbGFpbVB1enpsZVN0YWtpbmcED3Bvb2xPbmVUb2tlbkludgkA/AcECQEHQWRkcmVzcwEBGgFX/SXDvU5hlEHvul4SY4/FOW9JtYg69eltAiFnZW5lcmF0ZUluZGV4V2l0aE9uZVRva2VuQW5kU3Rha2UJAMwIAgkA2AQBBQdwb29sQkJCBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBnB1enpsZQkA8AcCBQR0aGlzBQZwdXp6bGUFA25pbAMJAAACBQ9wb29sT25lVG9rZW5JbnYFD3Bvb2xPbmVUb2tlbkludgQScHV6emxlQmFsYW5jZUFmdGVyCQDwBwIFBHRoaXMFBnB1enpsZQQQcm9tZUJhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQRyb21lCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVBY3RpdmF0ZWQgYmxvY2toZWlnaHQFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa2V5QnVybnh0bkFtb3VudAkA8AcCBQR0aGlzBQdidXJueHRuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlSb21lQW1vdW50CQBlAgUQcm9tZUJhbGFuY2VBZnRlcgURcm9tZUJhbGFuY2VCZWZvcmUJAMwIAgkBDEludGVnZXJFbnRyeQIFDmtleVdhdmVzQW1vdW50AwkAZgIJAGUCCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQUCZDgAAAkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJrZXlXaGlybHBvb2xBbW91bnQJAPAHAgUEdGhpcwUJd2hpcmxwb29sBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4J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BAhzaGFyZUJCQgoAAiRsBQdCQkJsaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQlmb2xkRnVuY0ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYxXzICCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoDCQAAAgkAZAIFCHNoYXJlV0ZTBQhzaGFyZUJCQgAABARsaXN0CQC8CQIFCWFkZHJlc3NlcwIBLAQKbm9ORlRpbmRleAkBBXZhbHVlAQkAzwgCBQRsaXN0BQdhZGRyZXNzBA5saXN0TWludXNOb05GVAkA0QgCBQRsaXN0BQpub05GVGluZGV4BA1taW51c05vTkZUc3RyCQCsAgIJALkJAgUObGlzdE1pbnVzTm9ORlQCASwCASwJAMwIAgkBC1N0cmluZ0VudHJ5AgUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAUNbWludXNOb05GVHN0cgUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCBF9XRlMFCHNoYXJlV0ZTCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCBF9CQkIJAGgCBQhzaGFyZUJCQgAKCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlUb3RhbE5GVHBvd2VyCQBkAgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyCQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKBQNuaWwBaQEEZGF0YQAJAMwIAgkBDEludGVnZXJFbnRyeQICDnB1enpsZSBiYWxhbmNlCQDwBwIFBHRoaXMFBnB1enpsZQkAzAgCCQEMSW50ZWdlckVudHJ5AgINcHV6emxlIHN0YWtlZAUMcHV6emxlU3Rha2VkCQDMCAIJAQxJbnRlZ2Vy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ZAIFCHNoYXJlV0ZTCQBoAgUIc2hhcmVCQkIACgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyBAthbW91bnRXYXZlcwkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUOa2V5V2F2ZXNBbW91bnQJAGQCBQhzaGFyZVdGUwkAaAIFCHNoYXJlQkJCAAoJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxORlRwb3dlcgQKYW1vdW50Um9tZQkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUNa2V5Um9tZUFtb3VudAkAZAIFCHNoYXJlV0ZTCQBoAgUIc2hhcmVCQkIACgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFDWFtb3VudEJ1cm54dG4FB2J1cm54dG4JAMwIAgkBDEludGVnZXJFbnRyeQIFE2tleVRvdGFsQnVybnh0blBhaWQJAGQCBQ1hbW91bnRCdXJueHRuCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFE2tleVRvdGFsQnVybnh0blBhaWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwUPYW1vdW50V2hpcmxwb29sBQl3aGlybHBvb2wJAMwIAgkBDEludGVnZXJFbnRyeQIFFWtleVRvdGFsV2hpcmxwb29sUGFpZAkAZAIFD2Ftb3VudFdoaXJscG9vbAkBDXRyeUdldEludGVnZXICBQR0aGlzBRVrZXlUb3RhbFdoaXJscG9vbFBhaWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwULYW1vdW50V2F2ZXMFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIFEWtleVRvdGFsV2F2ZXNQYWlkCQBkAgULYW1vdW50V2F2ZXMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwURa2V5VG90YWxXYXZlc1BhaWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwUKYW1vdW50Um9tZQUEcm9tZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa2V5VG90YWxSb21lUGFpZAkAZAIFCmFtb3VudFJvbWUJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxSb21lUGFpZAUDbmlsAWkBCHJlZ2lzdGVyAAMJAQhjb250YWlucwIJAQx0cnlHZXRTdHJpbmcCBQR0aGlzBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkCQClCAEIBQFpBmNhbGxlcgkAAgECEmFscmVhZHkgcmVnaXN0ZXJlZAMJAAACCQCQAwEJALwJAgUJYWRkcmVzc2VzAgEsAB4JAAIBAgttYXggcmVhY2hlZAkAzAgCCQELU3RyaW5nRW50cnkCBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkCQCsAgIJAKwCAgkBDHRyeUdldFN0cmluZwIFBHRoaXMFFmtleUFkZHJlc3Nlc1JlZ2lzdGVyZWQJAKUIAQgFAWkGY2FsbGVyAgEsBQNuaWwBaQEQcmVnaXN0ZXJNYW51YWxseQEHYWRkcmVzcwMJAQhjb250YWlucwIJAQx0cnlHZXRTdHJpbmcCBQR0aGlzBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkBQdhZGRyZXNzCQACAQISYWxyZWFkeSByZWdpc3RlcmVkAwkAAAIJAJADAQkAvAkCBQlhZGRyZXNzZXMCASwAKAkAAgECC21heCByZWFjaGVkAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgkAzAgCCQELU3RyaW5nRW50cnkCBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkCQCsAgIJAKwCAgkBDHRyeUdldFN0cmluZwIFBHRoaXMFFmtleUFkZHJlc3Nlc1JlZ2lzdGVyZWQFB2FkZHJlc3MCASwFA25pbAFpAQ5jbGFpbUJ5QW55Ym9keQADCQBmAgkAZAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCFUFjdGl2YXRlZCBibG9ja2hlaWdodAkAaAIAHgCgCwUGaGVpZ2h0CQACAQkArAICAhZXYWl0IHRpbGwgYmxvY2toZWlnaHQ6CQCkAwEJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhVBY3RpdmF0ZWQgYmxvY2toZWlnaHQJAGgCAB4AoAsEE3B1enpsZUJhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwUGcHV6emxlAwkAAAIFE3B1enpsZUJhbGFuY2VCZWZvcmUFE3B1enpsZUJhbGFuY2VCZWZvcmUEEXJvbWVCYWxhbmNlQmVmb3JlCQDwBwIFBHRoaXMFBHJvbWUDCQAAAgURcm9tZUJhbGFuY2VCZWZvcmUFEXJvbWVCYWxhbmNlQmVmb3JlBBJjbGFpbVB1enpsZVN0YWtpbmcJAPwHBAUNcHV6emxlU3Rha2luZwILY2xhaW1SZXdhcmQFA25pbAUDbmlsAwkAAAIFEmNsYWltUHV6emxlU3Rha2luZwUSY2xhaW1QdXp6bGVTdGFraW5nBAhjbGFpbUludgkA/AcECQEHQWRkcmVzcwEFB3Bvb2xCQkICEWNsYWltSW5kZXhSZXdhcmRzBQNuaWwFA25pbAMJAAACBQhjbGFpbUludgUIY2xhaW1JbnYEEnB1enpsZUJhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQZwdXp6bGUEEHJvbWVCYWxhbmNlQWZ0ZXIJAPAHAgUEdGhpcwUEcm9tZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUQa2V5QnVybnh0bkFtb3VudAkA8AcCBQR0aGlzBQdidXJueHRuCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1rZXlSb21lQW1vdW50CQBlAgUQcm9tZUJhbGFuY2VBZnRlcgURcm9tZUJhbGFuY2VCZWZvcmUJAMwIAgkBDEludGVnZXJFbnRyeQIFD2tleVB1enpsZUFtb3VudAkAZQIFEnB1enpsZUJhbGFuY2VBZnRlcgUTcHV6emxlQmFsYW5jZUJlZm9yZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUOa2V5V2F2ZXNBbW91bnQDCQBmAgkAZQIICQDvBwEFBHRoaXMJYXZhaWxhYmxlBQJkOAAACQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFAmQ4AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFEmtleVdoaXJscG9vbEFtb3VudAkA8AcCBQR0aGlzBQl3aGlybHBvb2wFA25pbAkAAgECJFN0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aGFyZUJCQgoAAiRsBQdCQkJsaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQlmb2xkRnVuY0ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYxXzICCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECCQEFJGYxXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoDCQAAAgkAZAIFCHNoYXJlV0ZTBQhzaGFyZUJCQgAABARsaXN0CQC8CQIFCWFkZHJlc3NlcwIBLAQKbm9ORlRpbmRleAkBBXZhbHVlAQkAzwgCBQRsaXN0BQdhZGRyZXNzBA5saXN0TWludXNOb05GVAkA0QgCBQRsaXN0BQpub05GVGluZGV4BA1taW51c05vTkZUc3RyCQCsAgIJALkJAgUObGlzdE1pbnVzTm9ORlQCASwCASwJAMwIAgkBC1N0cmluZ0VudHJ5AgUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAUNbWludXNOb05GVHN0cgUDbmlsBA1hbW91bnRCdXJueHRuCQBrAwkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlCdXJueHRuQW1vdW50CQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEGtleVRvdGFsTkZUcG93ZXIED2Ftb3VudFdoaXJscG9vbAkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUSa2V5V2hpcmxwb29sQW1vdW50CQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEGtleVRvdGFsTkZUcG93ZXIEC2Ftb3VudFdhdmVzCQBrAwkBDXRyeUdldEludGVnZXICBQR0aGlzBQ5rZXlXYXZlc0Ftb3VudAkAZAIFCHNoYXJlV0ZTCQBoAgUIc2hhcmVCQkIACgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyBAphbW91bnRSb21lCQBrAwkBDXRyeUdldEludGVnZXICBQR0aGlzBQ1rZXlSb21lQW1vdW50CQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEGtleVRvdGFsTkZUcG93ZXIEDGFtb3VudFB1enpsZQkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUPa2V5UHV6emxlQW1vdW50CQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEGtleVRvdGFsTkZUcG93ZXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwUNYW1vdW50QnVybnh0bgUHYnVybnh0bgkAzAgCCQEMSW50ZWdlckVudHJ5AgUTa2V5VG90YWxCdXJueHRuUGFpZAkAZAIFDWFtb3VudEJ1cm54dG4JAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUTa2V5VG90YWxCdXJueHRuUGFpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzBQ9hbW91bnRXaGlybHBvb2wFCXdoaXJscG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUVa2V5VG90YWxXaGlybHBvb2xQYWlkCQBkAgUPYW1vdW50V2hpcmxwb29sCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFFWtleVRvdGFsV2hpcmxwb29sUGFpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzBQthbW91bnRXYXZlcwUEdW5pdAkAzAgCCQEMSW50ZWdlckVudHJ5AgURa2V5VG90YWxXYXZlc1BhaWQJAGQCBQthbW91bnRXYXZlcwkBDXRyeUdldEludGVnZXICBQR0aGlzBRFrZXlUb3RhbFdhdmVzUGFpZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzBQphbW91bnRSb21lBQRyb21lCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlUb3RhbFJvbWVQYWlkCQBkAgUKYW1vdW50Um9tZQkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbFJvbWVQYWlkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFDGFtb3VudFB1enpsZQUGcHV6emxlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJrZXlUb3RhbFB1enpsZVBhaWQJAGQCBQxhbW91bnRQdXp6bGUJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUSa2V5VG90YWxQdXp6bGVQYWlkBQNuaWwBaQELZGVsZXRlRW50cnkAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgkAzAgCCQELRGVsZXRlRW50cnkBBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkBQNuaWwBaQEIYWRkV0ZTaWQCCVdGU251bWJlcgpXRlNhc3NldElkAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCVdGU251bWJlcgIABQpXRlNhc3NldElkBQNuaWwAtbdnOA==", "height": 4008081, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: B3ztLd4sL5EFNUkp1D4kSYn1RRLbm5sinyUrmdR5Vcix Next: FuxoBnkoZoooowKkETVRp8DzsKmigF6kYG9qvnvX2Dij Diff:
OldNewDifferences
6161
6262 let keyTotalNFTpower = "Total NFT power"
6363
64-let keyTotalPuzzleValue = "total puzzle value"
64+let keyTotalPuzzleValue = "Total puzzle value"
65+
66+let keyTotalBurnxtnPaid = "Total BURN-XTN paid"
67+
68+let keyTotalWhirlpoolPaid = "Total WHIRLPOOL paid"
69+
70+let keyTotalRomePaid = "Total ROME paid"
71+
72+let keyTotalWavesPaid = "Total WAVES paid"
73+
74+let keyTotalPuzzlePaid = "Total PUZZLE paid"
6575
6676 let WFSlist = ["Gnpy5nVajPP3XQQVxrHboMAsXtjnyWAxybMDdKrbr8sD", "BT9Q4mQdQQmei2r5YNMBMasZBQj7myNaiz6QHba5cPXS", "BMvkyFtPVmFatpFR9QVFKR5MYTcZVTY2VUwFZ25vrAAc", "77Rqu8TLjBdMtDuXd9o5fUSGo64zQe5FCcao5L8Ht9j8", tryGetString(this, "5"), tryGetString(this, "6"), tryGetString(this, "7"), tryGetString(this, "8"), tryGetString(this, "9"), tryGetString(this, "10")]
6777
97107 }
98108 else throw("Strict value is not equal to itself.")
99109 }
110+
111+
112+
113+@Callable(i)
114+func invoker1 () = {
115+ let reset = invoke(this, "resetCount", nil, nil)
116+ if ((reset == reset))
117+ then {
118+ let list = split_4C(addresses, ",")
119+ func r (accum,address) = invoke(this, "countNFTpower", [address], nil)
120+
121+ let invoker = {
122+ let $l = list
123+ let $s = size($l)
124+ let $acc0 = nil
125+ func $f0_1 ($a,$i) = if (($i >= $s))
126+ then $a
127+ else r($a, $l[$i])
128+
129+ func $f0_2 ($a,$i) = if (($i >= $s))
130+ then $a
131+ else throw("List size exceeds 30")
132+
133+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
134+ }
135+ if ((invoker == invoker))
136+ then {
137+ let p = invoke(this, "data", nil, nil)
138+ if ((p == p))
139+ then [IntegerEntry("WFS puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 1, tryGetInteger(this, keyTotalNFTpower)), 10, 9)), IntegerEntry("BBB puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 10, tryGetInteger(this, keyTotalNFTpower)), 10, 9))]
140+ else throw("Strict value is not equal to itself.")
141+ }
142+ else throw("Strict value is not equal to itself.")
143+ }
144+ else throw("Strict value is not equal to itself.")
145+ }
146+
147+
148+
149+@Callable(i)
150+func resetCount () = [IntegerEntry(keyTotalNFTpower, 0)]
151+
152+
153+
154+@Callable(i)
155+func countNFTpower (address) = {
156+ func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
157+
158+ let shareWFS = {
159+ let $l = WFSlist
160+ let $s = size($l)
161+ let $acc0 = 0
162+ func $f0_1 ($a,$i) = if (($i >= $s))
163+ then $a
164+ else foldFunc($a, $l[$i])
165+
166+ func $f0_2 ($a,$i) = if (($i >= $s))
167+ then $a
168+ else throw("List size exceeds 10")
169+
170+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
171+ }
172+ func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
173+
174+ let shareBBB = {
175+ let $l = BBBlist
176+ let $s = size($l)
177+ let $acc0 = 0
178+ func $f1_1 ($a,$i) = if (($i >= $s))
179+ then $a
180+ else foldFuncB($a, $l[$i])
181+
182+ func $f1_2 ($a,$i) = if (($i >= $s))
183+ then $a
184+ else throw("List size exceeds 10")
185+
186+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
187+ }
188+ if (((shareWFS + shareBBB) == 0))
189+ then {
190+ let list = split_4C(addresses, ",")
191+ let noNFTindex = value(indexOf(list, address))
192+ let listMinusNoNFT = removeByIndex(list, noNFTindex)
193+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
194+[StringEntry(keyAddressesRegistered, minusNoNFTstr)]
195+ }
196+ else [IntegerEntry((address + "_WFS"), shareWFS), IntegerEntry((address + "_BBB"), (shareBBB * 10)), IntegerEntry(keyTotalNFTpower, (tryGetInteger(this, keyTotalNFTpower) + (shareWFS + (shareBBB * 10))))]
197+ }
198+
199+
200+
201+@Callable(i)
202+func data () = [IntegerEntry("puzzle balance", assetBalance(this, puzzle)), IntegerEntry("puzzle staked", puzzleStaked), IntegerEntry("puzzle BBB LP", BBBlpInPuzzle), IntegerEntry(keyTotalPuzzleValue, ((assetBalance(this, puzzle) + puzzleStaked) + BBBlpInPuzzle))]
100203
101204
102205
168271 let amountWhirlpool = fraction(tryGetInteger(this, keyWhirlpoolAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
169272 let amountWaves = fraction(tryGetInteger(this, keyWavesAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
170273 let amountRome = fraction(tryGetInteger(this, keyRomeAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
171-[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), ScriptTransfer(addressFromStringValue(address), amountRome, rome)]
274+[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), IntegerEntry(keyTotalBurnxtnPaid, (amountBurnxtn + tryGetInteger(this, keyTotalBurnxtnPaid))), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), IntegerEntry(keyTotalWhirlpoolPaid, (amountWhirlpool + tryGetInteger(this, keyTotalWhirlpoolPaid))), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), IntegerEntry(keyTotalWavesPaid, (amountWaves + tryGetInteger(this, keyTotalWavesPaid))), ScriptTransfer(addressFromStringValue(address), amountRome, rome), IntegerEntry(keyTotalRomePaid, (amountRome + tryGetInteger(this, keyTotalRomePaid)))]
172275 }
173276
174277
176279 @Callable(i)
177280 func register () = if (contains(tryGetString(this, keyAddressesRegistered), toString(i.caller)))
178281 then throw("already registered")
179- else if ((size(split_4C(addresses, ",")) == 40))
282+ else if ((size(split_4C(addresses, ",")) == 30))
180283 then throw("max reached")
181284 else [StringEntry(keyAddressesRegistered, ((tryGetString(this, keyAddressesRegistered) + toString(i.caller)) + ","))]
182285
190293 else if ((i.caller != this))
191294 then throw("access only by project owner")
192295 else [StringEntry(keyAddressesRegistered, ((tryGetString(this, keyAddressesRegistered) + address) + ","))]
193-
194-
195-
196-@Callable(i)
197-func invoker1 () = {
198- let reset = invoke(this, "resetCount", nil, nil)
199- if ((reset == reset))
200- then {
201- let list = split_4C(addresses, ",")
202- func r (accum,address) = invoke(this, "countNFTpower", [address], nil)
203-
204- let invoker = {
205- let $l = list
206- let $s = size($l)
207- let $acc0 = nil
208- func $f0_1 ($a,$i) = if (($i >= $s))
209- then $a
210- else r($a, $l[$i])
211-
212- func $f0_2 ($a,$i) = if (($i >= $s))
213- then $a
214- else throw("List size exceeds 40")
215-
216- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
217- }
218- if ((invoker == invoker))
219- then {
220- let p = invoke(this, "data", nil, nil)
221- if ((p == p))
222- then [IntegerEntry("WFS puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 1, tryGetInteger(this, keyTotalNFTpower)), 10, 9)), IntegerEntry("WFS buyback OTC price", fraction(tryGetInteger(this, keyTotalPuzzleValue), 1, tryGetInteger(this, keyTotalNFTpower))), IntegerEntry("BBB puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 10, tryGetInteger(this, keyTotalNFTpower)), 10, 9)), IntegerEntry("BBB buyback OTC price", fraction(tryGetInteger(this, keyTotalPuzzleValue), 10, tryGetInteger(this, keyTotalNFTpower)))]
223- else throw("Strict value is not equal to itself.")
224- }
225- else throw("Strict value is not equal to itself.")
226- }
227- else throw("Strict value is not equal to itself.")
228- }
229-
230-
231-
232-@Callable(i)
233-func resetCount () = [IntegerEntry(keyTotalNFTpower, 0)]
234-
235-
236-
237-@Callable(i)
238-func countNFTpower (address) = {
239- func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
240-
241- let shareWFS = {
242- let $l = WFSlist
243- let $s = size($l)
244- let $acc0 = 0
245- func $f0_1 ($a,$i) = if (($i >= $s))
246- then $a
247- else foldFunc($a, $l[$i])
248-
249- func $f0_2 ($a,$i) = if (($i >= $s))
250- then $a
251- else throw("List size exceeds 10")
252-
253- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
254- }
255- func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
256-
257- let shareBBB = {
258- let $l = BBBlist
259- let $s = size($l)
260- let $acc0 = 0
261- func $f1_1 ($a,$i) = if (($i >= $s))
262- then $a
263- else foldFuncB($a, $l[$i])
264-
265- func $f1_2 ($a,$i) = if (($i >= $s))
266- then $a
267- else throw("List size exceeds 10")
268-
269- $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
270- }
271- if (((shareWFS + shareBBB) == 0))
272- then {
273- let list = split_4C(addresses, ",")
274- let noNFTindex = value(indexOf(list, address))
275- let listMinusNoNFT = removeByIndex(list, noNFTindex)
276- let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
277-[StringEntry(keyAddressesRegistered, minusNoNFTstr)]
278- }
279- else [IntegerEntry((address + "_WFS"), shareWFS), IntegerEntry((address + "_BBB"), (shareBBB * 10)), IntegerEntry(keyTotalNFTpower, (tryGetInteger(this, keyTotalNFTpower) + (shareWFS + (shareBBB * 10))))]
280- }
281-
282-
283-
284-@Callable(i)
285-func data () = [IntegerEntry("puzzle balance", assetBalance(this, puzzle)), IntegerEntry("puzzle staked", puzzleStaked), IntegerEntry("puzzle BBB LP", BBBlpInPuzzle), IntegerEntry(keyTotalPuzzleValue, ((assetBalance(this, puzzle) + puzzleStaked) + BBBlpInPuzzle))]
286296
287297
288298
402412 let amountWaves = fraction(tryGetInteger(this, keyWavesAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
403413 let amountRome = fraction(tryGetInteger(this, keyRomeAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
404414 let amountPuzzle = fraction(tryGetInteger(this, keyPuzzleAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
405-[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), ScriptTransfer(addressFromStringValue(address), amountRome, rome), ScriptTransfer(addressFromStringValue(address), amountPuzzle, puzzle)]
415+[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), IntegerEntry(keyTotalBurnxtnPaid, (amountBurnxtn + tryGetInteger(this, keyTotalBurnxtnPaid))), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), IntegerEntry(keyTotalWhirlpoolPaid, (amountWhirlpool + tryGetInteger(this, keyTotalWhirlpoolPaid))), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), IntegerEntry(keyTotalWavesPaid, (amountWaves + tryGetInteger(this, keyTotalWavesPaid))), ScriptTransfer(addressFromStringValue(address), amountRome, rome), IntegerEntry(keyTotalRomePaid, (amountRome + tryGetInteger(this, keyTotalRomePaid))), ScriptTransfer(addressFromStringValue(address), amountPuzzle, puzzle), IntegerEntry(keyTotalPuzzlePaid, (amountPuzzle + tryGetInteger(this, keyTotalPuzzlePaid)))]
406416 }
407417 }
408418
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func tryGetInteger (address,key) = match getInteger(address, key) {
55 case b: Int =>
66 b
77 case _ =>
88 0
99 }
1010
1111
1212 func tryGetString (address,key) = match getString(address, key) {
1313 case b: String =>
1414 b
1515 case _ =>
1616 ""
1717 }
1818
1919
2020 let d8 = 100000000
2121
2222 let poolBBB = base58'3P9VPwVfNj3dDevQZt1Z951A4K57cmQmCgk'
2323
2424 let puzzleStaking = Address(base58'3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS')
2525
2626 let bbbPoolId = base58'3P9VPwVfNj3dDevQZt1Z951A4K57cmQmCgk'
2727
2828 let burnxtn = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
2929
3030 let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
3131
3232 let puzzle = base58'HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS'
3333
3434 let rome = base58'AP4Cb5xLYGH6ZigHreCZHoXpQTWDkPsG2BHqfDUx6taJ'
3535
3636 let puzzleStaked = tryGetInteger(puzzleStaking, (toString(this) + "_staked"))
3737
3838 let puzzleInPool = tryGetInteger(Address(bbbPoolId), (("global_" + toBase58String(puzzle)) + "_balance"))
3939
4040 let projectStake = tryGetInteger(Address(bbbPoolId), (toString(this) + "_indexStaked"))
4141
4242 let totalStake = tryGetInteger(Address(bbbPoolId), "global_poolToken_amount")
4343
4444 let assetWeight = tryGetInteger(Address(bbbPoolId), (("static_" + toBase58String(puzzle)) + "_weight"))
4545
4646 let BBBlpInPuzzle = fraction(((puzzleInPool / assetWeight) * 10000), projectStake, totalStake)
4747
4848 let keyAddressesRegistered = "Addresses registered"
4949
5050 let addresses = dropRight(tryGetString(this, keyAddressesRegistered), 1)
5151
5252 let keyBurnxtnAmount = "BURN-XTN total rewards"
5353
5454 let keyRomeAmount = "ROME total rewards"
5555
5656 let keyPuzzleAmount = "PUZZLE total rewards"
5757
5858 let keyWavesAmount = "WAVES total rewards"
5959
6060 let keyWhirlpoolAmount = "WHIRLPOOL total rewards"
6161
6262 let keyTotalNFTpower = "Total NFT power"
6363
64-let keyTotalPuzzleValue = "total puzzle value"
64+let keyTotalPuzzleValue = "Total puzzle value"
65+
66+let keyTotalBurnxtnPaid = "Total BURN-XTN paid"
67+
68+let keyTotalWhirlpoolPaid = "Total WHIRLPOOL paid"
69+
70+let keyTotalRomePaid = "Total ROME paid"
71+
72+let keyTotalWavesPaid = "Total WAVES paid"
73+
74+let keyTotalPuzzlePaid = "Total PUZZLE paid"
6575
6676 let WFSlist = ["Gnpy5nVajPP3XQQVxrHboMAsXtjnyWAxybMDdKrbr8sD", "BT9Q4mQdQQmei2r5YNMBMasZBQj7myNaiz6QHba5cPXS", "BMvkyFtPVmFatpFR9QVFKR5MYTcZVTY2VUwFZ25vrAAc", "77Rqu8TLjBdMtDuXd9o5fUSGo64zQe5FCcao5L8Ht9j8", tryGetString(this, "5"), tryGetString(this, "6"), tryGetString(this, "7"), tryGetString(this, "8"), tryGetString(this, "9"), tryGetString(this, "10")]
6777
6878 let BBBlist = ["9pCxoGtD18GeH9gCemzqrjHMMjfyBQDfsrRAuxSRagMc", "7DgFgCkBjVDc5P9ZgwsVL9SiTi7kXJuS4aRVgb7ZHW3k", "76bTvE8ttHvsuN1FuH4Kc8QUW4kL4m8c1cjfsXy2GfbV", "4Zrf4H5tiFcQL8eQmnA2wJ1XWPEBH6h1G2MefZDYmcCB", "2DtC4nFnxz5UM6mbjPwMVZpQWZFUqxs52oZrBeNRk9Ao", "DjZGMAFfoQWkMW3S5FTsQN3joncZt6BsmhnEK3ggLxmN", "BneaZXD6ovDJcV5rgfr8hsHZaMQsJQ8DH6a5gTnGCpBc", "4EKfgzFkd5UGKrjnaJV3w7argW1YmF4hq54xWQFzAXb9", "8hGDkWKiu2igDpWT3Hpr4mchDD6xwJ9hGm2h2jnUvTqz", "E3ZnSejpXL1Xr6VG4QoLh8xod9NMgpPe473r9Qk2HibL"]
6979
7080 @Callable(i)
7181 func claimInvestPuzzle () = if ((i.caller != this))
7282 then throw("access only by project owner")
7383 else {
7484 let puzzleBalanceBefore = assetBalance(this, puzzle)
7585 if ((puzzleBalanceBefore == puzzleBalanceBefore))
7686 then {
7787 let romeBalanceBefore = assetBalance(this, rome)
7888 if ((romeBalanceBefore == romeBalanceBefore))
7989 then {
8090 let claimPuzzleStaking = invoke(puzzleStaking, "claimReward", nil, nil)
8191 if ((claimPuzzleStaking == claimPuzzleStaking))
8292 then {
8393 let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [toBase58String(poolBBB)], [AttachedPayment(puzzle, assetBalance(this, puzzle))])
8494 if ((poolOneTokenInv == poolOneTokenInv))
8595 then {
8696 let puzzleBalanceAfter = assetBalance(this, puzzle)
8797 let romeBalanceAfter = assetBalance(this, rome)
8898 [IntegerEntry("Activated blockheight", height), IntegerEntry(keyBurnxtnAmount, assetBalance(this, burnxtn)), IntegerEntry(keyRomeAmount, (romeBalanceAfter - romeBalanceBefore)), IntegerEntry(keyWavesAmount, if (((wavesBalance(this).available - d8) > 0))
8999 then (wavesBalance(this).available - d8)
90100 else 0), IntegerEntry(keyWhirlpoolAmount, assetBalance(this, whirlpool))]
91101 }
92102 else throw("Strict value is not equal to itself.")
93103 }
94104 else throw("Strict value is not equal to itself.")
95105 }
96106 else throw("Strict value is not equal to itself.")
97107 }
98108 else throw("Strict value is not equal to itself.")
99109 }
110+
111+
112+
113+@Callable(i)
114+func invoker1 () = {
115+ let reset = invoke(this, "resetCount", nil, nil)
116+ if ((reset == reset))
117+ then {
118+ let list = split_4C(addresses, ",")
119+ func r (accum,address) = invoke(this, "countNFTpower", [address], nil)
120+
121+ let invoker = {
122+ let $l = list
123+ let $s = size($l)
124+ let $acc0 = nil
125+ func $f0_1 ($a,$i) = if (($i >= $s))
126+ then $a
127+ else r($a, $l[$i])
128+
129+ func $f0_2 ($a,$i) = if (($i >= $s))
130+ then $a
131+ else throw("List size exceeds 30")
132+
133+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
134+ }
135+ if ((invoker == invoker))
136+ then {
137+ let p = invoke(this, "data", nil, nil)
138+ if ((p == p))
139+ then [IntegerEntry("WFS puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 1, tryGetInteger(this, keyTotalNFTpower)), 10, 9)), IntegerEntry("BBB puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 10, tryGetInteger(this, keyTotalNFTpower)), 10, 9))]
140+ else throw("Strict value is not equal to itself.")
141+ }
142+ else throw("Strict value is not equal to itself.")
143+ }
144+ else throw("Strict value is not equal to itself.")
145+ }
146+
147+
148+
149+@Callable(i)
150+func resetCount () = [IntegerEntry(keyTotalNFTpower, 0)]
151+
152+
153+
154+@Callable(i)
155+func countNFTpower (address) = {
156+ func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
157+
158+ let shareWFS = {
159+ let $l = WFSlist
160+ let $s = size($l)
161+ let $acc0 = 0
162+ func $f0_1 ($a,$i) = if (($i >= $s))
163+ then $a
164+ else foldFunc($a, $l[$i])
165+
166+ func $f0_2 ($a,$i) = if (($i >= $s))
167+ then $a
168+ else throw("List size exceeds 10")
169+
170+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
171+ }
172+ func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
173+
174+ let shareBBB = {
175+ let $l = BBBlist
176+ let $s = size($l)
177+ let $acc0 = 0
178+ func $f1_1 ($a,$i) = if (($i >= $s))
179+ then $a
180+ else foldFuncB($a, $l[$i])
181+
182+ func $f1_2 ($a,$i) = if (($i >= $s))
183+ then $a
184+ else throw("List size exceeds 10")
185+
186+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
187+ }
188+ if (((shareWFS + shareBBB) == 0))
189+ then {
190+ let list = split_4C(addresses, ",")
191+ let noNFTindex = value(indexOf(list, address))
192+ let listMinusNoNFT = removeByIndex(list, noNFTindex)
193+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
194+[StringEntry(keyAddressesRegistered, minusNoNFTstr)]
195+ }
196+ else [IntegerEntry((address + "_WFS"), shareWFS), IntegerEntry((address + "_BBB"), (shareBBB * 10)), IntegerEntry(keyTotalNFTpower, (tryGetInteger(this, keyTotalNFTpower) + (shareWFS + (shareBBB * 10))))]
197+ }
198+
199+
200+
201+@Callable(i)
202+func data () = [IntegerEntry("puzzle balance", assetBalance(this, puzzle)), IntegerEntry("puzzle staked", puzzleStaked), IntegerEntry("puzzle BBB LP", BBBlpInPuzzle), IntegerEntry(keyTotalPuzzleValue, ((assetBalance(this, puzzle) + puzzleStaked) + BBBlpInPuzzle))]
100203
101204
102205
103206 @Callable(i)
104207 func invoker2 () = if ((i.caller != this))
105208 then throw("access only by project owner")
106209 else {
107210 let list = split_4C(addresses, ",")
108211 func r (accum,address) = invoke(this, "distributeRewards", [address], nil)
109212
110213 let invoker = {
111214 let $l = list
112215 let $s = size($l)
113216 let $acc0 = nil
114217 func $f0_1 ($a,$i) = if (($i >= $s))
115218 then $a
116219 else r($a, $l[$i])
117220
118221 func $f0_2 ($a,$i) = if (($i >= $s))
119222 then $a
120223 else throw("List size exceeds 20")
121224
122225 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
123226 }
124227 if ((invoker == invoker))
125228 then nil
126229 else throw("Strict value is not equal to itself.")
127230 }
128231
129232
130233
131234 @Callable(i)
132235 func distributeRewards (address) = if ((i.caller != this))
133236 then throw("access only by project owner")
134237 else {
135238 func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
136239
137240 let shareWFS = {
138241 let $l = WFSlist
139242 let $s = size($l)
140243 let $acc0 = 0
141244 func $f0_1 ($a,$i) = if (($i >= $s))
142245 then $a
143246 else foldFunc($a, $l[$i])
144247
145248 func $f0_2 ($a,$i) = if (($i >= $s))
146249 then $a
147250 else throw("List size exceeds 10")
148251
149252 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
150253 }
151254 func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
152255
153256 let shareBBB = {
154257 let $l = BBBlist
155258 let $s = size($l)
156259 let $acc0 = 0
157260 func $f1_1 ($a,$i) = if (($i >= $s))
158261 then $a
159262 else foldFuncB($a, $l[$i])
160263
161264 func $f1_2 ($a,$i) = if (($i >= $s))
162265 then $a
163266 else throw("List size exceeds 10")
164267
165268 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
166269 }
167270 let amountBurnxtn = fraction(tryGetInteger(this, keyBurnxtnAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
168271 let amountWhirlpool = fraction(tryGetInteger(this, keyWhirlpoolAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
169272 let amountWaves = fraction(tryGetInteger(this, keyWavesAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
170273 let amountRome = fraction(tryGetInteger(this, keyRomeAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
171-[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), ScriptTransfer(addressFromStringValue(address), amountRome, rome)]
274+[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), IntegerEntry(keyTotalBurnxtnPaid, (amountBurnxtn + tryGetInteger(this, keyTotalBurnxtnPaid))), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), IntegerEntry(keyTotalWhirlpoolPaid, (amountWhirlpool + tryGetInteger(this, keyTotalWhirlpoolPaid))), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), IntegerEntry(keyTotalWavesPaid, (amountWaves + tryGetInteger(this, keyTotalWavesPaid))), ScriptTransfer(addressFromStringValue(address), amountRome, rome), IntegerEntry(keyTotalRomePaid, (amountRome + tryGetInteger(this, keyTotalRomePaid)))]
172275 }
173276
174277
175278
176279 @Callable(i)
177280 func register () = if (contains(tryGetString(this, keyAddressesRegistered), toString(i.caller)))
178281 then throw("already registered")
179- else if ((size(split_4C(addresses, ",")) == 40))
282+ else if ((size(split_4C(addresses, ",")) == 30))
180283 then throw("max reached")
181284 else [StringEntry(keyAddressesRegistered, ((tryGetString(this, keyAddressesRegistered) + toString(i.caller)) + ","))]
182285
183286
184287
185288 @Callable(i)
186289 func registerManually (address) = if (contains(tryGetString(this, keyAddressesRegistered), address))
187290 then throw("already registered")
188291 else if ((size(split_4C(addresses, ",")) == 40))
189292 then throw("max reached")
190293 else if ((i.caller != this))
191294 then throw("access only by project owner")
192295 else [StringEntry(keyAddressesRegistered, ((tryGetString(this, keyAddressesRegistered) + address) + ","))]
193-
194-
195-
196-@Callable(i)
197-func invoker1 () = {
198- let reset = invoke(this, "resetCount", nil, nil)
199- if ((reset == reset))
200- then {
201- let list = split_4C(addresses, ",")
202- func r (accum,address) = invoke(this, "countNFTpower", [address], nil)
203-
204- let invoker = {
205- let $l = list
206- let $s = size($l)
207- let $acc0 = nil
208- func $f0_1 ($a,$i) = if (($i >= $s))
209- then $a
210- else r($a, $l[$i])
211-
212- func $f0_2 ($a,$i) = if (($i >= $s))
213- then $a
214- else throw("List size exceeds 40")
215-
216- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
217- }
218- if ((invoker == invoker))
219- then {
220- let p = invoke(this, "data", nil, nil)
221- if ((p == p))
222- then [IntegerEntry("WFS puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 1, tryGetInteger(this, keyTotalNFTpower)), 10, 9)), IntegerEntry("WFS buyback OTC price", fraction(tryGetInteger(this, keyTotalPuzzleValue), 1, tryGetInteger(this, keyTotalNFTpower))), IntegerEntry("BBB puzzle value", fraction(fraction(tryGetInteger(this, keyTotalPuzzleValue), 10, tryGetInteger(this, keyTotalNFTpower)), 10, 9)), IntegerEntry("BBB buyback OTC price", fraction(tryGetInteger(this, keyTotalPuzzleValue), 10, tryGetInteger(this, keyTotalNFTpower)))]
223- else throw("Strict value is not equal to itself.")
224- }
225- else throw("Strict value is not equal to itself.")
226- }
227- else throw("Strict value is not equal to itself.")
228- }
229-
230-
231-
232-@Callable(i)
233-func resetCount () = [IntegerEntry(keyTotalNFTpower, 0)]
234-
235-
236-
237-@Callable(i)
238-func countNFTpower (address) = {
239- func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
240-
241- let shareWFS = {
242- let $l = WFSlist
243- let $s = size($l)
244- let $acc0 = 0
245- func $f0_1 ($a,$i) = if (($i >= $s))
246- then $a
247- else foldFunc($a, $l[$i])
248-
249- func $f0_2 ($a,$i) = if (($i >= $s))
250- then $a
251- else throw("List size exceeds 10")
252-
253- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
254- }
255- func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
256-
257- let shareBBB = {
258- let $l = BBBlist
259- let $s = size($l)
260- let $acc0 = 0
261- func $f1_1 ($a,$i) = if (($i >= $s))
262- then $a
263- else foldFuncB($a, $l[$i])
264-
265- func $f1_2 ($a,$i) = if (($i >= $s))
266- then $a
267- else throw("List size exceeds 10")
268-
269- $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
270- }
271- if (((shareWFS + shareBBB) == 0))
272- then {
273- let list = split_4C(addresses, ",")
274- let noNFTindex = value(indexOf(list, address))
275- let listMinusNoNFT = removeByIndex(list, noNFTindex)
276- let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
277-[StringEntry(keyAddressesRegistered, minusNoNFTstr)]
278- }
279- else [IntegerEntry((address + "_WFS"), shareWFS), IntegerEntry((address + "_BBB"), (shareBBB * 10)), IntegerEntry(keyTotalNFTpower, (tryGetInteger(this, keyTotalNFTpower) + (shareWFS + (shareBBB * 10))))]
280- }
281-
282-
283-
284-@Callable(i)
285-func data () = [IntegerEntry("puzzle balance", assetBalance(this, puzzle)), IntegerEntry("puzzle staked", puzzleStaked), IntegerEntry("puzzle BBB LP", BBBlpInPuzzle), IntegerEntry(keyTotalPuzzleValue, ((assetBalance(this, puzzle) + puzzleStaked) + BBBlpInPuzzle))]
286296
287297
288298
289299 @Callable(i)
290300 func claimByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (30 * 1440)) > height))
291301 then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (30 * 1440)))))
292302 else {
293303 let puzzleBalanceBefore = assetBalance(this, puzzle)
294304 if ((puzzleBalanceBefore == puzzleBalanceBefore))
295305 then {
296306 let romeBalanceBefore = assetBalance(this, rome)
297307 if ((romeBalanceBefore == romeBalanceBefore))
298308 then {
299309 let claimPuzzleStaking = invoke(puzzleStaking, "claimReward", nil, nil)
300310 if ((claimPuzzleStaking == claimPuzzleStaking))
301311 then {
302312 let claimInv = invoke(Address(poolBBB), "claimIndexRewards", nil, nil)
303313 if ((claimInv == claimInv))
304314 then {
305315 let puzzleBalanceAfter = assetBalance(this, puzzle)
306316 let romeBalanceAfter = assetBalance(this, rome)
307317 [IntegerEntry(keyBurnxtnAmount, assetBalance(this, burnxtn)), IntegerEntry(keyRomeAmount, (romeBalanceAfter - romeBalanceBefore)), IntegerEntry(keyPuzzleAmount, (puzzleBalanceAfter - puzzleBalanceBefore)), IntegerEntry(keyWavesAmount, if (((wavesBalance(this).available - d8) > 0))
308318 then (wavesBalance(this).available - d8)
309319 else 0), IntegerEntry(keyWhirlpoolAmount, assetBalance(this, whirlpool))]
310320 }
311321 else throw("Strict value is not equal to itself.")
312322 }
313323 else throw("Strict value is not equal to itself.")
314324 }
315325 else throw("Strict value is not equal to itself.")
316326 }
317327 else throw("Strict value is not equal to itself.")
318328 }
319329
320330
321331
322332 @Callable(i)
323333 func invokerByAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (30 * 1440)) > height))
324334 then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (30 * 1440)))))
325335 else {
326336 let reset = invoke(this, "distributeRewardsByAnybody", nil, nil)
327337 if ((reset == reset))
328338 then {
329339 let list = split_4C(addresses, ",")
330340 func r (accum,address) = invoke(this, "countNFTpower", [address], nil)
331341
332342 let invoker = {
333343 let $l = list
334344 let $s = size($l)
335345 let $acc0 = nil
336346 func $f0_1 ($a,$i) = if (($i >= $s))
337347 then $a
338348 else r($a, $l[$i])
339349
340350 func $f0_2 ($a,$i) = if (($i >= $s))
341351 then $a
342352 else throw("List size exceeds 40")
343353
344354 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
345355 }
346356 if ((invoker == invoker))
347357 then nil
348358 else throw("Strict value is not equal to itself.")
349359 }
350360 else throw("Strict value is not equal to itself.")
351361 }
352362
353363
354364
355365 @Callable(i)
356366 func distributeRewardsByAnybody (address) = if ((i.caller != this))
357367 then throw("access only by project owner")
358368 else {
359369 func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
360370
361371 let shareWFS = {
362372 let $l = WFSlist
363373 let $s = size($l)
364374 let $acc0 = 0
365375 func $f0_1 ($a,$i) = if (($i >= $s))
366376 then $a
367377 else foldFunc($a, $l[$i])
368378
369379 func $f0_2 ($a,$i) = if (($i >= $s))
370380 then $a
371381 else throw("List size exceeds 10")
372382
373383 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
374384 }
375385 func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
376386
377387 let shareBBB = {
378388 let $l = BBBlist
379389 let $s = size($l)
380390 let $acc0 = 0
381391 func $f1_1 ($a,$i) = if (($i >= $s))
382392 then $a
383393 else foldFuncB($a, $l[$i])
384394
385395 func $f1_2 ($a,$i) = if (($i >= $s))
386396 then $a
387397 else throw("List size exceeds 10")
388398
389399 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
390400 }
391401 if (((shareWFS + shareBBB) == 0))
392402 then {
393403 let list = split_4C(addresses, ",")
394404 let noNFTindex = value(indexOf(list, address))
395405 let listMinusNoNFT = removeByIndex(list, noNFTindex)
396406 let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
397407 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
398408 }
399409 else {
400410 let amountBurnxtn = fraction(tryGetInteger(this, keyBurnxtnAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
401411 let amountWhirlpool = fraction(tryGetInteger(this, keyWhirlpoolAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
402412 let amountWaves = fraction(tryGetInteger(this, keyWavesAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
403413 let amountRome = fraction(tryGetInteger(this, keyRomeAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
404414 let amountPuzzle = fraction(tryGetInteger(this, keyPuzzleAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
405-[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), ScriptTransfer(addressFromStringValue(address), amountRome, rome), ScriptTransfer(addressFromStringValue(address), amountPuzzle, puzzle)]
415+[ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), IntegerEntry(keyTotalBurnxtnPaid, (amountBurnxtn + tryGetInteger(this, keyTotalBurnxtnPaid))), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), IntegerEntry(keyTotalWhirlpoolPaid, (amountWhirlpool + tryGetInteger(this, keyTotalWhirlpoolPaid))), ScriptTransfer(addressFromStringValue(address), amountWaves, unit), IntegerEntry(keyTotalWavesPaid, (amountWaves + tryGetInteger(this, keyTotalWavesPaid))), ScriptTransfer(addressFromStringValue(address), amountRome, rome), IntegerEntry(keyTotalRomePaid, (amountRome + tryGetInteger(this, keyTotalRomePaid))), ScriptTransfer(addressFromStringValue(address), amountPuzzle, puzzle), IntegerEntry(keyTotalPuzzlePaid, (amountPuzzle + tryGetInteger(this, keyTotalPuzzlePaid)))]
406416 }
407417 }
408418
409419
410420
411421 @Callable(i)
412422 func deleteEntry () = if ((i.caller != this))
413423 then throw("access only by project owner")
414424 else [DeleteEntry(keyAddressesRegistered)]
415425
416426
417427
418428 @Callable(i)
419429 func addWFSid (WFSnumber,WFSassetId) = if ((i.caller != this))
420430 then throw("access only by project owner")
421431 else [StringEntry((WFSnumber + ""), WFSassetId)]
422432
423433

github/deemru/w8io/3ef1775 
86.82 ms