tx · 2iK8GwMBoxqy1diVzr7hkneFFNHwnyXvQo31EytkNnYe

3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK:  -0.01400000 Waves

2021.08.13 17:03 [1656667] smart account 3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK > SELF 0.00000000 Waves

{ "type": 13, "id": "2iK8GwMBoxqy1diVzr7hkneFFNHwnyXvQo31EytkNnYe", "fee": 1400000, "feeAssetId": null, "timestamp": 1628863461300, "version": 2, "chainId": 84, "sender": "3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK", "senderPublicKey": "FHpHpSeEJhz3pVGgYuLDVj7fesP8NNRAMtG9Kh8EQevE", "proofs": [ "3ZLARVqJ7JSUvs51nzF5Sk9sPYejnorroGywJ4GHjt4iygnbCkViQKkzQD1NQeYKbGN5xCc9MVwhzk5g9undypnX" ], "script": "base64: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AAAACHB1cmNoYXNlAgAAAApfdGltZXN0YW1wAQAAABVnZXRLZXlQdXJjaGFzZUFzc2V0SWQAAAABAAAACHB1cmNoYXNlCQABLAAAAAIFAAAACHB1cmNoYXNlAgAAAAhfYXNzZXRJZAEAAAAWZ2V0S2V5UHVyY2hhc2VGdW5kUGFpZAAAAAEAAAAIcHVyY2hhc2UJAAEsAAAAAgkAASwAAAACAgAAAAlwdXJjaGFzZV8FAAAACHB1cmNoYXNlAgAAAAlfZnVuZHBhaWQBAAAAFGdldEtleUNvdXBvblB1cmNoYXNlAAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgIAAAAHY291cG9uXwUAAAAHYXNzZXRJZAIAAAAJX3B1cmNoYXNlAQAAABBnZXRLZXlDb3Vwb25JdGVtAAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgIAAAAHY291cG9uXwUAAAAHYXNzZXRJZAIAAAAFX2l0ZW0BAAAAF2dldFZhbHVlU3VwcGxpZXJCYWxhbmNlAAAAAQAAAAhzdXBwbGllcgkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABVnZXRLZXlTdXBwbGllckJhbGFuY2UAAAABBQAAAAhzdXBwbGllcgEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAABZnZXRWYWx1ZVB1cmNoYXNlU3RhdHVzAAAAAQAAAAhwdXJjaGFzZQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFGdldEtleVB1cmNoYXNlU3RhdHVzAAAAAQUAAAAIcHVyY2hhc2UBAAAAFGdldFZhbHVlUHVyY2hhc2VJdGVtAAAAAQAAAAhwdXJjaGFzZQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkBAAAAEmdldEtleVB1cmNoYXNlSXRlbQAAAAEFAAAACHB1cmNoYXNlAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABAAAACHB1cmNoYXNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQEAAAAWZ2V0S2V5UHVyY2hhc2VTdXBwbGllcgAAAAEFAAAACHB1cmNoYXNlAQAAABRnZXRWYWx1ZVB1cmNoYXNlVXNlcgAAAAEAAAAIcHVyY2hhc2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAQAAABJnZXRLZXlQdXJjaGFzZVVzZXIAAAABBQAAAAhwdXJjaGFzZQEAAAAWZ2V0VmFsdWVQdXJjaGFzZUFtb3VudAAAAAEAAAAIcHVyY2hhc2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAQAAABRnZXRLZXlQdXJjaGFzZUFtb3VudAAAAAEFAAAACHB1cmNoYXNlAQAAABlnZXRWYWx1ZVB1cmNoYXNlVGltZXN0YW1wAAAAAQAAAAhwdXJjaGFzZQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABdnZXRLZXlQdXJjaGFzZVRpbWVzdGFtcAAAAAEFAAAACHB1cmNoYXNlAQAAABdnZXRWYWx1ZVB1cmNoYXNlQXNzZXRJZAAAAAEAAAAIcHVyY2hhc2UJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABVnZXRLZXlQdXJjaGFzZUFzc2V0SWQAAAABBQAAAAhwdXJjaGFzZQEAAAAYZ2V0VmFsdWVQdXJjaGFzZUZ1bmRQYWlkAAAAAQAAAAhwdXJjaGFzZQkBAAAAD2dldEJvb2xlYW5CeUtleQAAAAEJAQAAABZnZXRLZXlQdXJjaGFzZUZ1bmRQYWlkAAAAAQUAAAAIcHVyY2hhc2UBAAAAEWdldFZhbHVlSXRlbVByaWNlAAAAAQAAAARpdGVtCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABZnZXRWYWx1ZUl0ZW1FeHBpcmVUaW1lAAAAAQAAAARpdGVtCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAFGdldEtleUl0ZW1FeHBpcmVEYXRlAAAAAQUAAAAEaXRlbQEAAAARZ2V0VmFsdWVJdGVtVGl0bGUAAAABAAAABGl0ZW0JAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAA9nZXRLZXlJdGVtVGl0bGUAAAABBQAAAARpdGVtAQAAABdnZXRWYWx1ZUl0ZW1Tb2xkQ291bnRlcgAAAAEAAAAEaXRlbQkBAAAAD2dldEludGVnZXJCeUtleQAAAAEJAQAAABVnZXRLZXlJdGVtU29sZENvdW50ZXIAAAABBQAAAARpdGVtAQAAABNnZXRWYWx1ZUl0ZW1SZW1vdmVkAAAAAQAAAARpdGVtCQEAAAAPZ2V0Qm9vbGVhbkJ5S2V5AAAAAQkBAAAAEWdldEtleUl0ZW1SZW1vdmVkAAAAAQUAAAAEaXRlbQEAAAAWZ2V0VmFsdWVDb3Vwb25QdXJjaGFzZQAAAAEAAAAHYXNzZXRJZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAFGdldEtleUNvdXBvblB1cmNoYXNlAAAAAQUAAAAHYXNzZXRJZAEAAAAOZ2V0VmFsdWVDb21taXQAAAACAAAABGl0ZW0AAAAEdXNlcgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAADGdldEtleUNvbW1pdAAAAAIFAAAABGl0ZW0FAAAABHVzZXIBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQEAAAAPZ2V0SW50ZWdlckJ5S2V5AAAAAQkBAAAAEmdldEtleUNvbW1pdHNDb3VudAAAAAEFAAAABGl0ZW0BAAAADmdldFZhbHVlUmV2ZWFsAAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAAAxnZXRLZXlSZXZlYWwAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABJnZXRWYWx1ZUl0ZW1TdGF0dXMAAAABAAAABGl0ZW0JAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQUAAAAEaXRlbQEAAAASZ2V0VmFsdWVWb3Rlc0NvdW50AAAAAgAAAARpdGVtAAAA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cyBvbmx5IHdpdGggV2F2ZXMgdG9rZW5zBAAAAAR1c2VyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlCQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABBQAAAARpdGVtBAAAAAhzdXBwbGllcgkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQQAAAAGZXhwaXJlCQEAAAAWZ2V0VmFsdWVJdGVtRXhwaXJlVGltZQAAAAEFAAAABGl0ZW0DAwkAAGYAAAACBQAAAAZleHBpcmUAAAAAAAAAAAAJAABnAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAABmV4cGlyZQcJAAACAAAAAQIAAAAOQ291cG9uIGV4cGlyZWQDCQAAZgAAAAIFAAAABXByaWNlCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAAC5QdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBpdGVtIHByaWNlAwkAAGYAAAACCAUAAAADcG10AAAABmFtb3VudAUAAAAFcHJpY2UJAAACAAAAAQIAAAAwUHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBoaWdoZXIgdGhhbiBpdGVtIHByaWNlAwkAAAAAAAACBQAAAAhzdXBwbGllcgUAAAAETk9ORQkAAAIAAAABAgAAABhTdXBwbGllciBkb2VzIG5vdCBleGlzdHMEAAAAEmtleVVzZXJJdGVtQ291bnRlcgkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0EAAAAD3VzZXJJdGVtQ291bnRlcgkAAGQAAAACCQEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAAAAAAAAAAABBAAAAAhwdXJjaGFzZQkBAAAADmdlblB1cmNoYXNlS2V5AAAABAUAAAAIc3VwcGxpZXIFAAAABGl0ZW0FAAAABHVzZXIFAAAAD3VzZXJJdGVtQ291bnRlcgQAAAARa2V5UHVyY2hhc2VTdGF0dXMJAQAAABRnZXRLZXlQdXJjaGFzZVN0YXR1cwAAAAEFAAAACHB1cmNoYXNlBAAAAA9rZXlQdXJjaGFzZUl0ZW0JAQAAABJnZXRLZXlQdXJjaGFzZUl0ZW0AAAABBQAAAAhwdXJjaGFzZQQAAAATa2V5UHVyY2hhc2VTdXBwbGllcgkBAAAAFmdldEtleVB1cmNoYXNlU3VwcGxpZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAPa2V5UHVyY2hhc2VVc2VyCQEAAAASZ2V0S2V5UHVyY2hhc2VVc2VyAAAAAQUAAAAIcHVyY2hhc2UEAAAAEWtleVB1cmNoYXNlQW1vdW50CQEAAAAUZ2V0S2V5UHVyY2hhc2VBbW91bnQAAAABBQAAAAhwdXJjaGFzZQQAAAAUa2V5UHVyY2hhc2VUaW1lc3RhbXAJAQAAABdnZXRLZXlQdXJjaGFzZVRpbWVzdGFtcAAAAAEFAAAACHB1cmNoYXNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlVc2VySXRlbUNvdW50ZXIFAAAAD3VzZXJJdGVtQ291bnRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFrZXlQdXJjaGFzZVN0YXR1cwUAAAAIQVBQUk9WQUwJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAPa2V5UHVyY2hhc2VJdGVtBQAAAARpdGVtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAE2tleVB1cmNoYXNlU3VwcGxpZXIFAAAACHN1cHBsaWVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAD2tleVB1cmNoYXNlVXNlcgUAAAAEdXNlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAARa2V5UHVyY2hhc2VBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlQdXJjaGFzZVRpbWVzdGFtcAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAAA25pbAAAAAFpAQAAAA5yZWplY3RQdXJjaGFzZQAAAAEAAAAIcHVyY2hhc2UEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAZzdGF0dXMJAQAAABZnZXRWYWx1ZVB1cmNoYXNlU3RhdHVzAAAAAQUAAAAIcHVyY2hhc2UEAAAACHN1cHBsaWVyCQEAAAAYZ2V0VmFsdWVQdXJjaGFzZVN1cHBsaWVyAAAAAQUAAAAIcHVyY2hhc2UEAAAABGl0ZW0JAQAAABRnZXRWYWx1ZVB1cmNoYXNlSXRlbQAAAAEFAAAACHB1cmNoYXNlBAAAAAhub3RGb3VuZAkAAAAAAAACBQAAAARpdGVtBQAAAAROT05FAwUAAAAIbm90Rm91bmQJAAACAAAAAQkAASwAAAACAgAAABNQdXJjaGFzZSBub3QgZm91bmQgBQAAAAhwdXJjaGFzZQMDCQAAAAAAAAIFAAAACHN1cHBsaWVyBQAAAAROT05FBgkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAhzdXBwbGllcgkAAAIAAAABAgAAACNZb3VyIGFyZSBub3QgdGhlIG93bmVyIG9mIHRoaXMgaXRlbQMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAIQVBQUk9WQUwJAAACAAAAAQIAAAAgWW91IGNhbm5vdCByZWplY3QgdGhpcyBwdXJjaGFzZWQEAAAAEWtleVB1cmNoYXNlU3RhdHVzCQEAAAAUZ2V0S2V5UHVyY2hhc2VTdGF0dXMAAAABBQAAAAhwdXJjaGFzZQQAAAARa2V5UHVyY2hhc2VBbW91bnQJAQAAABRnZXRLZXlQdXJjaGFzZUFtb3VudAAAAAEFAAAACHB1cmNoYXNlBAAAABJrZXlJdGVtU29sZENvdW50ZXIJAQAAABVnZXRLZXlJdGVtU29sZENvdW50ZXIAAAABBQAAAARpdGVtBAAAAAR1c2VyCQEAAAAUZ2V0VmFsdWVQdXJjaGFzZVVzZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAGYW1vdW50CQEAAAAWZ2V0VmFsdWVQdXJjaGFzZUFtb3VudAAAAAEFAAAACHB1cmNoYXNlBAAAAA9zdXBwbGllckJhbGFuY2UJAABlAAAAAgkBAAAAF2dldFZhbHVlU3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIFAAAABmFtb3VudAQAAAAPaXRlbVNvbGRDb3VudGVyCQAAZQAAAAIJAQAAABdnZXRWYWx1ZUl0ZW1Tb2xkQ291bnRlcgAAAAEFAAAABGl0ZW0AAAAAAAAAAAEEAAAAB2FkZHJlc3MJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAABHVzZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAARa2V5UHVyY2hhc2VTdGF0dXMFAAAACFJFSkVDVEVECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlQdXJjaGFzZUFtb3VudAAAAAAAAAAAAAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAdhZGRyZXNzBQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAA5hY2NlcHRQdXJjaGFzZQAAAAIAAAAIcHVyY2hhc2UAAAAHYXNzZXRJZAQAAAAGY2FsbGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABnN0YXR1cwkBAAAAFmdldFZhbHVlUHVyY2hhc2VTdGF0dXMAAAABBQAAAAhwdXJjaGFzZQQAAAAIc3VwcGxpZXIJAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAEaXRlbQkBAAAAFGdldFZhbHVlUHVyY2hhc2VJdGVtAAAAAQUAAAAIcHVyY2hhc2UEAAAABmV4cGlyZQkBAAAAFmdldFZhbHVlSXRlbUV4cGlyZVRpbWUAAAABBQAAAARpdGVtBAAAAAhub3RGb3VuZAkAAAAAAAACBQAAAARpdGVtBQAAAAROT05FAwUAAAAIbm90Rm91bmQJAAACAAAAAQkAASwAAAACAgAAABNQdXJjaGFzZSBub3QgZm91bmQgBQAAAAhwdXJjaGFzZQMDCQAAAAAAAAIFAAAACHN1cHBsaWVyBQAAAAROT05FBgkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAhzdXBwbGllcgkAAAIAAAABAgAAACNZb3VyIGFyZSBub3QgdGhlIG93bmVyIG9mIHRoaXMgaXRlbQMJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAIQVBQUk9WQUwJAAACAAAAAQIAAAAgWW91IGNhbm5vdCByZWplY3QgdGhpcyBwdXJjaGFzZWQDAwkAAGYAAAACBQAAAAZleHBpcmUAAAAAAAAAAAAJAABnAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAABmV4cGlyZQcJAAACAAAAAQIAAAAOQ291cG9uIGV4cGlyZWQEAAAAEWtleVB1cmNoYXNlU3RhdHVzCQEAAAAUZ2V0S2V5UHVyY2hhc2VTdGF0dXMAAAABBQAAAAhwdXJjaGFzZQQAAAASa2V5UHVyY2hhc2VBc3NldElkCQEAAAAVZ2V0S2V5UHVyY2hhc2VBc3NldElkAAAAAQUAAAAIcHVyY2hhc2UEAAAAEmtleVN1cHBsaWVyQmFsYW5jZQkBAAAAFWdldEtleVN1cHBsaWVyQmFsYW5jZQAAAAEFAAAACHN1cHBsaWVyBAAAABJrZXlJdGVtU29sZENvdW50ZXIJAQAAABVnZXRLZXlJdGVtU29sZENvdW50ZXIAAAABBQAAAARpdGVtBAAAABFrZXlDb3Vwb25QdXJjaGFzZQkBAAAAFGdldEtleUNvdXBvblB1cmNoYXNlAAAAAQUAAAAHYXNzZXRJZAQAAAANa2V5Q291cG9uSXRlbQkBAAAAEGdldEtleUNvdXBvbkl0ZW0AAAABBQAAAAdhc3NldElkBAAAAAZhbW91bnQJAQAAABZnZXRWYWx1ZVB1cmNoYXNlQW1vdW50AAAAAQUAAAAIcHVyY2hhc2UEAAAACm5ld0JhbGFuY2UJAABkAAAAAgkBAAAAF2dldFZhbHVlU3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIFAAAABmFtb3VudAQAAAAPaXRlbVNvbGRDb3VudGVyCQAAZAAAAAIJAQAAABdnZXRWYWx1ZUl0ZW1Tb2xkQ291bnRlcgAAAAEFAAAABGl0ZW0AAAAAAAAAAAEEAAAABHVzZXIJAQAAABRnZXRWYWx1ZVB1cmNoYXNlVXNlcgAAAAEFAAAACHB1cmNoYXNlBAAAAAdhZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAR1c2VyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEWtleVB1cmNoYXNlU3RhdHVzBQAAAAhBQ0NFUFRFRAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABFrZXlDb3Vwb25QdXJjaGFzZQUAAAAIcHVyY2hhc2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAANa2V5Q291cG9uSXRlbQUAAAAEaXRlbQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABJrZXlQdXJjaGFzZUFzc2V0SWQFAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVN1cHBsaWVyQmFsYW5jZQUAAAAKbmV3QmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5SXRlbVNvbGRDb3VudGVyBQAAAA9pdGVtU29sZENvdW50ZXIFAAAAA25pbAAAAAFpAQAAAARidXJuAAAAAAQAAAAGY2FsbGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAACxBbiBhdHRhY2hlZCBjb3Vwb24gaXMgcmVxdWlyZWQgYXMgcGF5bWVudFswXQMJAAAAAAAAAgkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAcJAAACAAAAAQIAAAAVTmVlZCBhIGNvdXBvbiB0byBidXJuBAAAAAVhc3NldAQAAAAHJG1hdGNoMAgFAAAAA3BtdAAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAApCeXRlVmVjdG9yBAAAAAFlBQAAAAckbWF0Y2gwBQAAAAFlCQAAAgAAAAECAAAAFU5lZWQgYSBjb3Vwb24gdG8gYnVybgQAAAAHYXNzZXRJZAkAAlgAAAABBQAAAAVhc3NldAQAAAAIcHVyY2hhc2UJAQAAABZnZXRWYWx1ZUNvdXBvblB1cmNoYXNlAAAAAQUAAAAHYXNzZXRJZAQAAAAIc3VwcGxpZXIJAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAKaXNmdW5kUGFpZAkBAAAAGGdldFZhbHVlUHVyY2hhc2VGdW5kUGFpZAAAAAEFAAAACHB1cmNoYXNlAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAhzdXBwbGllcgkAAAIAAAABAgAAAClZb3VyIGFyZSBub3QgdGhlIHN1cHBsaWVyIGZvciB0aGlzIGNvdXBvbgMFAAAACmlzZnVuZFBhaWQJAAACAAAAAQIAAAAaRnVuZCBoYXMgYWxyZWFkeSBiZWVuIHBhaWQEAAAAB2JhbGFuY2UJAQAAABdnZXRWYWx1ZVN1cHBsaWVyQmFsYW5jZQAAAAEFAAAACHN1cHBsaWVyBAAAAAZhbW91bnQJAQAAABZnZXRWYWx1ZVB1cmNoYXNlQW1vdW50AAAAAQUAAAAIcHVyY2hhc2UEAAAAC3dpdGhkcmF3QW10AwkAAGcAAAACAAAAAAAAAAAACQAAZQAAAAIFAAAAB2JhbGFuY2UFAAAABmFtb3VudAUAAAAHYmFsYW5jZQUAAAAGYW1vdW50BAAAAApuZXdCYWxhbmNlCQAAZQAAAAIFAAAAB2JhbGFuY2UFAAAAC3dpdGhkcmF3QW10AwkAAGcAAAACAAAAAAAAAAAABQAAAApuZXdCYWxhbmNlCQAAAgAAAAECAAAAHE5vdCBlbm91Z2ggZnVuZHMgdG8gd2l0aGRyYXcEAAAAEmtleVN1cHBsaWVyQmFsYW5jZQkBAAAAFWdldEtleVN1cHBsaWVyQmFsYW5jZQAAAAEFAAAACHN1cHBsaWVyBAAAABFrZXlDb3Vwb25GdW5kUGFpZAkBAAAAFmdldEtleVB1cmNoYXNlRnVuZFBhaWQAAAABBQAAAAhwdXJjaGFzZQkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAABWFzc2V0AAAAAAAAAAABCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAABFrZXlDb3Vwb25GdW5kUGFpZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVN1cHBsaWVyQmFsYW5jZQUAAAAKbmV3QmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC3dpdGhkcmF3QW10BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAABAAAAB2Fzc2V0SWQEAAAABmNhbGxlcgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAdhY2NvdW50CQEAAAASZ2V0U3VwcGxpZXJBY2NvdW50AAAAAQUAAAAGY2FsbGVyAwkAAAAAAAACBQAAAAdhY2NvdW50BQAAAAROT05FCQAAAgAAAAECAAAAIVlvdSBhcmUgbm90IHJlZ2lzdHJlZCBhcyBzdXBwbGllcgQAAAAIcHVyY2hhc2UJAQAAABZnZXRWYWx1ZUNvdXBvblB1cmNoYXNlAAAAAQUAAAAHYXNzZXRJZAQAAAAIc3VwcGxpZXIJAQAAABhnZXRWYWx1ZVB1cmNoYXNlU3VwcGxpZXIAAAABBQAAAAhwdXJjaGFzZQQAAAAKaXNmdW5kUGFpZAkBAAAAGGdldFZhbHVlUHVyY2hhc2VGdW5kUGFpZAAAAAEFAAAACHB1cmNoYXNlAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAhzdXBwbGllcgkAAAIAAAABAgAAAClZb3VyIGFyZSBub3QgdGhlIHN1cHBsaWVyIGZvciB0aGlzIGNvdXBvbgMFAAAACmlzZnVuZFBhaWQJAAACAAAAAQIAAAAaRnVuZCBoYXMgYWxyZWFkeSBiZWVuIHBhaWQEAAAABGl0ZW0JAQAAABRnZXRWYWx1ZVB1cmNoYXNlSXRlbQAAAAEFAAAACHB1cmNoYXNlBAAAAAZleHBpcmUJAQAAABZnZXRWYWx1ZUl0ZW1FeHBpcmVUaW1lAAAAAQUAAAAEaXRlbQQAAAAEaW5mbwQAAAAHJG1hdGNoMAkAA+wAAAABCQACWQAAAAEFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhCQAAAgAAAAECAAAAFkNhbm5vdCBmaW5kIGFzc2V0IGluZm8EAAAAC2NhbldpdGhkcmF3AwMJAABmAAAAAgUAAAAGZXhwaXJlAAAAAAAAAAAACQAAZwAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAZleHBpcmUHBgMJAAAAAAAAAggFAAAABGluZm8AAAAIcXVhbnRpdHkAAAAAAAAAAAAGBwMJAQAAAAEhAAAAAQUAAAALY2FuV2l0aGRyYXcJAAACAAAAAQIAAAAcVGhpcyBjb3Vwb24gY2Fubm90IGJlIGZ1bmRlZAQAAAAHYmFsYW5jZQkBAAAAF2dldFZhbHVlU3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIEAAAABmFtb3VudAkBAAAAFmdldFZhbHVlUHVyY2hhc2VBbW91bnQAAAABBQAAAAhwdXJjaGFzZQQAAAALd2l0aGRyYXdBbXQDCQAAZwAAAAIAAAAAAAAAAAAJAABlAAAAAgUAAAAHYmFsYW5jZQUAAAAGYW1vdW50BQAAAAdiYWxhbmNlBQAAAAZhbW91bnQEAAAACm5ld0JhbGFuY2UJAABlAAAAAgUAAAAHYmFsYW5jZQUAAAALd2l0aGRyYXdBbXQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACm5ld0JhbGFuY2UJAAACAAAAAQIAAAAcTm90IGVub3VnaCBmdW5kcyB0byB3aXRoZHJhdwQAAAASa2V5U3VwcGxpZXJCYWxhbmNlCQEAAAAVZ2V0S2V5U3VwcGxpZXJCYWxhbmNlAAAAAQUAAAAIc3VwcGxpZXIEAAAAEWtleUNvdXBvbkZ1bmRQYWlkCQEAAAAWZ2V0S2V5UHVyY2hhc2VGdW5kUGFpZAAAAAEFAAAACHB1cmNoYXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAABFrZXlDb3Vwb25GdW5kUGFpZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVN1cHBsaWVyQmFsYW5jZQUAAAAKbmV3QmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC3dpdGhkcmF3QW10BQAAAAR1bml0BQAAAANuaWwAAAABaQEAAAAKdm90ZUNvbW1pdAAAAAIAAAAEaXRlbQAAAARoYXNoBAAAAAR1c2VyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADGNvbW1pdHNDb3VudAkBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQQAAAAGc3RhdHVzCQEAAAASZ2V0VmFsdWVJdGVt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", "height": 1656667, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7iDiCrTFhW1A9M5U71qfxz1qgxCE2FXzqZLy9WQdW9D5 Next: 3mWpEKKVvSo1k3f83ZfHy6uBn3zdiTvLCD2ZoYTuCt1N Diff:
OldNewDifferences
408408 let aa = toBase58String(ba)
409409 let R = as(aa)
410410 let u = ag(R)
411- let bc = al(aa)
411+ let bc = al(R)
412412 if ((aO != u))
413413 then throw("Your are not the supplier for this coupon")
414414 else if (bc)
424424 then throw("Not enough funds to withdraw")
425425 else {
426426 let aW = M(u)
427- let bf = Y(aa)
427+ let bf = Y(R)
428428 [Burn(ba, 1), BooleanEntry(bf, true), IntegerEntry(aW, aZ), ScriptTransfer(ay.caller, be, unit)]
429429 }
430430 }
442442 else {
443443 let R = as(aa)
444444 let u = ag(R)
445- let bc = al(aa)
445+ let bc = al(R)
446446 if ((aO != u))
447447 then throw("Your are not the supplier for this coupon")
448448 else if (bc)
479479 then throw("Not enough funds to withdraw")
480480 else {
481481 let aW = M(u)
482- let bf = Y(aa)
482+ let bf = Y(R)
483483 [BooleanEntry(bf, true), IntegerEntry(aW, aZ), ScriptTransfer(ay.caller, be, unit)]
484484 }
485485 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "NONE"
55
66 let b = 3
77
88 let c = 2
99
1010 let d = "featured"
1111
1212 let e = "delisted"
1313
1414 let f = "voting"
1515
1616 let g = "reveal"
1717
1818 let h = "approval"
1919
2020 let i = "rejected"
2121
2222 let j = "accepted"
2323
2424 func k (l) = {
2525 let m = getString(this, l)
2626 if ($isInstanceOf(m, "String"))
2727 then {
2828 let n = m
2929 n
3030 }
3131 else a
3232 }
3333
3434
3535 func o (l) = {
3636 let m = getInteger(this, l)
3737 if ($isInstanceOf(m, "Int"))
3838 then {
3939 let n = m
4040 n
4141 }
4242 else 0
4343 }
4444
4545
4646 func p (l) = {
4747 let m = getBoolean(this, l)
4848 if ($isInstanceOf(m, "Boolean"))
4949 then {
5050 let n = m
5151 n
5252 }
5353 else false
5454 }
5555
5656
5757 func q (r) = (r + "_account")
5858
5959
6060 func s (r) = k(q(r))
6161
6262
6363 func t (u,v) = {
6464 let w = (u + v)
6565 ("item_" + toBase58String(sha256(toBytes(w))))
6666 }
6767
6868
6969 func x (y) = (y + "_owner")
7070
7171
7272 func z (y) = (y + "_title")
7373
7474
7575 func A (y) = (y + "_price")
7676
7777
7878 func B (y) = (y + "_data")
7979
8080
8181 func C (y) = (y + "_expiredate")
8282
8383
8484 func D (y) = (y + "_sold")
8585
8686
8787 func E (y) = (y + "_removed")
8888
8989
9090 func F (y,G) = (((y + "_") + G) + "_commit")
9191
9292
9393 func H (y) = (y + "_cmtcnt")
9494
9595
9696 func I (y,G) = (((y + "_") + G) + "_reveal")
9797
9898
9999 func J (y) = (y + "_status")
100100
101101
102102 func K (y,L) = ((y + "_res:") + L)
103103
104104
105105 func M (u) = (u + "_balance")
106106
107107
108108 func N (G,y) = (((G + "_") + y) + "_counter")
109109
110110
111111 func O (u,y,G,P) = ("purchase_" + toBase58String(sha256(toBytes(((((((u + "_") + y) + "_") + G) + "_") + toString(P))))))
112112
113113
114114 func Q (R) = (R + "_status")
115115
116116
117117 func S (R) = (R + "_item")
118118
119119
120120 func T (R) = (R + "_supplier")
121121
122122
123123 func U (R) = (R + "_user")
124124
125125
126126 func V (R) = (R + "_amount")
127127
128128
129129 func W (R) = (R + "_timestamp")
130130
131131
132132 func X (R) = (R + "_assetId")
133133
134134
135135 func Y (R) = (("purchase_" + R) + "_fundpaid")
136136
137137
138138 func Z (aa) = (("coupon_" + aa) + "_purchase")
139139
140140
141141 func ab (aa) = (("coupon_" + aa) + "_item")
142142
143143
144144 func ac (u) = o(M(u))
145145
146146
147147 func ad (G,y) = o(N(G, y))
148148
149149
150150 func ae (R) = k(Q(R))
151151
152152
153153 func af (R) = getStringValue(this, S(R))
154154
155155
156156 func ag (R) = getStringValue(this, T(R))
157157
158158
159159 func ah (R) = getStringValue(this, U(R))
160160
161161
162162 func ai (R) = getIntegerValue(this, V(R))
163163
164164
165165 func aj (R) = o(W(R))
166166
167167
168168 func ak (R) = k(X(R))
169169
170170
171171 func al (R) = p(Y(R))
172172
173173
174174 func am (y) = getIntegerValue(this, A(y))
175175
176176
177177 func an (y) = k(x(y))
178178
179179
180180 func ao (y) = o(C(y))
181181
182182
183183 func ap (y) = k(z(y))
184184
185185
186186 func aq (y) = o(D(y))
187187
188188
189189 func ar (y) = p(E(y))
190190
191191
192192 func as (aa) = k(Z(aa))
193193
194194
195195 func at (y,G) = k(F(y, G))
196196
197197
198198 func au (y) = o(H(y))
199199
200200
201201 func av (y,G) = k(I(y, G))
202202
203203
204204 func aw (y) = k(J(y))
205205
206206
207207 func ax (y,L) = o(K(y, L))
208208
209209
210210 @Callable(ay)
211211 func registerSupplier (az) = {
212212 let u = toBase58String(ay.caller.bytes)
213213 let r = s(u)
214214 if ((r != a))
215215 then throw("This address has already registred as supplier")
216216 else [StringEntry(q(u), az)]
217217 }
218218
219219
220220
221221 @Callable(ay)
222222 func addItem (v,aA,az,aB) = {
223223 let u = toBase58String(ay.caller.bytes)
224224 let r = s(u)
225225 let y = t(u, v)
226226 if ((r == a))
227227 then throw("You should register as supplier to add an item")
228228 else if ((0 >= aA))
229229 then throw("Purchase amount cannot be less than item price")
230230 else if ((an(y) != a))
231231 then throw("An item already exists")
232232 else [StringEntry(x(y), u), StringEntry(z(y), v), IntegerEntry(A(y), aA), StringEntry(B(y), az), IntegerEntry(C(y), aB)]
233233 }
234234
235235
236236
237237 @Callable(ay)
238238 func updateItem (y,v,aA,az,aB) = {
239239 let u = toBase58String(ay.caller.bytes)
240240 let r = s(u)
241241 let aC = an(y)
242242 let aD = if ((ap(y) == a))
243243 then true
244244 else (ar(y) == true)
245245 if ((r == a))
246246 then throw("You should register as supplier to remove an item")
247247 else if (aD)
248248 then throw(("Item does not exists or has been removed " + y))
249249 else if ((u != aC))
250250 then throw(("You don't owned item " + y))
251251 else [StringEntry(z(y), v), IntegerEntry(A(y), aA), StringEntry(B(y), az), IntegerEntry(C(y), aB)]
252252 }
253253
254254
255255
256256 @Callable(ay)
257257 func removeItem (y) = {
258258 let u = toBase58String(ay.caller.bytes)
259259 let r = s(u)
260260 let aC = an(y)
261261 let aD = if ((ap(y) == a))
262262 then true
263263 else (ar(y) == true)
264264 if ((r == a))
265265 then throw("You should register as supplier to remove an item")
266266 else if (aD)
267267 then throw(("Item does not exists or has been removed " + y))
268268 else if ((u != aC))
269269 then throw(("You don't owned item " + y))
270270 else {
271271 let aE = aq(y)
272272 if ((aE == 0))
273273 then [DeleteEntry(x(y)), DeleteEntry(z(y)), DeleteEntry(A(y)), DeleteEntry(B(y)), DeleteEntry(C(y))]
274274 else [BooleanEntry(E(y), true)]
275275 }
276276 }
277277
278278
279279
280280 @Callable(ay)
281281 func purchase (y) = {
282282 let aF = ay.payments[0]
283283 let aD = if ((ap(y) == a))
284284 then true
285285 else (ar(y) == true)
286286 if (aD)
287287 then throw(("Item does not exists or has been removed " + y))
288288 else if (isDefined(aF.assetId))
289289 then throw("You can buy tokens only with Waves tokens")
290290 else {
291291 let G = toBase58String(ay.caller.bytes)
292292 let aA = am(y)
293293 let u = an(y)
294294 let aB = ao(y)
295295 if (if ((aB > 0))
296296 then (lastBlock.timestamp >= aB)
297297 else false)
298298 then throw("Coupon expired")
299299 else if ((aA > aF.amount))
300300 then throw("Purchase amount cannot be less than item price")
301301 else if ((aF.amount > aA))
302302 then throw("Purchase amount cannot be higher than item price")
303303 else if ((u == a))
304304 then throw("Supplier does not exists")
305305 else {
306306 let aG = N(G, y)
307307 let aH = (ad(G, y) + 1)
308308 let R = O(u, y, G, aH)
309309 let aI = Q(R)
310310 let aJ = S(R)
311311 let aK = T(R)
312312 let aL = U(R)
313313 let aM = V(R)
314314 let aN = W(R)
315315 [IntegerEntry(aG, aH), StringEntry(aI, h), StringEntry(aJ, y), StringEntry(aK, u), StringEntry(aL, G), IntegerEntry(aM, aF.amount), IntegerEntry(aN, lastBlock.timestamp)]
316316 }
317317 }
318318 }
319319
320320
321321
322322 @Callable(ay)
323323 func rejectPurchase (R) = {
324324 let aO = toBase58String(ay.caller.bytes)
325325 let aP = ae(R)
326326 let u = ag(R)
327327 let y = af(R)
328328 let aD = (y == a)
329329 if (aD)
330330 then throw(("Purchase not found " + R))
331331 else if (if ((u == a))
332332 then true
333333 else (aO != u))
334334 then throw("Your are not the owner of this item")
335335 else if ((aP != h))
336336 then throw("You cannot reject this purchased")
337337 else {
338338 let aI = Q(R)
339339 let aM = V(R)
340340 let aQ = D(y)
341341 let G = ah(R)
342342 let aR = ai(R)
343343 let aS = (ac(u) - aR)
344344 let aT = (aq(y) - 1)
345345 let aU = addressFromStringValue(G)
346346 [StringEntry(aI, i), IntegerEntry(aM, 0), ScriptTransfer(aU, aR, unit)]
347347 }
348348 }
349349
350350
351351
352352 @Callable(ay)
353353 func acceptPurchase (R,aa) = {
354354 let aO = toBase58String(ay.caller.bytes)
355355 let aP = ae(R)
356356 let u = ag(R)
357357 let y = af(R)
358358 let aB = ao(y)
359359 let aD = (y == a)
360360 if (aD)
361361 then throw(("Purchase not found " + R))
362362 else if (if ((u == a))
363363 then true
364364 else (aO != u))
365365 then throw("Your are not the owner of this item")
366366 else if ((aP != h))
367367 then throw("You cannot reject this purchased")
368368 else if (if ((aB > 0))
369369 then (lastBlock.timestamp >= aB)
370370 else false)
371371 then throw("Coupon expired")
372372 else {
373373 let aI = Q(R)
374374 let aV = X(R)
375375 let aW = M(u)
376376 let aQ = D(y)
377377 let aX = Z(aa)
378378 let aY = ab(aa)
379379 let aR = ai(R)
380380 let aZ = (ac(u) + aR)
381381 let aT = (aq(y) + 1)
382382 let G = ah(R)
383383 let aU = addressFromStringValue(G)
384384 [StringEntry(aI, j), StringEntry(aX, R), StringEntry(aY, y), StringEntry(aV, aa), IntegerEntry(aW, aZ), IntegerEntry(aQ, aT)]
385385 }
386386 }
387387
388388
389389
390390 @Callable(ay)
391391 func burn () = {
392392 let aO = toBase58String(ay.caller.bytes)
393393 let aF = if ((size(ay.payments) == 1))
394394 then ay.payments[0]
395395 else throw("An attached coupon is required as payment[0]")
396396 if ((isDefined(aF.assetId) == false))
397397 then throw("Need a coupon to burn")
398398 else {
399399 let ba = {
400400 let m = aF.assetId
401401 if ($isInstanceOf(m, "ByteVector"))
402402 then {
403403 let bb = m
404404 bb
405405 }
406406 else throw("Need a coupon to burn")
407407 }
408408 let aa = toBase58String(ba)
409409 let R = as(aa)
410410 let u = ag(R)
411- let bc = al(aa)
411+ let bc = al(R)
412412 if ((aO != u))
413413 then throw("Your are not the supplier for this coupon")
414414 else if (bc)
415415 then throw("Fund has already been paid")
416416 else {
417417 let bd = ac(u)
418418 let aR = ai(R)
419419 let be = if ((0 >= (bd - aR)))
420420 then bd
421421 else aR
422422 let aZ = (bd - be)
423423 if ((0 >= aZ))
424424 then throw("Not enough funds to withdraw")
425425 else {
426426 let aW = M(u)
427- let bf = Y(aa)
427+ let bf = Y(R)
428428 [Burn(ba, 1), BooleanEntry(bf, true), IntegerEntry(aW, aZ), ScriptTransfer(ay.caller, be, unit)]
429429 }
430430 }
431431 }
432432 }
433433
434434
435435
436436 @Callable(ay)
437437 func withdraw (aa) = {
438438 let aO = toBase58String(ay.caller.bytes)
439439 let r = s(aO)
440440 if ((r == a))
441441 then throw("You are not registred as supplier")
442442 else {
443443 let R = as(aa)
444444 let u = ag(R)
445- let bc = al(aa)
445+ let bc = al(R)
446446 if ((aO != u))
447447 then throw("Your are not the supplier for this coupon")
448448 else if (bc)
449449 then throw("Fund has already been paid")
450450 else {
451451 let y = af(R)
452452 let aB = ao(y)
453453 let bg = {
454454 let m = assetInfo(fromBase58String(aa))
455455 if ($isInstanceOf(m, "Asset"))
456456 then {
457457 let n = m
458458 n
459459 }
460460 else throw("Cannot find asset info")
461461 }
462462 let bh = if (if ((aB > 0))
463463 then (lastBlock.timestamp >= aB)
464464 else false)
465465 then true
466466 else if ((bg.quantity == 0))
467467 then true
468468 else false
469469 if (!(bh))
470470 then throw("This coupon cannot be funded")
471471 else {
472472 let bd = ac(u)
473473 let aR = ai(R)
474474 let be = if ((0 >= (bd - aR)))
475475 then bd
476476 else aR
477477 let aZ = (bd - be)
478478 if ((0 >= aZ))
479479 then throw("Not enough funds to withdraw")
480480 else {
481481 let aW = M(u)
482- let bf = Y(aa)
482+ let bf = Y(R)
483483 [BooleanEntry(bf, true), IntegerEntry(aW, aZ), ScriptTransfer(ay.caller, be, unit)]
484484 }
485485 }
486486 }
487487 }
488488 }
489489
490490
491491
492492 @Callable(ay)
493493 func voteCommit (y,bi) = {
494494 let G = toBase58String(ay.caller.bytes)
495495 let bj = au(y)
496496 let aP = aw(y)
497497 if ((bj >= b))
498498 then throw("Reached max number of voters")
499499 else if ((at(y, G) != a))
500500 then throw("You voted already")
501501 else if ((x(y) == a))
502502 then throw("Item does not exists")
503503 else if (if ((aP != a))
504504 then (aP != f)
505505 else false)
506506 then throw("Voting is not active for this item now")
507507 else {
508508 let bk = if ((bj == b))
509509 then g
510510 else f
511511 [StringEntry(F(y, G), bi), IntegerEntry(H(y), (bj + 1)), StringEntry(J(y), bk)]
512512 }
513513 }
514514
515515
516516
517517 @Callable(ay)
518518 func voteReveal (y,L,bl) = {
519519 let G = toBase58String(ay.caller.bytes)
520520 let aP = aw(y)
521521 let bm = (ax(y, L) + 1)
522522 let bn = toBase58String(sha256(toBytes(((y + L) + bl))))
523523 if ((bn != at(y, G)))
524524 then throw("Reveal data is not valid")
525525 else if ((b > au(y)))
526526 then throw("Max number of voters not reached")
527527 else if ((av(y, G) != a))
528528 then throw("You voted already")
529529 else if (if ((aP != f))
530530 then (aP != g)
531531 else false)
532532 then throw("Voting is not active for this item now")
533533 else if (if ((L != d))
534534 then (L != e)
535535 else false)
536536 then throw("Provided voting option is incorrect")
537537 else {
538538 let bk = if ((bm >= c))
539539 then L
540540 else g
541541 [StringEntry(I(y, G), L), IntegerEntry(K(y, G), bm), StringEntry(J(y), bk)]
542542 }
543543 }
544544
545545
546546 @Verifier(bo)
547547 func bp () = {
548548 let m = bo
549549 if ($isInstanceOf(m, "SetScriptTransaction"))
550550 then {
551551 let bq = m
552552 sigVerify(bo.bodyBytes, bo.proofs[0], bo.senderPublicKey)
553553 }
554554 else if ($isInstanceOf(m, "IssueTransaction"))
555555 then {
556556 let bq = m
557557 sigVerify(bo.bodyBytes, bo.proofs[0], bo.senderPublicKey)
558558 }
559559 else if ($isInstanceOf(m, "TransferTransaction"))
560560 then {
561561 let bq = m
562562 sigVerify(bo.bodyBytes, bo.proofs[0], bo.senderPublicKey)
563563 }
564564 else false
565565 }
566566

github/deemru/w8io/873ac7e 
63.74 ms