tx · EHbSD6dXeg7kS87sMpVXv8YQrtE1mgNYus1H6CRwgzGm

3Mynj79w9PikhwUwMwFPk2vifkm8zkDt2Zt:  -0.01000000 Waves

2021.11.25 18:50 [1806770] smart account 3Mynj79w9PikhwUwMwFPk2vifkm8zkDt2Zt > SELF 0.00000000 Waves

{ "type": 13, "id": "EHbSD6dXeg7kS87sMpVXv8YQrtE1mgNYus1H6CRwgzGm", "fee": 1000000, "feeAssetId": null, "timestamp": 1637855491656, "version": 1, "sender": "3Mynj79w9PikhwUwMwFPk2vifkm8zkDt2Zt", "senderPublicKey": "5195SwZ4ifX6bBstZ6tN31kEQFVHaKpFYLc1GCa3Myrh", "proofs": [ "ZRyaB3Gcjf6Lm1Nfjw7NMyGP843HbfKcyMcQRYVQxZti744iUrqBKwkzx4wLCdJL85VSknKEbgHM8zLdhcLCgyS" ], "script": "base64:AAIFAAAAAAAAABsIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgAAAAqAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEFAAAAA2tleQkAASwAAAACCQABLAAAAAICAAAAD21hbmRhdG9yeSB0aGlzLgUAAAADa2V5AgAAAA8gaXMgbm90IGRlZmluZWQAAAAAA1NFUAIAAAACX18AAAAACEJVRlNDQUxFCQABNgAAAAEADeC2s6dkAAABAAAAHWNvbnZlcnRQcmljZUFzc2V0SW50b0lkb0Fzc2V0AAAABQAAABBwcmljZUFzc2V0QW1vdW50AAAADnByaWNlQXNzZXRNVUxUAAAABXByaWNlAAAACXByaWNlTVVMVAAAAAxpZG9Bc3NldE1VTFQEAAAAD2JQcmljZUFzc2V0TVVMVAkAATYAAAABBQAAAA5wcmljZUFzc2V0TVVMVAQAAAANYklkb0Fzc2V0TVVMVAkAATYAAAABBQAAAAxpZG9Bc3NldE1VTFQEAAAADmJQcmljZUFzc2V0QlVGCQABPAAAAAMJAAE2AAAAAQUAAAAQcHJpY2VBc3NldEFtb3VudAUAAAAIQlVGU0NBTEUFAAAAD2JQcmljZUFzc2V0TVVMVAQAAAAPYkFtb3VudEFzc2V0QlVGCQABPAAAAAMFAAAADmJQcmljZUFzc2V0QlVGCQABNgAAAAEFAAAACXByaWNlTVVMVAkAATYAAAABBQAAAAVwcmljZQkAAaAAAAABCQABPAAAAAMFAAAAD2JBbW91bnRBc3NldEJVRgkAATYAAAABBQAAAAxpZG9Bc3NldE1VTFQFAAAACEJVRlNDQUxFAAAAAA5JZHhDZmdJZG9TdGFydAAAAAAAAAAAAQAAAAARSWR4Q2ZnSWRvRHVyYXRpb24AAAAAAAAAAAIAAAAAEElkeENmZ0NsYWltU3RhcnQAAAAAAAAAAAMAAAAAE0lkeENmZ0NsYWltRHVyYXRpb24AAAAAAAAAAAQAAAAAC0lkeENmZ1ByaWNlAAAAAAAAAAAFAAAAAA9JZHhDZmdQcmljZU11bHQAAAAAAAAAAAYAAAAAEElkeENmZ0lkb0Fzc2V0SWQAAAAAAAAAAAcAAAAAEklkeENmZ0lkb0Fzc2V0TXVsdAAAAAAAAAAACAAAAAASSWR4Q2ZnUHJpY2VBc3NldElkAAAAAAAAAAAJAAAAABRJZHhDZmdQcmljZUFzc2V0TXVsdAAAAAAAAAAACgAAAAAVSWR4Q2ZnTWluSW52ZXN0QW1vdW50AAAAAAAAAAALAQAAAA1mcm9tYXRDb25maWdTAAAADAAAAAhpZG9TdGFydAAAAAtpZG9EdXJhdGlvbgAAAApjbGFpbVN0YXJ0AAAADWNsYWltRHVyYXRpb24AAAAFcHJpY2UAAAAJcHJpY2VNdWx0AAAADGlkb0Fzc2V0SWQ1OAAAAAxpZG9Bc3NldE11bHQAAAAOcHJpY2VBc3NldElkNTgAAAAOcHJpY2VBc3NldE11bHQAAAAPbWluSW52ZXN0QW1vdW50AAAAE3RvdGFsSWRvQXNzZXRUb1NlbGwJAAS5AAAAAgkABEwAAAACAgAAABglZCVkJWQlZCVkJWQlcyVkJXMlZCVkJWQJAARMAAAAAgUAAAAIaWRvU3RhcnQJAARMAAAAAgUAAAALaWRvRHVyYXRpb24JAARMAAAAAgUAAAAKY2xhaW1TdGFydAkABEwAAAACBQAAAA1jbGFpbUR1cmF0aW9uCQAETAAAAAIFAAAABXByaWNlCQAETAAAAAIFAAAACXByaWNlTXVsdAkABEwAAAACBQAAAAxpZG9Bc3NldElkNTgJAARMAAAAAgUAAAAMaWRvQXNzZXRNdWx0CQAETAAAAAIFAAAADnByaWNlQXNzZXRJZDU4CQAETAAAAAIFAAAADnByaWNlQXNzZXRNdWx0CQAETAAAAAIFAAAAD21pbkludmVzdEFtb3VudAkABEwAAAACBQAAABN0b3RhbElkb0Fzc2V0VG9TZWxsBQAAAANuaWwFAAAAA1NFUAEAAAAMZnJvbWF0Q29uZmlnAAAADAAAAAhpZG9TdGFydAAAAAtpZG9EdXJhdGlvbgAAAApjbGFpbVN0YXJ0AAAADWNsYWltRHVyYXRpb24AAAAFcHJpY2UAAAAJcHJpY2VNdWx0AAAADGlkb0Fzc2V0SWQ1OAAAAAxpZG9Bc3NldE11bHQAAAAOcHJpY2VBc3NldElkNTgAAAAOcHJpY2VBc3NldE11bHQAAAAPbWluSW52ZXN0QW1vdW50AAAAE3RvdGFsSWRvQXNzZXRUb1NlbGwJAQAAAA1mcm9tYXRDb25maWdTAAAADAkAAaQAAAABBQAAAAhpZG9TdGFydAkAAaQAAAABBQAAAAtpZG9EdXJhdGlvbgkAAaQAAAABBQAAAApjbGFpbVN0YXJ0CQABpAAAAAEFAAAADWNsYWltRHVyYXRpb24JAAGkAAAAAQUAAAAFcHJpY2UJAAGkAAAAAQUAAAAJcHJpY2VNdWx0BQAAAAxpZG9Bc3NldElkNTgJAAGkAAAAAQUAAAAMaWRvQXNzZXRNdWx0BQAAAA5wcmljZUFzc2V0SWQ1OAkAAaQAAAABBQAAAA5wcmljZUFzc2V0TXVsdAkAAaQAAAABBQAAAA9taW5JbnZlc3RBbW91bnQJAAGkAAAAAQUAAAATdG90YWxJZG9Bc3NldFRvU2VsbAAAAAARSWR4SW52VG90YWxBbW91bnQAAAAAAAAAAAEAAAAAFUlkeEludlJlbWFpbmluZ0Ftb3VudAAAAAAAAAAAAgAAAAAdSWR4SW52Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQAAAAAAAAAAAMAAAAAG0lkeEludkNsYWltZWRJZG9Bc3NldEFtb3VudAAAAAAAAAAABAAAAAAXSWR4SW52TGFzdENsYWltZWRIZWlnaHQAAAAAAAAAAAUBAAAAD2Zvcm1hdEludmVzdG9yUwAAAAUAAAALdG90YWxBbW91bnQAAAAPcmVtYWluaW5nQW1vdW50AAAAF2NsYWltZWRQcmljZUFzc2V0QW1vdW50AAAAFWNsYWltZWRJZG9Bc3NldEFtb3VudAAAABFsYXN0Q2xhaW1lZEhlaWdodAkABLkAAAACCQAETAAAAAICAAAACiVkJWQlZCVkJWQJAARMAAAAAgUAAAALdG90YWxBbW91bnQJAARMAAAAAgUAAAAPcmVtYWluaW5nQW1vdW50CQAETAAAAAIFAAAAF2NsYWltZWRQcmljZUFzc2V0QW1vdW50CQAETAAAAAIFAAAAFWNsYWltZWRJZG9Bc3NldEFtb3VudAkABEwAAAACBQAAABFsYXN0Q2xhaW1lZEhlaWdodAUAAAADbmlsBQAAAANTRVABAAAADmZvcm1hdEludmVzdG9yAAAABQAAAAt0b3RhbEFtb3VudAAAAA9yZW1haW5pbmdBbW91bnQAAAAXY2xhaW1lZFByaWNlQXNzZXRBbW91bnQAAAAVY2xhaW1lZElkb0Fzc2V0QW1vdW50AAAAEWxhc3RDbGFpbWVkSGVpZ2h0CQEAAAAPZm9ybWF0SW52ZXN0b3JTAAAABQkAAaQAAAABBQAAAAt0b3RhbEFtb3VudAkAAaQAAAABBQAAAA9yZW1haW5pbmdBbW91bnQJAAGkAAAAAQUAAAAXY2xhaW1lZFByaWNlQXNzZXRBbW91bnQJAAGkAAAAAQUAAAAVY2xhaW1lZElkb0Fzc2V0QW1vdW50CQABpAAAAAEFAAAAEWxhc3RDbGFpbWVkSGVpZ2h0AQAAABNmb3JtYXRIaXN0b3J5UmVjb3JkAAAAAgAAABBwcmljZUFzc2V0QW1vdW50AAAADmlkb0Fzc2V0QW1vdW50CQAEuQAAAAIJAARMAAAAAgIAAAAIJWQlZCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAAZoZWlnaHQJAARMAAAAAgkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQABpAAAAAEFAAAAEHByaWNlQXNzZXRBbW91bnQJAARMAAAAAgkAAaQAAAABBQAAAA5pZG9Bc3NldEFtb3VudAUAAAADbmlsBQAAAANTRVABAAAACWtleUNvbmZpZwAAAAACAAAACiVzX19jb25maWcBAAAAC2tleUludmVzdG9yAAAAAQAAAAt1c2VyQWRkcmVzcwkAASwAAAACAgAAAAQlc19fBQAAAAt1c2VyQWRkcmVzcwEAAAAJa2V5VG90YWxzAAAAAAIAAAAKJXNfX3RvdGFscwEAAAAZa2V5T3BlcmF0aW9uSGlzdG9yeVJlY29yZAAAAAMAAAAEdHlwZQAAAAt1c2VyQWRkcmVzcwAAAAZ0eElkNTgJAAS5AAAAAgkABEwAAAACAgAAABElcyVzJXMlc19faGlzdG9yeQkABEwAAAACBQAAAAR0eXBlCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAIFAAAABnR4SWQ1OAUAAAADbmlsBQAAAANTRVABAAAAD3JlYWRDb25maWdBcnJheQAAAAAJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAAAlrZXlDb25maWcAAAAABQAAAANTRVABAAAAI3JlYWRUb3RhbHNBcnJheU9yRGVmYXVsdEJ5Q3VzdG9tS2V5AAAAAQAAAAljdXN0b21LZXkJAAS1AAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABCIAAAABBQAAAAljdXN0b21LZXkJAQAAAA9mb3JtYXRJbnZlc3RvclMAAAAFAgAAAAEwAgAAAAEwAgAAAAEwAgAAAAEwAgAAAAEwBQAAAANTRVABAAAAGHJlYWRUb3RhbHNBcnJheU9yRGVmYXVsdAAAAAAJAQAAACNyZWFkVG90YWxzQXJyYXlPckRlZmF1bHRCeUN1c3RvbUtleQAAAAEJAQAAAAlrZXlUb3RhbHMAAAAAAQAAABpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdAAAAAEAAAALdXNlckFkZHJlc3MJAQAAACNyZWFkVG90YWxzQXJyYXlPckRlZmF1bHRCeUN1c3RvbUtleQAAAAEJAQAAAAtrZXlJbnZlc3RvcgAAAAEFAAAAC3VzZXJBZGRyZXNzAQAAABdyZWFkSW52ZXN0b3JBcnJheU9yRmFpbAAAAAEAAAALdXNlckFkZHJlc3MJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAEJAQAAAAtrZXlJbnZlc3RvcgAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAAANTRVAAAAAAFUlkeERpZmZUb3RhbEluY3JlbWVudAAAAAAAAAAAAAAAAAAkSWR4RGlmZlJlbWFpbmluZ1ByaWNlQW1vdW50SW5jcmVtZW50AAAAAAAAAAABAAAAACJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50AAAAAAAAAAACAAAAACVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50AAAAAAAAAAADAQAAAAtUb3RhbHNFbnRyeQAAAAQAAAADa2V5AAAACW9yaWdBcnJheQAAAA1pbmNyZW1lbnREaWZmAAAAFG5ld0xhc3RDbGFpbWVkSGVpZ2h0BAAAAAt0b3RhbEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAARSWR4SW52VG90YWxBbW91bnQEAAAAD3JlbWFpbmluZ0Ftb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAAVSWR4SW52UmVtYWluaW5nQW1vdW50BAAAABdjbGFpbWVkUHJpY2VBc3NldEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAAdSWR4SW52Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQEAAAAFWNsYWltZWRJZG9Bc3NldEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAAbSWR4SW52Q2xhaW1lZElkb0Fzc2V0QW1vdW50BAAAABFsYXN0Q2xhaW1lZEhlaWdodAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAAXSWR4SW52TGFzdENsYWltZWRIZWlnaHQEAAAADm5ld1RvdGFsQW1vdW50CQAAZAAAAAIFAAAAC3RvdGFsQW1vdW50CQABkQAAAAIFAAAADWluY3JlbWVudERpZmYFAAAAFUlkeERpZmZUb3RhbEluY3JlbWVudAQAAAASbmV3UmVtYWluaW5nQW1vdW50CQAAZAAAAAIFAAAAD3JlbWFpbmluZ0Ftb3VudAkAAZEAAAACBQAAAA1pbmNyZW1lbnREaWZmBQAAACRJZHhEaWZmUmVtYWluaW5nUHJpY2VBbW91bnRJbmNyZW1lbnQEAAAAGm5ld0NsYWltZWRQcmljZUFzc2V0QW1vdW50CQAAZAAAAAIFAAAAF2NsYWltZWRQcmljZUFzc2V0QW1vdW50CQABkQAAAAIFAAAADWluY3JlbWVudERpZmYFAAAAIklkeERpZmZDbGFpbWVkUHJpY2VBbW91bnRJbmNyZW1lbnQEAAAAGG5ld0NsYWltZWRJZG9Bc3NldEFtb3VudAkAAGQAAAACBQAAABVjbGFpbWVkSWRvQXNzZXRBbW91bnQJAAGRAAAAAgUAAAANaW5jcmVtZW50RGlmZgUAAAAlSWR4RGlmZkNsYWltZWRJZG9Bc3NldEFtb3VudEluY3JlbWVudAMJAABmAAAAAgAAAAAAAAAAAAUAAAASbmV3UmVtYWluaW5nQW1vdW50CQAAAgAAAAECAAAADGludmFsaWQgbWF0aAkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAADa2V5CQEAAAAOZm9ybWF0SW52ZXN0b3IAAAAFBQAAAA5uZXdUb3RhbEFtb3VudAUAAAASbmV3UmVtYWluaW5nQW1vdW50BQAAABpuZXdDbGFpbWVkUHJpY2VBc3NldEFtb3VudAUAAAAYbmV3Q2xhaW1lZElkb0Fzc2V0QW1vdW50BQAAABRuZXdMYXN0Q2xhaW1lZEhlaWdodAEAAAAbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5AAAABAAAAAt1c2VyQWRkcmVzcwAAABBwcmljZUFzc2V0QW1vdW50AAAADmlkb0Fzc2V0QW1vdW50AAAABHR4SWQJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkAAAAAwIAAAAGaW52ZXN0BQAAAAt1c2VyQWRkcmVzcwkAAlgAAAABBQAAAAR0eElkCQEAAAATZm9ybWF0SGlzdG9yeVJlY29yZAAAAAIFAAAAEHByaWNlQXNzZXRBbW91bnQFAAAADmlkb0Fzc2V0QW1vdW50AQAAABpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeQAAAAQAAAALdXNlckFkZHJlc3MAAAAQcHJpY2VBc3NldEFtb3VudAAAAA5pZG9Bc3NldEFtb3VudAAAAAR0eElkCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAZa2V5T3BlcmF0aW9uSGlzdG9yeVJlY29yZAAAAAMCAAAABWNsYWltBQAAAAt1c2VyQWRkcmVzcwkAAlgAAAABBQAAAAR0eElkCQEAAAATZm9ybWF0SGlzdG9yeVJlY29yZAAAAAIFAAAAEHByaWNlQXNzZXRBbW91bnQFAAAADmlkb0Fzc2V0QW1vdW50AQAAAA1pbnRlcm5hbENsYWltAAAAAwAAABBjbGFpbWVkQXNzZXRJZDU4AAAAC3VzZXJBZGRyZXNzAAAABHR4SWQEAAAACGNmZ0FycmF5CQEAAAAPcmVhZENvbmZpZ0FycmF5AAAAAAQAAAAKY2xhaW1TdGFydAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABBJZHhDZmdDbGFpbVN0YXJ0BAAAAA1jbGFpbUR1cmF0aW9uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAE0lkeENmZ0NsYWltRHVyYXRpb24EAAAACGNsYWltRW5kCQAAZAAAAAIFAAAACmNsYWltU3RhcnQFAAAADWNsYWltRHVyYXRpb24EAAAABXByaWNlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAC0lkeENmZ1ByaWNlBAAAAAlwcmljZU11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAPSWR4Q2ZnUHJpY2VNdWx0BAAAAAxpZG9Bc3NldElkNTgJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAEElkeENmZ0lkb0Fzc2V0SWQEAAAACmlkb0Fzc2V0SWQJAAJZAAAAAQUAAAAMaWRvQXNzZXRJZDU4BAAAAAxpZG9Bc3NldE11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAASSWR4Q2ZnSWRvQXNzZXRNdWx0BAAAAA5wcmljZUFzc2V0SWQ1OAkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAASSWR4Q2ZnUHJpY2VBc3NldElkBAAAAAxwcmljZUFzc2V0SWQJAAJZAAAAAQUAAAAOcHJpY2VBc3NldElkNTgEAAAADnByaWNlQXNzZXRNdWx0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAFElkeENmZ1ByaWNlQXNzZXRNdWx0BAAAAA11c2VyQWRkcmVzczU4CQAEJQAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAA9vcmlnSW52ZXN0QXJyYXkJAQAAABdyZWFkSW52ZXN0b3JBcnJheU9yRmFpbAAAAAEFAAAADXVzZXJBZGRyZXNzNTgEAAAAEWludmVzdFRvdGFsQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAPb3JpZ0ludmVzdEFycmF5BQAAABFJZHhJbnZUb3RhbEFtb3VudAQAAAAaaW52ZXN0TGFzdENsYWltZWRIZWlnaHRUTVAJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnSW52ZXN0QXJyYXkFAAAAF0lkeEludkxhc3RDbGFpbWVkSGVpZ2h0BAAAABdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodAMJAABnAAAAAgUAAAAKY2xhaW1TdGFydAUAAAAaaW52ZXN0TGFzdENsYWltZWRIZWlnaHRUTVAFAAAACmNsYWltU3RhcnQFAAAAGmludmVzdExhc3RDbGFpbWVkSGVpZ2h0VE1QBAAAABRuZXdDbGFpbVBlcmlvZEhlaWdodAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAhjbGFpbUVuZAUAAAAIY2xhaW1FbmQDCQAAZgAAAAIFAAAACmNsYWltU3RhcnQFAAAABmhlaWdodAUAAAAKY2xhaW1TdGFydAUAAAAGaGVpZ2h0BAAAAA5jbGFpbWluZ0Jsb2NrcwkAAGUAAAACBQAAABRuZXdDbGFpbVBlcmlvZEhlaWdodAUAAAAXaW52ZXN0TGFzdENsYWltZWRIZWlnaHQEAAAAGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudAkAAGsAAAADBQAAABFpbnZlc3RUb3RhbEFtb3VudAUAAAAOY2xhaW1pbmdCbG9ja3MFAAAADWNsYWltRHVyYXRpb24EAAAAFmNsYWltaW5nSWRvQXNzZXRBbW91bnQJAQAAAB1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldAAAAAUFAAAAGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudAUAAAAOcHJpY2VBc3NldE11bHQFAAAABXByaWNlBQAAAAlwcmljZU11bHQFAAAADGlkb0Fzc2V0TXVsdAMJAAAAAAAAAgUAAAAQY2xhaW1lZEFzc2V0SWQ1OAUAAAAOcHJpY2VBc3NldElkNTgJAAUYAAAABgkABEwAAAACAAAAAAAAAAAACQAETAAAAAIJAQAAAAEtAAAAAQUAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50CQAETAAAAAIFAAAAGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudAkABEwAAAACAAAAAAAAAAAABQAAAANuaWwFAAAAGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudAUAAAAMcHJpY2VBc3NldElkBQAAAA9vcmlnSW52ZXN0QXJyYXkFAAAAFG5ld0NsYWltUGVyaW9kSGVpZ2h0CQAETAAAAAIFAAAAGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudAkABEwAAAACBQAAABZjbGFpbWluZ0lkb0Fzc2V0QW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAAEGNsYWltZWRBc3NldElkNTgFAAAADGlkb0Fzc2V0SWQ1OAkABRgAAAAGCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgkBAAAAAS0AAAABBQAAABhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACBQAAABZjbGFpbWluZ0lkb0Fzc2V0QW1vdW50BQAAAANuaWwFAAAAFmNsYWltaW5nSWRvQXNzZXRBbW91bnQFAAAACmlkb0Fzc2V0SWQFAAAAD29yaWdJbnZlc3RBcnJheQUAAAAUbmV3Q2xhaW1QZXJpb2RIZWlnaHQJAARMAAAAAgUAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50CQAETAAAAAIFAAAAFmNsYWltaW5nSWRvQXNzZXRBbW91bnQFAAAAA25pbAkAAAIAAAABCQABLAAAAAICAAAAFXVuc3VwcG9ydGVkIGFzc2V0SWQ6IAUAAAAQY2xhaW1lZEFzc2V0SWQ1OAAAAAQAAAABaQEAAAALY29uc3RydWN0b3IAAAAHAAAACGlkb1N0YXJ0AAAAC2lkb0R1cmF0aW9uAAAACmNsYWltU3RhcnQAAAANY2xhaW1EdXJhdGlvbgAAAAVwcmljZQAAAA5wcmljZUFzc2V0SWQ1OAAAAA9taW5JbnZlc3RBbW91bnQEAAAACXByaWNlTXVsdAkAAGgAAAACCQAAaAAAAAIAAAAAAAAAAGQAAAAAAAAAA+gAAAAAAAAAA+gEAAAABmlkb0VuZAkAAGQAAAACBQAAAAhpZG9TdGFydAUAAAALaWRvRHVyYXRpb24DCQEAAAAJaXNEZWZpbmVkAAAAAQkABCIAAAABCQEAAAAJa2V5Q29uZmlnAAAAAAkAAAIAAAABAgAAABNhbHJlYWR5IGluaXRpYWxpemVkAwkBAAAAAiE9AAAAAgIAAAAjM040QWliNWl1YldpR016ZFRoNndXaVZEVmJvMzJvZVZVbUgJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAADm5vdCBhdXRob3JpemVkAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAACJleGFjdGx5IDEgcGF5bWVudCBtdXN0IGJlIGF0dGFjaGVkAwkAAGcAAAACBQAAAAZpZG9FbmQFAAAACmNsYWltU3RhcnQJAAACAAAAAQIAAAAmY2xhaW1TdGFydCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBpZG9FbmQEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKaWRvQXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAxpZG9Bc3NldEluZm8JAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABBQAAAAppZG9Bc3NldElkAgAAABtmYWlsIHRvIGxvYWQgaWRvIGFzc2V0IGluZm8EAAAADGlkb0Fzc2V0SWQ1OAkAAlgAAAABBQAAAAppZG9Bc3NldElkBAAAAAxpZG9Bc3NldE11bHQJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAgFAAAADGlkb0Fzc2V0SW5mbwAAAAhkZWNpbWFscwAAAAAAAAAAAAAAAAAAAAAAAAUAAAAERE9XTgQAAAAMcHJpY2VBc3NldElkCQACWQAAAAEFAAAADnByaWNlQXNzZXRJZDU4BAAAAA5wcmljZUFzc2V0SW5mbwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD7AAAAAEFAAAADHByaWNlQXNzZXRJZAIAAAAdZmFpbCB0byBsb2FkIHByaWNlIGFzc2V0IGluZm8EAAAADnByaWNlQXNzZXRNdWx0CQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAIBQAAAA5wcmljZUFzc2V0SW5mbwAAAAhkZWNpbWFscwAAAAAAAAAAAAAAAAAAAAAAAAUAAAAERE9XTgQAAAAPb3JpZ1RvdGFsc0FycmF5CQEAAAAYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0AAAAAAQAAAAKdG90YWxzRGlmZgkABEwAAAACAAAAAAAAAAAACQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACAAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAACWtleUNvbmZpZwAAAAAJAQAAAAxmcm9tYXRDb25maWcAAAAMBQAAAAhpZG9TdGFydAUAAAALaWRvRHVyYXRpb24FAAAACmNsYWltU3RhcnQFAAAADWNsYWltRHVyYXRpb24FAAAABXByaWNlBQAAAAlwcmljZU11bHQFAAAADGlkb0Fzc2V0SWQ1OAUAAAAMaWRvQXNzZXRNdWx0BQAAAA5wcmljZUFzc2V0SWQ1OAUAAAAOcHJpY2VBc3NldE11bHQFAAAAD21pbkludmVzdEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAAC1RvdGFsc0VudHJ5AAAABAkBAAAACWtleVRvdGFscwAAAAAFAAAAD29yaWdUb3RhbHNBcnJheQUAAAAKdG90YWxzRGlmZgUAAAAKY2xhaW1TdGFydAUAAAADbmlsAAAAAWkBAAAABmludmVzdAAAAAAEAAAACGNmZ0FycmF5CQEAAAAPcmVhZENvbmZpZ0FycmF5AAAAAAQAAAAIaWRvU3RhcnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAOSWR4Q2ZnSWRvU3RhcnQEAAAAC2lkb0R1cmF0aW9uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAEUlkeENmZ0lkb0R1cmF0aW9uBAAAAAZpZG9FbmQJAABkAAAAAgUAAAAIaWRvU3RhcnQFAAAAC2lkb0R1cmF0aW9uBAAAAApjbGFpbVN0YXJ0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAEElkeENmZ0NsYWltU3RhcnQEAAAADWNsYWltRHVyYXRpb24JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAATSWR4Q2ZnQ2xhaW1EdXJhdGlvbgQAAAAFcHJpY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAALSWR4Q2ZnUHJpY2UEAAAACXByaWNlTXVsdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAAA9JZHhDZmdQcmljZU11bHQEAAAADGlkb0Fzc2V0SWQ1OAkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAQSWR4Q2ZnSWRvQXNzZXRJZAQAAAAKaWRvQXNzZXRJZAkAAlkAAAABBQAAAAxpZG9Bc3NldElkNTgEAAAADGlkb0Fzc2V0TXVsdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABJJZHhDZmdJZG9Bc3NldE11bHQEAAAADnByaWNlQXNzZXRJZDU4CQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABJJZHhDZmdQcmljZUFzc2V0SWQEAAAADHByaWNlQXNzZXRJZAkAAlkAAAABBQAAAA5wcmljZUFzc2V0SWQ1OAQAAAAOcHJpY2VBc3NldE11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAUSWR4Q2ZnUHJpY2VBc3NldE11bHQEAAAADm1pbkl2ZXN0QW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAFUlkeENmZ01pbkludmVzdEFtb3VudAQAAAALdXNlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwkAAGYAAAACBQAAAAhpZG9TdGFydAUAAAAGaGVpZ2h0CQAAAgAAAAECAAAAHGlkbyBoYXMgbm90IGJlZW4gc3RhcnRlZCB5ZXQDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAGaWRvRW5kCQAAAgAAAAECAAAAGmlkbyBoYXMgYmVlbiBhbHJlYWR5IGVuZGVkAwkBAAAAAiE9AAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAAIAAAABAgAAAB1leGFjdGx5IDEgcGF5bWVudCBpcyBleHBlY3RlZAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApwbXRBc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAACXBtdEFtb3VudAgFAAAAA3BtdAAAAAZhbW91bnQDCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAxwcmljZUFzc2V0SWQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAGmludmFsaWQgcGF5bWVudCBhc3NldCBpZDogCQACWAAAAAEFAAAACnBtdEFzc2V0SWQCAAAADCBpcyBleHBlY3RlZAQAAAARb3JpZ0ludmVzdG9yQXJyYXkJAQAAABpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdAAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAA9vcmlnVG90YWxzQXJyYXkJAQAAABhyZWFkVG90YWxzQXJyYXlPckRlZmF1bHQAAAAABAAAABNuZXdQcmljZVRvdGFsQW1vdW50CQAAZAAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnVG90YWxzQXJyYXkFAAAAEUlkeEludlRvdGFsQW1vdW50BQAAAAlwbXRBbW91bnQEAAAAFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQJAABoAAAAAgUAAAATbmV3UHJpY2VUb3RhbEFtb3VudAAAAAAAAAAAZAMJAABmAAAAAgUAAAAWcmVxdWlyZWRJZG9Bc3NldEFtb3VudAkAA/AAAAACBQAAAAR0aGlzBQAAAAppZG9Bc3NldElkCQAAAgAAAAECAAAAOUlETyBhc3NldCBoYXMgYmVlbiAtIHNvbGQgY29uc2lkZXIgdG8gdXNlIHNtYWxsZXIgcGF5bWVudAQAAAAKdG90YWxzRGlmZgkABEwAAAACBQAAAAlwbXRBbW91bnQJAARMAAAAAgUAAAAJcG10QW1vdW50CQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAAtUb3RhbHNFbnRyeQAAAAQJAQAAAAtrZXlJbnZlc3RvcgAAAAEFAAAAC3VzZXJBZGRyZXNzBQAAABFvcmlnSW52ZXN0b3JBcnJheQUAAAAKdG90YWxzRGlmZgUAAAAKY2xhaW1TdGFydAkABEwAAAACCQEAAAALVG90YWxzRW50cnkAAAAECQEAAAAJa2V5VG90YWxzAAAAAAUAAAAPb3JpZ1RvdGFsc0FycmF5BQAAAAp0b3RhbHNEaWZmBQAAAApjbGFpbVN0YXJ0CQAETAAAAAIJAQAAABtJbnZlc3RPcGVyYXRpb25IaXN0b3J5RW50cnkAAAAEBQAAAAt1c2VyQWRkcmVzcwUAAAAJcG10QW1vdW50AAAAAAAAAAAACAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAANuaWwAAAABaQEAAAAFY2xhaW0AAAACAAAAEGNsYWltZWRBc3NldElkNTgAAAANdXNlckFkZHJlc3M1OAQAAAAPY2FsbGVyQWRkcmVzczU4CQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAQAAAAIhPQAAAAIFAAAADXVzZXJBZGRyZXNzNTgFAAAAD2NhbGxlckFkZHJlc3M1OAkAAAIAAAABAgAAAA5ub3QgYXV0aG9yaXplZAQAAAAQY2xhaW1SZXN1bHRUdXBsZQkBAAAADWludGVybmFsQ2xhaW0AAAADBQAAABBjbGFpbWVkQXNzZXRJZDU4CAUAAAABaQAAAAZjYWxsZXIIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAACnRvdGFsc0RpZmYIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl8xBAAAAAlvdXRBbW91bnQIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl8yBAAAAApvdXRBc3NldElkCAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfMwQAAAAPb3JpZ0ludmVzdEFycmF5CAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfNAQAAAAUbmV3Q2xhaW1QZXJpb2RIZWlnaHQIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl81BAAAABpjbGFpbWVkUHJpY2VBbW91bnRGcm9tRGlmZgkAAZEAAAACBQAAAAp0b3RhbHNEaWZmBQAAACJJZHhEaWZmQ2xhaW1lZFByaWNlQW1vdW50SW5jcmVtZW50BAAAAB1jbGFpbWVkSWRvQXNzZXRBbW91bnRGcm9tRGlmZgkAAZEAAAACBQAAAAp0b3RhbHNEaWZmBQAAACVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50CQAFFAAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAlvdXRBbW91bnQFAAAACm91dEFzc2V0SWQJAARMAAAAAgkBAAAAC1RvdGFsc0VudHJ5AAAABAkBAAAAC2tleUludmVzdG9yAAAAAQUAAAANdXNlckFkZHJlc3M1OAUAAAAPb3JpZ0ludmVzdEFycmF5BQAAAAp0b3RhbHNEaWZmBQAAABRuZXdDbGFpbVBlcmlvZEhlaWdodAkABEwAAAACCQEAAAALVG90YWxzRW50cnkAAAAECQEAAAAJa2V5VG90YWxzAAAAAAkBAAAAGHJlYWRUb3RhbHNBcnJheU9yRGVmYXVsdAAAAAAFAAAACnRvdGFsc0RpZmYFAAAAFG5ld0NsYWltUGVyaW9kSGVpZ2h0CQAETAAAAAIJAQAAABpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeQAAAAQFAAAADXVzZXJBZGRyZXNzNTgFAAAAGmNsYWltZWRQcmljZUFtb3VudEZyb21EaWZmBQAAAB1jbGFpbWVkSWRvQXNzZXRBbW91bnRGcm9tRGlmZggFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAADbmlsBQAAAAR1bml0AAAAAWkBAAAADWNsYWltUkVBRE9OTFkAAAACAAAAEGNsYWltZWRBc3NldElkNTgAAAANdXNlckFkZHJlc3M1OAQAAAAQY2xhaW1SZXN1bHRUdXBsZQkBAAAADWludGVybmFsQ2xhaW0AAAADBQAAABBjbGFpbWVkQXNzZXRJZDU4CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA11c2VyQWRkcmVzczU4CQACWQAAAAECAAAAAAQAAAAKdG90YWxzRGlmZggFAAAAEGNsYWltUmVzdWx0VHVwbGUAAAACXzEEAAAACW91dEFtb3VudAgFAAAAEGNsYWltUmVzdWx0VHVwbGUAAAACXzIEAAAACm91dEFzc2V0SWQIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl8zBAAAAA9vcmlnSW52ZXN0QXJyYXkIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl80BAAAABRuZXdDbGFpbVBlcmlvZEhlaWdodAgFAAAAEGNsYWltUmVzdWx0VHVwbGUAAAACXzUEAAAAFWF2YWlsYWJsZVRvQ2xhaW1BcnJheQgFAAAAEGNsYWltUmVzdWx0VHVwbGUAAAACXzYEAAAAG2F2YWlsYWJsZVByaWNlQW1vdW50VG9DbGFpbQkAAZEAAAACBQAAABVhdmFpbGFibGVUb0NsYWltQXJyYXkAAAAAAAAAAAAEAAAAGWF2YWlsYWJsZUlkb0Ftb3VudFRvQ2xhaW0JAAGRAAAAAgUAAAAVYXZhaWxhYmxlVG9DbGFpbUFycmF5AAAAAAAAAAABCQAFFAAAAAIFAAAAA25pbAkABLkAAAACCQAETAAAAAICAAAABiVzJWQlZAkABEwAAAACBQAAAA11c2VyQWRkcmVzczU4CQAETAAAAAIJAAGkAAAAAQUAAAAbYXZhaWxhYmxlUHJpY2VBbW91bnRUb0NsYWltCQAETAAAAAIJAAGkAAAAAQUAAAAZYXZhaWxhYmxlSWRvQW1vdW50VG9DbGFpbQUAAAADbmlsBQAAAANTRVAAAAAA9iBDpg==", "chainId": 84, "height": 1806770, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C3yQmtNtPD7bBjDKFGDsFu7mGuXps9dL5hsWEWorzyjX Next: 278bMBn4TuK75k5cD28a4Wd6ocFQapWMPnwjuu2xNETS Diff:
OldNewDifferences
138138 let aJ = am(aI)
139139 let aK = parseIntValue(aJ[M])
140140 let aL = parseIntValue(aJ[Q])
141- let aM = if ((height > aF))
141+ let aM = if ((C >= aL))
142+ then C
143+ else aL
144+ let aN = if ((height > aF))
142145 then aF
143146 else if ((C > height))
144147 then C
145148 else height
146- if ((C > height))
147- then throw("failure")
148- else {
149- let aN = (aM - aL)
150- let aO = fraction(aK, aN, D)
151- let aP = e(aO, I, h, E, G)
152- if ((aD == H))
153- then $Tuple6([0, -(aO), aO, 0], aO, aH, aJ, aM, [aO, aP])
154- else if ((aD == F))
155- then $Tuple6([0, -(aO), 0, aP], aP, aG, aJ, aM, [aO, aP])
156- else throw(("unsupported assetId: " + aD))
157- }
149+ let aO = (aN - aM)
150+ let aP = fraction(aK, aO, D)
151+ let aQ = e(aP, I, h, E, G)
152+ if ((aD == H))
153+ then $Tuple6([0, -(aP), aP, 0], aP, aH, aJ, aN, [aP, aQ])
154+ else if ((aD == F))
155+ then $Tuple6([0, -(aP), 0, aQ], aQ, aG, aJ, aN, [aP, aQ])
156+ else throw(("unsupported assetId: " + aD))
158157 }
159158
160159
161-@Callable(aQ)
160+@Callable(aR)
162161 func constructor (A,B,C,D,h,H,J) = {
163162 let E = ((100 * 1000) * 1000)
164- let aR = (A + B)
163+ let aS = (A + B)
165164 if (isDefined(getString(aa())))
166165 then throw("already initialized")
167- else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aQ.caller)))
166+ else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aR.caller)))
168167 then throw("not authorized")
169- else if ((size(aQ.payments) != 1))
168+ else if ((size(aR.payments) != 1))
170169 then throw("exactly 1 payment must be attached")
171- else if ((aR >= C))
170+ else if ((aS >= C))
172171 then throw("claimStart must be greater than idoEnd")
173172 else {
174- let aS = value(aQ.payments[0])
175- let aG = value(aS.assetId)
176- let aT = valueOrErrorMessage(assetInfo(aG), "fail to load ido asset info")
173+ let aT = value(aR.payments[0])
174+ let aG = value(aT.assetId)
175+ let aU = valueOrErrorMessage(assetInfo(aG), "fail to load ido asset info")
177176 let F = toBase58String(aG)
178- let G = pow(10, 0, aT.decimals, 0, 0, DOWN)
177+ let G = pow(10, 0, aU.decimals, 0, 0, DOWN)
179178 let aH = fromBase58String(H)
180- let aU = valueOrErrorMessage(assetInfo(aH), "fail to load price asset info")
181- let I = pow(10, 0, aU.decimals, 0, 0, DOWN)
182- let aV = ak()
183- let aW = [0, 0, 0, 0]
184-[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, aS.amount)), ar(ad(), aV, aW, C)]
179+ let aV = valueOrErrorMessage(assetInfo(aH), "fail to load price asset info")
180+ let I = pow(10, 0, aV.decimals, 0, 0, DOWN)
181+ let aW = ak()
182+ let aX = [0, 0, 0, 0]
183+[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, aT.amount)), ar(ad(), aW, aX, C)]
185184 }
186185 }
187186
188187
189188
190-@Callable(aQ)
189+@Callable(aR)
191190 func invest () = {
192191 let aE = ah()
193192 let A = parseIntValue(aE[o])
194193 let B = parseIntValue(aE[p])
195- let aR = (A + B)
194+ let aS = (A + B)
196195 let C = parseIntValue(aE[q])
197196 let D = parseIntValue(aE[r])
198197 let h = parseIntValue(aE[s])
203202 let H = aE[w]
204203 let aH = fromBase58String(H)
205204 let I = parseIntValue(aE[x])
206- let aX = parseIntValue(aE[y])
207- let ac = toString(aQ.caller)
205+ let aY = parseIntValue(aE[y])
206+ let ac = toString(aR.caller)
208207 if ((A > height))
209208 then throw("ido has not been started yet")
210- else if ((height > aR))
209+ else if ((height > aS))
211210 then throw("ido has been already ended")
212- else if ((size(aQ.payments) != 1))
211+ else if ((size(aR.payments) != 1))
213212 then throw("exactly 1 payment is expected")
214213 else {
215- let aS = value(aQ.payments[0])
216- let aY = value(aS.assetId)
217- let aZ = aS.amount
218- if ((aY != aH))
219- then throw((("invalid payment asset id: " + toBase58String(aY)) + " is expected"))
214+ let aT = value(aR.payments[0])
215+ let aZ = value(aT.assetId)
216+ let ba = aT.amount
217+ if ((aZ != aH))
218+ then throw((("invalid payment asset id: " + toBase58String(aZ)) + " is expected"))
220219 else {
221- let ba = al(ac)
222- let aV = ak()
223- let bb = (parseIntValue(aV[M]) + aZ)
224- let bc = (bb * 100)
225- if ((bc > assetBalance(this, aG)))
220+ let bb = al(ac)
221+ let aW = ak()
222+ let bc = (parseIntValue(aW[M]) + ba)
223+ let bd = (bc * 100)
224+ if ((bd > assetBalance(this, aG)))
226225 then throw("IDO asset has been - sold consider to use smaller payment")
227226 else {
228- let aW = [aZ, aZ, 0, 0]
229-[ar(ab(ac), ba, aW, C), ar(ad(), aV, aW, C), az(ac, aZ, 0, aQ.transactionId)]
227+ let aX = [ba, ba, 0, 0]
228+[ar(ab(ac), bb, aX, C), ar(ad(), aW, aX, C), az(ac, ba, 0, aR.transactionId)]
230229 }
231230 }
232231 }
234233
235234
236235
237-@Callable(aQ)
236+@Callable(aR)
238237 func claim (aD,aI) = {
239- let bd = toString(aQ.caller)
240- if ((aI != bd))
238+ let be = toString(aR.caller)
239+ if ((aI != be))
241240 then throw("not authorized")
242241 else {
243- let be = aC(aD, aQ.caller, aQ.transactionId)
244- let aW = be._1
245- let bf = be._2
246- let bg = be._3
247- let aJ = be._4
248- let aM = be._5
249- let bh = aW[ap]
250- let bi = aW[aq]
251- $Tuple2([ScriptTransfer(aQ.caller, bf, bg), ar(ab(aI), aJ, aW, aM), ar(ad(), ak(), aW, aM), aB(aI, bh, bi, aQ.transactionId)], unit)
242+ let bf = aC(aD, aR.caller, aR.transactionId)
243+ let aX = bf._1
244+ let bg = bf._2
245+ let bh = bf._3
246+ let aJ = bf._4
247+ let aN = bf._5
248+ let bi = aX[ap]
249+ let bj = aX[aq]
250+ $Tuple2([ScriptTransfer(aR.caller, bg, bh), ar(ab(aI), aJ, aX, aN), ar(ad(), ak(), aX, aN), aB(aI, bi, bj, aR.transactionId)], unit)
252251 }
253252 }
254253
255254
256255
257-@Callable(aQ)
256+@Callable(aR)
258257 func claimREADONLY (aD,aI) = {
259- let be = aC(aD, addressFromStringValue(aI), fromBase58String(""))
260- let aW = be._1
261- let bf = be._2
262- let bg = be._3
263- let aJ = be._4
264- let aM = be._5
265- let bj = be._6
266- let bk = bj[0]
267- let bl = bj[1]
268- $Tuple2(nil, makeString(["%s%d%d", aI, toString(bk), toString(bl)], c))
258+ let bf = aC(aD, addressFromStringValue(aI), fromBase58String(""))
259+ let aX = bf._1
260+ let bg = bf._2
261+ let bh = bf._3
262+ let aJ = bf._4
263+ let aN = bf._5
264+ let bk = bf._6
265+ let bl = bk[0]
266+ let bm = bk[1]
267+ $Tuple2(nil, makeString(["%s%d%d", aI, toString(bl), toString(bm)], c))
269268 }
270269
271270
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrErrorMessage(getString(b), (("mandatory this." + b) + " is not defined"))
55
66
77 let c = "__"
88
99 let d = toBigInt(1000000000000000000)
1010
1111 func e (f,g,h,i,j) = {
1212 let k = toBigInt(g)
1313 let l = toBigInt(j)
1414 let m = fraction(toBigInt(f), d, k)
1515 let n = fraction(m, toBigInt(i), toBigInt(h))
1616 toInt(fraction(n, toBigInt(j), d))
1717 }
1818
1919
2020 let o = 1
2121
2222 let p = 2
2323
2424 let q = 3
2525
2626 let r = 4
2727
2828 let s = 5
2929
3030 let t = 6
3131
3232 let u = 7
3333
3434 let v = 8
3535
3636 let w = 9
3737
3838 let x = 10
3939
4040 let y = 11
4141
4242 func z (A,B,C,D,h,E,F,G,H,I,J,K) = makeString(["%d%d%d%d%d%d%s%d%s%d%d%d", A, B, C, D, h, E, F, G, H, I, J, K], c)
4343
4444
4545 func L (A,B,C,D,h,E,F,G,H,I,J,K) = z(toString(A), toString(B), toString(C), toString(D), toString(h), toString(E), F, toString(G), H, toString(I), toString(J), toString(K))
4646
4747
4848 let M = 1
4949
5050 let N = 2
5151
5252 let O = 3
5353
5454 let P = 4
5555
5656 let Q = 5
5757
5858 func R (S,T,U,V,W) = makeString(["%d%d%d%d%d", S, T, U, V, W], c)
5959
6060
6161 func X (S,T,U,V,W) = R(toString(S), toString(T), toString(U), toString(V), toString(W))
6262
6363
6464 func Y (f,Z) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(Z)], c)
6565
6666
6767 func aa () = "%s__config"
6868
6969
7070 func ab (ac) = ("%s__" + ac)
7171
7272
7373 func ad () = "%s__totals"
7474
7575
7676 func ae (af,ac,ag) = makeString(["%s%s%s%s__history", af, ac, ag], c)
7777
7878
7979 func ah () = split(a(aa()), c)
8080
8181
8282 func ai (aj) = split(valueOrElse(getString(aj), R("0", "0", "0", "0", "0")), c)
8383
8484
8585 func ak () = ai(ad())
8686
8787
8888 func al (ac) = ai(ab(ac))
8989
9090
9191 func am (ac) = split(a(ab(ac)), c)
9292
9393
9494 let an = 0
9595
9696 let ao = 1
9797
9898 let ap = 2
9999
100100 let aq = 3
101101
102102 func ar (b,as,at,au) = {
103103 let S = parseIntValue(as[M])
104104 let T = parseIntValue(as[N])
105105 let U = parseIntValue(as[O])
106106 let V = parseIntValue(as[P])
107107 let W = parseIntValue(as[Q])
108108 let av = (S + at[an])
109109 let aw = (T + at[ao])
110110 let ax = (U + at[ap])
111111 let ay = (V + at[aq])
112112 if ((0 > aw))
113113 then throw("invalid math")
114114 else StringEntry(b, X(av, aw, ax, ay, au))
115115 }
116116
117117
118118 func az (ac,f,Z,aA) = StringEntry(ae("invest", ac, toBase58String(aA)), Y(f, Z))
119119
120120
121121 func aB (ac,f,Z,aA) = StringEntry(ae("claim", ac, toBase58String(aA)), Y(f, Z))
122122
123123
124124 func aC (aD,ac,aA) = {
125125 let aE = ah()
126126 let C = parseIntValue(aE[q])
127127 let D = parseIntValue(aE[r])
128128 let aF = (C + D)
129129 let h = parseIntValue(aE[s])
130130 let E = parseIntValue(aE[t])
131131 let F = aE[u]
132132 let aG = fromBase58String(F)
133133 let G = parseIntValue(aE[v])
134134 let H = aE[w]
135135 let aH = fromBase58String(H)
136136 let I = parseIntValue(aE[x])
137137 let aI = toString(ac)
138138 let aJ = am(aI)
139139 let aK = parseIntValue(aJ[M])
140140 let aL = parseIntValue(aJ[Q])
141- let aM = if ((height > aF))
141+ let aM = if ((C >= aL))
142+ then C
143+ else aL
144+ let aN = if ((height > aF))
142145 then aF
143146 else if ((C > height))
144147 then C
145148 else height
146- if ((C > height))
147- then throw("failure")
148- else {
149- let aN = (aM - aL)
150- let aO = fraction(aK, aN, D)
151- let aP = e(aO, I, h, E, G)
152- if ((aD == H))
153- then $Tuple6([0, -(aO), aO, 0], aO, aH, aJ, aM, [aO, aP])
154- else if ((aD == F))
155- then $Tuple6([0, -(aO), 0, aP], aP, aG, aJ, aM, [aO, aP])
156- else throw(("unsupported assetId: " + aD))
157- }
149+ let aO = (aN - aM)
150+ let aP = fraction(aK, aO, D)
151+ let aQ = e(aP, I, h, E, G)
152+ if ((aD == H))
153+ then $Tuple6([0, -(aP), aP, 0], aP, aH, aJ, aN, [aP, aQ])
154+ else if ((aD == F))
155+ then $Tuple6([0, -(aP), 0, aQ], aQ, aG, aJ, aN, [aP, aQ])
156+ else throw(("unsupported assetId: " + aD))
158157 }
159158
160159
161-@Callable(aQ)
160+@Callable(aR)
162161 func constructor (A,B,C,D,h,H,J) = {
163162 let E = ((100 * 1000) * 1000)
164- let aR = (A + B)
163+ let aS = (A + B)
165164 if (isDefined(getString(aa())))
166165 then throw("already initialized")
167- else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aQ.caller)))
166+ else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aR.caller)))
168167 then throw("not authorized")
169- else if ((size(aQ.payments) != 1))
168+ else if ((size(aR.payments) != 1))
170169 then throw("exactly 1 payment must be attached")
171- else if ((aR >= C))
170+ else if ((aS >= C))
172171 then throw("claimStart must be greater than idoEnd")
173172 else {
174- let aS = value(aQ.payments[0])
175- let aG = value(aS.assetId)
176- let aT = valueOrErrorMessage(assetInfo(aG), "fail to load ido asset info")
173+ let aT = value(aR.payments[0])
174+ let aG = value(aT.assetId)
175+ let aU = valueOrErrorMessage(assetInfo(aG), "fail to load ido asset info")
177176 let F = toBase58String(aG)
178- let G = pow(10, 0, aT.decimals, 0, 0, DOWN)
177+ let G = pow(10, 0, aU.decimals, 0, 0, DOWN)
179178 let aH = fromBase58String(H)
180- let aU = valueOrErrorMessage(assetInfo(aH), "fail to load price asset info")
181- let I = pow(10, 0, aU.decimals, 0, 0, DOWN)
182- let aV = ak()
183- let aW = [0, 0, 0, 0]
184-[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, aS.amount)), ar(ad(), aV, aW, C)]
179+ let aV = valueOrErrorMessage(assetInfo(aH), "fail to load price asset info")
180+ let I = pow(10, 0, aV.decimals, 0, 0, DOWN)
181+ let aW = ak()
182+ let aX = [0, 0, 0, 0]
183+[StringEntry(aa(), L(A, B, C, D, h, E, F, G, H, I, J, aT.amount)), ar(ad(), aW, aX, C)]
185184 }
186185 }
187186
188187
189188
190-@Callable(aQ)
189+@Callable(aR)
191190 func invest () = {
192191 let aE = ah()
193192 let A = parseIntValue(aE[o])
194193 let B = parseIntValue(aE[p])
195- let aR = (A + B)
194+ let aS = (A + B)
196195 let C = parseIntValue(aE[q])
197196 let D = parseIntValue(aE[r])
198197 let h = parseIntValue(aE[s])
199198 let E = parseIntValue(aE[t])
200199 let F = aE[u]
201200 let aG = fromBase58String(F)
202201 let G = parseIntValue(aE[v])
203202 let H = aE[w]
204203 let aH = fromBase58String(H)
205204 let I = parseIntValue(aE[x])
206- let aX = parseIntValue(aE[y])
207- let ac = toString(aQ.caller)
205+ let aY = parseIntValue(aE[y])
206+ let ac = toString(aR.caller)
208207 if ((A > height))
209208 then throw("ido has not been started yet")
210- else if ((height > aR))
209+ else if ((height > aS))
211210 then throw("ido has been already ended")
212- else if ((size(aQ.payments) != 1))
211+ else if ((size(aR.payments) != 1))
213212 then throw("exactly 1 payment is expected")
214213 else {
215- let aS = value(aQ.payments[0])
216- let aY = value(aS.assetId)
217- let aZ = aS.amount
218- if ((aY != aH))
219- then throw((("invalid payment asset id: " + toBase58String(aY)) + " is expected"))
214+ let aT = value(aR.payments[0])
215+ let aZ = value(aT.assetId)
216+ let ba = aT.amount
217+ if ((aZ != aH))
218+ then throw((("invalid payment asset id: " + toBase58String(aZ)) + " is expected"))
220219 else {
221- let ba = al(ac)
222- let aV = ak()
223- let bb = (parseIntValue(aV[M]) + aZ)
224- let bc = (bb * 100)
225- if ((bc > assetBalance(this, aG)))
220+ let bb = al(ac)
221+ let aW = ak()
222+ let bc = (parseIntValue(aW[M]) + ba)
223+ let bd = (bc * 100)
224+ if ((bd > assetBalance(this, aG)))
226225 then throw("IDO asset has been - sold consider to use smaller payment")
227226 else {
228- let aW = [aZ, aZ, 0, 0]
229-[ar(ab(ac), ba, aW, C), ar(ad(), aV, aW, C), az(ac, aZ, 0, aQ.transactionId)]
227+ let aX = [ba, ba, 0, 0]
228+[ar(ab(ac), bb, aX, C), ar(ad(), aW, aX, C), az(ac, ba, 0, aR.transactionId)]
230229 }
231230 }
232231 }
233232 }
234233
235234
236235
237-@Callable(aQ)
236+@Callable(aR)
238237 func claim (aD,aI) = {
239- let bd = toString(aQ.caller)
240- if ((aI != bd))
238+ let be = toString(aR.caller)
239+ if ((aI != be))
241240 then throw("not authorized")
242241 else {
243- let be = aC(aD, aQ.caller, aQ.transactionId)
244- let aW = be._1
245- let bf = be._2
246- let bg = be._3
247- let aJ = be._4
248- let aM = be._5
249- let bh = aW[ap]
250- let bi = aW[aq]
251- $Tuple2([ScriptTransfer(aQ.caller, bf, bg), ar(ab(aI), aJ, aW, aM), ar(ad(), ak(), aW, aM), aB(aI, bh, bi, aQ.transactionId)], unit)
242+ let bf = aC(aD, aR.caller, aR.transactionId)
243+ let aX = bf._1
244+ let bg = bf._2
245+ let bh = bf._3
246+ let aJ = bf._4
247+ let aN = bf._5
248+ let bi = aX[ap]
249+ let bj = aX[aq]
250+ $Tuple2([ScriptTransfer(aR.caller, bg, bh), ar(ab(aI), aJ, aX, aN), ar(ad(), ak(), aX, aN), aB(aI, bi, bj, aR.transactionId)], unit)
252251 }
253252 }
254253
255254
256255
257-@Callable(aQ)
256+@Callable(aR)
258257 func claimREADONLY (aD,aI) = {
259- let be = aC(aD, addressFromStringValue(aI), fromBase58String(""))
260- let aW = be._1
261- let bf = be._2
262- let bg = be._3
263- let aJ = be._4
264- let aM = be._5
265- let bj = be._6
266- let bk = bj[0]
267- let bl = bj[1]
268- $Tuple2(nil, makeString(["%s%d%d", aI, toString(bk), toString(bl)], c))
258+ let bf = aC(aD, addressFromStringValue(aI), fromBase58String(""))
259+ let aX = bf._1
260+ let bg = bf._2
261+ let bh = bf._3
262+ let aJ = bf._4
263+ let aN = bf._5
264+ let bk = bf._6
265+ let bl = bk[0]
266+ let bm = bk[1]
267+ $Tuple2(nil, makeString(["%s%d%d", aI, toString(bl), toString(bm)], c))
269268 }
270269
271270

github/deemru/w8io/3da68e3 
67.88 ms