tx · FpnMQF664tveYtdretGddpG61AznstdkCeYvuQZAEZkv

3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN:  -0.01400000 Waves

2021.04.20 15:50 [1490795] smart account 3N6CYoCsxrcXKe75pQvvV3JqJrwJjm1t4QN > SELF 0.00000000 Waves

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

github/deemru/w8io/03bedc9 
44.53 ms