tx · 4K1he3JSjGCCmZsCmFTn1eH8oBs9XmDmVbgYGhqrTQNm

3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK:  -0.01400000 Waves

2021.08.15 04:53 [1658844] smart account 3MtA8ddCQT44GtMfUj9XgzPeZvzY52kofKK > SELF 0.00000000 Waves

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

github/deemru/w8io/873ac7e 
553.37 ms