tx · J7teaWohvqdtLqRFwkWHtSZ62YgprYcBYiH7CLaHEgpF

3MqySDQxn5jzBUc144oks9fQzAXCBvJ2B8Y:  -0.01000000 Waves

2021.08.25 20:01 [1674128] smart account 3MqySDQxn5jzBUc144oks9fQzAXCBvJ2B8Y > SELF 0.00000000 Waves

{ "type": 13, "id": "J7teaWohvqdtLqRFwkWHtSZ62YgprYcBYiH7CLaHEgpF", "fee": 1000000, "feeAssetId": null, "timestamp": 1629910935423, "version": 1, "sender": "3MqySDQxn5jzBUc144oks9fQzAXCBvJ2B8Y", "senderPublicKey": "3YcAqsm6P2UYnzeZng9DPfjNQbEcHithbYzPy3ZMzLMk", "proofs": [ "CHbKG6yjsDnFC9E8CP5WSuW7TDs6yBBz8tQ1V2NVohQ2p7MK1fvrYgSsPTS9nZuoVR4YBZuPuPuSNh2xMsuKuT1" ], "script": "base64:AAIFAAAAAAAAABsIAhIJCgcBAQEBAQgBEgASBAoCCAgSBAoCCAgAAAAqAQAAAA9nZXRTdHJpbmdPckZhaWwAAAABAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEIgAAAAEFAAAAA2tleQkAASwAAAACCQABLAAAAAICAAAAD21hbmRhdG9yeSB0aGlzLgUAAAADa2V5AgAAAA8gaXMgbm90IGRlZmluZWQAAAAAA1NFUAIAAAACX18AAAAACEJVRlNDQUxFCQABNgAAAAEADeC2s6dkAAABAAAAHWNvbnZlcnRQcmljZUFzc2V0SW50b0lkb0Fzc2V0AAAABQAAABBwcmljZUFzc2V0QW1vdW50AAAADnByaWNlQXNzZXRNVUxUAAAABXByaWNlAAAACXByaWNlTVVMVAAAAAxpZG9Bc3NldE1VTFQEAAAACmJQcmljZU1VTFQJAAE2AAAAAQUAAAAOcHJpY2VBc3NldE1VTFQEAAAADmJQcmljZUFzc2V0QlVGCQABPAAAAAMJAAE2AAAAAQUAAAAQcHJpY2VBc3NldEFtb3VudAUAAAAIQlVGU0NBTEUFAAAACmJQcmljZU1VTFQEAAAAD2JBbW91bnRBc3NldEJVRgkAATwAAAADBQAAAA5iUHJpY2VBc3NldEJVRgUAAAAKYlByaWNlTVVMVAkAATYAAAABBQAAAAVwcmljZQkAAaAAAAABCQABPAAAAAMFAAAAD2JBbW91bnRBc3NldEJVRgkAATYAAAABBQAAAAxpZG9Bc3NldE1VTFQFAAAACEJVRlNDQUxFAAAAAA5JZHhDZmdJZG9TdGFydAAAAAAAAAAAAQAAAAARSWR4Q2ZnSWRvRHVyYXRpb24AAAAAAAAAAAIAAAAAEElkeENmZ0NsYWltU3RhcnQAAAAAAAAAAAMAAAAAE0lkeENmZ0NsYWltRHVyYXRpb24AAAAAAAAAAAQAAAAAC0lkeENmZ1ByaWNlAAAAAAAAAAAFAAAAAA9JZHhDZmdQcmljZU11bHQAAAAAAAAAAAYAAAAAEElkeENmZ0lkb0Fzc2V0SWQAAAAAAAAAAAcAAAAAEklkeENmZ0lkb0Fzc2V0TXVsdAAAAAAAAAAACAAAAAASSWR4Q2ZnUHJpY2VBc3NldElkAAAAAAAAAAAJAAAAABRJZHhDZmdQcmljZUFzc2V0TXVsdAAAAAAAAAAACgAAAAAVSWR4Q2ZnTWluSW52ZXN0QW1vdW50AAAAAAAAAAALAQAAAA1mcm9tYXRDb25maWdTAAAACwAAAAhpZG9TdGFydAAAAAtpZG9EdXJhdGlvbgAAAApjbGFpbVN0YXJ0AAAADWNsYWltRHVyYXRpb24AAAAFcHJpY2UAAAAJcHJpY2VNdWx0AAAADGlkb0Fzc2V0SWQ1OAAAAAxpZG9Bc3NldE11bHQAAAAOcHJpY2VBc3NldElkNTgAAAAOcHJpY2VBc3NldE11bHQAAAAPbWluSW52ZXN0QW1vdW50CQAEuQAAAAIJAARMAAAAAgIAAAAWJWQlZCVkJWQlZCVkJXMlZCVzJWQlZAkABEwAAAACBQAAAAhpZG9TdGFydAkABEwAAAACBQAAAAtpZG9EdXJhdGlvbgkABEwAAAACBQAAAApjbGFpbVN0YXJ0CQAETAAAAAIFAAAADWNsYWltRHVyYXRpb24JAARMAAAAAgUAAAAFcHJpY2UJAARMAAAAAgUAAAAJcHJpY2VNdWx0CQAETAAAAAIFAAAADGlkb0Fzc2V0SWQ1OAkABEwAAAACBQAAAAxpZG9Bc3NldE11bHQJAARMAAAAAgUAAAAOcHJpY2VBc3NldElkNTgJAARMAAAAAgUAAAAOcHJpY2VBc3NldE11bHQJAARMAAAAAgUAAAAPbWluSW52ZXN0QW1vdW50BQAAAANuaWwFAAAAA1NFUAEAAAAMZnJvbWF0Q29uZmlnAAAACwAAAAhpZG9TdGFydAAAAAtpZG9EdXJhdGlvbgAAAApjbGFpbVN0YXJ0AAAADWNsYWltRHVyYXRpb24AAAAFcHJpY2UAAAAJcHJpY2VNdWx0AAAADGlkb0Fzc2V0SWQ1OAAAAAxpZG9Bc3NldE11bHQAAAAOcHJpY2VBc3NldElkNTgAAAAOcHJpY2VBc3NldE11bHQAAAAPbWluSW52ZXN0QW1vdW50CQEAAAANZnJvbWF0Q29uZmlnUwAAAAsJAAGkAAAAAQUAAAAIaWRvU3RhcnQJAAGkAAAAAQUAAAALaWRvRHVyYXRpb24JAAGkAAAAAQUAAAAKY2xhaW1TdGFydAkAAaQAAAABBQAAAA1jbGFpbUR1cmF0aW9uCQABpAAAAAEFAAAABXByaWNlCQABpAAAAAEFAAAACXByaWNlTXVsdAUAAAAMaWRvQXNzZXRJZDU4CQABpAAAAAEFAAAADGlkb0Fzc2V0TXVsdAUAAAAOcHJpY2VBc3NldElkNTgJAAGkAAAAAQUAAAAOcHJpY2VBc3NldE11bHQJAAGkAAAAAQUAAAAPbWluSW52ZXN0QW1vdW50AAAAABFJZHhJbnZUb3RhbEFtb3VudAAAAAAAAAAAAQAAAAAVSWR4SW52UmVtYWluaW5nQW1vdW50AAAAAAAAAAACAAAAAB1JZHhJbnZDbGFpbWVkUHJpY2VBc3NldEFtb3VudAAAAAAAAAAAAwAAAAAbSWR4SW52Q2xhaW1lZElkb0Fzc2V0QW1vdW50AAAAAAAAAAAEAAAAABdJZHhJbnZMYXN0Q2xhaW1lZEhlaWdodAAAAAAAAAAABQEAAAAPZm9ybWF0SW52ZXN0b3JTAAAABQAAAAt0b3RhbEFtb3VudAAAAA9yZW1haW5pbmdBbW91bnQAAAAXY2xhaW1lZFByaWNlQXNzZXRBbW91bnQAAAAVY2xhaW1lZElkb0Fzc2V0QW1vdW50AAAAEWxhc3RDbGFpbWVkSGVpZ2h0CQAEuQAAAAIJAARMAAAAAgIAAAAKJWQlZCVkJWQlZAkABEwAAAACBQAAAAt0b3RhbEFtb3VudAkABEwAAAACBQAAAA9yZW1haW5pbmdBbW91bnQJAARMAAAAAgUAAAAXY2xhaW1lZFByaWNlQXNzZXRBbW91bnQJAARMAAAAAgUAAAAVY2xhaW1lZElkb0Fzc2V0QW1vdW50CQAETAAAAAIFAAAAEWxhc3RDbGFpbWVkSGVpZ2h0BQAAAANuaWwFAAAAA1NFUAEAAAAOZm9ybWF0SW52ZXN0b3IAAAAFAAAAC3RvdGFsQW1vdW50AAAAD3JlbWFpbmluZ0Ftb3VudAAAABdjbGFpbWVkUHJpY2VBc3NldEFtb3VudAAAABVjbGFpbWVkSWRvQXNzZXRBbW91bnQAAAARbGFzdENsYWltZWRIZWlnaHQJAQAAAA9mb3JtYXRJbnZlc3RvclMAAAAFCQABpAAAAAEFAAAAC3RvdGFsQW1vdW50CQABpAAAAAEFAAAAD3JlbWFpbmluZ0Ftb3VudAkAAaQAAAABBQAAABdjbGFpbWVkUHJpY2VBc3NldEFtb3VudAkAAaQAAAABBQAAABVjbGFpbWVkSWRvQXNzZXRBbW91bnQJAAGkAAAAAQUAAAARbGFzdENsYWltZWRIZWlnaHQBAAAAE2Zvcm1hdEhpc3RvcnlSZWNvcmQAAAACAAAAEHByaWNlQXNzZXRBbW91bnQAAAAOaWRvQXNzZXRBbW91bnQJAAS5AAAAAgkABEwAAAACAgAAAAglZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAABmhlaWdodAkABEwAAAACCQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAETAAAAAIJAAGkAAAAAQUAAAAQcHJpY2VBc3NldEFtb3VudAkABEwAAAACCQABpAAAAAEFAAAADmlkb0Fzc2V0QW1vdW50BQAAAANuaWwFAAAAA1NFUAEAAAAJa2V5Q29uZmlnAAAAAAIAAAAKJXNfX2NvbmZpZwEAAAALa2V5SW52ZXN0b3IAAAABAAAAC3VzZXJBZGRyZXNzCQABLAAAAAICAAAABCVzX18FAAAAC3VzZXJBZGRyZXNzAQAAAAlrZXlUb3RhbHMAAAAAAgAAAAolc19fdG90YWxzAQAAABlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkAAAAAwAAAAR0eXBlAAAAC3VzZXJBZGRyZXNzAAAABnR4SWQ1OAkABLkAAAACCQAETAAAAAICAAAAESVzJXMlcyVzX19oaXN0b3J5CQAETAAAAAIFAAAABHR5cGUJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgUAAAAGdHhJZDU4BQAAAANuaWwFAAAAA1NFUAEAAAAPcmVhZENvbmZpZ0FycmF5AAAAAAkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAACWtleUNvbmZpZwAAAAAFAAAAA1NFUAEAAAAjcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0QnlDdXN0b21LZXkAAAABAAAACWN1c3RvbUtleQkABLUAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEIgAAAAEFAAAACWN1c3RvbUtleQkBAAAAD2Zvcm1hdEludmVzdG9yUwAAAAUCAAAAATACAAAAATACAAAAATACAAAAATACAAAAATAFAAAAA1NFUAEAAAAYcmVhZFRvdGFsc0FycmF5T3JEZWZhdWx0AAAAAAkBAAAAI3JlYWRUb3RhbHNBcnJheU9yRGVmYXVsdEJ5Q3VzdG9tS2V5AAAAAQkBAAAACWtleVRvdGFscwAAAAABAAAAGnJlYWRJbnZlc3RvckFycmF5T3JEZWZhdWx0AAAAAQAAAAt1c2VyQWRkcmVzcwkBAAAAI3JlYWRUb3RhbHNBcnJheU9yRGVmYXVsdEJ5Q3VzdG9tS2V5AAAAAQkBAAAAC2tleUludmVzdG9yAAAAAQUAAAALdXNlckFkZHJlc3MBAAAAF3JlYWRJbnZlc3RvckFycmF5T3JGYWlsAAAAAQAAAAt1c2VyQWRkcmVzcwkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAAC2tleUludmVzdG9yAAAAAQUAAAALdXNlckFkZHJlc3MFAAAAA1NFUAAAAAAVSWR4RGlmZlRvdGFsSW5jcmVtZW50AAAAAAAAAAAAAAAAACRJZHhEaWZmUmVtYWluaW5nUHJpY2VBbW91bnRJbmNyZW1lbnQAAAAAAAAAAAEAAAAAIklkeERpZmZDbGFpbWVkUHJpY2VBbW91bnRJbmNyZW1lbnQAAAAAAAAAAAIAAAAAJUlkeERpZmZDbGFpbWVkSWRvQXNzZXRBbW91bnRJbmNyZW1lbnQAAAAAAAAAAAMBAAAAC1RvdGFsc0VudHJ5AAAABAAAAANrZXkAAAAJb3JpZ0FycmF5AAAADWluY3JlbWVudERpZmYAAAAUbmV3TGFzdENsYWltZWRIZWlnaHQEAAAAC3RvdGFsQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJb3JpZ0FycmF5BQAAABFJZHhJbnZUb3RhbEFtb3VudAQAAAAPcmVtYWluaW5nQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJb3JpZ0FycmF5BQAAABVJZHhJbnZSZW1haW5pbmdBbW91bnQEAAAAF2NsYWltZWRQcmljZUFzc2V0QW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJb3JpZ0FycmF5BQAAAB1JZHhJbnZDbGFpbWVkUHJpY2VBc3NldEFtb3VudAQAAAAVY2xhaW1lZElkb0Fzc2V0QW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJb3JpZ0FycmF5BQAAABtJZHhJbnZDbGFpbWVkSWRvQXNzZXRBbW91bnQEAAAAEWxhc3RDbGFpbWVkSGVpZ2h0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJb3JpZ0FycmF5BQAAABdJZHhJbnZMYXN0Q2xhaW1lZEhlaWdodAQAAAAObmV3VG90YWxBbW91bnQJAABkAAAAAgUAAAALdG90YWxBbW91bnQJAAGRAAAAAgUAAAANaW5jcmVtZW50RGlmZgUAAAAVSWR4RGlmZlRvdGFsSW5jcmVtZW50BAAAABJuZXdSZW1haW5pbmdBbW91bnQJAABkAAAAAgUAAAAPcmVtYWluaW5nQW1vdW50CQABkQAAAAIFAAAADWluY3JlbWVudERpZmYFAAAAJElkeERpZmZSZW1haW5pbmdQcmljZUFtb3VudEluY3JlbWVudAQAAAAabmV3Q2xhaW1lZFByaWNlQXNzZXRBbW91bnQJAABkAAAAAgUAAAAXY2xhaW1lZFByaWNlQXNzZXRBbW91bnQJAAGRAAAAAgUAAAANaW5jcmVtZW50RGlmZgUAAAAiSWR4RGlmZkNsYWltZWRQcmljZUFtb3VudEluY3JlbWVudAQAAAAYbmV3Q2xhaW1lZElkb0Fzc2V0QW1vdW50CQAAZAAAAAIFAAAAFWNsYWltZWRJZG9Bc3NldEFtb3VudAkAAZEAAAACBQAAAA1pbmNyZW1lbnREaWZmBQAAACVJZHhEaWZmQ2xhaW1lZElkb0Fzc2V0QW1vdW50SW5jcmVtZW50AwkAAGYAAAACAAAAAAAAAAAABQAAABJuZXdSZW1haW5pbmdBbW91bnQJAAACAAAAAQIAAAAMaW52YWxpZCBtYXRoCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAANrZXkJAQAAAA5mb3JtYXRJbnZlc3RvcgAAAAUFAAAADm5ld1RvdGFsQW1vdW50BQAAABJuZXdSZW1haW5pbmdBbW91bnQFAAAAGm5ld0NsYWltZWRQcmljZUFzc2V0QW1vdW50BQAAABhuZXdDbGFpbWVkSWRvQXNzZXRBbW91bnQFAAAAFG5ld0xhc3RDbGFpbWVkSGVpZ2h0AQAAABtJbnZlc3RPcGVyYXRpb25IaXN0b3J5RW50cnkAAAAEAAAAC3VzZXJBZGRyZXNzAAAAEHByaWNlQXNzZXRBbW91bnQAAAAOaWRvQXNzZXRBbW91bnQAAAAEdHhJZAkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQAAAADAgAAAAZpbnZlc3QFAAAAC3VzZXJBZGRyZXNzCQACWAAAAAEFAAAABHR4SWQJAQAAABNmb3JtYXRIaXN0b3J5UmVjb3JkAAAAAgUAAAAQcHJpY2VBc3NldEFtb3VudAUAAAAOaWRvQXNzZXRBbW91bnQBAAAAGkNsYWltT3BlcmF0aW9uSGlzdG9yeUVudHJ5AAAABAAAAAt1c2VyQWRkcmVzcwAAABBwcmljZUFzc2V0QW1vdW50AAAADmlkb0Fzc2V0QW1vdW50AAAABHR4SWQJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkAAAAAwIAAAAFY2xhaW0FAAAAC3VzZXJBZGRyZXNzCQACWAAAAAEFAAAABHR4SWQJAQAAABNmb3JtYXRIaXN0b3J5UmVjb3JkAAAAAgUAAAAQcHJpY2VBc3NldEFtb3VudAUAAAAOaWRvQXNzZXRBbW91bnQBAAAADWludGVybmFsQ2xhaW0AAAADAAAAEGNsYWltZWRBc3NldElkNTgAAAALdXNlckFkZHJlc3MAAAAEdHhJZAQAAAAIY2ZnQXJyYXkJAQAAAA9yZWFkQ29uZmlnQXJyYXkAAAAABAAAAApjbGFpbVN0YXJ0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAEElkeENmZ0NsYWltU3RhcnQEAAAADWNsYWltRHVyYXRpb24JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAATSWR4Q2ZnQ2xhaW1EdXJhdGlvbgQAAAAIY2xhaW1FbmQJAABkAAAAAgUAAAAKY2xhaW1TdGFydAUAAAANY2xhaW1EdXJhdGlvbgQAAAAFcHJpY2UJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAALSWR4Q2ZnUHJpY2UEAAAACXByaWNlTXVsdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAAA9JZHhDZmdQcmljZU11bHQEAAAADGlkb0Fzc2V0SWQ1OAkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAQSWR4Q2ZnSWRvQXNzZXRJZAQAAAAKaWRvQXNzZXRJZAkAAlkAAAABBQAAAAxpZG9Bc3NldElkNTgEAAAADGlkb0Fzc2V0TXVsdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABJJZHhDZmdJZG9Bc3NldE11bHQEAAAADnByaWNlQXNzZXRJZDU4CQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABJJZHhDZmdQcmljZUFzc2V0SWQEAAAADHByaWNlQXNzZXRJZAkAAlkAAAABBQAAAA5wcmljZUFzc2V0SWQ1OAQAAAAOcHJpY2VBc3NldE11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAUSWR4Q2ZnUHJpY2VBc3NldE11bHQEAAAADXVzZXJBZGRyZXNzNTgJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MEAAAAD29yaWdJbnZlc3RBcnJheQkBAAAAF3JlYWRJbnZlc3RvckFycmF5T3JGYWlsAAAAAQUAAAANdXNlckFkZHJlc3M1OAQAAAARaW52ZXN0VG90YWxBbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnSW52ZXN0QXJyYXkFAAAAEUlkeEludlRvdGFsQW1vdW50BAAAABdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAD29yaWdJbnZlc3RBcnJheQUAAAAXSWR4SW52TGFzdENsYWltZWRIZWlnaHQEAAAAFG5ld0NsYWltUGVyaW9kSGVpZ2h0AwkAAGYAAAACBQAAAAZoZWlnaHQFAAAACGNsYWltRW5kBQAAAAhjbGFpbUVuZAMJAABmAAAAAgUAAAAKY2xhaW1TdGFydAUAAAAGaGVpZ2h0BQAAAApjbGFpbVN0YXJ0BQAAAAZoZWlnaHQEAAAADmNsYWltaW5nQmxvY2tzCQAAZQAAAAIFAAAAFG5ld0NsYWltUGVyaW9kSGVpZ2h0BQAAABdpbnZlc3RMYXN0Q2xhaW1lZEhlaWdodAQAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50CQAAawAAAAMFAAAAEWludmVzdFRvdGFsQW1vdW50BQAAAA5jbGFpbWluZ0Jsb2NrcwUAAAANY2xhaW1EdXJhdGlvbgQAAAAWY2xhaW1pbmdJZG9Bc3NldEFtb3VudAkBAAAAHWNvbnZlcnRQcmljZUFzc2V0SW50b0lkb0Fzc2V0AAAABQUAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50BQAAAA5wcmljZUFzc2V0TXVsdAUAAAAFcHJpY2UFAAAACXByaWNlTXVsdAUAAAAMaWRvQXNzZXRNdWx0AwkAAAAAAAACBQAAABBjbGFpbWVkQXNzZXRJZDU4BQAAAA5wcmljZUFzc2V0SWQ1OAkABRgAAAAGCQAETAAAAAIAAAAAAAAAAAAJAARMAAAAAgkBAAAAAS0AAAABBQAAABhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQJAARMAAAAAgUAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50CQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAUAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50BQAAAAxwcmljZUFzc2V0SWQFAAAAD29yaWdJbnZlc3RBcnJheQUAAAAUbmV3Q2xhaW1QZXJpb2RIZWlnaHQJAARMAAAAAgUAAAAYY2xhaW1pbmdQcmljZUFzc2V0QW1vdW50CQAETAAAAAIFAAAAFmNsYWltaW5nSWRvQXNzZXRBbW91bnQFAAAAA25pbAMJAAAAAAAAAgUAAAAQY2xhaW1lZEFzc2V0SWQ1OAUAAAAMaWRvQXNzZXRJZDU4CQAFGAAAAAYJAARMAAAAAgAAAAAAAAAAAAkABEwAAAACCQEAAAABLQAAAAEFAAAAGGNsYWltaW5nUHJpY2VBc3NldEFtb3VudAkABEwAAAACAAAAAAAAAAAACQAETAAAAAIFAAAAFmNsYWltaW5nSWRvQXNzZXRBbW91bnQFAAAAA25pbAUAAAAWY2xhaW1pbmdJZG9Bc3NldEFtb3VudAUAAAAKaWRvQXNzZXRJZAUAAAAPb3JpZ0ludmVzdEFycmF5BQAAABRuZXdDbGFpbVBlcmlvZEhlaWdodAkABEwAAAACBQAAABhjbGFpbWluZ1ByaWNlQXNzZXRBbW91bnQJAARMAAAAAgUAAAAWY2xhaW1pbmdJZG9Bc3NldEFtb3VudAUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgIAAAAVdW5zdXBwb3J0ZWQgYXNzZXRJZDogBQAAABBjbGFpbWVkQXNzZXRJZDU4AAAABAAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAcAAAAIaWRvU3RhcnQAAAALaWRvRHVyYXRpb24AAAAKY2xhaW1TdGFydAAAAA1jbGFpbUR1cmF0aW9uAAAABXByaWNlAAAADnByaWNlQXNzZXRJZDU4AAAAD21pbkludmVzdEFtb3VudAQAAAAJcHJpY2VNdWx0CQAAaAAAAAIJAABoAAAAAgAAAAAAAAAAZAAAAAAAAAAD6AAAAAAAAAAD6AQAAAAGaWRvRW5kCQAAZAAAAAIFAAAACGlkb1N0YXJ0BQAAAAtpZG9EdXJhdGlvbgMJAQAAAAlpc0RlZmluZWQAAAABCQAEIgAAAAEJAQAAAAlrZXlDb25maWcAAAAACQAAAgAAAAECAAAAE2FscmVhZHkgaW5pdGlhbGl6ZWQDCQEAAAACIT0AAAACAgAAACMzTjRBaWI1aXViV2lHTXpkVGg2d1dpVkRWYm8zMm9lVlVtSAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAObm90IGF1dGhvcml6ZWQDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAAImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQDCQAAZwAAAAIFAAAABmlkb0VuZAUAAAAKY2xhaW1TdGFydAkAAAIAAAABAgAAACZjbGFpbVN0YXJ0IG11c3QgYmUgZ3JlYXRlciB0aGFuIGlkb0VuZAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAppZG9Bc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAADGlkb0Fzc2V0SW5mbwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD7AAAAAEFAAAACmlkb0Fzc2V0SWQCAAAAG2ZhaWwgdG8gbG9hZCBpZG8gYXNzZXQgaW5mbwQAAAAMaWRvQXNzZXRJZDU4CQACWAAAAAEFAAAACmlkb0Fzc2V0SWQEAAAADGlkb0Fzc2V0TXVsdAkAAGwAAAAGAAAAAAAAAAAKAAAAAAAAAAAACAUAAAAMaWRvQXNzZXRJbmZvAAAACGRlY2ltYWxzAAAAAAAAAAAAAAAAAAAAAAAABQAAAARET1dOBAAAAAxwcmljZUFzc2V0SWQJAAJZAAAAAQUAAAAOcHJpY2VBc3NldElkNTgEAAAADnByaWNlQXNzZXRJbmZvCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPsAAAAAQUAAAAMcHJpY2VBc3NldElkAgAAAB1mYWlsIHRvIGxvYWQgcHJpY2UgYXNzZXQgaW5mbwQAAAAOcHJpY2VBc3NldE11bHQJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAgFAAAADnByaWNlQXNzZXRJbmZvAAAACGRlY2ltYWxzAAAAAAAAAAAAAAAAAAAAAAAABQAAAARET1dOCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAlrZXlDb25maWcAAAAACQEAAAAMZnJvbWF0Q29uZmlnAAAACwUAAAAIaWRvU3RhcnQFAAAAC2lkb0R1cmF0aW9uBQAAAApjbGFpbVN0YXJ0BQAAAA1jbGFpbUR1cmF0aW9uBQAAAAVwcmljZQUAAAAJcHJpY2VNdWx0BQAAAAxpZG9Bc3NldElkNTgFAAAADGlkb0Fzc2V0TXVsdAUAAAAOcHJpY2VBc3NldElkNTgFAAAADnByaWNlQXNzZXRNdWx0BQAAAA9taW5JbnZlc3RBbW91bnQFAAAAA25pbAAAAAFpAQAAAAZpbnZlc3QAAAAABAAAAAhjZmdBcnJheQkBAAAAD3JlYWRDb25maWdBcnJheQAAAAAEAAAACGlkb1N0YXJ0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAADklkeENmZ0lkb1N0YXJ0BAAAAAtpZG9EdXJhdGlvbgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABFJZHhDZmdJZG9EdXJhdGlvbgQAAAAGaWRvRW5kCQAAZAAAAAIFAAAACGlkb1N0YXJ0BQAAAAtpZG9EdXJhdGlvbgQAAAAKY2xhaW1TdGFydAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABBJZHhDZmdDbGFpbVN0YXJ0BAAAAA1jbGFpbUR1cmF0aW9uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAE0lkeENmZ0NsYWltRHVyYXRpb24EAAAABXByaWNlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAC0lkeENmZ1ByaWNlBAAAAAlwcmljZU11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAPSWR4Q2ZnUHJpY2VNdWx0BAAAAAxpZG9Bc3NldElkNTgJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAEElkeENmZ0lkb0Fzc2V0SWQEAAAACmlkb0Fzc2V0SWQJAAJZAAAAAQUAAAAMaWRvQXNzZXRJZDU4BAAAAAxpZG9Bc3NldE11bHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAASSWR4Q2ZnSWRvQXNzZXRNdWx0BAAAAA5wcmljZUFzc2V0SWQ1OAkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAASSWR4Q2ZnUHJpY2VBc3NldElkBAAAAAxwcmljZUFzc2V0SWQJAAJZAAAAAQUAAAAOcHJpY2VBc3NldElkNTgEAAAADnByaWNlQXNzZXRNdWx0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAFElkeENmZ1ByaWNlQXNzZXRNdWx0BAAAAA5taW5JdmVzdEFtb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABVJZHhDZmdNaW5JbnZlc3RBbW91bnQEAAAAC3VzZXJBZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAABmAAAAAgUAAAAIaWRvU3RhcnQFAAAABmhlaWdodAkAAAIAAAABAgAAABxpZG8gaGFzIG5vdCBiZWVuIHN0YXJ0ZWQgeWV0AwkAAGYAAAACBQAAAAZoZWlnaHQFAAAABmlkb0VuZAkAAAIAAAABAgAAABppZG8gaGFzIGJlZW4gYWxyZWFkeSBlbmRlZAMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAdZXhhY3RseSAxIHBheW1lbnQgaXMgZXhwZWN0ZWQEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAKcG10QXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50AwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAMcHJpY2VBc3NldElkCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABppbnZhbGlkIHBheW1lbnQgYXNzZXQgaWQ6IAkAAlgAAAABBQAAAApwbXRBc3NldElkAgAAAAwgaXMgZXhwZWN0ZWQDCQAAZgAAAAIFAAAADm1pbkl2ZXN0QW1vdW50BQAAAAlwbXRBbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAzcGF5bWVudCBhbW91bnQgaXMgbGVzcyB0aGVuIG1pbiBhbGxvd2VkOiBwbXRBbW91bnQ9CQABpAAAAAEFAAAACXBtdEFtb3VudAIAAAAQIG1pbkl2ZXN0QW1vdW50PQkAAaQAAAABBQAAAA5taW5JdmVzdEFtb3VudAQAAAARb3JpZ0ludmVzdG9yQXJyYXkJAQAAABpyZWFkSW52ZXN0b3JBcnJheU9yRGVmYXVsdAAAAAEFAAAAC3VzZXJBZGRyZXNzBAAAAA9vcmlnVG90YWxzQXJyYXkJAQAAABhyZWFkVG90YWxzQXJyYXlPckRlZmF1bHQAAAAABAAAABNuZXdQcmljZVRvdGFsQW1vdW50CQAAZAAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnVG90YWxzQXJyYXkFAAAAEUlkeEludlRvdGFsQW1vdW50BQAAAAlwbXRBbW91bnQEAAAAFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQJAQAAAB1jb252ZXJ0UHJpY2VBc3NldEludG9JZG9Bc3NldAAAAAUFAAAAE25ld1ByaWNlVG90YWxBbW91bnQFAAAADnByaWNlQXNzZXRNdWx0BQAAAAVwcmljZQUAAAAJcHJpY2VNdWx0BQAAAAxpZG9Bc3NldE11bHQDCQAAZgAAAAIFAAAAFnJlcXVpcmVkSWRvQXNzZXRBbW91bnQJAAPwAAAAAgUAAAAEdGhpcwUAAAAKaWRvQXNzZXRJZAkAAAIAAAABAgAAADlJRE8gYXNzZXQgaGFzIGJlZW4gLSBzb2xkIGNvbnNpZGVyIHRvIHVzZSBzbWFsbGVyIHBheW1lbnQEAAAACnRvdGFsc0RpZmYJAARMAAAAAgUAAAAJcG10QW1vdW50CQAETAAAAAIFAAAACXBtdEFtb3VudAkABEwAAAACAAAAAAAAAAAACQAETAAAAAIAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAALVG90YWxzRW50cnkAAAAECQEAAAALa2V5SW52ZXN0b3IAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAARb3JpZ0ludmVzdG9yQXJyYXkFAAAACnRvdGFsc0RpZmYFAAAACmNsYWltU3RhcnQJAARMAAAAAgkBAAAAC1RvdGFsc0VudHJ5AAAABAkBAAAACWtleVRvdGFscwAAAAAFAAAAD29yaWdUb3RhbHNBcnJheQUAAAAKdG90YWxzRGlmZgUAAAAKY2xhaW1TdGFydAkABEwAAAACCQEAAAAbSW52ZXN0T3BlcmF0aW9uSGlzdG9yeUVudHJ5AAAABAUAAAALdXNlckFkZHJlc3MFAAAACXBtdEFtb3VudAAAAAAAAAAAAAgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAADbmlsAAAAAWkBAAAABWNsYWltAAAAAgAAABBjbGFpbWVkQXNzZXRJZDU4AAAADXVzZXJBZGRyZXNzNTgEAAAAD2NhbGxlckFkZHJlc3M1OAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIDCQEAAAACIT0AAAACBQAAAA11c2VyQWRkcmVzczU4BQAAAA9jYWxsZXJBZGRyZXNzNTgJAAACAAAAAQIAAAAObm90IGF1dGhvcml6ZWQEAAAAEGNsYWltUmVzdWx0VHVwbGUJAQAAAA1pbnRlcm5hbENsYWltAAAAAwUAAAAQY2xhaW1lZEFzc2V0SWQ1OAgFAAAAAWkAAAAGY2FsbGVyCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAAp0b3RhbHNEaWZmCAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfMQQAAAAJb3V0QW1vdW50CAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfMgQAAAAKb3V0QXNzZXRJZAgFAAAAEGNsYWltUmVzdWx0VHVwbGUAAAACXzMEAAAAD29yaWdJbnZlc3RBcnJheQgFAAAAEGNsYWltUmVzdWx0VHVwbGUAAAACXzQEAAAAFG5ld0NsYWltUGVyaW9kSGVpZ2h0CAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfNQQAAAAaY2xhaW1lZFByaWNlQW1vdW50RnJvbURpZmYJAAGRAAAAAgUAAAAKdG90YWxzRGlmZgUAAAAiSWR4RGlmZkNsYWltZWRQcmljZUFtb3VudEluY3JlbWVudAQAAAAdY2xhaW1lZElkb0Fzc2V0QW1vdW50RnJvbURpZmYJAAGRAAAAAgUAAAAKdG90YWxzRGlmZgUAAAAlSWR4RGlmZkNsYWltZWRJZG9Bc3NldEFtb3VudEluY3JlbWVudAkABRQAAAACCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAJb3V0QW1vdW50BQAAAApvdXRBc3NldElkCQAETAAAAAIJAQAAAAtUb3RhbHNFbnRyeQAAAAQJAQAAAAtrZXlJbnZlc3RvcgAAAAEFAAAADXVzZXJBZGRyZXNzNTgFAAAAD29yaWdJbnZlc3RBcnJheQUAAAAKdG90YWxzRGlmZgUAAAAUbmV3Q2xhaW1QZXJpb2RIZWlnaHQJAARMAAAAAgkBAAAAC1RvdGFsc0VudHJ5AAAABAkBAAAACWtleVRvdGFscwAAAAAJAQAAABhyZWFkVG90YWxzQXJyYXlPckRlZmF1bHQAAAAABQAAAAp0b3RhbHNEaWZmBQAAABRuZXdDbGFpbVBlcmlvZEhlaWdodAkABEwAAAACCQEAAAAaQ2xhaW1PcGVyYXRpb25IaXN0b3J5RW50cnkAAAAEBQAAAA11c2VyQWRkcmVzczU4BQAAABpjbGFpbWVkUHJpY2VBbW91bnRGcm9tRGlmZgUAAAAdY2xhaW1lZElkb0Fzc2V0QW1vdW50RnJvbURpZmYIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAA25pbAUAAAAEdW5pdAAAAAFpAQAAAA1jbGFpbVJFQURPTkxZAAAAAgAAABBjbGFpbWVkQXNzZXRJZDU4AAAADXVzZXJBZGRyZXNzNTgEAAAAEGNsYWltUmVzdWx0VHVwbGUJAQAAAA1pbnRlcm5hbENsYWltAAAAAwUAAAAQY2xhaW1lZEFzc2V0SWQ1OAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAANdXNlckFkZHJlc3M1OAkAAlkAAAABAgAAAAAEAAAACnRvdGFsc0RpZmYIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl8xBAAAAAlvdXRBbW91bnQIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl8yBAAAAApvdXRBc3NldElkCAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfMwQAAAAPb3JpZ0ludmVzdEFycmF5CAUAAAAQY2xhaW1SZXN1bHRUdXBsZQAAAAJfNAQAAAAUbmV3Q2xhaW1QZXJpb2RIZWlnaHQIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl81BAAAABVhdmFpbGFibGVUb0NsYWltQXJyYXkIBQAAABBjbGFpbVJlc3VsdFR1cGxlAAAAAl82BAAAABthdmFpbGFibGVQcmljZUFtb3VudFRvQ2xhaW0JAAGRAAAAAgUAAAAVYXZhaWxhYmxlVG9DbGFpbUFycmF5AAAAAAAAAAAABAAAABlhdmFpbGFibGVJZG9BbW91bnRUb0NsYWltCQABkQAAAAIFAAAAFWF2YWlsYWJsZVRvQ2xhaW1BcnJheQAAAAAAAAAAAQkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVkJWQJAARMAAAAAgUAAAANdXNlckFkZHJlc3M1OAkABEwAAAACCQABpAAAAAEFAAAAG2F2YWlsYWJsZVByaWNlQW1vdW50VG9DbGFpbQkABEwAAAACCQABpAAAAAEFAAAAGWF2YWlsYWJsZUlkb0Ftb3VudFRvQ2xhaW0FAAAAA25pbAUAAAADU0VQAAAAALRRY/Q=", "chainId": 84, "height": 1674128, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4FUjXe68xDAhr1gnzRmuPBYENxxrTnJ9rQaGN6tmbVyU Next: EVPGbwWXxQU4D3xZoNFV4eGgJ2RcbmLD9aGaW6T9WiS9 Diff:
OldNewDifferences
139139 let aJ = parseIntValue(aH[O])
140140 let aK = if ((height > aD))
141141 then aD
142- else height
143- let aL = (aJ - aK)
142+ else if ((B > height))
143+ then B
144+ else height
145+ let aL = (aK - aJ)
144146 let aM = fraction(aI, aL, C)
145147 let aN = e(aM, H, h, D, F)
146- let aO = if ((aB == G))
147- then $Tuple3([0, -(aM), aM, 0], aM, aF)
148+ if ((aB == G))
149+ then $Tuple6([0, -(aM), aM, 0], aM, aF, aH, aK, [aM, aN])
148150 else if ((aB == E))
149- then $Tuple3([0, -(aM), 0, aN], aN, aE)
151+ then $Tuple6([0, -(aM), 0, aN], aN, aE, aH, aK, [aM, aN])
150152 else throw(("unsupported assetId: " + aB))
151- let aP = aO._1
152- let aQ = aO._2
153- let aR = aO._3
154- let aS = aP[an]
155- let aT = aP[ao]
156-[ScriptTransfer(aa, aQ, aR), ap(Z(aG), aH, aP, aK), ap(ab(), ai(), aP, aK), az(aG, aS, aT, ay)]
157153 }
158154
159155
160-func aU (aB,aG) = aA(aB, addressFromStringValue(aG), fromBase58String(""))
161-
162-
163-@Callable(aV)
156+@Callable(aO)
164157 func constructor (z,A,B,C,h,G,I) = {
165158 let D = ((100 * 1000) * 1000)
166- let aW = (z + A)
159+ let aP = (z + A)
167160 if (isDefined(getString(Y())))
168161 then throw("already initialized")
169- else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aV.caller)))
162+ else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aO.caller)))
170163 then throw("not authorized")
171- else if ((size(aV.payments) != 1))
164+ else if ((size(aO.payments) != 1))
172165 then throw("exactly 1 payment must be attached")
173- else if ((aW >= B))
166+ else if ((aP >= B))
174167 then throw("claimStart must be greater than idoEnd")
175168 else {
176- let aX = value(aV.payments[0])
177- let aE = value(aX.assetId)
178- let aY = valueOrErrorMessage(assetInfo(aE), "fail to load ido asset info")
169+ let aQ = value(aO.payments[0])
170+ let aE = value(aQ.assetId)
171+ let aR = valueOrErrorMessage(assetInfo(aE), "fail to load ido asset info")
179172 let E = toBase58String(aE)
180- let F = pow(10, 0, aY.decimals, 0, 0, DOWN)
173+ let F = pow(10, 0, aR.decimals, 0, 0, DOWN)
181174 let aF = fromBase58String(G)
182- let aZ = valueOrErrorMessage(assetInfo(aF), "fail to load price asset info")
183- let H = pow(10, 0, aZ.decimals, 0, 0, DOWN)
175+ let aS = valueOrErrorMessage(assetInfo(aF), "fail to load price asset info")
176+ let H = pow(10, 0, aS.decimals, 0, 0, DOWN)
184177 [StringEntry(Y(), J(z, A, B, C, h, D, E, F, G, H, I))]
185178 }
186179 }
187180
188181
189182
190-@Callable(aV)
183+@Callable(aO)
191184 func invest () = {
192185 let aC = af()
193186 let z = parseIntValue(aC[n])
194187 let A = parseIntValue(aC[o])
195- let aW = (z + A)
188+ let aP = (z + A)
196189 let B = parseIntValue(aC[p])
197190 let C = parseIntValue(aC[q])
198191 let h = parseIntValue(aC[r])
203196 let G = aC[v]
204197 let aF = fromBase58String(G)
205198 let H = parseIntValue(aC[w])
206- let ba = parseIntValue(aC[x])
207- let aa = toString(aV.caller)
199+ let aT = parseIntValue(aC[x])
200+ let aa = toString(aO.caller)
208201 if ((z > height))
209202 then throw("ido has not been started yet")
210- else if ((height > aW))
203+ else if ((height > aP))
211204 then throw("ido has been already ended")
212- else if ((size(aV.payments) != 1))
205+ else if ((size(aO.payments) != 1))
213206 then throw("exactly 1 payment is expected")
214207 else {
215- let aX = value(aV.payments[0])
216- let bb = value(aX.assetId)
217- let bc = aX.amount
218- if ((bb != aF))
219- then throw((("invalid payment asset id: " + toBase58String(bb)) + " is expected"))
220- else if ((ba > bc))
221- then throw(((("payment amount is less then min allowed: pmtAmount=" + toString(bc)) + " minIvestAmount=") + toString(ba)))
208+ let aQ = value(aO.payments[0])
209+ let aU = value(aQ.assetId)
210+ let aV = aQ.amount
211+ if ((aU != aF))
212+ then throw((("invalid payment asset id: " + toBase58String(aU)) + " is expected"))
213+ else if ((aT > aV))
214+ then throw(((("payment amount is less then min allowed: pmtAmount=" + toString(aV)) + " minIvestAmount=") + toString(aT)))
222215 else {
223- let bd = aj(aa)
224- let be = ai()
225- let bf = (parseIntValue(be[K]) + bc)
226- let bg = e(bf, H, h, D, F)
227- if ((bg > assetBalance(this, aE)))
216+ let aW = aj(aa)
217+ let aX = ai()
218+ let aY = (parseIntValue(aX[K]) + aV)
219+ let aZ = e(aY, H, h, D, F)
220+ if ((aZ > assetBalance(this, aE)))
228221 then throw("IDO asset has been - sold consider to use smaller payment")
229222 else {
230- let aP = [bc, bc, 0, 0]
231-[ap(Z(aa), bd, aP, B), ap(ab(), be, aP, B), ax(aa, bc, 0, aV.transactionId)]
223+ let ba = [aV, aV, 0, 0]
224+[ap(Z(aa), aW, ba, B), ap(ab(), aX, ba, B), ax(aa, aV, 0, aO.transactionId)]
232225 }
233226 }
234227 }
236229
237230
238231
239-@Callable(aV)
232+@Callable(aO)
240233 func claim (aB,aG) = {
241- let bh = toString(aV.caller)
242- if ((aG != bh))
234+ let bb = toString(aO.caller)
235+ if ((aG != bb))
243236 then throw("not authorized")
244- else $Tuple2(aA(aB, aV.caller, aV.transactionId), unit)
237+ else {
238+ let bc = aA(aB, aO.caller, aO.transactionId)
239+ let ba = bc._1
240+ let bd = bc._2
241+ let be = bc._3
242+ let aH = bc._4
243+ let aK = bc._5
244+ let bf = ba[an]
245+ let bg = ba[ao]
246+ $Tuple2([ScriptTransfer(aO.caller, bd, be), ap(Z(aG), aH, ba, aK), ap(ab(), ai(), ba, aK), az(aG, bf, bg, aO.transactionId)], unit)
247+ }
245248 }
246249
247250
248251
249-@Callable(aV)
250-func claimREADONLY (aB,aG) = $Tuple2(nil, aA(aB, addressFromStringValue(aG), fromBase58String("")))
252+@Callable(aO)
253+func claimREADONLY (aB,aG) = {
254+ let bc = aA(aB, addressFromStringValue(aG), fromBase58String(""))
255+ let ba = bc._1
256+ let bd = bc._2
257+ let be = bc._3
258+ let aH = bc._4
259+ let aK = bc._5
260+ let bh = bc._6
261+ let bi = bh[0]
262+ let bj = bh[1]
263+ $Tuple2(nil, makeString(["%s%d%d", aG, toString(bi), toString(bj)], c))
264+ }
251265
252266
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 = fraction(toBigInt(f), d, k)
1414 let m = fraction(l, k, toBigInt(h))
1515 toInt(fraction(m, toBigInt(j), d))
1616 }
1717
1818
1919 let n = 1
2020
2121 let o = 2
2222
2323 let p = 3
2424
2525 let q = 4
2626
2727 let r = 5
2828
2929 let s = 6
3030
3131 let t = 7
3232
3333 let u = 8
3434
3535 let v = 9
3636
3737 let w = 10
3838
3939 let x = 11
4040
4141 func y (z,A,B,C,h,D,E,F,G,H,I) = makeString(["%d%d%d%d%d%d%s%d%s%d%d", z, A, B, C, h, D, E, F, G, H, I], c)
4242
4343
4444 func J (z,A,B,C,h,D,E,F,G,H,I) = y(toString(z), toString(A), toString(B), toString(C), toString(h), toString(D), E, toString(F), G, toString(H), toString(I))
4545
4646
4747 let K = 1
4848
4949 let L = 2
5050
5151 let M = 3
5252
5353 let N = 4
5454
5555 let O = 5
5656
5757 func P (Q,R,S,T,U) = makeString(["%d%d%d%d%d", Q, R, S, T, U], c)
5858
5959
6060 func V (Q,R,S,T,U) = P(toString(Q), toString(R), toString(S), toString(T), toString(U))
6161
6262
6363 func W (f,X) = makeString(["%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(f), toString(X)], c)
6464
6565
6666 func Y () = "%s__config"
6767
6868
6969 func Z (aa) = ("%s__" + aa)
7070
7171
7272 func ab () = "%s__totals"
7373
7474
7575 func ac (ad,aa,ae) = makeString(["%s%s%s%s__history", ad, aa, ae], c)
7676
7777
7878 func af () = split(a(Y()), c)
7979
8080
8181 func ag (ah) = split(valueOrElse(getString(ah), P("0", "0", "0", "0", "0")), c)
8282
8383
8484 func ai () = ag(ab())
8585
8686
8787 func aj (aa) = ag(Z(aa))
8888
8989
9090 func ak (aa) = split(a(Z(aa)), c)
9191
9292
9393 let al = 0
9494
9595 let am = 1
9696
9797 let an = 2
9898
9999 let ao = 3
100100
101101 func ap (b,aq,ar,as) = {
102102 let Q = parseIntValue(aq[K])
103103 let R = parseIntValue(aq[L])
104104 let S = parseIntValue(aq[M])
105105 let T = parseIntValue(aq[N])
106106 let U = parseIntValue(aq[O])
107107 let at = (Q + ar[al])
108108 let au = (R + ar[am])
109109 let av = (S + ar[an])
110110 let aw = (T + ar[ao])
111111 if ((0 > au))
112112 then throw("invalid math")
113113 else StringEntry(b, V(at, au, av, aw, as))
114114 }
115115
116116
117117 func ax (aa,f,X,ay) = StringEntry(ac("invest", aa, toBase58String(ay)), W(f, X))
118118
119119
120120 func az (aa,f,X,ay) = StringEntry(ac("claim", aa, toBase58String(ay)), W(f, X))
121121
122122
123123 func aA (aB,aa,ay) = {
124124 let aC = af()
125125 let B = parseIntValue(aC[p])
126126 let C = parseIntValue(aC[q])
127127 let aD = (B + C)
128128 let h = parseIntValue(aC[r])
129129 let D = parseIntValue(aC[s])
130130 let E = aC[t]
131131 let aE = fromBase58String(E)
132132 let F = parseIntValue(aC[u])
133133 let G = aC[v]
134134 let aF = fromBase58String(G)
135135 let H = parseIntValue(aC[w])
136136 let aG = toString(aa)
137137 let aH = ak(aG)
138138 let aI = parseIntValue(aH[K])
139139 let aJ = parseIntValue(aH[O])
140140 let aK = if ((height > aD))
141141 then aD
142- else height
143- let aL = (aJ - aK)
142+ else if ((B > height))
143+ then B
144+ else height
145+ let aL = (aK - aJ)
144146 let aM = fraction(aI, aL, C)
145147 let aN = e(aM, H, h, D, F)
146- let aO = if ((aB == G))
147- then $Tuple3([0, -(aM), aM, 0], aM, aF)
148+ if ((aB == G))
149+ then $Tuple6([0, -(aM), aM, 0], aM, aF, aH, aK, [aM, aN])
148150 else if ((aB == E))
149- then $Tuple3([0, -(aM), 0, aN], aN, aE)
151+ then $Tuple6([0, -(aM), 0, aN], aN, aE, aH, aK, [aM, aN])
150152 else throw(("unsupported assetId: " + aB))
151- let aP = aO._1
152- let aQ = aO._2
153- let aR = aO._3
154- let aS = aP[an]
155- let aT = aP[ao]
156-[ScriptTransfer(aa, aQ, aR), ap(Z(aG), aH, aP, aK), ap(ab(), ai(), aP, aK), az(aG, aS, aT, ay)]
157153 }
158154
159155
160-func aU (aB,aG) = aA(aB, addressFromStringValue(aG), fromBase58String(""))
161-
162-
163-@Callable(aV)
156+@Callable(aO)
164157 func constructor (z,A,B,C,h,G,I) = {
165158 let D = ((100 * 1000) * 1000)
166- let aW = (z + A)
159+ let aP = (z + A)
167160 if (isDefined(getString(Y())))
168161 then throw("already initialized")
169- else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aV.caller)))
162+ else if (("3N4Aib5iubWiGMzdTh6wWiVDVbo32oeVUmH" != toString(aO.caller)))
170163 then throw("not authorized")
171- else if ((size(aV.payments) != 1))
164+ else if ((size(aO.payments) != 1))
172165 then throw("exactly 1 payment must be attached")
173- else if ((aW >= B))
166+ else if ((aP >= B))
174167 then throw("claimStart must be greater than idoEnd")
175168 else {
176- let aX = value(aV.payments[0])
177- let aE = value(aX.assetId)
178- let aY = valueOrErrorMessage(assetInfo(aE), "fail to load ido asset info")
169+ let aQ = value(aO.payments[0])
170+ let aE = value(aQ.assetId)
171+ let aR = valueOrErrorMessage(assetInfo(aE), "fail to load ido asset info")
179172 let E = toBase58String(aE)
180- let F = pow(10, 0, aY.decimals, 0, 0, DOWN)
173+ let F = pow(10, 0, aR.decimals, 0, 0, DOWN)
181174 let aF = fromBase58String(G)
182- let aZ = valueOrErrorMessage(assetInfo(aF), "fail to load price asset info")
183- let H = pow(10, 0, aZ.decimals, 0, 0, DOWN)
175+ let aS = valueOrErrorMessage(assetInfo(aF), "fail to load price asset info")
176+ let H = pow(10, 0, aS.decimals, 0, 0, DOWN)
184177 [StringEntry(Y(), J(z, A, B, C, h, D, E, F, G, H, I))]
185178 }
186179 }
187180
188181
189182
190-@Callable(aV)
183+@Callable(aO)
191184 func invest () = {
192185 let aC = af()
193186 let z = parseIntValue(aC[n])
194187 let A = parseIntValue(aC[o])
195- let aW = (z + A)
188+ let aP = (z + A)
196189 let B = parseIntValue(aC[p])
197190 let C = parseIntValue(aC[q])
198191 let h = parseIntValue(aC[r])
199192 let D = parseIntValue(aC[s])
200193 let E = aC[t]
201194 let aE = fromBase58String(E)
202195 let F = parseIntValue(aC[u])
203196 let G = aC[v]
204197 let aF = fromBase58String(G)
205198 let H = parseIntValue(aC[w])
206- let ba = parseIntValue(aC[x])
207- let aa = toString(aV.caller)
199+ let aT = parseIntValue(aC[x])
200+ let aa = toString(aO.caller)
208201 if ((z > height))
209202 then throw("ido has not been started yet")
210- else if ((height > aW))
203+ else if ((height > aP))
211204 then throw("ido has been already ended")
212- else if ((size(aV.payments) != 1))
205+ else if ((size(aO.payments) != 1))
213206 then throw("exactly 1 payment is expected")
214207 else {
215- let aX = value(aV.payments[0])
216- let bb = value(aX.assetId)
217- let bc = aX.amount
218- if ((bb != aF))
219- then throw((("invalid payment asset id: " + toBase58String(bb)) + " is expected"))
220- else if ((ba > bc))
221- then throw(((("payment amount is less then min allowed: pmtAmount=" + toString(bc)) + " minIvestAmount=") + toString(ba)))
208+ let aQ = value(aO.payments[0])
209+ let aU = value(aQ.assetId)
210+ let aV = aQ.amount
211+ if ((aU != aF))
212+ then throw((("invalid payment asset id: " + toBase58String(aU)) + " is expected"))
213+ else if ((aT > aV))
214+ then throw(((("payment amount is less then min allowed: pmtAmount=" + toString(aV)) + " minIvestAmount=") + toString(aT)))
222215 else {
223- let bd = aj(aa)
224- let be = ai()
225- let bf = (parseIntValue(be[K]) + bc)
226- let bg = e(bf, H, h, D, F)
227- if ((bg > assetBalance(this, aE)))
216+ let aW = aj(aa)
217+ let aX = ai()
218+ let aY = (parseIntValue(aX[K]) + aV)
219+ let aZ = e(aY, H, h, D, F)
220+ if ((aZ > assetBalance(this, aE)))
228221 then throw("IDO asset has been - sold consider to use smaller payment")
229222 else {
230- let aP = [bc, bc, 0, 0]
231-[ap(Z(aa), bd, aP, B), ap(ab(), be, aP, B), ax(aa, bc, 0, aV.transactionId)]
223+ let ba = [aV, aV, 0, 0]
224+[ap(Z(aa), aW, ba, B), ap(ab(), aX, ba, B), ax(aa, aV, 0, aO.transactionId)]
232225 }
233226 }
234227 }
235228 }
236229
237230
238231
239-@Callable(aV)
232+@Callable(aO)
240233 func claim (aB,aG) = {
241- let bh = toString(aV.caller)
242- if ((aG != bh))
234+ let bb = toString(aO.caller)
235+ if ((aG != bb))
243236 then throw("not authorized")
244- else $Tuple2(aA(aB, aV.caller, aV.transactionId), unit)
237+ else {
238+ let bc = aA(aB, aO.caller, aO.transactionId)
239+ let ba = bc._1
240+ let bd = bc._2
241+ let be = bc._3
242+ let aH = bc._4
243+ let aK = bc._5
244+ let bf = ba[an]
245+ let bg = ba[ao]
246+ $Tuple2([ScriptTransfer(aO.caller, bd, be), ap(Z(aG), aH, ba, aK), ap(ab(), ai(), ba, aK), az(aG, bf, bg, aO.transactionId)], unit)
247+ }
245248 }
246249
247250
248251
249-@Callable(aV)
250-func claimREADONLY (aB,aG) = $Tuple2(nil, aA(aB, addressFromStringValue(aG), fromBase58String("")))
252+@Callable(aO)
253+func claimREADONLY (aB,aG) = {
254+ let bc = aA(aB, addressFromStringValue(aG), fromBase58String(""))
255+ let ba = bc._1
256+ let bd = bc._2
257+ let be = bc._3
258+ let aH = bc._4
259+ let aK = bc._5
260+ let bh = bc._6
261+ let bi = bh[0]
262+ let bj = bh[1]
263+ $Tuple2(nil, makeString(["%s%d%d", aG, toString(bi), toString(bj)], c))
264+ }
251265
252266

github/deemru/w8io/169f3d6 
70.40 ms