tx · FyqMiMxwraF1exFgw9CS1sCz3U4kRELCcHswBkBhqGvh

3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9:  -0.01100000 Waves

2024.01.10 13:45 [3991122] smart account 3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9 > SELF 0.00000000 Waves

{ "type": 13, "id": "FyqMiMxwraF1exFgw9CS1sCz3U4kRELCcHswBkBhqGvh", "fee": 1100000, "feeAssetId": null, "timestamp": 1704883522230, "version": 2, "chainId": 87, "sender": "3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9", "senderPublicKey": "ABaPDrNzForWeg3KKG9KFKPWxuihEJxK9fjZ9nDfvE26", "proofs": [ "3KxeFGKrkNAyYQiQUcXToNeh7oYRf5Keacv63WVCuiKGEkFGuWbgQ5EGeP7wR13ZXXz5vUevL6xXs2yCdXLbhAcV" ], "script": "base64:BgIiCAISABIAEgMKAQgSABIDCgEIEgASABIDCgEIEgASAwoBCBUBDXRyeUdldEludGVnZXICB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEMdHJ5R2V0U3RyaW5nAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFiBQckbWF0Y2gwBQFiAgAAAmQ4AIDC1y8AB3Bvb2xCQkIBGgFXUu6TVhRNfgeM0oUP5n5cVzd+HJ/vPIIdAAZCQkJzdHIJANgEAQUHcG9vbEJCQgANcHV6emxlU3Rha2luZwkBB0FkZHJlc3MBARoBV5RojPnuormqn9b1jrypj2canAb0FimJuwAHYnVybnh0bgEgJE91eWp+Mzm4+wz/hKlxXF7KLd4zoMRdafnqRBHsTFQABXdhdmVzAQQTq9kzAAl3aGlybHBvb2wBIFnjjdzCtSO6ShTcxNCvFAnmZOYEviUGCyZO5VBtl1nHAAZwdXp6bGUBIPEa/iX+9pk49GkqxN/hEtZHssbKDro3Ca93bR+OouVjAARyb21lASCLX5QBhMNlwSQ0jv8b/HCRMUhqyTHqqMuT8/mfNEQIzwAWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAIUQWRkcmVzc2VzIHJlZ2lzdGVyZWQACWFkZHJlc3NlcwkAswICCQEMdHJ5R2V0U3RyaW5nAgUEdGhpcwUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAABABBrZXlCdXJueHRuQW1vdW50AhZCVVJOLVhUTiB0b3RhbCByZXdhcmRzAA1rZXlSb21lQW1vdW50AhJST01FIHRvdGFsIHJld2FyZHMAD2tleVB1enpsZUFtb3VudAIUUFVaWkxFIHRvdGFsIHJld2FyZHMADmtleVdhdmVzQW1vdW50AhNXQVZFUyB0b3RhbCByZXdhcmRzABJrZXlXaGlybHBvb2xBbW91bnQCF1dISVJMUE9PTCB0b3RhbCByZXdhcmRzABBrZXlUb3RhbE5GVHBvd2VyAg9Ub3RhbCBORlQgcG93ZXIAB1dGU2xpc3QJAMwIAgIsR25weTVuVmFqUFAzWFFRVnhySGJvTUFzWHRqbnlXQXh5Yk1EZEtyYnI4c0QJAMwIAgIsQlQ5UTRtUWRRUW1laTJyNVlOTUJNYXNaQlFqN215TmFpejZRSGJhNWNQWFMJAMwIAgIsQk12a3lGdFBWbUZhdHBGUjlRVkZLUjVNWVRjWlZUWTJWVXdGWjI1dnJBQWMFA25pbAAHQkJCbGlzdAkAzAgCAixDdUJZaGpGYThqVkhqUnhUSlprVFNIRVVEOEoyVk5iY2RKWHAzOUg0ekJOVAUDbmlsCgFpARFjbGFpbUludmVzdFB1enpsZQADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyBBNwdXp6bGVCYWxhbmNlQmVmb3JlCQDwBwIFBHRoaXMFBnB1enpsZQMJAAACBRNwdXp6bGVCYWxhbmNlQmVmb3JlBRNwdXp6bGVCYWxhbmNlQmVmb3JlBBFyb21lQmFsYW5jZUJlZm9yZQkA8AcCBQR0aGlzBQRyb21lAwkAAAIFEXJvbWVCYWxhbmNlQmVmb3JlBRFyb21lQmFsYW5jZUJlZm9yZQQSY2xhaW1QdXp6bGVTdGFraW5nCQD8BwQFDXB1enpsZVN0YWtpbmcCC2NsYWltUmV3YXJkBQNuaWwFA25pbAMJAAACBRJjbGFpbVB1enpsZVN0YWtpbmcFEmNsYWltUHV6emxlU3Rha2luZwQPcG9vbE9uZVRva2VuSW52CQD8BwQJAQdBZGRyZXNzAQEaAVf9JcO9TmGUQe+6XhJjj8U5b0m1iDr16W0CIWdlbmVyYXRlSW5kZXhXaXRoT25lVG9rZW5BbmRTdGFrZQkAzAgCBQZCQkJzdHIFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGcHV6emxlCQDwBwIFBHRoaXMFBnB1enpsZQUDbmlsAwkAAAIFD3Bvb2xPbmVUb2tlbkludgUPcG9vbE9uZVRva2VuSW52BBJwdXp6bGVCYWxhbmNlQWZ0ZXIJAPAHAgUEdGhpcwUGcHV6emxlBBByb21lQmFsYW5jZUFmdGVyCQDwBwIFBHRoaXMFBHJvbWUJAMwIAgkBDEludGVnZXJFbnRyeQICFUFjdGl2YXRlZCBibG9ja2hlaWdodAUGaGVpZ2h0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlCdXJueHRuQW1vdW50CQDwBwIFBHRoaXMFB2J1cm54dG4JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleVJvbWVBbW91bnQJAGUCBRByb21lQmFsYW5jZUFmdGVyBRFyb21lQmFsYW5jZUJlZm9yZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUOa2V5V2F2ZXNBbW91bnQJAGUCCQDwBwIFBHRoaXMFBXdhdmVzBQJkOAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSa2V5V2hpcmxwb29sQW1vdW50CQDwBwIFBHRoaXMFCXdoaXJscG9vbAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2ludm9rZXIAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgQEbGlzdAkAvAkCBQlhZGRyZXNzZXMCASwKAQFyAgVhY2N1bQdhZGRyZXNzCQD8BwQFBHRoaXMCEWRpc3RyaWJ1dGVSZXdhcmRzCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsBAdpbnZva2VyCgACJGwFBGxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBAXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDQwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgDCQAAAgUHaW52b2tlcgUHaW52b2tlcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEWRpc3RyaWJ1dGVSZXdhcmRzAQdhZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIcYWNjZXNzIG9ubHkgYnkgcHJvamVjdCBvd25lcgoBCGZvbGRGdW5jAgNhY2MDV0ZTCQBkAgUDYWNjCQDwBwIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MJANkEAQUDV0ZTBAhzaGFyZVdGUwoAAiRsBQdXRlNsaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhmb2xkRnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgoBCWZvbGRGdW5jQgIDYWNjA0JCQgkAZAIFA2FjYwkA8AcCCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzCQDZBAEFA0JCQgQIc2hhcmVCQkIKAAIkbAUHQkJCbGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEJZm9sZEZ1bmNCAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYxXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAwkAAAIJAGQCBQhzaGFyZVdGUwUIc2hhcmVCQkIAAAQEbGlzdAkAvAkCBQlhZGRyZXNzZXMCASwECm5vTkZUaW5kZXgJAQV2YWx1ZQEJAM8IAgUEbGlzdAUHYWRkcmVzcwQObGlzdE1pbnVzTm9ORlQJANEIAgUEbGlzdAUKbm9ORlRpbmRleAQNbWludXNOb05GVHN0cgkArAICCQC5CQIFDmxpc3RNaW51c05vTkZUAgEsAgEsCQDMCAIJAQtTdHJpbmdFbnRyeQIFFmtleUFkZHJlc3Nlc1JlZ2lzdGVyZWQFDW1pbnVzTm9ORlRzdHIFA25pbAQNYW1vdW50QnVybnh0bgkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5QnVybnh0bkFtb3VudAkAZAIFCHNoYXJlV0ZTCQBoAgUIc2hhcmVCQkIACgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyBA9hbW91bnRXaGlybHBvb2wJAGsDCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEmtleVdoaXJscG9vbEFtb3VudAkAZAIFCHNoYXJlV0ZTCQBoAgUIc2hhcmVCQkIACgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyBAthbW91bnRXYXZlcwkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUOa2V5V2F2ZXNBbW91bnQJAGQCBQhzaGFyZVdGUwkAaAIFCHNoYXJlQkJCAAoJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxORlRwb3dlcgQKYW1vdW50Um9tZQkAawMJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUNa2V5Um9tZUFtb3VudAkAZAIFCHNoYXJlV0ZTCQBoAgUIc2hhcmVCQkIACgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFDWFtb3VudEJ1cm54dG4FB2J1cm54dG4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwUPYW1vdW50V2hpcmxwb29sBQl3aGlybHBvb2wJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwULYW1vdW50V2F2ZXMFBXdhdmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFCmFtb3VudFJvbWUFBHJvbWUFA25pbAFpAQhyZWdpc3RlcgADCQEIY29udGFpbnMCCQEMdHJ5R2V0U3RyaW5nAgUEdGhpcwUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAkApQgBCAUBaQZjYWxsZXIJAAIBAhJhbHJlYWR5IHJlZ2lzdGVyZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAkArAICCQCsAgIJAQx0cnlHZXRTdHJpbmcCBQR0aGlzBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkCQClCAEIBQFpBmNhbGxlcgIBLAUDbmlsAWkBEHJlZ2lzdGVyTWFudWFsbHkBB2FkZHJlc3MDCQEIY29udGFpbnMCCQEMdHJ5R2V0U3RyaW5nAgUEdGhpcwUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAUHYWRkcmVzcwkAAgECEmFscmVhZHkgcmVnaXN0ZXJlZAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIJ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CQEFJGYxXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoDCQAAAgkAZAIFCHNoYXJlV0ZTBQhzaGFyZUJCQgAABARsaXN0CQC8CQIFCWFkZHJlc3NlcwIBLAQKbm9ORlRpbmRleAkBBXZhbHVlAQkAzwgCBQRsaXN0BQdhZGRyZXNzBA5saXN0TWludXNOb05GVAkA0QgCBQRsaXN0BQpub05GVGluZGV4BA1taW51c05vTkZUc3RyCQCsAgIJALkJAgUObGlzdE1pbnVzTm9ORlQCASwCASwJAMwIAgkBC1N0cmluZ0VudHJ5AgUWa2V5QWRkcmVzc2VzUmVnaXN0ZXJlZAUNbWludXNOb05GVHN0cgUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCBF9XRlMFCHNoYXJlV0ZTCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCBF9CQkIJAGgCBQhzaGFyZUJCQgAKCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlUb3RhbE5GVHBvd2VyCQBkAgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUb3RhbE5GVHBvd2VyCQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKBQNuaWwBaQEJYnlBbnlib2R5AAMJAGYCCQBkAgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwIVQWN0aXZhdGVkIGJsb2NraGVpZ2h0CQBoAgAeAKALBQZoZWlnaHQJAAIBCQCsAgICFldhaXQgdGlsbCBibG9ja2hlaWdodDoJAKQDAQkAZAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCFUFjdGl2YXRlZCBibG9ja2hlaWdodAkAaAIAHgCgCwQTcHV6emxlQmFsYW5jZUJlZm9yZQkA8AcCBQR0aGlzBQZwdXp6bGUDCQAAAgUTcHV6emxlQmFsYW5jZUJlZm9yZQUTcHV6emxlQmFsYW5jZUJlZm9yZQQRcm9tZUJhbGFuY2VCZWZvcmUJAPAHAgUEdGhpcwUEcm9tZQMJAAACBRFyb21lQmFsYW5jZUJlZm9yZQURcm9tZUJhbGFuY2VCZWZvcmUEEmNsYWltUHV6emxlU3Rha2luZwkA/AcEBQ1wdXp6bGVTdGFraW5nAgtjbGFpbVJld2FyZAUDbmlsBQNuaWwDCQAAAgUSY2xhaW1QdXp6bGVTdGFraW5nBRJjbGFpbVB1enpsZVN0YWtpbmcECGNsYWltSW52CQD8BwQJAQdBZGRyZXNzAQUHcG9vbEJCQgIRY2xhaW1JbmRleFJld2FyZHMFA25pbAUDbmlsAwkAAAIFCGNsYWltSW52BQhjbGFpbUludgQScHV6emxlQmFsYW5jZUFmdGVyCQDwBwIFBHRoaXMFBnB1enpsZQQQcm9tZUJhbGFuY2VBZnRlcgkA8AcCBQR0aGlzBQRyb21lCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlCdXJueHRuQW1vdW50CQDwBwIFBHRoaXMFB2J1cm54dG4JAMwIAgkBDEludGVnZXJFbnRyeQIFDWtleVJvbWVBbW91bnQJAGUCBRByb21lQmFsYW5jZUFmdGVyBRFyb21lQmFsYW5jZUJlZm9yZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUPa2V5UHV6emxlQW1vdW50CQBlAgUScHV6emxlQmFsYW5jZUFmdGVyBRNwdXp6bGVCYWxhbmNlQmVmb3JlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ5rZXlXYXZlc0Ftb3VudAkAZQIJAPAHAgUEdGhpcwUFd2F2ZXMFAmQ4CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJrZXlXaGlybHBvb2xBbW91bnQJAPAHAgUEdGhpcwUJd2hpcmxwb29sBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEaZGlzdHJpYnV0ZVJld2FyZHNCeUFueWJvZHkBB2FkZHJlc3MDCQBmAgkAZAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMCFUFjdGl2YXRlZCBibG9ja2hlaWdodAkAaAIAHgCgCwUGaGVpZ2h0CQACAQkArAICAhZXYWl0IHRpbGwgYmxvY2toZWlnaHQ6CQCkAwEJAGQCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAhVBY3RpdmF0ZWQgYmxvY2toZWlnaHQJAGgCAB4AoAsKAQhmb2xkRnVuYwIDYWNjA1dGUwkAZAIFA2FjYwkA8AcCCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzCQDZBAEFA1dGUwQIc2hhcmVXRlMKAAIkbAUHV0ZTbGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIZm9sZEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoKAQlmb2xkRnVuY0ICA2FjYwNCQkIJAGQCBQNhY2MJAPAHAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUHYWRkcmVzcwkA2QQBBQNCQkIECHNoYXJlQkJCCgACJGwFB0JCQmxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjFfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCWZvbGRGdW5jQgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACCQBkAgUIc2hhcmVXRlMFCHNoYXJlQkJCAAAEBGxpc3QJALwJAgUJYWRkcmVzc2VzAgEsBApub05GVGluZGV4CQEFdmFsdWUBCQDPCAIFBGxpc3QFB2FkZHJlc3MEDmxpc3RNaW51c05vTkZUCQDRCAIFBGxpc3QFCm5vTkZUaW5kZXgEDW1pbnVzTm9ORlRzdHIJAKwCAgkAuQkCBQ5saXN0TWludXNOb05GVAIBLAIBLAkAzAgCCQELU3RyaW5nRW50cnkCBRZrZXlBZGRyZXNzZXNSZWdpc3RlcmVkBQ1taW51c05vTkZUc3RyBQNuaWwEDWFtb3VudEJ1cm54dG4JAGsDCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEGtleUJ1cm54dG5BbW91bnQJAGQCBQhzaGFyZVdGUwkAaAIFCHNoYXJlQkJCAAoJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxORlRwb3dlcgQPYW1vdW50V2hpcmxwb29sCQBrAwkBDXRyeUdldEludGVnZXICBQR0aGlzBRJrZXlXaGlybHBvb2xBbW91bnQJAGQCBQhzaGFyZVdGUwkAaAIFCHNoYXJlQkJCAAoJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxORlRwb3dlcgQLYW1vdW50V2F2ZXMJAGsDCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDmtleVdhdmVzQW1vdW50CQBkAgUIc2hhcmVXRlMJAGgCBQhzaGFyZUJCQgAKCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFEGtleVRvdGFsTkZUcG93ZXIECmFtb3VudFJvbWUJAGsDCQENdHJ5R2V0SW50ZWdlcgIFBHRoaXMFDWtleVJvbWVBbW91bnQJAGQCBQhzaGFyZVdGUwkAaAIFCHNoYXJlQkJCAAoJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxORlRwb3dlcgQMYW1vdW50UHV6emxlCQBrAwkBDXRyeUdldEludGVnZXICBQR0aGlzBQ9rZXlQdXp6bGVBbW91bnQJAGQCBQhzaGFyZVdGUwkAaAIFCHNoYXJlQkJCAAoJAQ10cnlHZXRJbnRlZ2VyAgUEdGhpcwUQa2V5VG90YWxORlRwb3dlcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzBQ1hbW91bnRCdXJueHRuBQdidXJueHRuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFD2Ftb3VudFdoaXJscG9vbAUJd2hpcmxwb29sCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFC2Ftb3VudFdhdmVzBQV3YXZlcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQdhZGRyZXNzBQphbW91bnRSb21lBQRyb21lCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFDGFtb3VudFB1enpsZQUGcHV6emxlBQNuaWwA9t0Hqg==", "height": 3991122, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2HSNdBGJqGds2u9APTbWbe14U7ZBfip7BQGHD9mu1Whe Next: DmMnKrbavxNqt9QXvhjGodkwEXxm8b5mdFzsGD8Y1Nxd Diff:
OldNewDifferences
155155 let list = split_4C(addresses, ",")
156156 let noNFTindex = value(indexOf(list, address))
157157 let listMinusNoNFT = removeByIndex(list, noNFTindex)
158- let minusNoNFTstr = makeString(listMinusNoNFT, ",")
158+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
159159 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
160160 }
161161 else {
260260 let list = split_4C(addresses, ",")
261261 let noNFTindex = value(indexOf(list, address))
262262 let listMinusNoNFT = removeByIndex(list, noNFTindex)
263- let minusNoNFTstr = makeString(listMinusNoNFT, ",")
263+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
264264 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
265265 }
266266 else [IntegerEntry((address + "_WFS"), shareWFS), IntegerEntry((address + "_BBB"), (shareBBB * 10)), IntegerEntry(keyTotalNFTpower, (tryGetInteger(this, keyTotalNFTpower) + (shareWFS + (shareBBB * 10))))]
340340 let list = split_4C(addresses, ",")
341341 let noNFTindex = value(indexOf(list, address))
342342 let listMinusNoNFT = removeByIndex(list, noNFTindex)
343- let minusNoNFTstr = makeString(listMinusNoNFT, ",")
343+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
344344 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
345345 }
346346 else {
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 BBBstr = toBase58String(poolBBB)
2525
2626 let puzzleStaking = Address(base58'3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS')
2727
2828 let burnxtn = base58'3SjxA2YLdfF9fTRbzLm9xFn27C6MW34W1YsdJ6Axefns'
2929
3030 let waves = base58'WAVES'
3131
3232 let whirlpool = base58'73tY3E6Gd5AWYmsuq8m8Kek7KnJNAYyS3GoveTbc6jCi'
3333
3434 let puzzle = base58'HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS'
3535
3636 let rome = base58'AP4Cb5xLYGH6ZigHreCZHoXpQTWDkPsG2BHqfDUx6taJ'
3737
3838 let keyAddressesRegistered = "Addresses registered"
3939
4040 let addresses = dropRight(tryGetString(this, keyAddressesRegistered), 1)
4141
4242 let keyBurnxtnAmount = "BURN-XTN total rewards"
4343
4444 let keyRomeAmount = "ROME total rewards"
4545
4646 let keyPuzzleAmount = "PUZZLE total rewards"
4747
4848 let keyWavesAmount = "WAVES total rewards"
4949
5050 let keyWhirlpoolAmount = "WHIRLPOOL total rewards"
5151
5252 let keyTotalNFTpower = "Total NFT power"
5353
5454 let WFSlist = ["Gnpy5nVajPP3XQQVxrHboMAsXtjnyWAxybMDdKrbr8sD", "BT9Q4mQdQQmei2r5YNMBMasZBQj7myNaiz6QHba5cPXS", "BMvkyFtPVmFatpFR9QVFKR5MYTcZVTY2VUwFZ25vrAAc"]
5555
5656 let BBBlist = ["CuBYhjFa8jVHjRxTJZkTSHEUD8J2VNbcdJXp39H4zBNT"]
5757
5858 @Callable(i)
5959 func claimInvestPuzzle () = if ((i.caller != this))
6060 then throw("access only by project owner")
6161 else {
6262 let puzzleBalanceBefore = assetBalance(this, puzzle)
6363 if ((puzzleBalanceBefore == puzzleBalanceBefore))
6464 then {
6565 let romeBalanceBefore = assetBalance(this, rome)
6666 if ((romeBalanceBefore == romeBalanceBefore))
6767 then {
6868 let claimPuzzleStaking = invoke(puzzleStaking, "claimReward", nil, nil)
6969 if ((claimPuzzleStaking == claimPuzzleStaking))
7070 then {
7171 let poolOneTokenInv = invoke(Address(base58'3PR1Qvi9mHT35SwWEkLSqqE2L8thiPLdVWU'), "generateIndexWithOneTokenAndStake", [BBBstr], [AttachedPayment(puzzle, assetBalance(this, puzzle))])
7272 if ((poolOneTokenInv == poolOneTokenInv))
7373 then {
7474 let puzzleBalanceAfter = assetBalance(this, puzzle)
7575 let romeBalanceAfter = assetBalance(this, rome)
7676 [IntegerEntry("Activated blockheight", height), IntegerEntry(keyBurnxtnAmount, assetBalance(this, burnxtn)), IntegerEntry(keyRomeAmount, (romeBalanceAfter - romeBalanceBefore)), IntegerEntry(keyWavesAmount, (assetBalance(this, waves) - d8)), IntegerEntry(keyWhirlpoolAmount, assetBalance(this, whirlpool))]
7777 }
7878 else throw("Strict value is not equal to itself.")
7979 }
8080 else throw("Strict value is not equal to itself.")
8181 }
8282 else throw("Strict value is not equal to itself.")
8383 }
8484 else throw("Strict value is not equal to itself.")
8585 }
8686
8787
8888
8989 @Callable(i)
9090 func invoker () = if ((i.caller != this))
9191 then throw("access only by project owner")
9292 else {
9393 let list = split_4C(addresses, ",")
9494 func r (accum,address) = invoke(this, "distributeRewards", [address], nil)
9595
9696 let invoker = {
9797 let $l = list
9898 let $s = size($l)
9999 let $acc0 = nil
100100 func $f0_1 ($a,$i) = if (($i >= $s))
101101 then $a
102102 else r($a, $l[$i])
103103
104104 func $f0_2 ($a,$i) = if (($i >= $s))
105105 then $a
106106 else throw("List size exceeds 40")
107107
108108 $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)
109109 }
110110 if ((invoker == invoker))
111111 then nil
112112 else throw("Strict value is not equal to itself.")
113113 }
114114
115115
116116
117117 @Callable(i)
118118 func distributeRewards (address) = if ((i.caller != this))
119119 then throw("access only by project owner")
120120 else {
121121 func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
122122
123123 let shareWFS = {
124124 let $l = WFSlist
125125 let $s = size($l)
126126 let $acc0 = 0
127127 func $f0_1 ($a,$i) = if (($i >= $s))
128128 then $a
129129 else foldFunc($a, $l[$i])
130130
131131 func $f0_2 ($a,$i) = if (($i >= $s))
132132 then $a
133133 else throw("List size exceeds 10")
134134
135135 $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)
136136 }
137137 func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
138138
139139 let shareBBB = {
140140 let $l = BBBlist
141141 let $s = size($l)
142142 let $acc0 = 0
143143 func $f1_1 ($a,$i) = if (($i >= $s))
144144 then $a
145145 else foldFuncB($a, $l[$i])
146146
147147 func $f1_2 ($a,$i) = if (($i >= $s))
148148 then $a
149149 else throw("List size exceeds 10")
150150
151151 $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)
152152 }
153153 if (((shareWFS + shareBBB) == 0))
154154 then {
155155 let list = split_4C(addresses, ",")
156156 let noNFTindex = value(indexOf(list, address))
157157 let listMinusNoNFT = removeByIndex(list, noNFTindex)
158- let minusNoNFTstr = makeString(listMinusNoNFT, ",")
158+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
159159 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
160160 }
161161 else {
162162 let amountBurnxtn = fraction(tryGetInteger(this, keyBurnxtnAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
163163 let amountWhirlpool = fraction(tryGetInteger(this, keyWhirlpoolAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
164164 let amountWaves = fraction(tryGetInteger(this, keyWavesAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
165165 let amountRome = fraction(tryGetInteger(this, keyRomeAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
166166 [ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), ScriptTransfer(addressFromStringValue(address), amountWaves, waves), ScriptTransfer(addressFromStringValue(address), amountRome, rome)]
167167 }
168168 }
169169
170170
171171
172172 @Callable(i)
173173 func register () = if (contains(tryGetString(this, keyAddressesRegistered), toString(i.caller)))
174174 then throw("already registered")
175175 else [StringEntry(keyAddressesRegistered, ((tryGetString(this, keyAddressesRegistered) + toString(i.caller)) + ","))]
176176
177177
178178
179179 @Callable(i)
180180 func registerManually (address) = if (contains(tryGetString(this, keyAddressesRegistered), address))
181181 then throw("already registered")
182182 else if ((i.caller != this))
183183 then throw("access only by project owner")
184184 else [StringEntry(keyAddressesRegistered, ((tryGetString(this, keyAddressesRegistered) + address) + ","))]
185185
186186
187187
188188 @Callable(i)
189189 func invoker2 () = {
190190 let reset = invoke(this, "resetCount", nil, nil)
191191 if ((reset == reset))
192192 then {
193193 let list = split_4C(addresses, ",")
194194 func r (accum,address) = invoke(this, "countNFTpower", [address], nil)
195195
196196 let invoker = {
197197 let $l = list
198198 let $s = size($l)
199199 let $acc0 = nil
200200 func $f0_1 ($a,$i) = if (($i >= $s))
201201 then $a
202202 else r($a, $l[$i])
203203
204204 func $f0_2 ($a,$i) = if (($i >= $s))
205205 then $a
206206 else throw("List size exceeds 40")
207207
208208 $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)
209209 }
210210 if ((invoker == invoker))
211211 then nil
212212 else throw("Strict value is not equal to itself.")
213213 }
214214 else throw("Strict value is not equal to itself.")
215215 }
216216
217217
218218
219219 @Callable(i)
220220 func resetCount () = [IntegerEntry(keyTotalNFTpower, 0)]
221221
222222
223223
224224 @Callable(i)
225225 func countNFTpower (address) = {
226226 func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
227227
228228 let shareWFS = {
229229 let $l = WFSlist
230230 let $s = size($l)
231231 let $acc0 = 0
232232 func $f0_1 ($a,$i) = if (($i >= $s))
233233 then $a
234234 else foldFunc($a, $l[$i])
235235
236236 func $f0_2 ($a,$i) = if (($i >= $s))
237237 then $a
238238 else throw("List size exceeds 10")
239239
240240 $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)
241241 }
242242 func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
243243
244244 let shareBBB = {
245245 let $l = BBBlist
246246 let $s = size($l)
247247 let $acc0 = 0
248248 func $f1_1 ($a,$i) = if (($i >= $s))
249249 then $a
250250 else foldFuncB($a, $l[$i])
251251
252252 func $f1_2 ($a,$i) = if (($i >= $s))
253253 then $a
254254 else throw("List size exceeds 10")
255255
256256 $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)
257257 }
258258 if (((shareWFS + shareBBB) == 0))
259259 then {
260260 let list = split_4C(addresses, ",")
261261 let noNFTindex = value(indexOf(list, address))
262262 let listMinusNoNFT = removeByIndex(list, noNFTindex)
263- let minusNoNFTstr = makeString(listMinusNoNFT, ",")
263+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
264264 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
265265 }
266266 else [IntegerEntry((address + "_WFS"), shareWFS), IntegerEntry((address + "_BBB"), (shareBBB * 10)), IntegerEntry(keyTotalNFTpower, (tryGetInteger(this, keyTotalNFTpower) + (shareWFS + (shareBBB * 10))))]
267267 }
268268
269269
270270
271271 @Callable(i)
272272 func byAnybody () = if (((getIntegerValue(this, "Activated blockheight") + (30 * 1440)) > height))
273273 then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (30 * 1440)))))
274274 else {
275275 let puzzleBalanceBefore = assetBalance(this, puzzle)
276276 if ((puzzleBalanceBefore == puzzleBalanceBefore))
277277 then {
278278 let romeBalanceBefore = assetBalance(this, rome)
279279 if ((romeBalanceBefore == romeBalanceBefore))
280280 then {
281281 let claimPuzzleStaking = invoke(puzzleStaking, "claimReward", nil, nil)
282282 if ((claimPuzzleStaking == claimPuzzleStaking))
283283 then {
284284 let claimInv = invoke(Address(poolBBB), "claimIndexRewards", nil, nil)
285285 if ((claimInv == claimInv))
286286 then {
287287 let puzzleBalanceAfter = assetBalance(this, puzzle)
288288 let romeBalanceAfter = assetBalance(this, rome)
289289 [IntegerEntry(keyBurnxtnAmount, assetBalance(this, burnxtn)), IntegerEntry(keyRomeAmount, (romeBalanceAfter - romeBalanceBefore)), IntegerEntry(keyPuzzleAmount, (puzzleBalanceAfter - puzzleBalanceBefore)), IntegerEntry(keyWavesAmount, (assetBalance(this, waves) - d8)), IntegerEntry(keyWhirlpoolAmount, assetBalance(this, whirlpool))]
290290 }
291291 else throw("Strict value is not equal to itself.")
292292 }
293293 else throw("Strict value is not equal to itself.")
294294 }
295295 else throw("Strict value is not equal to itself.")
296296 }
297297 else throw("Strict value is not equal to itself.")
298298 }
299299
300300
301301
302302 @Callable(i)
303303 func distributeRewardsByAnybody (address) = if (((getIntegerValue(this, "Activated blockheight") + (30 * 1440)) > height))
304304 then throw(("Wait till blockheight:" + toString((getIntegerValue(this, "Activated blockheight") + (30 * 1440)))))
305305 else {
306306 func foldFunc (acc,WFS) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(WFS)))
307307
308308 let shareWFS = {
309309 let $l = WFSlist
310310 let $s = size($l)
311311 let $acc0 = 0
312312 func $f0_1 ($a,$i) = if (($i >= $s))
313313 then $a
314314 else foldFunc($a, $l[$i])
315315
316316 func $f0_2 ($a,$i) = if (($i >= $s))
317317 then $a
318318 else throw("List size exceeds 10")
319319
320320 $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)
321321 }
322322 func foldFuncB (acc,BBB) = (acc + assetBalance(addressFromStringValue(address), fromBase58String(BBB)))
323323
324324 let shareBBB = {
325325 let $l = BBBlist
326326 let $s = size($l)
327327 let $acc0 = 0
328328 func $f1_1 ($a,$i) = if (($i >= $s))
329329 then $a
330330 else foldFuncB($a, $l[$i])
331331
332332 func $f1_2 ($a,$i) = if (($i >= $s))
333333 then $a
334334 else throw("List size exceeds 10")
335335
336336 $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)
337337 }
338338 if (((shareWFS + shareBBB) == 0))
339339 then {
340340 let list = split_4C(addresses, ",")
341341 let noNFTindex = value(indexOf(list, address))
342342 let listMinusNoNFT = removeByIndex(list, noNFTindex)
343- let minusNoNFTstr = makeString(listMinusNoNFT, ",")
343+ let minusNoNFTstr = (makeString(listMinusNoNFT, ",") + ",")
344344 [StringEntry(keyAddressesRegistered, minusNoNFTstr)]
345345 }
346346 else {
347347 let amountBurnxtn = fraction(tryGetInteger(this, keyBurnxtnAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
348348 let amountWhirlpool = fraction(tryGetInteger(this, keyWhirlpoolAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
349349 let amountWaves = fraction(tryGetInteger(this, keyWavesAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
350350 let amountRome = fraction(tryGetInteger(this, keyRomeAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
351351 let amountPuzzle = fraction(tryGetInteger(this, keyPuzzleAmount), (shareWFS + (shareBBB * 10)), tryGetInteger(this, keyTotalNFTpower))
352352 [ScriptTransfer(addressFromStringValue(address), amountBurnxtn, burnxtn), ScriptTransfer(addressFromStringValue(address), amountWhirlpool, whirlpool), ScriptTransfer(addressFromStringValue(address), amountWaves, waves), ScriptTransfer(addressFromStringValue(address), amountRome, rome), ScriptTransfer(addressFromStringValue(address), amountPuzzle, puzzle)]
353353 }
354354 }
355355
356356

github/deemru/w8io/6500d08 
42.83 ms