tx · Gi4bg8pyZJ2rsVf7xafLvH2PA3ezhkymzbbrfsLuJf5V

3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN:  -0.01400000 Waves

2021.04.28 13:49 [1502204] smart account 3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN > SELF 0.00000000 Waves

{ "type": 13, "id": "Gi4bg8pyZJ2rsVf7xafLvH2PA3ezhkymzbbrfsLuJf5V", "fee": 1400000, "feeAssetId": null, "timestamp": 1619607005305, "version": 2, "chainId": 84, "sender": "3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN", "senderPublicKey": "9NDcimsSfq5LxxqoVoq2nbMd1zPqZhFvr6mVUiXWwtM1", "proofs": [ "qWZKpLapGfTZ8FiD6fWxYDGc5nKG4PYz49JYHQnSW1FhaPuxkCdoS2Z9eZfsoYY89KSFLaowoCqsirVD93A5xXJ" ], "script": "base64:AAIEAAAAAAAAAAgIAhIECgIYEQAAAB0AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAEWtVc2VyUG9vbFZvdGVTV09QAgAAAAVfdm90ZQAAAAAOa1VzZXJQb29sU3RydWMCAAAAEF91c2VyX3Bvb2xfc3RydWMAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAAA9rVXNlclRvdGFsU3RydWMCAAAAEV91c2VyX3RvdGFsX3N0cnVjAAAAAA1rUG9vbFZvdGVTV09QAgAAAApfdm90ZV9TV09QAAAAAAprUG9vbFN0cnVjAgAAAAtfcG9vbF9zdHJ1YwAAAAAOa1RvdGFsVm90ZVNXT1ACAAAAD3RvdGFsX3ZvdGVfU1dPUAAAAAALa1RvdGFsU3RydWMCAAAAC3RvdGFsX3N0cnVjAAAAABZrUHJldmlvdXNUb3RhbFZvdGVTV09QAgAAABRwcmV2aW91c190b3RhbF9zdHJ1YwAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAWa0R1cmF0aW9uRnVsbFZvdGVQb3dlcgIAAAAYZHVyYXRpb25fZnVsbF92b3RlX3Bvd2VyAAAAAA1rTWluVm90ZVBvd2VyAgAAAA5taW5fdm90ZV9wb3dlcgAAAAAGc2NhbGU4AAAAAAAF9eEAAAAAAApiYXNlUGVyaW9kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAALa0Jhc2VQZXJpb2QCAAAAEUVtcHR5IGtCYXNlUGVyaW9kAAAAAAtzdGFydEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADGtTdGFydEhlaWdodAIAAAASRW1wdHkga1N0YXJ0SGVpZ2h0AAAAAAxwZXJpb2RMZW5ndGgJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rUGVyaW9kTGVuZ3RoAgAAABNFbXB0eSBrUGVyaW9kTGVuZ3RoAAAAABVkdXJhdGlvbkZ1bGxWb3RlUG93ZXIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABZrRHVyYXRpb25GdWxsVm90ZVBvd2VyAgAAABxFbXB0eSBrRHVyYXRpb25GdWxsVm90ZVBvd2VyAAAAAAxtaW5Wb3RlUG93ZXIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rTWluVm90ZVBvd2VyAgAAABNFbXB0eSBrTWluVm90ZVBvd2VyAAAAAAdnb3ZBZGRyCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFUcfFVgbQTJcWNlHB+frBs1+VvhcIsEzy/AAAAAApjdXJyUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAFGlzQ2FsbGVySW5Hb3Zlcm5hbmNlAAAAAQAAAAR1c2VyAwkAAGYAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2dvdkFkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyAgAAAAxfU1dPUF9hbW91bnQAAAAAAAAAAAAAAAAAAAAAAAAGBwEAAAASaXNQb29sSW5Hb3Zlcm5hbmNlAAAAAQAAAAtwb29sQWRkcmVzcwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAHZ292QWRkcgkAASwAAAACBQAAAAtwb29sQWRkcmVzcwIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQBAAAACnZvdGluZ0NvZWYAAAAABAAAAA52b3RpbmdEdXJhdGlvbgkAAGUAAAACBQAAAAZoZWlnaHQJAABkAAAAAgUAAAALc3RhcnRIZWlnaHQJAABoAAAAAgUAAAAKY3VyclBlcmlvZAUAAAAMcGVyaW9kTGVuZ3RoAwkAAGYAAAACBQAAABVkdXJhdGlvbkZ1bGxWb3RlUG93ZXIFAAAADnZvdGluZ0R1cmF0aW9uBQAAAAZzY2FsZTgEAAAAAngxBQAAABVkdXJhdGlvbkZ1bGxWb3RlUG93ZXIEAAAAAnkxBQAAAAZzY2FsZTgEAAAAAngyBQAAAAxwZXJpb2RMZW5ndGgEAAAAAnkyBQAAAAxtaW5Wb3RlUG93ZXIEAAAAAWsJAABpAAAAAgkAAGgAAAACCQAAZQAAAAIFAAAAAnkyBQAAAAJ5MQUAAAAGc2NhbGU4CQAAZQAAAAIFAAAAAngyBQAAAAJ4MQQAAAABYgkAAGUAAAACCQAAaAAAAAIFAAAAAnkxBQAAAAZzY2FsZTgJAABoAAAAAgUAAAABawUAAAACeDEJAABkAAAAAgkAAGkAAAACCQAAaAAAAAIFAAAADnZvdGluZ0R1cmF0aW9uBQAAAAFrBQAAAAZzY2FsZTgJAABpAAAAAgUAAAABYgUAAAAGc2NhbGU4AQAAAA9jYWxjRGVsZXRlRW50cnkAAAADAAAABmNhbGxlcgAAAAtwb29sQWRkcmVzcwAAABN1c2VyUG9vbFZvdGVTV09QbmV3CgEAAAAOZGVsZXRlSWZFeGlzdHMAAAACAAAABGxpc3QAAAADa2V5AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5CQAETQAAAAIFAAAABGxpc3QJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAA2tleQUAAAAEbGlzdAkBAAAADmRlbGV0ZUlmRXhpc3RzAAAAAgkBAAAADmRlbGV0ZUlmRXhpc3RzAAAAAgkBAAAADmRlbGV0ZUlmRXhpc3RzAAAAAgkBAAAADmRlbGV0ZUlmRXhpc3RzAAAAAgUAAAADbmlsCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAAAV8FAAAAC3Bvb2xBZGRyZXNzBQAAABFrVXNlclBvb2xWb3RlU1dPUAkAASwAAAACBQAAAAZjYWxsZXIFAAAAEmtVc2VyVG90YWxWb3RlU1dPUAkAASwAAAACBQAAAAtwb29sQWRkcmVzcwUAAAANa1Bvb2xWb3RlU1dPUAUAAAAOa1RvdGFsVm90ZVNXT1AAAAABAAAAAWkBAAAADnZvdGVQb29sV2VpZ2h0AAAAAgAAAA5wb29sQWRkcmVzc2VzTAAAABFwb29sc1ZvdGVTV09QTmV3TAMDCQAAZgAAAAIJAAGQAAAAAQUAAAAOcG9vbEFkZHJlc3Nlc0wAAAAAAAAAAAEGCQAAZgAAAAIJAAGQAAAAAQUAAAARcG9vbHNWb3RlU1dPUE5ld0wAAAAAAAAAAAEJAAACAAAAAQIAAAA1cG9vbEFkZHJlc3Nlc0wuc2l6ZSA+IDEgb3IgcG9vbHNWb3RlU1dPUE5ld0wuc2l6ZSA+IDEEAAAAC3Bvb2xBZGRyZXNzCQABkQAAAAIFAAAADnBvb2xBZGRyZXNzZXNMAAAAAAAAAAAABAAAABN1c2VyUG9vbFZvdGVTV09QbmV3CQABkQAAAAIFAAAAEXBvb2xzVm90ZVNXT1BOZXdMAAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAASaXNQb29sSW5Hb3Zlcm5hbmNlAAAAAQUAAAALcG9vbEFkZHJlc3MJAAACAAAAAQIAAABBVGhpcyBwb29sIGhhcyBubyBfY3VycmVudF9wb29sX2ZyYWN0aW9uX3Jld2FyZCBpbiBHb3Zlcm5hbmNlIGRBcHAEAAAAFHVzZXJTV09QaW5Hb3Zlcm5hbmNlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAHZ292QWRkcgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgIAAAAMX1NXT1BfYW1vdW50AgAAACJFbXB0eSBfU1dPUF9hbW91bnQgYXQgZ292LiBhZGRyZXNzBAAAAAskdDAzNDQxNDA3NAMJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAFfBQAAAAtwb29sQWRkcmVzcwUAAAAOa1VzZXJQb29sU3RydWMEAAAABGRhdGEJAAS1AAAAAgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAA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ABBwb29sVm90ZURpZmZTV09QCQAAZQAAAAIFAAAAE3VzZXJQb29sVm90ZVNXT1BuZXcFAAAAEHVzZXJQb29sVm90ZVNXT1AEAAAAFHVzZXJUb3RhbFZvdGVTV09QbmV3CQAAZAAAAAIFAAAAEXVzZXJUb3RhbFZvdGVTV09QBQAAABBwb29sVm90ZURpZmZTV09QAwkBAAAAASEAAAABCQEAAAAUaXNDYWxsZXJJbkdvdmVybmFuY2UAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAqVGhpcyBhZGRyZXNzIGhhcyAwIFNXT1AgaW4gR292ZXJuYW5jZSBkQXBwAwkAAGYAAAACBQAAABR1c2VyVG90YWxWb3RlU1dPUG5ldwUAAAAUdXNlclNXT1BpbkdvdmVybmFuY2UJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHRoaXMCAAAABSBoYXMgCQABpAAAAAEFAAAAFHVzZXJTV09QaW5Hb3Zlcm5hbmNlAgAAACggU1dPUCBpbiBnb3Zlcm5hbmNlLiBOZXcgU1dPUCBpbiB2b3RpbmcgCQABpAAAAAEFAAAAFHVzZXJUb3RhbFZvdGVTV09QbmV3AwkAAGYAAAACAAAAAAAAAAAABQAAABR1c2VyVG90YWxWb3RlU1dPUG5ldwkAAAIAAAABAgAAABxOZXcgdXNlclRvdGFsVm90ZVNXT1BuZXcgPCAwAwkAAGYAAAACAAAAAAAAAAAABQAAABN1c2VyUG9vbFZvdGVTV09QbmV3CQAAAgAAAAECAAAAG05ldyB1c2VyUG9vbFZvdGVTV09QbmV3IDwgMAQAAAAbcHJldmlvdXNUb3RhbFZvdGVTV09QcGVyaW9kCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgkABLUAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAABZrUHJldmlvdXNUb3RhbFZvdGVTV09QAgAAAAFfAAAAAAAAAAABBAAAABpwcmV2aW91c1RvdGFsVm90ZVNXT1BlbnRyeQMJAQAAAAIhPQAAAAIFAAAAG3ByZXZpb3VzVG90YWxWb3RlU1dPUHBlcmlvZAUAAAAKY3VyclBlcmlvZAQAAAAacHJldmlvdXNUb3RhbFZvdGVTV09Qc3RydWMJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAEXVzZXJUb3RhbFZvdGVTV09QAgAAAAFfCQABpAAAAAEJAABlAAAAAgUAAAAKY3VyclBlcmlvZAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABZrUHJldmlvdXNUb3RhbFZvdGVTV09QBQAAABpwcmV2aW91c1RvdGFsVm90ZVNXT1BzdHJ1YwUAAAADbmlsBQAAAANuaWwDCQAAZwAAAAIFAAAAE3VzZXJQb29sVm90ZVNXT1BuZXcFAAAAEHVzZXJQb29sVm90ZVNXT1AEAAAABGNvZWYJAQAAAAp2b3RpbmdDb2VmAAAAAAQAAAAZdXNlclBvb2xBY3RpdmVWb3RlU1dPUG5ldwMJAAAAAAAAAgUAAAASdXNlclBvb2xWb3RlUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAAZAAAAAIFAAAAFnVzZXJQb29sQWN0aXZlVm90ZVNXT1AJAABrAAAAAwUAAAAQcG9vbFZvdGVEaWZmU1dPUAUAAAAEY29lZgUAAAAGc2NhbGU4CQAAZAAAAAIFAAAAEHVzZXJQb29sVm90ZVNXT1AJAABrAAAAAwUAAAAQcG9vbFZvdGVEaWZmU1dPUAUAAAAEY29lZgUAAAAGc2NhbGU4BAAAABV1c2VyUG9vbEZyZWV6ZVNXT1BuZXcDCQAAAAAAAAIFAAAAEnVzZXJQb29sVm90ZVBlcmlvZAUAAAAKY3VyclBlcmlvZAUAAAASdXNlclBvb2xGcmVlemVTV09QBQAAABB1c2VyUG9vbFZvdGVTV09QBAAAAA51c2VyVW52b3RlZE5ldwMJAAAAAAAAAgUAAAARdXNlclVudm90ZWRQZXJpb2QFAAAACmN1cnJQZXJpb2QJAAGWAAAAAQkABEwAAAACAAAAAAAAAAAACQAETAAAAAIJAABlAAAAAgUAAAALdXNlclVudm90ZWQFAAAAEHBvb2xWb3RlRGlmZlNXT1AFAAAAA25pbAAAAAAAAAAAAAQAAAAUdXNlclVudm90ZWRQZXJpb2ROZXcFAAAACmN1cnJQZXJpb2QEAAAAEHVzZXJQb29sU3RydWNOZXcJAAEsAAAAAgkA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ZUVudHJ5AAAAAwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAC3Bvb2xBZGRyZXNzBQAAABN1c2VyUG9vbFZvdGVTV09QbmV3BQAAABpwcmV2aW91c1RvdGFsVm90ZVNXT1BlbnRyeQQAAAAOcmVtb3ZlUG9vbFZvdGUJAQAAAAEtAAAAAQUAAAAQcG9vbFZvdGVEaWZmU1dPUAQAAAAVdXNlclBvb2xGcmVlemVTV09QbmV3AwkAAAAAAAACBQAAABJ1c2VyUG9vbFZvdGVQZXJpb2QFAAAACmN1cnJQZXJpb2QFAAAAEnVzZXJQb29sRnJlZXplU1dPUAUAAAAQdXNlclBvb2xWb3RlU1dPUAQAAAATdXNlclBvb2xGcmVlemVTV09QMgkAAZcAAAABCQAETAAAAAIFAAAAEnVzZXJQb29sRnJlZXplU1dPUAkABEwAAAACBQAAABB1c2VyUG9vbFZvdGVTV09QBQAAAANuaWwEAAAAFnVzZXJQb29sRnJlZXplU1dPUG5ldzIJAAGXAAAAAQkABEwAAAACBQAAABV1c2VyUG9vbEZyZWV6ZVNXT1BuZXcJAARMAAAAAgUAAAATdXNlclBvb2xWb3RlU1dPUG5ldwUAAAADbmlsBAAAABl1c2VyUG9vbEFjdGl2ZVZvdGVTV09QbmV3CQAAZAAAAAIFAAAAFnVzZXJQb29sRnJlZXplU1dPUG5ldzIDCQAAAAAAAAIJAABlAAAAAgUAAAAQdXNlclBvb2xWb3RlU1dPUAUAAAASdXNlclBvb2xGcmVlemVTV09QAAAAAAAAAAAAAAAAAAAAAAAACQAAawAAAAMJAABlAAAAAgUAAAAWdXNlclBvb2xBY3RpdmVWb3RlU1dPUAUAAAASdXNlclBvb2xGcmVlemVTV09QCQAAZQAAAAIFAAAAE3VzZXJQb29sVm90ZVNXT1BuZXcFAAAAFnVzZXJQb29sRnJlZXplU1dPUG5ldzIJAABlAAAAAgUAAAAQdXNlclBvb2xWb3RlU1dPUAUAAAASdXNlclBvb2xGcmVlemVTV09QBAAAABZ1c2VyUG9vbEFjdGl2ZVZvdGVEaWZmCQAAZQAAAAIFAAAAGXVzZXJQb29sQWN0aXZlVm90ZVNXT1BuZXcDCQAAAAAAAAIFAAAAEnVzZXJQb29sVm90ZVBlcmlvZAUAAAAKY3VyclBlcmlvZAUAAAAWdXNlclBvb2xBY3RpdmVWb3RlU1dPUAUAAAAQdXNlclBvb2xWb3RlU1dPUAQAAAAKbmV3VW52b3RlZAkAAZYAAAABCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgkAAGUAAAACBQAAAA5yZW1vdmVQb29sVm90ZQMJAAAAAAAAAgUAAAASdXNlclBvb2xWb3RlUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAAZQAAAAIFAAAAEHVzZXJQb29sVm90ZVNXT1AFAAAAE3VzZXJQb29sRnJlZXplU1dPUDIAAAAAAAAAAAAFAAAAA25pbAQAAAAOdXNlclVudm90ZWROZXcJAABkAAAAAgUAAAAKbmV3VW52b3RlZAMJAAAAAAAAAgUAAAARdXNlclVudm90ZWRQZXJpb2QFAAAACmN1cnJQZXJpb2QFAAAAC3VzZXJVbnZvdGVkAAAAAAAAAAAABAAAABR1c2VyVW52b3RlZFBlcmlvZE5ldwMJAABmAAAAAgUAAAAKbmV3VW52b3RlZAAAAAAAAAAAAAUAAAAKY3VyclBlcmlvZAUAAAARdXNlclVudm90ZWRQZXJpb2QEAAAAEHVzZXJQb29sU3RydWNOZXcJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAATdXNlclBvb2xWb3RlU1dPUG5ldwIAAAABXwkAAaQAAAABBQAAABl1c2VyUG9vbEFjdGl2ZVZvdGVTV09QbmV3AgAAAAFfCQABpAAAAAEFAAAACmN1cnJQZXJpb2QCAAAAAV8JAAGkAAAAAQUAAAAVdXNlclBvb2xGcmVlemVTV09QbmV3BAAAAA11c2VyUG9vbEVudHJ5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAFfBQAAAAtwb29sQWRkcmVzcwUAAAAOa1VzZXJQb29sU3RydWMFAAAAEHVzZXJQb29sU3RydWNOZXcFAAAAA25pbAQAAAARdXNlclRvdGFsU3RydWNOZXcJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABR1c2VyVG90YWxWb3RlU1dPUG5ldwIAAAABXwkAAaQAAAABBQAAAA51c2VyVW52b3RlZE5ldwIAAAABXwkAAaQAAAABBQAAABR1c2VyVW52b3RlZFBlcmlvZE5ldwQAAAAOdXNlclRvdGFsRW50cnkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBQAAABF1c2VyVG90YWxTdHJ1Y05ldwUAAAADbmlsBAAAAA9wb29sVm90ZVNXT1BuZXcJAABlAAAAAgUAAAAMcG9vbFZvdGVTV09QBQAAAA5yZW1vdmVQb29sVm90ZQQAAAARcG9vbEFjdGl2ZVNXT1BuZXcDCQAAAAAAAAIFAAAACnBvb2xQZXJpb2QFAAAACmN1cnJQZXJpb2QJAABkAAAAAgUAAAAOcG9vbEFjdGl2ZVNXT1AFAAAAFnVzZXJQb29sQWN0aXZlVm90ZURpZmYJAABkAAAAAgUAAAAMcG9vbFZvdGVTV09QBQAAABZ1c2VyUG9vbEFjdGl2ZVZvdGVEaWZmBAAAAAxwb29sU3RydWNOZXcJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA9wb29sVm90ZVNXT1BuZXcCAAAAAV8JAAGkAAAAAQUAAAARcG9vbEFjdGl2ZVNXT1BuZXcCAAAAAV8JAAGkAAAAAQUAAAAKY3VyclBlcmlvZAQAAAAJcG9vbEVudHJ5CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAALcG9vbEFkZHJlc3MFAAAACmtQb29sU3RydWMFAAAADHBvb2xTdHJ1Y05ldwUAAAADbmlsBAAAABB0b3RhbFZvdGVTV09QbmV3CQAAZQAAAAIFAAAADXRvdGFsVm90ZVNXT1AFAAAADnJlbW92ZVBvb2xWb3RlBAAAABJ0b3RhbEFjdGl2ZVNXT1BuZXcDCQAAAAAAAAIFAAAAC3RvdGFsUGVyaW9kBQAAAApjdXJyUGVyaW9kCQAAZAAAAAIFAAAAD3RvdGFsQWN0aXZlU1dPUAUAAAAWdXNlclBvb2xBY3RpdmVWb3RlRGlmZgkAAGQAAAACBQAAAA10b3RhbFZvdGVTV09QBQAAABZ1c2VyUG9vbEFjdGl2ZVZvdGVEaWZmBAAAAA10b3RhbFN0cnVjTmV3CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAQdG90YWxWb3RlU1dPUG5ldwIAAAABXwkAAaQAAAABBQAAABJ0b3RhbEFjdGl2ZVNXT1BuZXcCAAAAAV8JAAGkAAAAAQUAAAAKY3VyclBlcmlvZAQAAAAKdG90YWxFbnRyeQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAtrVG90YWxTdHJ1YwUAAAANdG90YWxTdHJ1Y05ldwUAAAADbmlsBAAAAAxhbGxOZXdWYWx1ZXMJAARMAAAAAgUAAAAKY3VyclBlcmlvZAkABEwAAAACBQAAABV1c2VyUG9vbEZyZWV6ZVNXT1BuZXcJAARMAAAAAgUAAAAZdXNlclBvb2xBY3RpdmVWb3RlU1dPUG5ldwkABEwAAAACBQAAABV1c2VyUG9vbEZyZWV6ZVNXT1BuZXcJAARMAAAAAgUAAAAOdXNlclVudm90ZWROZXcJAARMAAAAAgUAAAAUdXNlclVudm90ZWRQZXJpb2ROZXcJAARMAAAAAgUAAAAPcG9vbFZvdGVTV09QbmV3CQAETAAAAAIFAAAAEXBvb2xBY3RpdmVTV09QbmV3CQAETAAAAAIFAAAAEHRvdGFsVm90ZVNXT1BuZXcJAARMAAAAAgUAAAASdG90YWxBY3RpdmVTV09QbmV3BQAAAANuaWwDCQAAZgAAAAIAAAAAAAAAAAAJAAGXAAAAAQUAAAAMYWxsTmV3VmFsdWVzCQAAAgAAAAECAAAAH09uZSBvciBtb3JlIHZhbHVlcyBhcmUgbmVnYXRpdmUJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACBQAAAA11c2VyUG9vbEVudHJ5BQAAAA51c2VyVG90YWxFbnRyeQUAAAAJcG9vbEVudHJ5BQAAAAp0b3RhbEVudHJ5CQEAAAAPY2FsY0RlbGV0ZUVudHJ5AAAAAwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAC3Bvb2xBZGRyZXNzBQAAABN1c2VyUG9vbFZvdGVTV09QbmV3BQAAABpwcmV2aW91c1RvdGFsVm90ZVNXT1BlbnRyeQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5fYlC7w==", "height": 1502204, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FbvjGwhRhFbJdgS2hpUav6X5c9PuRghGTtYtfsn7XphX Next: DGATBgsJXU1ZktE1DAHGzHQfMAcCK5WorCyu2EADDQuY Diff:
OldNewDifferences
4747
4848 let minVotePower = valueOrErrorMessage(getInteger(this, kMinVotePower), "Empty kMinVotePower")
4949
50-let govAddr = Address(base58'3PLHVWCqA9DJPDbadUofTohnCULLauiDWhS')
50+let govAddr = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
5151
5252 let currPeriod = (basePeriod + ((height - startHeight) / periodLength))
5353
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let kUserPoolVoteSWOP = "_vote"
1111
1212 let kUserPoolStruc = "_user_pool_struc"
1313
1414 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
1515
1616 let kUserTotalStruc = "_user_total_struc"
1717
1818 let kPoolVoteSWOP = "_vote_SWOP"
1919
2020 let kPoolStruc = "_pool_struc"
2121
2222 let kTotalVoteSWOP = "total_vote_SWOP"
2323
2424 let kTotalStruc = "total_struc"
2525
2626 let kPreviousTotalVoteSWOP = "previous_total_struc"
2727
2828 let kStartHeight = "start_height"
2929
3030 let kBasePeriod = "base_period"
3131
3232 let kPeriodLength = "period_length"
3333
3434 let kDurationFullVotePower = "duration_full_vote_power"
3535
3636 let kMinVotePower = "min_vote_power"
3737
3838 let scale8 = 100000000
3939
4040 let basePeriod = valueOrErrorMessage(getInteger(this, kBasePeriod), "Empty kBasePeriod")
4141
4242 let startHeight = valueOrErrorMessage(getInteger(this, kStartHeight), "Empty kStartHeight")
4343
4444 let periodLength = valueOrErrorMessage(getInteger(this, kPeriodLength), "Empty kPeriodLength")
4545
4646 let durationFullVotePower = valueOrErrorMessage(getInteger(this, kDurationFullVotePower), "Empty kDurationFullVotePower")
4747
4848 let minVotePower = valueOrErrorMessage(getInteger(this, kMinVotePower), "Empty kMinVotePower")
4949
50-let govAddr = Address(base58'3PLHVWCqA9DJPDbadUofTohnCULLauiDWhS')
50+let govAddr = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
5151
5252 let currPeriod = (basePeriod + ((height - startHeight) / periodLength))
5353
5454 func isCallerInGovernance (user) = if ((valueOrElse(getInteger(govAddr, (toString(user) + "_SWOP_amount")), 0) > 0))
5555 then true
5656 else false
5757
5858
5959 func isPoolInGovernance (poolAddress) = isDefined(getInteger(govAddr, (poolAddress + "_current_pool_fraction_reward")))
6060
6161
6262 func votingCoef () = {
6363 let votingDuration = (height - (startHeight + (currPeriod * periodLength)))
6464 if ((durationFullVotePower > votingDuration))
6565 then scale8
6666 else {
6767 let x1 = durationFullVotePower
6868 let y1 = scale8
6969 let x2 = periodLength
7070 let y2 = minVotePower
7171 let k = (((y2 - y1) * scale8) / (x2 - x1))
7272 let b = ((y1 * scale8) - (k * x1))
7373 (((votingDuration * k) / scale8) + (b / scale8))
7474 }
7575 }
7676
7777
7878 func calcDeleteEntry (caller,poolAddress,userPoolVoteSWOPnew) = {
7979 func deleteIfExists (list,key) = if (isDefined(getInteger(this, key)))
8080 then (list :+ DeleteEntry(key))
8181 else list
8282
8383 deleteIfExists(deleteIfExists(deleteIfExists(deleteIfExists(nil, (((caller + "_") + poolAddress) + kUserPoolVoteSWOP)), (caller + kUserTotalVoteSWOP)), (poolAddress + kPoolVoteSWOP)), kTotalVoteSWOP)
8484 }
8585
8686
8787 @Callable(i)
8888 func votePoolWeight (poolAddressesL,poolsVoteSWOPNewL) = if (if ((size(poolAddressesL) > 1))
8989 then true
9090 else (size(poolsVoteSWOPNewL) > 1))
9191 then throw("poolAddressesL.size > 1 or poolsVoteSWOPNewL.size > 1")
9292 else {
9393 let poolAddress = poolAddressesL[0]
9494 let userPoolVoteSWOPnew = poolsVoteSWOPNewL[0]
9595 if (!(isPoolInGovernance(poolAddress)))
9696 then throw("This pool has no _current_pool_fraction_reward in Governance dApp")
9797 else {
9898 let userSWOPinGovernance = valueOrErrorMessage(getInteger(govAddr, (toString(i.caller) + "_SWOP_amount")), "Empty _SWOP_amount at gov. address")
9999 let $t034414074 = if (isDefined(getString(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolStruc))))
100100 then {
101101 let data = split(valueOrErrorMessage(getString(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolStruc)), "Empty kUserPoolStruc"), "_")
102102 $Tuple4(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]), parseIntValue(data[3]))
103103 }
104104 else {
105105 let uPoolVoteSWOP = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + poolAddress) + kUserPoolVoteSWOP)), 0)
106106 $Tuple4(uPoolVoteSWOP, uPoolVoteSWOP, 0, 0)
107107 }
108108 let userPoolVoteSWOP = $t034414074._1
109109 let userPoolActiveVoteSWOP = $t034414074._2
110110 let userPoolVotePeriod = $t034414074._3
111111 let userPoolFreezeSWOP = $t034414074._4
112112 let $t040804588 = if (isDefined(getString(this, (toString(i.caller) + kUserTotalStruc))))
113113 then {
114114 let data = split(valueOrErrorMessage(getString(this, (toString(i.caller) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
115115 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
116116 }
117117 else {
118118 let uPoolTotalSWOP = valueOrElse(getInteger(this, (toString(i.caller) + kUserTotalVoteSWOP)), 0)
119119 $Tuple3(uPoolTotalSWOP, 0, 0)
120120 }
121121 let userTotalVoteSWOP = $t040804588._1
122122 let userUnvoted = $t040804588._2
123123 let userUnvotedPeriod = $t040804588._3
124124 let $t045935061 = if (isDefined(getString(this, (poolAddress + kPoolStruc))))
125125 then {
126126 let data = split(valueOrErrorMessage(getString(this, (poolAddress + kPoolStruc)), "Empty kPoolStruc"), "_")
127127 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
128128 }
129129 else {
130130 let uPoolVoteSWOP = valueOrElse(getInteger(this, (poolAddress + kPoolVoteSWOP)), 0)
131131 $Tuple4(uPoolVoteSWOP, uPoolVoteSWOP, 0, 0)
132132 }
133133 let poolVoteSWOP = $t045935061._1
134134 let poolActiveSWOP = $t045935061._2
135135 let poolPeriod = $t045935061._3
136136 let $t050675503 = if (isDefined(getString(this, kTotalStruc)))
137137 then {
138138 let data = split(valueOrErrorMessage(getString(this, kTotalStruc), "Empty kTotalStruc"), "_")
139139 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
140140 }
141141 else {
142142 let uTotalVoteSWOP = valueOrElse(getInteger(this, kTotalVoteSWOP), 0)
143143 $Tuple4(uTotalVoteSWOP, uTotalVoteSWOP, 0, 0)
144144 }
145145 let totalVoteSWOP = $t050675503._1
146146 let totalActiveSWOP = $t050675503._2
147147 let totalPeriod = $t050675503._3
148148 let poolVoteDiffSWOP = (userPoolVoteSWOPnew - userPoolVoteSWOP)
149149 let userTotalVoteSWOPnew = (userTotalVoteSWOP + poolVoteDiffSWOP)
150150 if (!(isCallerInGovernance(i.caller)))
151151 then throw("This address has 0 SWOP in Governance dApp")
152152 else if ((userTotalVoteSWOPnew > userSWOPinGovernance))
153153 then throw(((((toString(this) + " has ") + toString(userSWOPinGovernance)) + " SWOP in governance. New SWOP in voting ") + toString(userTotalVoteSWOPnew)))
154154 else if ((0 > userTotalVoteSWOPnew))
155155 then throw("New userTotalVoteSWOPnew < 0")
156156 else if ((0 > userPoolVoteSWOPnew))
157157 then throw("New userPoolVoteSWOPnew < 0")
158158 else {
159159 let previousTotalVoteSWOPperiod = parseIntValue(split(getStringValue(this, kPreviousTotalVoteSWOP), "_")[1])
160160 let previousTotalVoteSWOPentry = if ((previousTotalVoteSWOPperiod != currPeriod))
161161 then {
162162 let previousTotalVoteSWOPstruc = ((toString(userTotalVoteSWOP) + "_") + toString((currPeriod - 1)))
163163 [StringEntry(kPreviousTotalVoteSWOP, previousTotalVoteSWOPstruc)]
164164 }
165165 else nil
166166 if ((userPoolVoteSWOPnew >= userPoolVoteSWOP))
167167 then {
168168 let coef = votingCoef()
169169 let userPoolActiveVoteSWOPnew = if ((userPoolVotePeriod == currPeriod))
170170 then (userPoolActiveVoteSWOP + fraction(poolVoteDiffSWOP, coef, scale8))
171171 else (userPoolVoteSWOP + fraction(poolVoteDiffSWOP, coef, scale8))
172172 let userPoolFreezeSWOPnew = if ((userPoolVotePeriod == currPeriod))
173173 then userPoolFreezeSWOP
174174 else userPoolVoteSWOP
175175 let userUnvotedNew = if ((userUnvotedPeriod == currPeriod))
176176 then max([0, (userUnvoted - poolVoteDiffSWOP)])
177177 else 0
178178 let userUnvotedPeriodNew = currPeriod
179179 let userPoolStrucNew = ((((((toString(userPoolVoteSWOPnew) + "_") + toString(userPoolActiveVoteSWOPnew)) + "_") + toString(currPeriod)) + "_") + toString(userPoolFreezeSWOPnew))
180180 let userPoolEntry = [StringEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolStruc), userPoolStrucNew)]
181181 let userTotalStrucNew = ((((toString(userTotalVoteSWOPnew) + "_") + toString(userUnvotedNew)) + "_") + toString(userUnvotedPeriodNew))
182182 let userTotalEntry = [StringEntry((toString(i.caller) + kUserTotalStruc), userTotalStrucNew)]
183183 let poolVoteSWOPnew = (poolVoteSWOP + poolVoteDiffSWOP)
184184 let poolActiveSWOPnew = if ((poolPeriod == currPeriod))
185185 then (poolActiveSWOP + fraction(poolVoteDiffSWOP, coef, scale8))
186186 else (poolVoteSWOP + fraction(poolVoteDiffSWOP, coef, scale8))
187187 let poolStrucNew = ((((toString(poolVoteSWOPnew) + "_") + toString(poolActiveSWOPnew)) + "_") + toString(currPeriod))
188188 let poolEntry = [StringEntry((poolAddress + kPoolStruc), poolStrucNew)]
189189 let totalVoteSWOPnew = (totalVoteSWOP + poolVoteDiffSWOP)
190190 let totalActiveSWOPnew = if ((totalPeriod == currPeriod))
191191 then (totalActiveSWOP + fraction(poolVoteDiffSWOP, coef, scale8))
192192 else (totalVoteSWOP + fraction(poolVoteDiffSWOP, coef, scale8))
193193 let totalStrucNew = ((((toString(totalVoteSWOPnew) + "_") + toString(totalActiveSWOPnew)) + "_") + toString(currPeriod))
194194 let totalEntry = [StringEntry(kTotalStruc, totalStrucNew)]
195195 (((((userPoolEntry ++ userTotalEntry) ++ poolEntry) ++ totalEntry) ++ calcDeleteEntry(toString(i.caller), poolAddress, userPoolVoteSWOPnew)) ++ previousTotalVoteSWOPentry)
196196 }
197197 else {
198198 let removePoolVote = -(poolVoteDiffSWOP)
199199 let userPoolFreezeSWOPnew = if ((userPoolVotePeriod == currPeriod))
200200 then userPoolFreezeSWOP
201201 else userPoolVoteSWOP
202202 let userPoolFreezeSWOP2 = min([userPoolFreezeSWOP, userPoolVoteSWOP])
203203 let userPoolFreezeSWOPnew2 = min([userPoolFreezeSWOPnew, userPoolVoteSWOPnew])
204204 let userPoolActiveVoteSWOPnew = (userPoolFreezeSWOPnew2 + (if (((userPoolVoteSWOP - userPoolFreezeSWOP) == 0))
205205 then 0
206206 else fraction((userPoolActiveVoteSWOP - userPoolFreezeSWOP), (userPoolVoteSWOPnew - userPoolFreezeSWOPnew2), (userPoolVoteSWOP - userPoolFreezeSWOP))))
207207 let userPoolActiveVoteDiff = (userPoolActiveVoteSWOPnew - (if ((userPoolVotePeriod == currPeriod))
208208 then userPoolActiveVoteSWOP
209209 else userPoolVoteSWOP))
210210 let newUnvoted = max([0, (removePoolVote - (if ((userPoolVotePeriod == currPeriod))
211211 then (userPoolVoteSWOP - userPoolFreezeSWOP2)
212212 else 0))])
213213 let userUnvotedNew = (newUnvoted + (if ((userUnvotedPeriod == currPeriod))
214214 then userUnvoted
215215 else 0))
216216 let userUnvotedPeriodNew = if ((newUnvoted > 0))
217217 then currPeriod
218218 else userUnvotedPeriod
219219 let userPoolStrucNew = ((((((toString(userPoolVoteSWOPnew) + "_") + toString(userPoolActiveVoteSWOPnew)) + "_") + toString(currPeriod)) + "_") + toString(userPoolFreezeSWOPnew))
220220 let userPoolEntry = [StringEntry((((toString(i.caller) + "_") + poolAddress) + kUserPoolStruc), userPoolStrucNew)]
221221 let userTotalStrucNew = ((((toString(userTotalVoteSWOPnew) + "_") + toString(userUnvotedNew)) + "_") + toString(userUnvotedPeriodNew))
222222 let userTotalEntry = [StringEntry((toString(i.caller) + kUserTotalStruc), userTotalStrucNew)]
223223 let poolVoteSWOPnew = (poolVoteSWOP - removePoolVote)
224224 let poolActiveSWOPnew = if ((poolPeriod == currPeriod))
225225 then (poolActiveSWOP + userPoolActiveVoteDiff)
226226 else (poolVoteSWOP + userPoolActiveVoteDiff)
227227 let poolStrucNew = ((((toString(poolVoteSWOPnew) + "_") + toString(poolActiveSWOPnew)) + "_") + toString(currPeriod))
228228 let poolEntry = [StringEntry((poolAddress + kPoolStruc), poolStrucNew)]
229229 let totalVoteSWOPnew = (totalVoteSWOP - removePoolVote)
230230 let totalActiveSWOPnew = if ((totalPeriod == currPeriod))
231231 then (totalActiveSWOP + userPoolActiveVoteDiff)
232232 else (totalVoteSWOP + userPoolActiveVoteDiff)
233233 let totalStrucNew = ((((toString(totalVoteSWOPnew) + "_") + toString(totalActiveSWOPnew)) + "_") + toString(currPeriod))
234234 let totalEntry = [StringEntry(kTotalStruc, totalStrucNew)]
235235 let allNewValues = [currPeriod, userPoolFreezeSWOPnew, userPoolActiveVoteSWOPnew, userPoolFreezeSWOPnew, userUnvotedNew, userUnvotedPeriodNew, poolVoteSWOPnew, poolActiveSWOPnew, totalVoteSWOPnew, totalActiveSWOPnew]
236236 if ((0 > min(allNewValues)))
237237 then throw("One or more values are negative")
238238 else (((((userPoolEntry ++ userTotalEntry) ++ poolEntry) ++ totalEntry) ++ calcDeleteEntry(toString(i.caller), poolAddress, userPoolVoteSWOPnew)) ++ previousTotalVoteSWOPentry)
239239 }
240240 }
241241 }
242242 }
243243
244244
245245 @Verifier(tx)
246246 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
247247

github/deemru/w8io/026f985 
54.74 ms