tx · 6oV1s1suMBzpPtEZwmBoZkR7Ncggo2A58KjQUUsJbn7y

3PHpaXvHpdthSBwXzjJiNnAes6dqzgr9BcU:  -0.01500000 Waves

2022.08.11 17:46 [3245441] smart account 3PHpaXvHpdthSBwXzjJiNnAes6dqzgr9BcU > SELF 0.00000000 Waves

{ "type": 13, "id": "6oV1s1suMBzpPtEZwmBoZkR7Ncggo2A58KjQUUsJbn7y", "fee": 1500000, "feeAssetId": null, "timestamp": 1660228381806, "version": 1, "sender": "3PHpaXvHpdthSBwXzjJiNnAes6dqzgr9BcU", "senderPublicKey": "rtorwpe32pLWq5ZZJobchM1AJJcZ31hipQ5SW7i6xff", "proofs": [ "3wcgZcS3UkEU48KNxqSLR1sdZByC4aEmrSxxpXWPwosiwB33SX6T4gZDpEUcEFg5GvJmWLnECQWRMrXgKXsg2tVn" ], "script": "base64:AAIFAAAAAAAAABwIAhIFCgMBAQgSAwoBARIAEgMKAQESAwoBCBIAAAAAIAAAAAADU0VQAgAAAAJfXwAAAAALa2V5UmVmZXJyYWwJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAAAhyZWZlcnJhbAUAAAADbmlsBQAAAANTRVAAAAAADGtleVd4QXNzZXRJZAkABLkAAAACCQAETAAAAAICAAAAAiVzCQAETAAAAAICAAAACXd4QXNzZXRJZAUAAAADbmlsBQAAAANTRVABAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAAAgAAABQlc19fbWFuYWdlclB1YmxpY0tleQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAAAgAAABslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAAFUlkeENmZ0NsYWltU3RhcnRCbG9jawAAAAAAAAAAAQAAAAAYSWR4Q2ZnQ2xhaW1WZXN0aW5nUGVyaW9kAAAAAAAAAAACAAAAABJJZHhDZmdDbGFpbUFzc2V0SWQAAAAAAAAAAAMAAAAAFElkeENmZ0NsYWltQXNzZXRNdWx0AAAAAAAAAAAEAAAAABVJZHhDZmdDbGFpbUFzc2V0T3duZXIAAAAAAAAAAAUAAAAAG0lkeENmZ0NsYWltQXNzZXRUb3RhbEFtb3VudAAAAAAAAAAABgAAAAAbSWR4VG90YWxzVG90YWxDbGFpbWVkQW1vdW50AAAAAAAAAAABAAAAABhJZHhUb3RhbHNSZW1haW5pbmdBbW91bnQAAAAAAAAAAAIAAAAAGklkeFRvdGFsc0xhc3RDbGFpbWVkSGVpZ2h0AAAAAAAAAAADAQAAAAh0aHJvd0VycgAAAAEAAAADbXNnCQAAAgAAAAEJAAS5AAAAAgkABEwAAAACAgAAAA9tYXJrZXRpbmcucmlkZToJAARMAAAAAgUAAAADbXNnBQAAAANuaWwCAAAAASABAAAAD2dldFN0cmluZ09yRmFpbAAAAAEAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQiAAAAAQUAAAADa2V5CQABLAAAAAIJAAEsAAAAAgIAAAAPbWFuZGF0b3J5IHRoaXMuBQAAAANrZXkCAAAADyBpcyBub3QgZGVmaW5lZAEAAAASZm9ybWF0Q29uZmlnU3RyaW5nAAAABgAAAA9jbGFpbVN0YXJ0QmxvY2sAAAANdmVzdGluZ1BlcmlvZAAAAA1hc3NldElkQmFzZTU4AAAACWFzc2V0TXVsdAAAAAphc3NldE93bmVyAAAADWFzc2V0VG90YWxBbXQJAAS5AAAAAgkABEwAAAACAgAAAA0lZCVkJXMlZCVzJWQlCQAETAAAAAIFAAAAD2NsYWltU3RhcnRCbG9jawkABEwAAAACBQAAAA12ZXN0aW5nUGVyaW9kCQAETAAAAAIFAAAADWFzc2V0SWRCYXNlNTgJAARMAAAAAgUAAAAJYXNzZXRNdWx0CQAETAAAAAIFAAAACmFzc2V0T3duZXIJAARMAAAAAgUAAAANYXNzZXRUb3RhbEFtdAUAAAADbmlsBQAAAANTRVABAAAADGZvcm1hdENvbmZpZwAAAAYAAAAPY2xhaW1TdGFydEJsb2NrAAAADXZlc3RpbmdQZXJpb2QAAAANYXNzZXRJZEJhc2U1OAAAAAlhc3NldE11bHQAAAAPY2xhaW1Bc3NldE93bmVyAAAAFWNsYWltQXNzZXRUb3RhbEFtb3VudAkBAAAAEmZvcm1hdENvbmZpZ1N0cmluZwAAAAYJAAGkAAAAAQUAAAAPY2xhaW1TdGFydEJsb2NrCQABpAAAAAEFAAAADXZlc3RpbmdQZXJpb2QFAAAADWFzc2V0SWRCYXNlNTgJAAGkAAAAAQUAAAAJYXNzZXRNdWx0BQAAAA9jbGFpbUFzc2V0T3duZXIJAAGkAAAAAQUAAAAVY2xhaW1Bc3NldFRvdGFsQW1vdW50AQAAABJmb3JtYXRUb3RhbHNTdHJpbmcAAAADAAAAEnRvdGFsQ2xhaW1lZEFtb3VudAAAABdyZW1haW5pbmdBbW91bnRGb3JDbGFpbQAAABFsYXN0Q2xhaW1lZEhlaWdodAkABLkAAAACCQAETAAAAAICAAAABiVkJWQlZAkABEwAAAACBQAAABJ0b3RhbENsYWltZWRBbW91bnQJAARMAAAAAgUAAAAXcmVtYWluaW5nQW1vdW50Rm9yQ2xhaW0JAARMAAAAAgUAAAARbGFzdENsYWltZWRIZWlnaHQFAAAAA25pbAUAAAADU0VQAQAAABNmb3JtYXRIaXN0b3J5UmVjb3JkAAAABAAAABJjbGFpbWVkQXNzZXRBbW91bnQAAAAOY2xhaW1pbmdCbG9ja3MAAAAUZmlyc3RDYWx1bGF0aW9uQmxvY2sAAAATbGFzdENhbHVsYXRpb25CbG9jawkABLkAAAACCQAETAAAAAICAAAADCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAABmhlaWdodAkABEwAAAACCQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAETAAAAAIJAAGkAAAAAQUAAAASY2xhaW1lZEFzc2V0QW1vdW50CQAETAAAAAIJAAGkAAAAAQUAAAAOY2xhaW1pbmdCbG9ja3MJAARMAAAAAgkAAaQAAAABBQAAABRmaXJzdENhbHVsYXRpb25CbG9jawkABEwAAAACCQABpAAAAAEFAAAAE2xhc3RDYWx1bGF0aW9uQmxvY2sFAAAAA25pbAUAAAADU0VQAQAAAAlrZXlDb25maWcAAAAAAgAAAAolc19fY29uZmlnAQAAAAlrZXlUb3RhbHMAAAAAAgAAAAolc19fdG90YWxzAAAAABJrZXlBbW91bnRVbmNsYWltZWQJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACAgAAAA9hbW91bnRVbmNsYWltZWQFAAAAA25pbAUAAAADU0VQAQAAABlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkAAAAAwAAAAR0eXBlAAAAC3VzZXJBZGRyZXNzAAAABnR4SWQ1OAkABLkAAAACCQAETAAAAAICAAAAESVzJXMlcyVzX19oaXN0b3J5CQAETAAAAAIFAAAABHR5cGUJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgUAAAAGdHhJZDU4BQAAAANuaWwFAAAAA1NFUAEAAAAPcmVhZENvbmZpZ0FycmF5AAAAAAkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAACWtleUNvbmZpZwAAAAAFAAAAA1NFUAEAAAAPcmVhZFRvdGFsc0FycmF5AAAAAAkABLUAAAACCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAACWtleVRvdGFscwAAAAAFAAAAA1NFUAEAAAALVG90YWxzRW50cnkAAAAEAAAAA2tleQAAAAlvcmlnQXJyYXkAAAAKY2xhaW1lZEFtdAAAABRuZXdMYXN0Q2xhaW1lZEhlaWdodAQAAAASdG90YWxDbGFpbWVkQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJb3JpZ0FycmF5BQAAABtJZHhUb3RhbHNUb3RhbENsYWltZWRBbW91bnQEAAAAD3JlbWFpbmluZ0Ftb3VudAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAAYSWR4VG90YWxzUmVtYWluaW5nQW1vdW50BAAAABFsYXN0Q2xhaW1lZEhlaWdodAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACW9yaWdBcnJheQUAAAAaSWR4VG90YWxzTGFzdENsYWltZWRIZWlnaHQEAAAAFW5ld1RvdGFsQ2xhaW1lZEFtb3VudAkAAGQAAAACBQAAABJ0b3RhbENsYWltZWRBbW91bnQFAAAACmNsYWltZWRBbXQEAAAAEm5ld1JlbWFpbmluZ0Ftb3VudAkAAGUAAAACBQAAAA9yZW1haW5pbmdBbW91bnQFAAAACmNsYWltZWRBbXQDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEm5ld1JlbWFpbmluZ0Ftb3VudAkAAAIAAAABAgAAAAxpbnZhbGlkIG1hdGgJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAA2tleQkBAAAAEmZvcm1hdFRvdGFsc1N0cmluZwAAAAMJAAGkAAAAAQUAAAAVbmV3VG90YWxDbGFpbWVkQW1vdW50CQABpAAAAAEFAAAAEm5ld1JlbWFpbmluZ0Ftb3VudAkAAaQAAAABBQAAABRuZXdMYXN0Q2xhaW1lZEhlaWdodAEAAAAaQ2xhaW1PcGVyYXRpb25IaXN0b3J5RW50cnkAAAAGAAAAC3VzZXJBZGRyZXNzAAAAEmNsYWltZWRBc3NldEFtb3VudAAAAA5jbGFpbWluZ0Jsb2NrcwAAABVmaXJzdENhbGN1bGF0aW9uQmxvY2sAAAAUbGFzdENhbGN1bGF0aW9uQmxvY2sAAAAEdHhJZAkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQAAAADAgAAAAVjbGFpbQUAAAALdXNlckFkZHJlc3MJAAJYAAAAAQUAAAAEdHhJZAkBAAAAE2Zvcm1hdEhpc3RvcnlSZWNvcmQAAAAEBQAAABJjbGFpbWVkQXNzZXRBbW91bnQFAAAADmNsYWltaW5nQmxvY2tzBQAAABVmaXJzdENhbGN1bGF0aW9uQmxvY2sFAAAAFGxhc3RDYWxjdWxhdGlvbkJsb2NrAQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAHJG1hdGNoMAkABCIAAAABCQEAAAATa2V5TWFuYWdlclB1YmxpY0tleQAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABcwUAAAAHJG1hdGNoMAkAAlkAAAABBQAAAAFzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BQAAAAR1bml0CQAAAgAAAAECAAAAC01hdGNoIGVycm9yAQAAAB1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAAAAAEAAAAByRtYXRjaDAJAAQiAAAAAQkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFzBQAAAAckbWF0Y2gwCQACWQAAAAEFAAAAAXMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQFAAAABHVuaXQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAAC211c3RNYW5hZ2VyAAAAAQAAAAFpBAAAAAJwZAkBAAAACHRocm93RXJyAAAAAQIAAAARcGVybWlzc2lvbiBkZW5pZWQEAAAAByRtYXRjaDAJAQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACcGsFAAAAByRtYXRjaDADCQAAAAAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAACcGsGBQAAAAJwZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzBgUAAAACcGQJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IBAAAAC2NsYWltQ29tbW9uAAAAAgAAAAFpAAAABmFtb3VudAQAAAAIY2ZnQXJyYXkJAQAAAA9yZWFkQ29uZmlnQXJyYXkAAAAABAAAABNjZmdDbGFpbVN0YXJ0SGVpZ2h0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAIY2ZnQXJyYXkFAAAAFUlkeENmZ0NsYWltU3RhcnRCbG9jawQAAAAQY2ZnQ2xhaW1EdXJhdGlvbgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABhJZHhDZmdDbGFpbVZlc3RpbmdQZXJpb2QEAAAAC2NmZ0NsYWltRW5kCQAAZAAAAAIFAAAAE2NmZ0NsYWltU3RhcnRIZWlnaHQFAAAAEGNmZ0NsYWltRHVyYXRpb24EAAAAD2NmZ0NsYWltQXNzZXRJZAkAAlkAAAABCQABkQAAAAIFAAAACGNmZ0FycmF5BQAAABJJZHhDZmdDbGFpbUFzc2V0SWQEAAAAEmNmZ0NsYWltQXNzZXRPd25lcgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAVSWR4Q2ZnQ2xhaW1Bc3NldE93bmVyBAAAABhjZmdDbGFpbUFzc2V0VG90YWxBbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAhjZmdBcnJheQUAAAAbSWR4Q2ZnQ2xhaW1Bc3NldFRvdGFsQW1vdW50BAAAAA9vcmlnVG90YWxzQXJyYXkJAQAAAA9yZWFkVG90YWxzQXJyYXkAAAAABAAAABJ0b3RhbENsYWltZWRBbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnVG90YWxzQXJyYXkFAAAAG0lkeFRvdGFsc1RvdGFsQ2xhaW1lZEFtb3VudAQAAAAUdG90YWxSZW1haW5pbmdBbW91bnQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnVG90YWxzQXJyYXkFAAAAGElkeFRvdGFsc1JlbWFpbmluZ0Ftb3VudAQAAAARbGFzdENsYWltZWRIZWlnaHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9vcmlnVG90YWxzQXJyYXkFAAAAGklkeFRvdGFsc0xhc3RDbGFpbWVkSGVpZ2h0AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABJjZmdDbGFpbUFzc2V0T3duZXIJAAACAAAAAQIAAAAScGVybWlzc2lvbnMgZGVuaWVkAwkAAGYAAAACBQAAABNjZmdDbGFpbVN0YXJ0SGVpZ2h0BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACAgAAABhXYWl0IGNsYWltIHN0YXJ0IGJsb2NrOiAJAAGkAAAAAQUAAAATY2ZnQ2xhaW1TdGFydEhlaWdodAQAAAATbGFzdENhbHVsYXRpb25CbG9jawMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAAtjZmdDbGFpbUVuZAUAAAALY2ZnQ2xhaW1FbmQFAAAABmhlaWdodAQAAAAUZmlyc3RDYWx1bGF0aW9uQmxvY2sDCQAAAAAAAAIFAAAAEWxhc3RDbGFpbWVkSGVpZ2h0AAAAAAAAAAAABQAAABNjZmdDbGFpbVN0YXJ0SGVpZ2h0BQAAABFsYXN0Q2xhaW1lZEhlaWdodAQAAAAOY2xhaW1pbmdCbG9ja3MJAABlAAAAAgUAAAATbGFzdENhbHVsYXRpb25CbG9jawUAAAAUZmlyc3RDYWx1bGF0aW9uQmxvY2sEAAAAD2Ftb3VudEF2YWlsYWJsZQkAAGsAAAADBQAAABhjZmdDbGFpbUFzc2V0VG90YWxBbW91bnQFAAAADmNsYWltaW5nQmxvY2tzBQAAABBjZmdDbGFpbUR1cmF0aW9uBAAAAA9hbW91bnRVbmNsYWltZWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5QW1vdW50VW5jbGFpbWVkAAAAAAAAAAAABAAAABRhbW91bnRBdmFpbGFibGVUb3RhbAkAAGQAAAACBQAAAA9hbW91bnRBdmFpbGFibGUFAAAAD2Ftb3VudFVuY2xhaW1lZAQAAAANYW1vdW50VG9DbGFpbQMDCQAAZwAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAYJAABnAAAAAgUAAAAGYW1vdW50BQAAABRhbW91bnRBdmFpbGFibGVUb3RhbAUAAAAUYW1vdW50QXZhaWxhYmxlVG90YWwFAAAABmFtb3VudAQAAAASYW1vdW50VW5jbGFpbWVkTmV3CQAAZQAAAAIFAAAAFGFtb3VudEF2YWlsYWJsZVRvdGFsBQAAAA1hbW91bnRUb0NsYWltCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleUFtb3VudFVuY2xhaW1lZAUAAAASYW1vdW50VW5jbGFpbWVkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEmNmZ0NsYWltQXNzZXRPd25lcgUAAAANYW1vdW50VG9DbGFpbQUAAAAPY2ZnQ2xhaW1Bc3NldElkCQAETAAAAAIJAQAAAAtUb3RhbHNFbnRyeQAAAAQJAQAAAAlrZXlUb3RhbHMAAAAACQEAAAAPcmVhZFRvdGFsc0FycmF5AAAAAAUAAAANYW1vdW50VG9DbGFpbQUAAAATbGFzdENhbHVsYXRpb25CbG9jawkABEwAAAACCQEAAAAaQ2xhaW1PcGVyYXRpb25IaXN0b3J5RW50cnkAAAAGCQAEJQAAAAEFAAAAEmNmZ0NsYWltQXNzZXRPd25lcgUAAAANYW1vdW50VG9DbGFpbQUAAAAOY2xhaW1pbmdCbG9ja3MFAAAAFGZpcnN0Q2FsdWxhdGlvbkJsb2NrBQAAABNsYXN0Q2FsdWxhdGlvbkJsb2NrCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAANuaWwFAAAADWFtb3VudFRvQ2xhaW0AAAAGAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAAAwAAAA9jbGFpbVN0YXJ0QmxvY2sAAAATdmVzdGluZ1BlcmlvZEJsb2NrcwAAABJiZW5lZmljaWFyeUFkZHJlc3MEAAAACnZlc3RpbmdFbmQJAABkAAAAAgUAAAAPY2xhaW1TdGFydEJsb2NrBQAAABN2ZXN0aW5nUGVyaW9kQmxvY2tzAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQiAAAAAQkBAAAACWtleUNvbmZpZwAAAAAJAAACAAAAAQIAAAATYWxyZWFkeSBpbml0aWFsaXplZAMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQEAAAAgEdQ5ZIJdvXbTs0YKKfQ9JRQr8vkMxCViWbhknd/V+HoJAAACAAAAAQIAAAAObm90IGF1dGhvcml6ZWQEAAAAGGJlbmVmaWNpYXJ5QWRkcmVzc1BhcnNlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEFAAAAEmJlbmVmaWNpYXJ5QWRkcmVzcwIAAAAgSW52YWxpZCBiZW5lZmljaWFyQWRkcmVzcyBwYXNzZWQEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAMY2xhaW1Bc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAADmNsYWltQXNzZXRJbmZvCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPsAAAAAQUAAAAMY2xhaW1Bc3NldElkAgAAABtmYWlsIHRvIGxvYWQgaWRvIGFzc2V0IGluZm8EAAAADmNsYWltQXNzZXRJZDU4CQACWAAAAAEFAAAADGNsYWltQXNzZXRJZAQAAAAOY2xhaW1Bc3NldE11bHQJAABsAAAABgAAAAAAAAAACgAAAAAAAAAAAAgFAAAADmNsYWltQXNzZXRJbmZvAAAACGRlY2ltYWxzAAAAAAAAAAAAAAAAAAAAAAAABQAAAARET1dOBAAAABBjbGFpbUFzc2V0QW1vdW50CAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAJa2V5Q29uZmlnAAAAAAkBAAAADGZvcm1hdENvbmZpZwAAAAYFAAAAD2NsYWltU3RhcnRCbG9jawUAAAATdmVzdGluZ1BlcmlvZEJsb2NrcwUAAAAOY2xhaW1Bc3NldElkNTgFAAAADmNsYWltQXNzZXRNdWx0CQAEJQAAAAEFAAAAGGJlbmVmaWNpYXJ5QWRkcmVzc1BhcnNlZAUAAAAQY2xhaW1Bc3NldEFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAJa2V5VG90YWxzAAAAAAkBAAAAEmZvcm1hdFRvdGFsc1N0cmluZwAAAAMCAAAAATAJAAGkAAAAAQUAAAAQY2xhaW1Bc3NldEFtb3VudAIAAAABMAUAAAADbmlsAAAAAWkBAAAAC2NsYWltQW1vdW50AAAAAQAAAAZhbW91bnQJAQAAAAtjbGFpbUNvbW1vbgAAAAIFAAAAAWkFAAAABmFtb3VudAAAAAFpAQAAAAVjbGFpbQAAAAAJAQAAAAtjbGFpbUNvbW1vbgAAAAIFAAAAAWkA//////////8AAAABaQEAAAAWd2l0aGRyYXdSZWZlcnJhbFJld2FyZAAAAAEAAAAId3hBbW91bnQEAAAAF3JlZmVycmFsQ29udHJhY3RBZGRyZXNzCQEAAAAFdmFsdWUAAAABCQAEIgAAAAEFAAAAC2tleVJlZmVycmFsBAAAAAxtdXN0UmVmZXJyYWwDCQAAAAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABdyZWZlcnJhbENvbnRyYWN0QWRkcmVzcwYJAQAAAAh0aHJvd0VycgAAAAECAAAAEXBlcm1pc3Npb24gZGVuaWVkAwkAAAAAAAACBQAAAAxtdXN0UmVmZXJyYWwFAAAADG11c3RSZWZlcnJhbAQAAAAJd3hBc3NldElkCQACWQAAAAEJAQAAAAV2YWx1ZQAAAAEJAAQiAAAAAQUAAAAMa2V5V3hBc3NldElkCQAFFAAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAh3eEFtb3VudAUAAAAJd3hBc3NldElkCQAETAAAAAIJAQAAABpDbGFpbU9wZXJhdGlvbkhpc3RvcnlFbnRyeQAAAAYFAAAAF3JlZmVycmFsQ29udHJhY3RBZGRyZXNzBQAAAAh3eEFtb3VudAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAADbmlsBQAAAAR1bml0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAApzZXRNYW5hZ2VyAAAAAQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQQAAAALY2hlY2tDYWxsZXIJAQAAAAttdXN0TWFuYWdlcgAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAAVY2hlY2tNYW5hZ2VyUHVibGljS2V5CQACWQAAAAEFAAAAF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5AwkAAAAAAAACBQAAABVjaGVja01hbmFnZXJQdWJsaWNLZXkFAAAAFWNoZWNrTWFuYWdlclB1YmxpY0tleQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAAAABQAAABdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAOY29uZmlybU1hbmFnZXIAAAAABAAAAAJwbQkBAAAAHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAQAAAAFaGFzUE0DCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAACcG0GCQEAAAAIdGhyb3dFcnIAAAABAgAAABJubyBwZW5kaW5nIG1hbmFnZXIDCQAAAAAAAAIFAAAABWhhc1BNBQAAAAVoYXNQTQQAAAAHY2hlY2tQTQMJAAAAAAAAAggFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQEAAAAFdmFsdWUAAAABBQAAAAJwbQYJAQAAAAh0aHJvd0VycgAAAAECAAAAG3lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAAAAAAAAgUAAAAHY2hlY2tQTQUAAAAHY2hlY2tQTQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAATa2V5TWFuYWdlclB1YmxpY0tleQAAAAAJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQUAAAACcG0JAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAAGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAA90YXJnZXRQdWJsaWNLZXkEAAAAByRtYXRjaDAJAQAAABZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACcGsFAAAAByRtYXRjaDAFAAAAAnBrAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0CAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5CQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAPdGFyZ2V0UHVibGljS2V5l5Hrzw==", "chainId": 87, "height": 3245441, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AC6MkDTuC52JTzE4jmAoaHACfowerftpyhzFoZ6bnv5w Next: 2mHmW6wr4PV41KCMQqpWPYiyLedB9iGfZuMcBkUW6hoy Diff:
OldNewDifferences
5555 func M () = "%s__totals"
5656
5757
58-func N (O,P,Q) = makeString(["%s%s%s%s__history", O, P, Q], a)
58+let N = makeString(["%s", "amountUnclaimed"], a)
59+
60+func O (P,Q,R) = makeString(["%s%s%s%s__history", P, Q, R], a)
5961
6062
61-func R () = split(q(L()), a)
63+func S () = split(q(L()), a)
6264
6365
64-func S () = split(q(M()), a)
66+func T () = split(q(M()), a)
6567
6668
67-func T (r,U,V,W) = {
68- let D = parseIntValue(U[l])
69- let X = parseIntValue(U[m])
70- let F = parseIntValue(U[n])
71- let Y = (D + V)
72- let Z = (X - V)
73- if ((0 > Z))
69+func U (r,V,W,X) = {
70+ let D = parseIntValue(V[l])
71+ let Y = parseIntValue(V[m])
72+ let F = parseIntValue(V[n])
73+ let Z = (D + W)
74+ let aa = (Y - W)
75+ if ((0 > aa))
7476 then throw("invalid math")
75- else StringEntry(r, C(toString(Y), toString(Z), toString(W)))
77+ else StringEntry(r, C(toString(Z), toString(aa), toString(X)))
7678 }
7779
7880
79-func aa (P,H,I,ab,ac,ad) = StringEntry(N("claim", P, toBase58String(ad)), G(H, I, ab, ac))
81+func ab (Q,H,I,ac,ad,ae) = StringEntry(O("claim", Q, toBase58String(ae)), G(H, I, ac, ad))
8082
8183
82-func ae () = {
83- let af = getString(d())
84- if ($isInstanceOf(af, "String"))
84+func af () = {
85+ let ag = getString(d())
86+ if ($isInstanceOf(ag, "String"))
8587 then {
86- let ag = af
87- fromBase58String(ag)
88+ let ah = ag
89+ fromBase58String(ah)
8890 }
89- else if ($isInstanceOf(af, "Unit"))
91+ else if ($isInstanceOf(ag, "Unit"))
9092 then unit
9193 else throw("Match error")
9294 }
9395
9496
95-func ah () = {
96- let af = getString(e())
97- if ($isInstanceOf(af, "String"))
97+func ai () = {
98+ let ag = getString(e())
99+ if ($isInstanceOf(ag, "String"))
98100 then {
99- let ag = af
100- fromBase58String(ag)
101+ let ah = ag
102+ fromBase58String(ah)
101103 }
102- else if ($isInstanceOf(af, "Unit"))
104+ else if ($isInstanceOf(ag, "Unit"))
103105 then unit
104106 else throw("Match error")
105107 }
106108
107109
108-func ai (aj) = {
109- let ak = o("permission denied")
110- let af = ae()
111- if ($isInstanceOf(af, "ByteVector"))
110+func aj (ak) = {
111+ let al = o("permission denied")
112+ let ag = af()
113+ if ($isInstanceOf(ag, "ByteVector"))
112114 then {
113- let al = af
114- if ((aj.callerPublicKey == al))
115+ let am = ag
116+ if ((ak.callerPublicKey == am))
115117 then true
116- else ak
118+ else al
117119 }
118- else if ($isInstanceOf(af, "Unit"))
119- then if ((aj.caller == this))
120+ else if ($isInstanceOf(ag, "Unit"))
121+ then if ((ak.caller == this))
120122 then true
121- else ak
123+ else al
122124 else throw("Match error")
123125 }
124126
125127
126-@Callable(aj)
127-func constructor (t,am,an) = {
128- let ao = (t + am)
128+func an (ak,ao) = {
129+ let ap = S()
130+ let aq = parseIntValue(ap[f])
131+ let ar = parseIntValue(ap[g])
132+ let as = (aq + ar)
133+ let at = fromBase58String(ap[h])
134+ let au = addressFromStringValue(ap[j])
135+ let av = parseIntValue(ap[k])
136+ let aw = T()
137+ let D = parseIntValue(aw[l])
138+ let ax = parseIntValue(aw[m])
139+ let F = parseIntValue(aw[n])
140+ if ((ak.caller != au))
141+ then throw("permissions denied")
142+ else if ((aq > height))
143+ then throw(("Wait claim start block: " + toString(aq)))
144+ else {
145+ let K = if ((height > as))
146+ then as
147+ else height
148+ let J = if ((F == 0))
149+ then aq
150+ else F
151+ let I = (K - J)
152+ let ay = fraction(av, I, ar)
153+ let az = valueOrElse(getInteger(this, N), 0)
154+ let aA = (ay + az)
155+ let aB = if (if ((0 >= ao))
156+ then true
157+ else (ao >= aA))
158+ then aA
159+ else ao
160+ let aC = (aA - aB)
161+ $Tuple2([IntegerEntry(N, aC), ScriptTransfer(au, aB, at), U(M(), T(), aB, K), ab(toString(au), aB, I, J, K, ak.transactionId)], aB)
162+ }
163+ }
164+
165+
166+@Callable(ak)
167+func constructor (t,aD,aE) = {
168+ let aF = (t + aD)
129169 if (isDefined(getString(L())))
130170 then throw("already initialized")
131- else if ((size(aj.payments) != 1))
171+ else if ((size(ak.payments) != 1))
132172 then throw("exactly 1 payment must be attached")
133- else if ((aj.callerPublicKey != base58'2Cbd8ozG7A1RyRNC3nNnZgHu7Ru4K3JCfpyPkhqr9zxq'))
173+ else if ((ak.callerPublicKey != base58'2Cbd8ozG7A1RyRNC3nNnZgHu7Ru4K3JCfpyPkhqr9zxq'))
134174 then throw("not authorized")
135175 else {
136- let ap = valueOrErrorMessage(addressFromString(an), "Invalid beneficiarAddress passed")
137- let aq = value(aj.payments[0])
138- let ar = value(aq.assetId)
139- let as = valueOrErrorMessage(assetInfo(ar), "fail to load ido asset info")
140- let at = toBase58String(ar)
141- let au = pow(10, 0, as.decimals, 0, 0, DOWN)
142- let av = aq.amount
143-[StringEntry(L(), z(t, am, at, au, toString(ap), av)), StringEntry(M(), C("0", toString(av), "0"))]
176+ let aG = valueOrErrorMessage(addressFromString(aE), "Invalid beneficiarAddress passed")
177+ let aH = value(ak.payments[0])
178+ let aI = value(aH.assetId)
179+ let aJ = valueOrErrorMessage(assetInfo(aI), "fail to load ido asset info")
180+ let aK = toBase58String(aI)
181+ let aL = pow(10, 0, aJ.decimals, 0, 0, DOWN)
182+ let aM = aH.amount
183+[StringEntry(L(), z(t, aD, aK, aL, toString(aG), aM)), StringEntry(M(), C("0", toString(aM), "0"))]
144184 }
145185 }
146186
147187
148188
149-@Callable(aj)
150-func claim () = {
151- let aw = R()
152- let ax = parseIntValue(aw[f])
153- let ay = parseIntValue(aw[g])
154- let az = (ax + ay)
155- let aA = aw[h]
156- let aB = aw[j]
157- let aC = parseIntValue(aw[k])
158- let P = aj.caller
159- let aD = toString(P)
160- let aE = S()
161- let D = parseIntValue(aE[l])
162- let aF = parseIntValue(aE[m])
163- let F = parseIntValue(aE[n])
164- if ((aD != aB))
165- then throw("permissions denied")
166- else if ((ax > height))
167- then throw(("Wait claim start block: " + toString(ax)))
168- else {
169- let K = if ((height > az))
170- then az
171- else height
172- let J = if ((F == 0))
173- then ax
174- else F
175- let I = (K - J)
176- let aG = fraction(aC, I, ay)
177-[ScriptTransfer(P, aG, fromBase58String(aA)), T(M(), S(), aG, K), aa(aD, aG, I, J, K, aj.transactionId)]
178- }
179- }
189+@Callable(ak)
190+func claimAmount (ao) = an(ak, ao)
180191
181192
182193
183-@Callable(aj)
184-func withdrawReferralReward (aH) = {
185- let aI = if ((toString(aj.caller) == value(getString(b))))
194+@Callable(ak)
195+func claim () = an(ak, -1)
196+
197+
198+
199+@Callable(ak)
200+func withdrawReferralReward (aN) = {
201+ let aO = value(getString(b))
202+ let aP = if ((toString(ak.caller) == aO))
186203 then true
187204 else o("permission denied")
188- if ((aI == aI))
205+ if ((aP == aP))
189206 then {
190- let aJ = fromBase58String(value(getString(c)))
191- $Tuple2([ScriptTransfer(aj.caller, aH, aJ)], unit)
207+ let aQ = fromBase58String(value(getString(c)))
208+ $Tuple2([ScriptTransfer(ak.caller, aN, aQ), ab(aO, aN, 0, 0, 0, ak.transactionId)], unit)
192209 }
193210 else throw("Strict value is not equal to itself.")
194211 }
195212
196213
197214
198-@Callable(aj)
199-func setManager (aK) = {
200- let aL = ai(aj)
201- if ((aL == aL))
215+@Callable(ak)
216+func setManager (aR) = {
217+ let aS = aj(ak)
218+ if ((aS == aS))
202219 then {
203- let aM = fromBase58String(aK)
204- if ((aM == aM))
205- then [StringEntry(e(), aK)]
220+ let aT = fromBase58String(aR)
221+ if ((aT == aT))
222+ then [StringEntry(e(), aR)]
206223 else throw("Strict value is not equal to itself.")
207224 }
208225 else throw("Strict value is not equal to itself.")
210227
211228
212229
213-@Callable(aj)
230+@Callable(ak)
214231 func confirmManager () = {
215- let aN = ah()
216- let aO = if (isDefined(aN))
232+ let aU = ai()
233+ let aV = if (isDefined(aU))
217234 then true
218235 else o("no pending manager")
219- if ((aO == aO))
236+ if ((aV == aV))
220237 then {
221- let aP = if ((aj.callerPublicKey == value(aN)))
238+ let aW = if ((ak.callerPublicKey == value(aU)))
222239 then true
223240 else o("you are not pending manager")
224- if ((aP == aP))
225- then [StringEntry(d(), toBase58String(value(aN))), DeleteEntry(e())]
241+ if ((aW == aW))
242+ then [StringEntry(d(), toBase58String(value(aU))), DeleteEntry(e())]
226243 else throw("Strict value is not equal to itself.")
227244 }
228245 else throw("Strict value is not equal to itself.")
229246 }
230247
231248
232-@Verifier(aQ)
233-func aR () = {
234- let aS = {
235- let af = ae()
236- if ($isInstanceOf(af, "ByteVector"))
249+@Verifier(aX)
250+func aY () = {
251+ let aZ = {
252+ let ag = af()
253+ if ($isInstanceOf(ag, "ByteVector"))
237254 then {
238- let al = af
239- al
255+ let am = ag
256+ am
240257 }
241- else if ($isInstanceOf(af, "Unit"))
242- then aQ.senderPublicKey
258+ else if ($isInstanceOf(ag, "Unit"))
259+ then aX.senderPublicKey
243260 else throw("Match error")
244261 }
245- sigVerify(aQ.bodyBytes, aQ.proofs[0], aS)
262+ sigVerify(aX.bodyBytes, aX.proofs[0], aZ)
246263 }
247264
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = makeString(["%s", "referral"], a)
77
88 let c = makeString(["%s", "wxAssetId"], a)
99
1010 func d () = "%s__managerPublicKey"
1111
1212
1313 func e () = "%s__pendingManagerPublicKey"
1414
1515
1616 let f = 1
1717
1818 let g = 2
1919
2020 let h = 3
2121
2222 let i = 4
2323
2424 let j = 5
2525
2626 let k = 6
2727
2828 let l = 1
2929
3030 let m = 2
3131
3232 let n = 3
3333
3434 func o (p) = throw(makeString(["marketing.ride:", p], " "))
3535
3636
3737 func q (r) = valueOrErrorMessage(getString(r), (("mandatory this." + r) + " is not defined"))
3838
3939
4040 func s (t,u,v,w,x,y) = makeString(["%d%d%s%d%s%d%", t, u, v, w, x, y], a)
4141
4242
4343 func z (t,u,v,w,A,B) = s(toString(t), toString(u), v, toString(w), A, toString(B))
4444
4545
4646 func C (D,E,F) = makeString(["%d%d%d", D, E, F], a)
4747
4848
4949 func G (H,I,J,K) = makeString(["%d%d%d%d%d%d", toString(height), toString(lastBlock.timestamp), toString(H), toString(I), toString(J), toString(K)], a)
5050
5151
5252 func L () = "%s__config"
5353
5454
5555 func M () = "%s__totals"
5656
5757
58-func N (O,P,Q) = makeString(["%s%s%s%s__history", O, P, Q], a)
58+let N = makeString(["%s", "amountUnclaimed"], a)
59+
60+func O (P,Q,R) = makeString(["%s%s%s%s__history", P, Q, R], a)
5961
6062
61-func R () = split(q(L()), a)
63+func S () = split(q(L()), a)
6264
6365
64-func S () = split(q(M()), a)
66+func T () = split(q(M()), a)
6567
6668
67-func T (r,U,V,W) = {
68- let D = parseIntValue(U[l])
69- let X = parseIntValue(U[m])
70- let F = parseIntValue(U[n])
71- let Y = (D + V)
72- let Z = (X - V)
73- if ((0 > Z))
69+func U (r,V,W,X) = {
70+ let D = parseIntValue(V[l])
71+ let Y = parseIntValue(V[m])
72+ let F = parseIntValue(V[n])
73+ let Z = (D + W)
74+ let aa = (Y - W)
75+ if ((0 > aa))
7476 then throw("invalid math")
75- else StringEntry(r, C(toString(Y), toString(Z), toString(W)))
77+ else StringEntry(r, C(toString(Z), toString(aa), toString(X)))
7678 }
7779
7880
79-func aa (P,H,I,ab,ac,ad) = StringEntry(N("claim", P, toBase58String(ad)), G(H, I, ab, ac))
81+func ab (Q,H,I,ac,ad,ae) = StringEntry(O("claim", Q, toBase58String(ae)), G(H, I, ac, ad))
8082
8183
82-func ae () = {
83- let af = getString(d())
84- if ($isInstanceOf(af, "String"))
84+func af () = {
85+ let ag = getString(d())
86+ if ($isInstanceOf(ag, "String"))
8587 then {
86- let ag = af
87- fromBase58String(ag)
88+ let ah = ag
89+ fromBase58String(ah)
8890 }
89- else if ($isInstanceOf(af, "Unit"))
91+ else if ($isInstanceOf(ag, "Unit"))
9092 then unit
9193 else throw("Match error")
9294 }
9395
9496
95-func ah () = {
96- let af = getString(e())
97- if ($isInstanceOf(af, "String"))
97+func ai () = {
98+ let ag = getString(e())
99+ if ($isInstanceOf(ag, "String"))
98100 then {
99- let ag = af
100- fromBase58String(ag)
101+ let ah = ag
102+ fromBase58String(ah)
101103 }
102- else if ($isInstanceOf(af, "Unit"))
104+ else if ($isInstanceOf(ag, "Unit"))
103105 then unit
104106 else throw("Match error")
105107 }
106108
107109
108-func ai (aj) = {
109- let ak = o("permission denied")
110- let af = ae()
111- if ($isInstanceOf(af, "ByteVector"))
110+func aj (ak) = {
111+ let al = o("permission denied")
112+ let ag = af()
113+ if ($isInstanceOf(ag, "ByteVector"))
112114 then {
113- let al = af
114- if ((aj.callerPublicKey == al))
115+ let am = ag
116+ if ((ak.callerPublicKey == am))
115117 then true
116- else ak
118+ else al
117119 }
118- else if ($isInstanceOf(af, "Unit"))
119- then if ((aj.caller == this))
120+ else if ($isInstanceOf(ag, "Unit"))
121+ then if ((ak.caller == this))
120122 then true
121- else ak
123+ else al
122124 else throw("Match error")
123125 }
124126
125127
126-@Callable(aj)
127-func constructor (t,am,an) = {
128- let ao = (t + am)
128+func an (ak,ao) = {
129+ let ap = S()
130+ let aq = parseIntValue(ap[f])
131+ let ar = parseIntValue(ap[g])
132+ let as = (aq + ar)
133+ let at = fromBase58String(ap[h])
134+ let au = addressFromStringValue(ap[j])
135+ let av = parseIntValue(ap[k])
136+ let aw = T()
137+ let D = parseIntValue(aw[l])
138+ let ax = parseIntValue(aw[m])
139+ let F = parseIntValue(aw[n])
140+ if ((ak.caller != au))
141+ then throw("permissions denied")
142+ else if ((aq > height))
143+ then throw(("Wait claim start block: " + toString(aq)))
144+ else {
145+ let K = if ((height > as))
146+ then as
147+ else height
148+ let J = if ((F == 0))
149+ then aq
150+ else F
151+ let I = (K - J)
152+ let ay = fraction(av, I, ar)
153+ let az = valueOrElse(getInteger(this, N), 0)
154+ let aA = (ay + az)
155+ let aB = if (if ((0 >= ao))
156+ then true
157+ else (ao >= aA))
158+ then aA
159+ else ao
160+ let aC = (aA - aB)
161+ $Tuple2([IntegerEntry(N, aC), ScriptTransfer(au, aB, at), U(M(), T(), aB, K), ab(toString(au), aB, I, J, K, ak.transactionId)], aB)
162+ }
163+ }
164+
165+
166+@Callable(ak)
167+func constructor (t,aD,aE) = {
168+ let aF = (t + aD)
129169 if (isDefined(getString(L())))
130170 then throw("already initialized")
131- else if ((size(aj.payments) != 1))
171+ else if ((size(ak.payments) != 1))
132172 then throw("exactly 1 payment must be attached")
133- else if ((aj.callerPublicKey != base58'2Cbd8ozG7A1RyRNC3nNnZgHu7Ru4K3JCfpyPkhqr9zxq'))
173+ else if ((ak.callerPublicKey != base58'2Cbd8ozG7A1RyRNC3nNnZgHu7Ru4K3JCfpyPkhqr9zxq'))
134174 then throw("not authorized")
135175 else {
136- let ap = valueOrErrorMessage(addressFromString(an), "Invalid beneficiarAddress passed")
137- let aq = value(aj.payments[0])
138- let ar = value(aq.assetId)
139- let as = valueOrErrorMessage(assetInfo(ar), "fail to load ido asset info")
140- let at = toBase58String(ar)
141- let au = pow(10, 0, as.decimals, 0, 0, DOWN)
142- let av = aq.amount
143-[StringEntry(L(), z(t, am, at, au, toString(ap), av)), StringEntry(M(), C("0", toString(av), "0"))]
176+ let aG = valueOrErrorMessage(addressFromString(aE), "Invalid beneficiarAddress passed")
177+ let aH = value(ak.payments[0])
178+ let aI = value(aH.assetId)
179+ let aJ = valueOrErrorMessage(assetInfo(aI), "fail to load ido asset info")
180+ let aK = toBase58String(aI)
181+ let aL = pow(10, 0, aJ.decimals, 0, 0, DOWN)
182+ let aM = aH.amount
183+[StringEntry(L(), z(t, aD, aK, aL, toString(aG), aM)), StringEntry(M(), C("0", toString(aM), "0"))]
144184 }
145185 }
146186
147187
148188
149-@Callable(aj)
150-func claim () = {
151- let aw = R()
152- let ax = parseIntValue(aw[f])
153- let ay = parseIntValue(aw[g])
154- let az = (ax + ay)
155- let aA = aw[h]
156- let aB = aw[j]
157- let aC = parseIntValue(aw[k])
158- let P = aj.caller
159- let aD = toString(P)
160- let aE = S()
161- let D = parseIntValue(aE[l])
162- let aF = parseIntValue(aE[m])
163- let F = parseIntValue(aE[n])
164- if ((aD != aB))
165- then throw("permissions denied")
166- else if ((ax > height))
167- then throw(("Wait claim start block: " + toString(ax)))
168- else {
169- let K = if ((height > az))
170- then az
171- else height
172- let J = if ((F == 0))
173- then ax
174- else F
175- let I = (K - J)
176- let aG = fraction(aC, I, ay)
177-[ScriptTransfer(P, aG, fromBase58String(aA)), T(M(), S(), aG, K), aa(aD, aG, I, J, K, aj.transactionId)]
178- }
179- }
189+@Callable(ak)
190+func claimAmount (ao) = an(ak, ao)
180191
181192
182193
183-@Callable(aj)
184-func withdrawReferralReward (aH) = {
185- let aI = if ((toString(aj.caller) == value(getString(b))))
194+@Callable(ak)
195+func claim () = an(ak, -1)
196+
197+
198+
199+@Callable(ak)
200+func withdrawReferralReward (aN) = {
201+ let aO = value(getString(b))
202+ let aP = if ((toString(ak.caller) == aO))
186203 then true
187204 else o("permission denied")
188- if ((aI == aI))
205+ if ((aP == aP))
189206 then {
190- let aJ = fromBase58String(value(getString(c)))
191- $Tuple2([ScriptTransfer(aj.caller, aH, aJ)], unit)
207+ let aQ = fromBase58String(value(getString(c)))
208+ $Tuple2([ScriptTransfer(ak.caller, aN, aQ), ab(aO, aN, 0, 0, 0, ak.transactionId)], unit)
192209 }
193210 else throw("Strict value is not equal to itself.")
194211 }
195212
196213
197214
198-@Callable(aj)
199-func setManager (aK) = {
200- let aL = ai(aj)
201- if ((aL == aL))
215+@Callable(ak)
216+func setManager (aR) = {
217+ let aS = aj(ak)
218+ if ((aS == aS))
202219 then {
203- let aM = fromBase58String(aK)
204- if ((aM == aM))
205- then [StringEntry(e(), aK)]
220+ let aT = fromBase58String(aR)
221+ if ((aT == aT))
222+ then [StringEntry(e(), aR)]
206223 else throw("Strict value is not equal to itself.")
207224 }
208225 else throw("Strict value is not equal to itself.")
209226 }
210227
211228
212229
213-@Callable(aj)
230+@Callable(ak)
214231 func confirmManager () = {
215- let aN = ah()
216- let aO = if (isDefined(aN))
232+ let aU = ai()
233+ let aV = if (isDefined(aU))
217234 then true
218235 else o("no pending manager")
219- if ((aO == aO))
236+ if ((aV == aV))
220237 then {
221- let aP = if ((aj.callerPublicKey == value(aN)))
238+ let aW = if ((ak.callerPublicKey == value(aU)))
222239 then true
223240 else o("you are not pending manager")
224- if ((aP == aP))
225- then [StringEntry(d(), toBase58String(value(aN))), DeleteEntry(e())]
241+ if ((aW == aW))
242+ then [StringEntry(d(), toBase58String(value(aU))), DeleteEntry(e())]
226243 else throw("Strict value is not equal to itself.")
227244 }
228245 else throw("Strict value is not equal to itself.")
229246 }
230247
231248
232-@Verifier(aQ)
233-func aR () = {
234- let aS = {
235- let af = ae()
236- if ($isInstanceOf(af, "ByteVector"))
249+@Verifier(aX)
250+func aY () = {
251+ let aZ = {
252+ let ag = af()
253+ if ($isInstanceOf(ag, "ByteVector"))
237254 then {
238- let al = af
239- al
255+ let am = ag
256+ am
240257 }
241- else if ($isInstanceOf(af, "Unit"))
242- then aQ.senderPublicKey
258+ else if ($isInstanceOf(ag, "Unit"))
259+ then aX.senderPublicKey
243260 else throw("Match error")
244261 }
245- sigVerify(aQ.bodyBytes, aQ.proofs[0], aS)
262+ sigVerify(aX.bodyBytes, aX.proofs[0], aZ)
246263 }
247264

github/deemru/w8io/3ef1775 
84.35 ms