tx · 9jR4bFgiSYbqmqLn1rrPXR3WJiexqpJcFWUgYNbmWh3o 3N3GoRY8jrcttJ8MPUwKvo4B5ng3ovFnRDp: -0.01000000 Waves 2022.01.12 13:45 [1875634] smart account 3N3GoRY8jrcttJ8MPUwKvo4B5ng3ovFnRDp > SELF 0.00000000 Waves
{ "type": 13, "id": "9jR4bFgiSYbqmqLn1rrPXR3WJiexqpJcFWUgYNbmWh3o", "fee": 1000000, "feeAssetId": null, "timestamp": 1641984349513, "version": 2, "chainId": 84, "sender": "3N3GoRY8jrcttJ8MPUwKvo4B5ng3ovFnRDp", "senderPublicKey": "EaCtGGjVDPVdseZXSPyhxjMfa5vh67c3xxy6M4Kz5EeB", "proofs": [ "31WnUHzxq4eGEkUraVuJwjDT6Hes6HLDKm3NjCUveHi2YkDKSQjgcPc9BKZZjnhVwG6kjWkjx81gJeEYQ5XtZYri" ], "script": "base64:AAIFAAAAAAAAAC4IAhIJCgcCAQEBAREREgASABIICgYCAQEBAQESABIFCgMBAQESABIGCgQICAEBAAAAKQAAAAALcmV2aXNpb25OdW0CAAAAAAAAAAADU0VQAgAAAAJfXwAAAAAITUFYREVQVEgAAAAAAAAAABEAAAAACVVTRVJERVBUSAAAAAAAAAAAGgAAAAAFU0NBTEUAAAAAAAAAA+gBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAAAAAAAAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQIAAAAAAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEFAAAAA2tleQkAASwAAAACCQABLAAAAAICAAAAD21hbmRhdG9yeSB0aGlzLgUAAAADa2V5AgAAAA8gaXMgbm90IGRlZmluZWQAAAAAFklkeENmZ05ldXRyaW5vQ29udHJhY3QAAAAAAAAAAAEAAAAAFklkeENmZ05zYnRMb2NrQ29udHJhY3QAAAAAAAAAAAIAAAAADklkeENmZ01heERlcHRoAAAAAAAAAAADAAAAABFJZHhDZmdQZXJpb2REZWxheQAAAAAAAAAABAEAAAAJa2V5Q29uZmlnAAAAAAIAAAAKJXNfX2NvbmZpZwEAAAAVcmVhZENvbmZpZ0FycmF5T3JGYWlsAAAAAAkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAACWtleUNvbmZpZwAAAAAFAAAAA1NFUAEAAAAMZm9ybWF0Q29uZmlnAAAABAAAABpuZXV0cmlub0NvbnRyYWN0QWRkcmVzc1N0cgAAABpuc2J0TG9ja0NvbnRyYWN0QWRkcmVzc1N0cgAAAAhtYXhEZXB0aAAAAAtwZXJpb2REZWxheQkABLkAAAACCQAETAAAAAICAAAACCVzJXMlZCVkCQAETAAAAAIFAAAAGm5ldXRyaW5vQ29udHJhY3RBZGRyZXNzU3RyCQAETAAAAAIFAAAAGm5zYnRMb2NrQ29udHJhY3RBZGRyZXNzU3RyCQAETAAAAAIJAAGkAAAAAQUAAAAIbWF4RGVwdGgJAARMAAAAAgkAAaQAAAABBQAAAAtwZXJpb2REZWxheQUAAAADbmlsBQAAAANTRVABAAAADWtleVVzZXJzQ291bnQAAAAAAgAAAA8lc19fbmV4dFVzZXJOdW0BAAAAFGtleU5leHRQcm9jZXNzZWRVc2VyAAAAAAIAAAAVJXNfX25leHRQcm9jZXNzZWRVc2VyAQAAAA9rZXlMYXRlc3RQZXJpb2QAAAAAAgAAABAlc19fbGF0ZXN0UGVyaW9kAQAAAA1rZXlOZXh0UGVyaW9kAAAAAAIAAAAOJXNfX25leHRQZXJpb2QBAAAAFmtleU5leHRQcm9jZXNzZWRQZXJpb2QAAAAAAgAAABclc19fbmV4dFByb2Nlc3NlZFBlcmlvZAEAAAAba2V5TmV4dFVubGFpbWVkUGVyaW9kT2ZVc2VyAAAAAQAAAAl1c2VySW5kZXgJAAS5AAAAAgkABEwAAAACAgAAABclcyVkX19uZXh0Q2xhaW1lZFBlcmlvZAkABEwAAAACCQABpAAAAAEFAAAACXVzZXJJbmRleAUAAAADbmlsBQAAAANTRVABAAAAHGtleUxhc3RQcm9jZXNzZWRQZXJpb2RPZlVzZXIAAAABAAAACXVzZXJJbmRleAkABLkAAAACCQAETAAAAAICAAAAGSVzJWRfX2xhc3RQcm9jZXNzZWRQZXJpb2QJAARMAAAAAgkAAaQAAAABBQAAAAl1c2VySW5kZXgFAAAAA25pbAUAAAADU0VQAQAAABJrZXlIZWlnaHRGb3JQZXJpb2QAAAABAAAABnBlcmlvZAkABLkAAAACCQAETAAAAAICAAAAGiVzJWRfX3N0YXJ0SGVpZ2h0Rm9yUGVyaW9kCQAETAAAAAIJAAGkAAAAAQUAAAAGcGVyaW9kBQAAAANuaWwFAAAAA1NFUAEAAAAXa2V5VG90YWxBbW91bnRGb3JQZXJpb2QAAAACAAAABnBlcmlvZAAAAAdpc1dhdmVzCQAEuQAAAAIJAARMAAAAAgMFAAAAB2lzV2F2ZXMCAAAAHyVzJWRfX3RvdGFsV2F2ZXNBbW91bnRGb3JQZXJpb2QCAAAAHiVzJWRfX3RvdGFsVXNkbkFtb3VudEZvclBlcmlvZAkABEwAAAACCQABpAAAAAEFAAAABnBlcmlvZAUAAAADbmlsBQAAAANTRVABAAAADmtleVRvdGFsQW1vdW50AAAAAQAAAAdpc1dhdmVzAwUAAAAHaXNXYXZlcwIAAAAUJXNfX3RvdGFsV2F2ZXNBbW91bnQCAAAAEyVzX190b3RhbFVzZG5BbW91bnQBAAAAF2tleVRvdGFsV2VpZ2h0Rm9yUGVyaW9kAAAAAQAAAAZwZXJpb2QJAAS5AAAAAgkABEwAAAACAgAAABolcyVkX190b3RhbFdlaWdodEZvclBlcmlvZAkABEwAAAACCQABpAAAAAEFAAAABnBlcmlvZAUAAAADbmlsBQAAAANTRVABAAAAFmtleVVzZXJLVmFsdWVGb3JQZXJpb2QAAAACAAAABnBlcmlvZAAAAAl1c2VySW5kZXgJAAS5AAAAAgkABEwAAAACAgAAABclcyVkJXMlZF9fcGFyYW1CeVBlcmlvZAkABEwAAAACCQABpAAAAAEFAAAACXVzZXJJbmRleAkABEwAAAACAgAAAAFrCQAETAAAAAIJAAGkAAAAAQUAAAAGcGVyaW9kBQAAAANuaWwFAAAAA1NFUAEAAAAWa2V5VXNlckJWYWx1ZUZvclBlcmlvZAAAAAIAAAAGcGVyaW9kAAAACXVzZXJJbmRleAkABLkAAAACCQAETAAAAAICAAAAFyVzJWQlcyVkX19wYXJhbUJ5UGVyaW9kCQAETAAAAAIJAAGkAAAAAQUAAAAJdXNlckluZGV4CQAETAAAAAICAAAAAWIJAARMAAAAAgkAAaQAAAABBQAAAAZwZXJpb2QFAAAAA25pbAUAAAADU0VQAQAAAAxIaXN0b3J5RW50cnkAAAAHAAAABHR5cGUAAAAEdXNlcgAAAAp1c2RuQW1vdW50AAAADHdhdmVzQWFtb3VudAAAAA1jdXJyZW50UGVyaW9kAAAADGxhdGVzdFBlcmlvZAAAAAFpBAAAAApoaXN0b3J5S0VZCQAEuQAAAAIJAARMAAAAAgIAAAARJXMlcyVzJXNfX2hpc3RvcnkJAARMAAAAAgUAAAAEdHlwZQkABEwAAAACBQAAAAR1c2VyCQAETAAAAAIJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAADbmlsBQAAAANTRVAEAAAAC2hpc3RvcnlEQVRBCQAEuQAAAAIJAARMAAAAAgIAAAAMJWQlZCVkJWQlZCVkCQAETAAAAAIJAAGkAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQJAARMAAAAAgkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQABpAAAAAEFAAAACnVzZG5BbW91bnQJAARMAAAAAgkAAaQAAAABBQAAAAx3YXZlc0FhbW91bnQJAARMAAAAAgkAAaQAAAABBQAAAA1jdXJyZW50UGVyaW9kCQAETAAAAAIJAAGkAAAAAQUAAAAMbGF0ZXN0UGVyaW9kBQAAAANuaWwFAAAAA1NFUAkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAKaGlzdG9yeUtFWQUAAAALaGlzdG9yeURBVEEBAAAADmdldFVzZG5Bc3NldElkAAAAAQAAABduZXV0cmlub0NvbnRyYWN0QWRkcmVzcwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAF25ldXRyaW5vQ29udHJhY3RBZGRyZXNzAgAAABFuZXV0cmlub19hc3NldF9pZAIAAAAubWFuZGF0b3J5IGtleSBuZXV0cmlub19hc3NldF9pZCBpcyBub3QgZGVmaW5lZAEAAAAOZ2V0TnNidEFzc2V0SWQAAAABAAAAF25ldXRyaW5vQ29udHJhY3RBZGRyZXNzCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAXbmV1dHJpbm9Db250cmFjdEFkZHJlc3MCAAAADWJvbmRfYXNzZXRfaWQCAAAAKm1hbmRhdG9yeSBrZXkgYm9uZF9hc3NldF9pZCBpcyBub3QgZGVmaW5lZAEAAAAKY2FsY1dlaWdodAAAAAYAAAAXbnNidExvY2tDb250cmFjdEFkZHJlc3MAAAAGcGVyaW9kAAAABHVzZXIAAAAMcGVyaW9kSGVpZ2h0AAAAB3BlcmlvZHMAAAAFdXNlcnMEAAAAAWsJAQAAAAV2YWx1ZQAAAAEJAAQaAAAAAgUAAAAXbnNidExvY2tDb250cmFjdEFkZHJlc3MJAQAAABZrZXlVc2VyS1ZhbHVlRm9yUGVyaW9kAAAAAgUAAAAG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AAEJAQAAAA1pbnZva2VQcm9jZXNzAAAABwUAAAAQbnNidExvY2tDb250cmFjdAkAAGQAAAACBQAAAA1jdXJyZW50UGVyaW9kAAAAAAAAAAABAAAAAAAAAAAACQAAZQAAAAIFAAAABWRlcHRoAAAAAAAAAAABAAAAAAAAAAAABQAAAAdwZXJpb2RzBQAAAAV1c2VycwkABRcAAAAFCQAAZAAAAAIFAAAADWN1cnJlbnRQZXJpb2QAAAAAAAAAAAEAAAAAAAAAAAAFAAAAA25pbAUAAAADbmlsAAAAAAAAAAAAAQAAABhwcm9jZXNzTmV4dEJhdGNoSW50ZXJuYWwAAAAHAAAAEG5zYnRMb2NrQ29udHJhY3QAAAANY3VycmVudFBlcmlvZAAAAAtjdXJyZW50VXNlcgAAAAVkZXB0aAAAAAt0b3RhbFdlaWdodAAAAAdwZXJpb2RzAAAABXVzZXJzBAAAABduc2J0TG9ja0NvbnRyYWN0QWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABBQAAABBuc2J0TG9ja0NvbnRyYWN0BAAAAAxsYXRlc3RQZXJpb2QJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9rZXlMYXRlc3RQZXJpb2QAAAAABAAAAAp1c2Vyc0NvdW50CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAF25zYnRMb2NrQ29udHJhY3RBZGRyZXNzCQEAAAANa2V5VXNlcnNDb3VudAAAAAAAAAAAAAAAAAAEAAAADnRvdGFsV2VpZ2h0S2V5CQEAAAAXa2V5VG90YWxXZWlnaHRGb3JQZXJpb2QAAAABBQAAAA1jdXJyZW50UGVyaW9kBAAAAA9oZWlnaHRGb3JQZXJpb2QJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJrZXlIZWlnaHRGb3JQZXJpb2QAAAABBQAAAA1jdXJyZW50UGVyaW9kAwMJAABmAAAAAgUAAAAFZGVwdGgAAAAAAAAAAAAJAABnAAAAAgUAAAAMbGF0ZXN0UGVyaW9kBQAAAA1jdXJyZW50UGVyaW9kBwQAAAACdDAJAQAAAA5jYWxjVXNlcldlaWdodAAAAAYFAAAAF25zYnRMb2NrQ29udHJhY3RBZGRyZXNzBQAAAA9oZWlnaHRGb3JQZXJp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A25pbAMJAAAAAAAAAgUAAAAGcmVzdWx0BQAAAAZyZXN1bHQEAAAAByRtYXRjaDAFAAAABnJlc3VsdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPKEludCwgSW50LCBJbnQpBAAAAAFyBQAAAAckbWF0Y2gwBQAAAAFyCQAAAgAAAAECAAAAF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEAAAANY2xhaW1JbnRlcm5hbAAAAAYAAAAQbnNidExvY2tDb250cmFjdAAAAA1jdXJyZW50UGVyaW9kAAAAC2N1cnJlbnRVc2VyAAAABWRlcHRoAAAAE3VzZXJVc2RuQWNjdW11bGF0ZWQAAAAUdXNlcldhdmVzQWNjdW11bGF0ZWQEAAAAF25zYnRMb2NrQ29udHJhY3RBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEFAAAAEG5zYnRMb2NrQ29udHJhY3QEAAAADGxhdGVzdFBlcmlvZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmtleU5leHRQcm9jZXNzZWRQZXJpb2QAAAAABAAAAAt0b3RhbFdlaWdodAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAF2tleVRvdGFsV2VpZ2h0Rm9yUGVyaW9kAAAAAQUAAAANY3VycmVudFBlcmlvZAQAAAAPaGVpZ2h0Rm9yUGVyaW9kCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASa2V5SGVpZ2h0Rm9yUGVyaW9kAAAAAQUAAAANY3VycmVudFBlcmlvZAQAAAANJHQwMTM0MjIxMzU0MgkBAAAADmNhbGNVc2VyV2VpZ2h0AAAABgUAAAAXbnNidExvY2tDb250cmFjdEFkZHJlc3MFAAAAD2hlaWdodEZvclBlcmlvZAUAAAANY3VycmVudFBlcmlvZAUAAAALY3VycmVudFVzZXIFAAAAA25pbAUAAAADbmlsBAAAAAp1c2VyV2VpZ2h0CAUAAAANJHQwMTM0MjIxMzU0MgAAAAJfMQQAAAAHaWdub3JlZAgFAAAADSR0MDEzNDIyMTM1NDIAAAACXzIEAAAAF3VzZXJVc2RuQW1vdW50Rm9yUGVyaW9kCQAAawAAAAMJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdrZXlUb3RhbEFtb3VudEZvclBlcmlvZAAAAAIFAAAADWN1cnJlbnRQZXJpb2QHBQAAAAp1c2VyV2VpZ2h0BQAAAAt0b3RhbFdlaWdodAQAAAAYdXNlcldhdmVzQW1vdW50Rm9yUGVyaW9kCQAAawAAAAMJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdrZXlUb3RhbEFtb3VudEZvclBlcmlvZAAAAAIFAAAADWN1cnJlbnRQZXJpb2QGBQAAAAp1c2VyV2VpZ2h0BQAAAAt0b3RhbFdlaWdodAMDCQAAZwAAAAIAAAAAAAAAAAAFAAAABWRlcHRoBgkAAGcAAAACCQAAZAAAAAIFAAAADWN1cnJlbnRQZXJpb2QAAAAAAAAAAAEFAAAADGxhdGVzdFBlcmlvZAkABRUAAAADCQAAZAAAAAIFAAAADWN1cnJlbnRQZXJpb2QAAAAAAAAAAAEJAABkAAAAAgUAAAATdXNlclVzZG5BY2N1bXVsYXRlZAUAAAAXdXNlclVzZG5BbW91bnRGb3JQZXJpb2QJAABkAAAAAgUAAAAUdXNlcldhdmVzQWNjdW11bGF0ZWQFAAAAGHVzZXJXYXZlc0Ftb3VudEZvclBlcmlvZAkBAAAAC2ludm9rZUNsYWltAAAABgUAAAAQbnNidExvY2tDb250cmFjdAkAAGQAAAACBQAAAA1jdXJyZW50UGVyaW9kAAAAAAAAAAABBQAAAAtjdXJyZW50VXNlcgkAAGUAAAACBQAAAAVkZXB0aAAAAAAAAAAAAQkAAGQAAAACBQAAABN1c2VyVXNkbkFjY3VtdWxhdGVkBQAAABd1c2VyVXNkbkFtb3VudEZvclBlcmlvZAkAAGQAAAACBQAAABR1c2VyV2F2ZXNBY2N1bXVsYXRlZAUAAAAYdXNlcldhdmVzQW1vdW50Rm9yUGVyaW9kAAAACAAAAAFpAQAAABBwcm9jZXNzTmV4dEJhdGNoAAAABwAAABBuc2J0TG9ja0NvbnRyYWN0AAAADWN1cnJlbnRQZXJpb2QAAAALY3VycmVudFVzZXIAAAAFZGVwdGgAAAALdG90YWxXZWlnaHQAAAAHcGVyaW9kcwAAAAV1c2VycwMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAACRTaG91bGQgYmUgY2FsbGVkIGJ5IHRoaXMgc2NyaXB0IG9ubHkEAAAAA3RwbAkBAAAAGHByb2Nlc3NOZXh0QmF0Y2hJbnRlcm5hbAAAAAcFAAAAEG5zYnRMb2NrQ29udHJhY3QFAAAADWN1cnJlbnRQZXJpb2QFAAAAC2N1cnJlbnRVc2VyBQAAAAVkZXB0aAUAAAALdG90YWxXZWlnaHQFAAAAB3BlcmlvZHMFAAAABXVzZXJzCQAFFAAAAAIIBQAAAAN0cGwAAAACXzEJAAUXAAAABQgFAAAAA3RwbAAAAAJfMggFAAAAA3RwbAAAAAJfMwgFAAAAA3RwbAAAAAJfNAgFAAAAA3RwbAAAAAJfNQgFAAAAA3RwbAAAAAJfNgAAAAFpAQAAAB1wcm9jZXNzUGVuZGluZ1BlcmlvZHNBbmRVc2VycwAAAAAEAAAADWN1cnJlbnRQZXJpb2QJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZrZXlOZXh0UHJvY2Vzc2VkUGVyaW9kAAAAAAMJAABmAAAAAgUAAAANY3VycmVudFBlcmlvZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2tleUxhdGVzdFBlcmlvZAAAAAAJAAACAAAAAQIAAAASTm90aGluZyB0byBwcm9jZXNzBAAAAAhjZmdBcnJheQkBAAAAFXJlYWRDb25maWdBcnJheU9yRmFpbAAAAAAEAAAABWRlcHRoCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAADklkeENmZ01heERlcHRoAwkAAGYAAAACBQAAAAVkZXB0aAUAAAAITUFYREVQVEgJAAACAAAAAQIAAAAWRGVwdGggZXhjZWVkcyBNQVhERVBUSAQAAAAQbnNidExvY2tDb250cmFjdAkAAlkAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABZJZHhDZmdOc2J0TG9ja0NvbnRyYWN0BAAAAAtjdXJyZW50VXNlcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFGtleU5leHRQcm9jZXNzZWRVc2VyAAAAAAQAAAALdG90YWxXZWlnaHQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABdrZXlUb3RhbFdlaWdodEZvclBlcmlvZAAAAAEFAAAADWN1cnJlbnRQZXJpb2QEAAAAAXIJAQAAABhwcm9jZXNzTmV4dEJhdGNoSW50ZXJuYWwAAAAHBQAAABBuc2J0TG9ja0NvbnRyYWN0BQAAAA1jdXJyZW50UGVyaW9kBQAAAAtjdXJyZW50VXNlcgUAAAAFZGVwdGgFAAAAC3RvdGFsV2VpZ2h0BQAAAANuaWwFAAAAA25pbAkABE0AAAACCQAETQAAAAIIBQAAAAFyAAAAAl8xCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmtleU5leHRQcm9jZXNzZWRQZXJpb2QAAAAACAUAAAABcgAAAAJfMgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRrZXlOZXh0UHJvY2Vzc2VkVXNlcgAAAAAIBQAAAAFyAAAAAl8zAAAAAWkBAAAAB2RlcG9zaXQAAAAABAAAAAhjZmdBcnJheQkBAAAAFXJlYWRDb25maWdBcnJheU9yRmFpbAAAAAAEAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABZJZHhDZmdOZXV0cmlub0NvbnRyYWN0AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABBuZXV0cmlub0NvbnRyYWN0CQAAAgAAAAECAAAAFFdyb25nIGNhbGxlciBhZGRyZXNzBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAB2Fzc2V0SWQIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAGcGVyaW9kCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAANa2V5TmV4dFBlcmlvZAAAAAAEAAAABGhSYXcJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEmtleUhlaWdodEZvclBlcmlvZAAAAAEFAAAABnBlcmlvZAQAAAAFZGVsYXkJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAARSWR4Q2ZnUGVyaW9kRGVsYXkDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAARoUmF3CQEAAAAMRGVwb3NpdEVudHJ5AAAAAwUAAAAGcGVyaW9kBQAAAANwbXQHAwkAAGcAAAACBQAAAAZoZWlnaHQJAABkAAAAAgkBAAAABXZhbHVlAAAAAQUAAAAEaFJhdwUAAAAFZGVsYXkJAQAAAAxEZXBvc2l0RW50cnkAAAADCQAAZAAAAAIFAAAABnBlcmlvZAAAAAAAAAAAAQUAAAADcG10BgQAAAAJa2V5QW1vdW50CQEAAAAXa2V5VG90YWxBbW91bnRGb3JQZXJpb2QAAAACBQAAAAZwZXJpb2QJAAAAAAAAAgUAAAAHYXNzZXRJZAUAAAAEdW5pdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa2V5QW1vdW50CQAAZAAAAAIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAACWtleUFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5rZXlUb3RhbEFtb3VudAAAAAEJAAAAAAAAAgUAAAAHYXNzZXRJZAUAAAAEdW5pdAkAAGQAAAACCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAOa2V5VG90YWxBbW91bnQAAAABCQAAAAAAAAIFAAAAB2Fzc2V0SWQFAAAABHVuaXQIBQAAAANwbXQAAAAGYW1vdW50BQAAAANuaWwAAAABaQEAAAAOY2xhaW1OZXh0QmF0Y2gAAAAGAAAAEG5zYnRMb2NrQ29udHJhY3QAAAANY3VycmVudFBlcmlvZAAAAAtjdXJyZW50VXNlcgAAAAVkZXB0aAAAAA91c2RuQWNjdW11bGF0ZWQAAAAQd2F2ZXNBY2N1bXVsYXRlZAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAACRTaG91bGQgYmUgY2FsbGVkIGJ5IHRoaXMgc2NyaXB0IG9ubHkEAAAAD3BlcmlvZEFuZFRvdGFscwkBAAAADWNsYWltSW50ZXJuYWwAAAAGBQAAABBuc2J0TG9ja0NvbnRyYWN0BQAAAA1jdXJyZW50UGVyaW9kBQAAAAtjdXJyZW50VXNlcgUAAAAFZGVwdGgFAAAAD3VzZG5BY2N1bXVsYXRlZAUAAAAQd2F2ZXNBY2N1bXVsYXRlZAkABRQAAAACBQAAAANuaWwFAAAAD3BlcmlvZEFuZFRvdGFscwAAAAFpAQAAAAtjbGFpbVJld2FyZAAAAAAEAAAACGNmZ0FycmF5CQEAAAAVcmVhZENvbmZpZ0FycmF5T3JGYWlsAAAAAAQAAAAHYWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAB3VzZXJJZHgJAQAAABVnZXRVc2VySW5kZXhCeUFkZHJlc3MAAAACCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABZJZHhDZmdOc2J0TG9ja0NvbnRyYWN0BQAAAAdhZGRyZXNzBAAAAA1jdXJyZW50UGVyaW9kCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAba2V5TmV4dFVubGFpbWVkUGVyaW9kT2ZVc2VyAAAAAQUAAAAHdXNlcklkeAQAAAAMbGF0ZXN0UGVyaW9kCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAWa2V5TmV4dFByb2Nlc3NlZFBlcmlvZAAAAAADCQAAZwAAAAIFAAAADWN1cnJlbnRQZXJpb2QFAAAADGxhdGVzdFBlcmlvZAkAAAIAAAABAgAAABBOb3RoaW5nIHRvIGNsYWltBAAAABBuc2J0TG9ja0NvbnRyYWN0CQACWQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAFklkeENmZ05zYnRMb2NrQ29udHJhY3QEAAAADSR0MDE4MDg4MTgyMDAJAQAAAA1jbGFpbUludGVybmFsAAAABgUAAAAQbnNidExvY2tDb250cmFjdAUAAAANY3VycmVudFBlcmlvZAUAAAAHdXNlcklkeAUAAAAJVVNFUkRFUFRIAAAAAAAAAAAAAAAAAAAAAAAABAAAAAZwZXJpb2QIBQAAAA0kdDAxODA4ODE4MjAwAAAAAl8xBAAAAAp1c2RuQW1vdW50CAUAAAANJHQwMTgwODgxODIwMAAAAAJfMgQAAAALd2F2ZXNBbW91bnQIBQAAAA0kdDAxODA4ODE4MjAwAAAAAl8zAwMJAABnAAAAAgAAAAAAAAAAAAUAAAAKdXNkbkFtb3VudAkAAGcAAAACAAAAAAAAAAAABQAAAAt3YXZlc0Ftb3VudAcJAAACAAAAAQIAAAAUTm8gcGF5b3V0cyBhdmFpbGFibGUEAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABZJZHhDZmdOZXV0cmlub0NvbnRyYWN0CQAFFAAAAAIJAAROAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAG2tleU5leHRVbmxhaW1lZFBlcmlvZE9mVXNlcgAAAAEFAAAAB3VzZXJJZHgFAAAABnBlcmlvZAkABEwAAAACCQEAAAAMSGlzdG9yeUVudHJ5AAAABwIAAAALY2xhaW1SZXdhcmQFAAAAB2FkZHJlc3MFAAAACnVzZG5BbW91bnQFAAAAC3dhdmVzQW1vdW50BQAAAAZwZXJpb2QFAAAADGxhdGVzdFBlcmlvZAUAAAABaQUAAAADbmlsAwkAAGYAAAACBQAAAAp1c2RuQW1vdW50AAAAAAAAAAAACQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAKdXNkbkFtb3VudAkAAlkAAAABCQEAAAAOZ2V0VXNkbkFzc2V0SWQAAAABBQAAABBuZXV0cmlub0NvbnRyYWN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOa2V5VG90YWxBbW91bnQAAAABBwkAAGUAAAACCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAOa2V5VG90YWxBbW91bnQAAAABBwUAAAAKdXNkbkFtb3VudAUAAAADbmlsCQAETgAAAAIFAAAAA25pbAMJAABmAAAAAgUAAAALd2F2ZXNBbW91bnQAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAt3YXZlc0Ftb3VudAUAAAAEdW5pdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADmtleVRvdGFsQW1vdW50AAAAAQYJAABlAAAAAgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAADmtleVRvdGFsQW1vdW50AAAAAQYFAAAAC3dhdmVzQW1vdW50BQAAAANuaWwFAAAAA25pbAkABRQAAAACBQAAAAp1c2RuQW1vdW50BQAAAAt3YXZlc0Ftb3VudAAAAAFpAQAAABxjYWxjR292ZXJuYW5jZVBhcmFtc1JFQURPTkxZAAAAAwAAAApuc2J0QW1vdW50AAAAD2xvY2tTdGFydEhlaWdodAAAABJsb2NrRHVyYXRpb25CbG9ja3MEAAAADWxvY2tFbmRIZWlnaHQJAABkAAAAAgUAAAAPbG9ja1N0YXJ0SGVpZ2h0BQAAABJsb2NrRHVyYXRpb25CbG9ja3MEAAAADHNjYWxlOFBhcmFtSwkBAAAAAS0AAAABCQAAawAAAAMFAAAACm5zYnRBbW91bnQFAAAABVNDQUxFBQAAABJsb2NrRHVyYXRpb25CbG9ja3MEAAAADHNjYWxlOFBhcmFtQgkAAGgAAAACCQAAawAAAAMFAAAACm5zYnRBbW91bnQFAAAABVNDQUxFBQAAABJsb2NrRHVyYXRpb25CbG9ja3MFAAAADWxvY2tFbmRIZWlnaHQJAAUUAAAAAgUAAAADbmlsCQAETAAAAAIFAAAADHNjYWxlOFBhcmFtSwkABEwAAAACBQAAAAxzY2FsZThQYXJhbUIJAARMAAAAAgkBAAAACm5leHRQZXJpb2QAAAAABQAAAANuaWwAAAABaQEAAAAWZ2V0VG90YWxSZXdhcmRSRUFET05MWQAAAAAJAAUUAAAAAgUAAAADbmlsCQAETAAAAAIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA5rZXlUb3RhbEFtb3VudAAAAAEHCQAETAAAAAIJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA5rZXlUb3RhbEFtb3VudAAAAAEGBQAAAANuaWwAAAABaQEAAAALY29uc3RydWN0b3IAAAAEAAAAGm5ldXRyaW5vQ29udHJhY3RBZGRyZXNzU3RyAAAAGm5zYnRMb2NrQ29udHJhY3RBZGRyZXNzU3RyAAAACG1heERlcHRoAAAAC3BlcmlvZERlbGF5AwkBAAAAAiE9AAAAAgUAAAAEdGhpcwgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAADm5vdCBhdXRob3JpemVkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAlrZXlDb25maWcAAAAACQEAAAAMZm9ybWF0Q29uZmlnAAAABAUAAAAabmV1dHJpbm9Db250cmFjdEFkZHJlc3NTdHIFAAAAGm5zYnRMb2NrQ29udHJhY3RBZGRyZXNzU3RyBQAAAAhtYXhEZXB0aAUAAAALcGVyaW9kRGVsYXkFAAAAA25pbAAAAADY2KcO", "height": 1875634, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "" | |
5 | + | ||
6 | + | let b = "__" | |
7 | + | ||
8 | + | let c = 17 | |
9 | + | ||
10 | + | let d = 26 | |
11 | + | ||
12 | + | let e = 1000 | |
13 | + | ||
14 | + | func f (g) = valueOrElse(getInteger(this, g), 0) | |
15 | + | ||
16 | + | ||
17 | + | func h (g) = valueOrElse(getString(this, g), "") | |
18 | + | ||
19 | + | ||
20 | + | func i (g) = valueOrErrorMessage(getString(g), (("mandatory this." + g) + " is not defined")) | |
21 | + | ||
22 | + | ||
23 | + | let j = 1 | |
24 | + | ||
25 | + | let k = 2 | |
26 | + | ||
27 | + | let l = 3 | |
28 | + | ||
29 | + | let m = 4 | |
30 | + | ||
31 | + | func n () = "%s__config" | |
32 | + | ||
33 | + | ||
34 | + | func o () = split(i(n()), b) | |
35 | + | ||
36 | + | ||
37 | + | func p (q,r,s,t) = makeString(["%s%s%d%d", q, r, toString(s), toString(t)], b) | |
38 | + | ||
39 | + | ||
40 | + | func u () = "%s__nextUserNum" | |
41 | + | ||
42 | + | ||
43 | + | func v () = "%s__nextProcessedUser" | |
44 | + | ||
45 | + | ||
46 | + | func w () = "%s__latestPeriod" | |
47 | + | ||
48 | + | ||
49 | + | func x () = "%s__nextPeriod" | |
50 | + | ||
51 | + | ||
52 | + | func y () = "%s__nextProcessedPeriod" | |
53 | + | ||
54 | + | ||
55 | + | func z (A) = makeString(["%s%d__nextClaimedPeriod", toString(A)], b) | |
56 | + | ||
57 | + | ||
58 | + | func B (A) = makeString(["%s%d__lastProcessedPeriod", toString(A)], b) | |
59 | + | ||
60 | + | ||
61 | + | func C (D) = makeString(["%s%d__startHeightForPeriod", toString(D)], b) | |
62 | + | ||
63 | + | ||
64 | + | func E (D,F) = makeString([if (F) | |
65 | + | then "%s%d__totalWavesAmountForPeriod" | |
66 | + | else "%s%d__totalUsdnAmountForPeriod", toString(D)], b) | |
67 | + | ||
68 | + | ||
69 | + | func G (F) = if (F) | |
70 | + | then "%s__totalWavesAmount" | |
71 | + | else "%s__totalUsdnAmount" | |
72 | + | ||
73 | + | ||
74 | + | func H (D) = makeString(["%s%d__totalWeightForPeriod", toString(D)], b) | |
75 | + | ||
76 | + | ||
77 | + | func I (D,A) = makeString(["%s%d%s%d__paramByPeriod", toString(A), "k", toString(D)], b) | |
78 | + | ||
79 | + | ||
80 | + | func J (D,A) = makeString(["%s%d%s%d__paramByPeriod", toString(A), "b", toString(D)], b) | |
81 | + | ||
82 | + | ||
83 | + | func K (L,M,N,O,P,Q,R) = { | |
84 | + | let S = makeString(["%s%s%s%s__history", L, M, toBase58String(R.transactionId)], b) | |
85 | + | let T = makeString(["%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(N), toString(O), toString(P), toString(Q)], b) | |
86 | + | StringEntry(S, T) | |
87 | + | } | |
88 | + | ||
89 | + | ||
90 | + | func U (V) = valueOrErrorMessage(getString(V, "neutrino_asset_id"), "mandatory key neutrino_asset_id is not defined") | |
91 | + | ||
92 | + | ||
93 | + | func W (V) = valueOrErrorMessage(getString(V, "bond_asset_id"), "mandatory key bond_asset_id is not defined") | |
94 | + | ||
95 | + | ||
96 | + | func X (Y,D,M,Z,aa,ab) = { | |
97 | + | let ac = value(getInteger(Y, I(D, M))) | |
98 | + | let ad = value(getInteger(Y, J(D, M))) | |
99 | + | let ae = ((ac * Z) + ad) | |
100 | + | if ((ae > 0)) | |
101 | + | then $Tuple4((ae / e), nil, aa, ab) | |
102 | + | else $Tuple4(0, nil, aa, ab) | |
103 | + | } | |
104 | + | ||
105 | + | ||
106 | + | func af (Y,ag,D,A,aa,ab) = { | |
107 | + | let ah = B(A) | |
108 | + | let ai = I(D, A) | |
109 | + | let aj = getInteger(Y, ai) | |
110 | + | if (isDefined(aj)) | |
111 | + | then { | |
112 | + | let ac = value(aj) | |
113 | + | let ad = value(getInteger(Y, J(D, A))) | |
114 | + | let ae = ((ac * ag) + ad) | |
115 | + | if ((ae > 0)) | |
116 | + | then { | |
117 | + | let ak = indexOf(ab, A) | |
118 | + | if (isDefined(ak)) | |
119 | + | then $Tuple4((ae / e), [IntegerEntry(ah, D)], (removeByIndex(aa, value(ak)) :+ D), (removeByIndex(ab, value(ak)) :+ A)) | |
120 | + | else $Tuple4((ae / e), [IntegerEntry(ah, D)], (aa :+ D), (ab :+ A)) | |
121 | + | } | |
122 | + | else $Tuple4(0, nil, aa, ab) | |
123 | + | } | |
124 | + | else { | |
125 | + | let al = getInteger(this, ah) | |
126 | + | if (isDefined(al)) | |
127 | + | then X(Y, value(al), A, ag, aa, ab) | |
128 | + | else { | |
129 | + | let ak = indexOf(ab, A) | |
130 | + | if (isDefined(ak)) | |
131 | + | then X(Y, aa[value(ak)], A, ag, aa, ab) | |
132 | + | else $Tuple4(0, nil, aa, ab) | |
133 | + | } | |
134 | + | } | |
135 | + | } | |
136 | + | ||
137 | + | ||
138 | + | func am (r,an) = { | |
139 | + | let g = makeString(["%s%s%s", "mapping", "user2num", an], b) | |
140 | + | valueOrErrorMessage(getInteger(Address(fromBase58String(r)), g), ((("User address " + an) + " is not found in nsbtLock contract data, key=") + g)) | |
141 | + | } | |
142 | + | ||
143 | + | ||
144 | + | func ao () = f(x()) | |
145 | + | ||
146 | + | ||
147 | + | func ap (D,aq,ar) = [IntegerEntry(w(), if (ar) | |
148 | + | then (D - 1) | |
149 | + | else -1), IntegerEntry(C(D), height), IntegerEntry(E(D, (aq.assetId == unit)), aq.amount), IntegerEntry(G((aq.assetId == unit)), (f(G((aq.assetId == unit))) + aq.amount)), IntegerEntry(x(), D)] | |
150 | + | ||
151 | + | ||
152 | + | func as (at,D,M,au,av,aa,ab) = { | |
153 | + | let aw = invoke(this, "processNextBatch", [at, D, M, au, av, aa, ab], nil) | |
154 | + | if ((aw == aw)) | |
155 | + | then { | |
156 | + | let ax = aw | |
157 | + | if ($isInstanceOf(ax, "(Int, Int, List[Any], List[Any], Int)")) | |
158 | + | then { | |
159 | + | let ay = ax | |
160 | + | ay | |
161 | + | } | |
162 | + | else throw("Incorrect invoke result") | |
163 | + | } | |
164 | + | else throw("Strict value is not equal to itself.") | |
165 | + | } | |
166 | + | ||
167 | + | ||
168 | + | func az (at,P,Q,au,aa,ab) = if ((Q >= (P + 1))) | |
169 | + | then as(at, (P + 1), 0, (au - 1), 0, aa, ab) | |
170 | + | else $Tuple5((P + 1), 0, nil, nil, 0) | |
171 | + | ||
172 | + | ||
173 | + | func aA (at,P,aB,au,aC,aa,ab) = { | |
174 | + | let Y = Address(at) | |
175 | + | let Q = f(w()) | |
176 | + | let aD = valueOrElse(getInteger(Y, u()), 0) | |
177 | + | let aE = H(P) | |
178 | + | let ag = f(C(P)) | |
179 | + | if (if ((au > 0)) | |
180 | + | then (Q >= P) | |
181 | + | else false) | |
182 | + | then { | |
183 | + | let aF = af(Y, ag, P, aB, aa, ab) | |
184 | + | let aG = (aC + aF._1) | |
185 | + | if ((aD > (aB + 1))) | |
186 | + | then { | |
187 | + | let aH = af(Y, ag, P, (aB + 1), aF._3, aF._4) | |
188 | + | let aI = (aG + aH._1) | |
189 | + | if ((aD > (aB + 2))) | |
190 | + | then { | |
191 | + | let aJ = af(Y, ag, P, (aB + 2), aH._3, aH._4) | |
192 | + | let aK = (aI + aJ._1) | |
193 | + | if ((aD > (aB + 3))) | |
194 | + | then { | |
195 | + | let aL = af(Y, ag, P, (aB + 3), aJ._3, aJ._4) | |
196 | + | let aM = (aK + aL._1) | |
197 | + | if ((aD > (aB + 4))) | |
198 | + | then { | |
199 | + | let aN = af(Y, ag, P, (aB + 4), aL._3, aL._4) | |
200 | + | let aO = (aM + aN._1) | |
201 | + | if ((aD > (aB + 5))) | |
202 | + | then { | |
203 | + | let aP = af(Y, ag, P, (aB + 5), aN._3, aN._4) | |
204 | + | let aQ = (aO + aP._1) | |
205 | + | if ((aD > (aB + 6))) | |
206 | + | then { | |
207 | + | let aR = as(at, P, (aB + 6), (au - 1), aQ, aP._3, aP._4) | |
208 | + | $Tuple6((((((aF._2 ++ aH._2) ++ aJ._2) ++ aL._2) ++ aN._2) ++ aP._2), aR._1, aR._2, aR._3, aR._4, aR._5) | |
209 | + | } | |
210 | + | else { | |
211 | + | let aR = az(at, P, Q, au, aP._3, aP._4) | |
212 | + | $Tuple6((((((([IntegerEntry(aE, aQ)] ++ aF._2) ++ aH._2) ++ aJ._2) ++ aL._2) ++ aN._2) ++ aP._2), aR._1, aR._2, aR._3, aR._4, aR._5) | |
213 | + | } | |
214 | + | } | |
215 | + | else { | |
216 | + | let aS = az(at, P, Q, au, aN._3, aN._4) | |
217 | + | $Tuple6(((((([IntegerEntry(aE, aO)] ++ aF._2) ++ aH._2) ++ aJ._2) ++ aL._2) ++ aN._2), aS._1, aS._2, aS._3, aS._4, aS._5) | |
218 | + | } | |
219 | + | } | |
220 | + | else { | |
221 | + | let aT = az(at, P, Q, au, aL._3, aL._4) | |
222 | + | $Tuple6((((([IntegerEntry(aE, aM)] ++ aF._2) ++ aH._2) ++ aJ._2) ++ aL._2), aT._1, aT._2, aT._3, aT._4, aT._5) | |
223 | + | } | |
224 | + | } | |
225 | + | else { | |
226 | + | let aU = az(at, P, Q, au, aJ._3, aJ._4) | |
227 | + | $Tuple6(((([IntegerEntry(aE, aK)] ++ aF._2) ++ aH._2) ++ aJ._2), aU._1, aU._2, aU._3, aU._4, aU._5) | |
228 | + | } | |
229 | + | } | |
230 | + | else { | |
231 | + | let aV = az(at, P, Q, au, aH._3, aH._4) | |
232 | + | $Tuple6((([IntegerEntry(aE, aI)] ++ aF._2) ++ aH._2), aV._1, aV._2, aV._3, aV._4, aV._5) | |
233 | + | } | |
234 | + | } | |
235 | + | else { | |
236 | + | let aW = az(at, P, Q, au, aF._3, aF._4) | |
237 | + | $Tuple6(([IntegerEntry(aE, aG)] ++ aF._2), aW._1, aW._2, aW._3, aW._4, aW._5) | |
238 | + | } | |
239 | + | } | |
240 | + | else if ((aB == 0)) | |
241 | + | then $Tuple6(nil, P, 0, nil, nil, 0) | |
242 | + | else $Tuple6([IntegerEntry(aE, aC)], P, aB, nil, nil, 0) | |
243 | + | } | |
244 | + | ||
245 | + | ||
246 | + | func aX (at,D,M,au,aY,aZ) = { | |
247 | + | let aw = invoke(this, "claimNextBatch", [at, D, M, au, aY, aZ], nil) | |
248 | + | if ((aw == aw)) | |
249 | + | then { | |
250 | + | let ax = aw | |
251 | + | if ($isInstanceOf(ax, "(Int, Int, Int)")) | |
252 | + | then { | |
253 | + | let ay = ax | |
254 | + | ay | |
255 | + | } | |
256 | + | else throw("Incorrect invoke result") | |
257 | + | } | |
258 | + | else throw("Strict value is not equal to itself.") | |
259 | + | } | |
260 | + | ||
261 | + | ||
262 | + | func ba (at,P,aB,au,bb,bc) = { | |
263 | + | let Y = Address(at) | |
264 | + | let Q = f(y()) | |
265 | + | let aC = f(H(P)) | |
266 | + | let ag = f(C(P)) | |
267 | + | let bd = af(Y, ag, P, aB, nil, nil) | |
268 | + | let be = bd._1 | |
269 | + | let bf = bd._2 | |
270 | + | let bg = fraction(f(E(P, false)), be, aC) | |
271 | + | let bh = fraction(f(E(P, true)), be, aC) | |
272 | + | if (if ((0 >= au)) | |
273 | + | then true | |
274 | + | else ((P + 1) >= Q)) | |
275 | + | then $Tuple3((P + 1), (bb + bg), (bc + bh)) | |
276 | + | else aX(at, (P + 1), aB, (au - 1), (bb + bg), (bc + bh)) | |
277 | + | } | |
278 | + | ||
279 | + | ||
280 | + | @Callable(R) | |
281 | + | func processNextBatch (at,P,aB,au,aC,aa,ab) = if ((R.caller != this)) | |
282 | + | then throw("Should be called by this script only") | |
283 | + | else { | |
284 | + | let bi = aA(at, P, aB, au, aC, aa, ab) | |
285 | + | $Tuple2(bi._1, $Tuple5(bi._2, bi._3, bi._4, bi._5, bi._6)) | |
286 | + | } | |
287 | + | ||
288 | + | ||
289 | + | ||
290 | + | @Callable(R) | |
291 | + | func processPendingPeriodsAndUsers () = { | |
292 | + | let P = f(y()) | |
293 | + | if ((P > f(w()))) | |
294 | + | then throw("Nothing to process") | |
295 | + | else { | |
296 | + | let bj = o() | |
297 | + | let au = parseIntValue(bj[l]) | |
298 | + | if ((au > c)) | |
299 | + | then throw("Depth exceeds MAXDEPTH") | |
300 | + | else { | |
301 | + | let at = fromBase58String(bj[k]) | |
302 | + | let aB = f(v()) | |
303 | + | let aC = f(H(P)) | |
304 | + | let ay = aA(at, P, aB, au, aC, nil, nil) | |
305 | + | ((ay._1 :+ IntegerEntry(y(), ay._2)) :+ IntegerEntry(v(), ay._3)) | |
306 | + | } | |
307 | + | } | |
308 | + | } | |
309 | + | ||
310 | + | ||
311 | + | ||
312 | + | @Callable(R) | |
313 | + | func deposit () = { | |
314 | + | let bj = o() | |
315 | + | let bk = Address(fromBase58String(bj[j])) | |
316 | + | if ((R.caller != bk)) | |
317 | + | then throw("Wrong caller address") | |
318 | + | else { | |
319 | + | let aq = value(R.payments[0]) | |
320 | + | let bl = aq.assetId | |
321 | + | let D = f(x()) | |
322 | + | let bm = getInteger(this, C(D)) | |
323 | + | let bn = parseIntValue(bj[m]) | |
324 | + | if (!(isDefined(bm))) | |
325 | + | then ap(D, aq, false) | |
326 | + | else if ((height >= (value(bm) + bn))) | |
327 | + | then ap((D + 1), aq, true) | |
328 | + | else { | |
329 | + | let bo = E(D, (bl == unit)) | |
330 | + | [IntegerEntry(bo, (f(bo) + aq.amount)), IntegerEntry(G((bl == unit)), (f(G((bl == unit))) + aq.amount))] | |
331 | + | } | |
332 | + | } | |
333 | + | } | |
334 | + | ||
335 | + | ||
336 | + | ||
337 | + | @Callable(R) | |
338 | + | func claimNextBatch (at,P,aB,au,bp,bq) = if ((R.caller != this)) | |
339 | + | then throw("Should be called by this script only") | |
340 | + | else { | |
341 | + | let br = ba(at, P, aB, au, bp, bq) | |
342 | + | $Tuple2(nil, br) | |
343 | + | } | |
344 | + | ||
345 | + | ||
346 | + | ||
347 | + | @Callable(R) | |
348 | + | func claimReward () = { | |
349 | + | let bj = o() | |
350 | + | let bs = toString(R.caller) | |
351 | + | let bt = am(bj[k], bs) | |
352 | + | let P = f(z(bt)) | |
353 | + | let Q = f(y()) | |
354 | + | if ((P >= Q)) | |
355 | + | then throw("Nothing to claim") | |
356 | + | else { | |
357 | + | let at = fromBase58String(bj[k]) | |
358 | + | let bu = ba(at, P, bt, d, 0, 0) | |
359 | + | let D = bu._1 | |
360 | + | let N = bu._2 | |
361 | + | let bv = bu._3 | |
362 | + | if (if ((0 >= N)) | |
363 | + | then (0 >= bv) | |
364 | + | else false) | |
365 | + | then throw("No payouts available") | |
366 | + | else { | |
367 | + | let bk = Address(fromBase58String(bj[j])) | |
368 | + | $Tuple2(([IntegerEntry(z(bt), D), K("claimReward", bs, N, bv, D, Q, R)] ++ (if ((N > 0)) | |
369 | + | then [ScriptTransfer(R.caller, N, fromBase58String(U(bk))), IntegerEntry(G(false), (f(G(false)) - N))] | |
370 | + | else (nil ++ (if ((bv > 0)) | |
371 | + | then [ScriptTransfer(R.caller, bv, unit), IntegerEntry(G(true), (f(G(true)) - bv))] | |
372 | + | else nil)))), $Tuple2(N, bv)) | |
373 | + | } | |
374 | + | } | |
375 | + | } | |
376 | + | ||
377 | + | ||
378 | + | ||
379 | + | @Callable(R) | |
380 | + | func calcGovernanceParamsREADONLY (bw,bx,by) = { | |
381 | + | let bz = (bx + by) | |
382 | + | let bA = -(fraction(bw, e, by)) | |
383 | + | let bB = (fraction(bw, e, by) * bz) | |
384 | + | $Tuple2(nil, [bA, bB, ao()]) | |
385 | + | } | |
386 | + | ||
387 | + | ||
388 | + | ||
389 | + | @Callable(R) | |
390 | + | func getTotalRewardREADONLY () = $Tuple2(nil, [f(G(false)), f(G(true))]) | |
391 | + | ||
392 | + | ||
393 | + | ||
394 | + | @Callable(R) | |
395 | + | func constructor (q,r,s,t) = if ((this != R.caller)) | |
396 | + | then throw("not authorized") | |
397 | + | else [StringEntry(n(), p(q, r, s, t))] | |
398 | + | ||
399 | + |
github/deemru/w8io/169f3d6 31.01 ms ◑