tx · 7e5kbaWoC53nzsaAzvo6h1k4Ns157s1jbtXbxauJG8Zf

3MzKq9FC8GAeYxYMGZqPZzrXmRwyyK9eRtU:  -0.01400000 Waves

2020.03.23 15:36 [922004] smart account 3MzKq9FC8GAeYxYMGZqPZzrXmRwyyK9eRtU > SELF 0.00000000 Waves

{ "type": 13, "id": "7e5kbaWoC53nzsaAzvo6h1k4Ns157s1jbtXbxauJG8Zf", "fee": 1400000, "feeAssetId": null, "timestamp": 1584966949567, "version": 1, "sender": "3MzKq9FC8GAeYxYMGZqPZzrXmRwyyK9eRtU", "senderPublicKey": "GXTgD3DifeMCqpyW2oL4fX2vdw49UtqWEesdZpaEuEFB", "proofs": [ "6rCCQmeNphwBrwgBSVeixVcYr1q1H5qqbhJy3sJkrhsfbPzEHPizwuyMzPgdDodkC9T7JSd1uZcp5fJhMALTGjG" ], "script": "base64:AAIDAAAAAAAAAD4IARIGCgQICAEEEggKBggBAQgBARIGCgQIAQEIEgMKAQgSBwoFCAgBCAESBQoDCAEBEgYKBAgBCAESAwoBCAAAACoAAAAAB2FkZHJlc3MCAAAAIzNNektxOUZDOEdBZVl4WU1HWnFQWnpyWG1Sd3l5SzllUnRVAAAAAA5rZXlFdmVudFByZWZpeAIAAAACZV8AAAAAEmtleUV2ZW50RGF0YVByZWZpeAIAAAAFZGF0YV8AAAAAE2tleUV2ZW50UHJpY2VQcmVmaXgCAAAABnByaWNlXwAAAAASa2V5RXZlbnREYXRlUHJlZml4AgAAAAVkYXRlXwAAAAAWa2V5RXZlbnRBdHRlbmRlZVByZWZpeAIAAAACYV8AAAAAGGtleVByb2R1Y2VyQmFsYW5jZVByZWZpeAIAAAAIYmFsYW5jZV8AAAAAGmtleUV2ZW50QW1vdW50VGlja2V0UHJlZml4AgAAAA5hbW91bnRUaWNrZXRzXwAAAAAWa2V5RXZlbnRDYW5jZWxlZFByZWZpeAIAAAAJY2FuY2VsZWRfAAAAABhrZXlFdmVudE1heFRpY2tldHNQcmVmaXgCAAAABG1heF8AAAAAGGtleUV2ZW50UmVxdWlyZXNJZFByZWZpeAIAAAALcmVxdWlyZXNJZF8AAAAAH2tleUV2ZW50VGlja2V0RGVzY3JpcHRpb25QcmVmaXgCAAAAEnRpY2tldERlc2NyaXB0aW9uXwAAAAAVa2V5RXZlbnRUaWNrZXRzUHJlZml4AgAAAAh0aWNrZXRzXwAAAAAETk9ORQIAAAAEbm9uZQAAAAAKY29tbWlzc2lvbgAAAAAAAAAABQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAAxnZXRCb29sQnlLZXkAAAABAAAAA2tleQQAAAAEYm9vbAQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHBQAAAARib29sAQAAAAtnZXRFdmVudEtleQAAAAIAAAAIcHJvZHVjZXIAAAAFdGl0bGUJAAEsAAAAAgUAAAAOa2V5RXZlbnRQcmVmaXgJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIcHJvZHVjZXIFAAAABXRpdGxlAQAAAA9nZXRFdmVudERhdGFLZXkAAAABAAAABWV2ZW50CQABLAAAAAIFAAAAEmtleUV2ZW50RGF0YVByZWZpeAUAAAAFZXZlbnQBAAAAEGdldEV2ZW50UHJpY2VLZXkAAAACAAAABWV2ZW50AAAACHRpY2tldElkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAABNrZXlFdmVudFByaWNlUHJlZml4CQABpAAAAAEFAAAACHRpY2tldElkAgAAAAFfBQAAAAVldmVudAEAAAAPZ2V0RXZlbnREYXRlS2V5AAAAAQAAAAVldmVudAkAASwAAAACBQAAABJrZXlFdmVudERhdGVQcmVmaXgFAAAABWV2ZW50AQAAABNnZXRFdmVudEF0dGVuZGVlS2V5AAAABAAAAAR1c2VyAAAAAmlkAAAACHRpY2tldElkAAAABWV2ZW50CQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAWa2V5RXZlbnRBdHRlbmRlZVByZWZpeAkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAR1c2VyBQAAAAJpZAIAAAABXwkAAaQAAAABBQAAAAh0aWNrZXRJZAIAAAABXwUAAAAFZXZlbnQBAAAAEmdldEV2ZW50QmFsYW5jZUtleQAAAAIAAAAHYWNjb3VudAAAAAVldmVudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAYa2V5UHJvZHVjZXJCYWxhbmNlUHJlZml4BQAAAAdhY2NvdW50AgAAAAFfBQAAAAVldmVudAEAAAAYZ2V0RXZlbnRBbW91bnRUaWNrZXRzS2V5AAAAAgAAAAVldmVudAAAAAh0aWNrZXRJZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAaa2V5RXZlbnRBbW91bnRUaWNrZXRQcmVmaXgJAAGkAAAAAQUAAAAIdGlja2V0SWQCAAAAAV8FAAAABWV2ZW50AQAAABNnZXRFdmVudENhbmNlbGVkS2V5AAAAAQAAAAVldmVudAkAASwAAAACBQAAABZrZXlFdmVudENhbmNlbGVkUHJlZml4BQAAAAVldmVudAEAAAAVZ2V0RXZlbnRSZXF1aXJlc0lkS2V5AAAAAQAAAAVldmVudAkAASwAAAACBQAAABhrZXlFdmVudFJlcXVpcmVzSWRQcmVmaXgFAAAABWV2ZW50AQAAABVnZXRFdmVudE1heFRpY2tldHNLZXkAAAACAAAABWV2ZW50AAAACHRpY2tldElkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAABhrZXlFdmVudE1heFRpY2tldHNQcmVmaXgJAAGkAAAAAQUAAAAIdGlja2V0SWQCAAAAAV8FAAAABWV2ZW50AQAAABxnZXRFdmVudFRpY2tldERlc2NyaXB0aW9uS2V5AAAAAgAAAAVldmVudAAAAAh0aWNrZXRJZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAfa2V5RXZlbnRUaWNrZXREZXNjcmlwdGlvblByZWZpeAkAAaQAAAABBQAAAAh0aWNrZXRJZAIAAAABXwUAAAAFZXZlbnQBAAAAEmdldEV2ZW50VGlja2V0c0tleQAAAAEAAAAFZXZlbnQJAAEsAAAAAgUAAAAVa2V5RXZlbnRUaWNrZXRzUHJlZml4BQAAAAVldmVudAEAAAARZ2V0RXZlbnRWYWx1ZUJ5SWQAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEFAAAABGl0ZW0BAAAADWdldEV2ZW50VmFsdWUAAAACAAAACHByb2R1Y2VyAAAABXRpdGxlCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAALZ2V0RXZlbnRLZXkAAAACBQAAAAhwcm9kdWNlcgUAAAAFdGl0bGUBAAAAEmdldEV2ZW50UHJpY2VWYWx1ZQAAAAIAAAAFZXZlbnQAAAAIdGlja2V0SWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRFdmVudFByaWNlS2V5AAAAAgUAAAAFZXZlbnQFAAAACHRpY2tldElkAQAAABFnZXRFdmVudERhdGVWYWx1ZQAAAAEAAAAFZXZlbnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRFdmVudERhdGVLZXkAAAABBQAAAAVldmVudAEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAABAAAAAR1c2VyAAAAAmlkAAAACHRpY2tldElkAAAABWV2ZW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAATZ2V0RXZlbnRBdHRlbmRlZUtleQAAAAQFAAAABHVzZXIFAAAAAmlkBQAAAAh0aWNrZXRJZAUAAAAFZXZlbnQBAAAAFGdldEV2ZW50QmFsYW5jZVZhbHVlAAAAAgAAAAdhY2NvdW50AAAABWV2ZW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0RXZlbnRCYWxhbmNlS2V5AAAAAgUAAAAHYWNjb3VudAUAAAAFZXZlbnQBAAAAGmdldEV2ZW50QW1vdW50VGlja2V0c1ZhbHVlAAAAAgAAAAVldmVudAAAAAh0aWNrZXRJZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEV2ZW50QW1vdW50VGlja2V0c0tleQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAEAAAAVZ2V0RXZlbnRDYW5jZWxlZFZhbHVlAAAAAQAAAAVldmVudAkBAAAADGdldEJvb2xCeUtleQAAAAEJAQAAABNnZXRFdmVudENhbmNlbGVkS2V5AAAAAQUAAAAFZXZlbnQBAAAAF2dldEV2ZW50UmVxdWlyZXNJZFZhbHVlAAAAAQAAAAVldmVudAkBAAAADGdldEJvb2xCeUtleQAAAAEJAQAAABVnZXRFdmVudFJlcXVpcmVzSWRLZXkAAAABBQAAAAVldmVudAEAAAAXZ2V0RXZlbnRNYXhUaWNrZXRzVmFsdWUAAAACAAAABWV2ZW50AAAACHRpY2tldElkCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0RXZlbnRNYXhUaWNrZXRzS2V5AAAAAgUAAAAFZXZlbnQFAAAACHRpY2tldElkAQAAAB5nZXRFdmVudFRpY2tldERlc2NyaXB0aW9uVmFsdWUAAAACAAAABWV2ZW50AAAACHRpY2tldElkCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAcZ2V0RXZlbnRUaWNrZXREZXNjcmlwdGlvbktleQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAEAAAAUZ2V0RXZlbnRUaWNrZXRzVmFsdWUAAAABAAAABWV2ZW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0RXZlbnRUaWNrZXRzS2V5AAAAAQUAAAAFZXZlbnQAAAAIAAAAAWkBAAAAC2NyZWF0ZUV2ZW50AAAABAAAAAV0aXRsZQAAAARkYXRhAAAABGRhdGUAAAAKcmVxdWlyZXNJZAQAAAAPcHJvZHVjZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABWV2ZW50CQEAAAALZ2V0RXZlbnRLZXkAAAACBQAAAA9wcm9kdWNlckFkZHJlc3MFAAAABXRpdGxlAwkBAAAAAiE9AAAAAgkBAAAADWdldEV2ZW50VmFsdWUAAAACBQAAAA9wcm9kdWNlckFkZHJlc3MFAAAABXRpdGxlBQAAAAROT05FCQAAAgAAAAECAAAAF1RoZSBldmVudCBhbHJlYWR5IGV4aXN0AwkAAGYAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAEZGF0ZQkAAAIAAAABAgAAABpEYXRlIGNhbm5vdCBiZSBpbiB0aGUgcGFzdAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAC2dldEV2ZW50S2V5AAAAAgUAAAAPcHJvZHVjZXJBZGRyZXNzBQAAAAV0aXRsZQUAAAAPcHJvZHVjZXJBZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0RXZlbnREYXRhS2V5AAAAAQUAAAAFZXZlbnQFAAAABGRhdGEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRFdmVudERhdGVLZXkAAAABBQAAAAVldmVudAUAAAAEZGF0ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEV2ZW50UmVxdWlyZXNJZEtleQAAAAEFAAAABWV2ZW50BQAAAApyZXF1aXJlc0lkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0RXZlbnRUaWNrZXRzS2V5AAAAAQUAAAAFZXZlbnQAAAAAAAAAAAAFAAAAA25pbAAAAAFpAQAAABFjcmVhdGVFdmVudFRpY2tldAAAAAYAAAAFZXZlbnQAAAAIdGlja2V0SWQAAAAFcHJpY2UAAAALZGVzY3JpcHRpb24AAAANYW1vdW50VGlja2V0cwAAAAltYXhBbW91bnQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAPcHJvZHVjZXJBZGRyZXNzCQEAAAARZ2V0RXZlbnRWYWx1ZUJ5SWQAAAABBQAAAAVldmVudAMJAQAAAAIhPQAAAAIFAAAAD3Byb2R1Y2VyQWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwkAAAIAAAABAgAAAE5FdmVudCBkb2VzIG5vdCBleGlzdCwgb3IgeW91IGRvbid0IGhhdmUgdGhlIGNyZWRlbnRpYWxzIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24DCQAAZgAAAAIJAABkAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAAAAAAAADk4cAJAQAAABFnZXRFdmVudERhdGVWYWx1ZQAAAAEFAAAABWV2ZW50CQAAAgAAAAECAAAAH1RoaXMgZXZlbnQgaGFzIGFscmVhZHkgaGFwcGVuZWQDCQEAAAAVZ2V0RXZlbnRDYW5jZWxlZFZhbHVlAAAAAQUAAAAFZXZlbnQJAAACAAAAAQIAAAAXVGhpcyBldmVudCB3YXMgY2FuY2VsZWQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRFdmVudFByaWNlS2V5AAAAAgUAAAAFZXZlbnQFAAAACHRpY2tldElkBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEV2ZW50QW1vdW50VGlja2V0c0tleQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAUAAAANYW1vdW50VGlja2V0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldEV2ZW50TWF4VGlja2V0c0tleQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAUAAAAJbWF4QW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAcZ2V0RXZlbnRUaWNrZXREZXNjcmlwdGlvbktleQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAUAAAALZGVzY3JpcHRpb24JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRFdmVudFRpY2tldHNLZXkAAAABBQAAAAVldmVudAkAAGQAAAACCQEAAAAUZ2V0RXZlbnRUaWNrZXRzVmFsdWUAAAABBQAAAAVldmVudAAAAAAAAAAAAQUAAAADbmlsAAAAAWkBAAAACHB1cmNoYXNlAAAABAAAAAVldmVudAAAAAh0aWNrZXRJZAAAAAZhbW91bnQAAAACaWQEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAt1c2VyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAAVwcmljZQkBAAAAEmdldEV2ZW50UHJpY2VWYWx1ZQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAQAAAAPcHJvZHVjZXJBZGRyZXNzCQEAAAARZ2V0RXZlbnRWYWx1ZUJ5SWQAAAABBQAAAAVldmVudAQAAAALdGlja2V0c0xlZnQJAQAAABpnZXRFdmVudEFtb3VudFRpY2tldHNWYWx1ZQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAQAAAALYXR0ZW5kZWVLZXkCAAAAAAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAgY2FuIHVzZSBXQVZFUyBvbmx5IGF0IHRoZSBtb21lbnQDCQAAAAAAAAIFAAAAD3Byb2R1Y2VyQWRkcmVzcwUAAAAETk9ORQkAAAIAAAABAgAAABRFdmVudCBkb2VzIG5vdCBleGlzdAMJAABmAAAAAgkAAGgAAAACBQAAAAVwcmljZQUAAAAGYW1vdW50CAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAClZb3UgZGlkIG5vdCBzZW5kIGVub3VnaCBtb25leS4gWW91IHNlbnQ6IAkAAaQAAAABCAUAAAADcG10AAAABmFtb3VudAIAAAAMLiBFeHBlY3RlZDogCQABpAAAAAEJAABoAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQMJAABmAAAAAggFAAAAA3BtdAAAAAZhbW91bnQJAABoAAAAAgUAAAAFcHJpY2UFAAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACNZb3Ugc2VuZCB0b28gbXVjaCBtb25leS4gWW91IHNlbnQ6IAkAAaQAAAABCAUAAAADcG10AAAABmFtb3VudAIAAAAPLiBUb3RhbCBwcmljZTogCQABpAAAAAEJAABoAAAAAgUAAAAGYW1vdW50BQAAAAVwcmljZQMJAABmAAAAAgAAAAAAAAAAAAkAAGUAAAACBQAAAAt0aWNrZXRzTGVmdAUAAAAGYW1vdW50CQAAAgAAAAECAAAAF05vdCBlbm91Z2ggdGlja2V0cyBsZWZ0AwkAAGYAAAACCQAAZAAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAAAAAAAA5OHACQEAAAARZ2V0RXZlbnREYXRlVmFsdWUAAAABBQAAAAVldmVudAkAAAIAAAABAgAAAB9UaGlzIGV2ZW50IGhhcyBhbHJlYWR5IGhhcHBlbmVkAwkBAAAAFWdldEV2ZW50Q2FuY2VsZWRWYWx1ZQAAAAEFAAAABWV2ZW50CQAAAgAAAAECAAAAF1RoaXMgZXZlbnQgd2FzIGNhbmNlbGVkAwMJAQAAABdnZXRFdmVudFJlcXVpcmVzSWRWYWx1ZQAAAAEFAAAABWV2ZW50CQAAAAAAAAIFAAAAAmlkAgAAAAAHCQAAAgAAAAECAAAAOFRoaXMgZXZlbnQgcmVxdWlyZXMgdGhhdCB5b3UgcmVnaXN0ZXIgd2l0aCBhIHBlcnNvbmFsIElEAwkAAGYAAAACCQEAAAAXZ2V0RXZlbnRNYXhUaWNrZXRzVmFsdWUAAAACBQAAAAVldmVudAUAAAAIdGlja2V0SWQJAABkAAAAAgkBAAAAFWdldEV2ZW50QXR0ZW5kZWVWYWx1ZQAAAAQFAAAAC3VzZXJBZGRyZXNzBQAAAAJpZAUAAAAIdGlja2V0SWQFAAAABWV2ZW50BQAAAAZhbW91bnQJAAACAAAAAQIAAAA1QW1vdW50IG9mIFRpY2tldHMgZXhjZWVkcyBtYXhpbXVtIGFtb3VudCBwZXIgYXR0ZW5kZWUJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0RXZlbnRBdHRlbmRlZUtleQAAAAQFAAAAC3VzZXJBZGRyZXNzBQAAAAJpZAUAAAAIdGlja2V0SWQFAAAABWV2ZW50CQAAZAAAAAIJAQAAABVnZXRFdmVudEF0dGVuZGVlVmFsdWUAAAAEBQAAAAt1c2VyQWRkcmVzcwUAAAACaWQFAAAACHRpY2tldElkBQAAAAVldmVudAUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0RXZlbnRCYWxhbmNlS2V5AAAAAgUAAAAPcHJvZHVjZXJBZGRyZXNzBQAAAAVldmVudAkAAGQAAAACCQEAAAAUZ2V0RXZlbnRCYWxhbmNlVmFsdWUAAAACBQAAAA9wcm9kdWNlckFkZHJlc3MFAAAABWV2ZW50CAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAGGdldEV2ZW50QW1vdW50VGlja2V0c0tleQAAAAIFAAAABWV2ZW50BQAAAAh0aWNrZXRJZAkAAGUAAAACBQAAAAt0aWNrZXRzTGVmdAUAAAAGYW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAdhZGRyZXNzCAUAAAADcG10AAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAAC2NhbmNlbEV2ZW50AAAAAQAAAAVldmVudAQAAAANY2FsbGVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgkBAAAAEWdldEV2ZW50VmFsdWVCeUlkAAAAAQUAAAAFZXZlbnQFAAAADWNhbGxlckFkZHJlc3MJAAACAAAAAQIAAABORXZlbnQgZG9lcyBub3QgZXhpc3QsIG9yIHlvdSBkb24ndCBoYXZlIHRoZSBjcmVkZW50aWFscyB0byBwZXJmb3JtIHRoaXMgYWN0aW9uAwkAAGYAAAACCQAAZAAAAAIIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAAAAAAAA5OHACQEAAAARZ2V0RXZlbnREYXRlVmFsdWUAAAABBQAAAAVldmVudAkAAAIAAAABAgAAAB9UaGlzIGV2ZW50IGhhcyBhbHJlYWR5IGhhcHBlbmVkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0RXZlbnRDYW5jZWxlZEtleQAAAAEFAAAABWV2ZW50BgUAAAADbmlsAAAAAWkBAAAAB2NoZWNraW4AAAAFAAAABWV2ZW50AAAAD2F0dGVuZGVlQWRkcmVzcwAAAAZhbW91bnQAAAACaWQAAAAIdGlja2V0SWQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAQAAAAIhPQAAAAIJAQAAABFnZXRFdmVudFZhbHVlQnlJZAAAAAEFAAAABWV2ZW50BQAAAA1jYWxsZXJBZGRyZXNzCQAAAgAAAAECAAAATkV2ZW50IGRvZXMgbm90IGV4aXN0LCBvciB5b3UgZG9uJ3QgaGF2ZSB0aGUgY3JlZGVudGlhbHMgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbgMJAABmAAAAAgUAAAAGYW1vdW50CQEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAABAUAAAAPYXR0ZW5kZWVBZGRyZXNzBQAAAAJpZAUAAAAIdGlja2V0SWQFAAAABWV2ZW50CQAAAgAAAAECAAAAHllvdSBkb24ndCBoYXZlIGVub3VnaCB0aWNrZXRzLgMJAQAAABVnZXRFdmVudENhbmNlbGVkVmFsdWUAAAABBQAAAAVldmVudAkAAAIAAAABAgAAAE9UaGlzIGV2ZW50IHdhcyBjYW5jZWxlZC4gWW91IGNhbiByZWRlZW0geW91ciB0aWNrZXQgdXNpbmcgcmVmdW5kVGlja2V0IGZ1bmN0aW9uCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0RXZlbnRBdHRlbmRlZUtleQAAAAQFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAACaWQFAAAACHRpY2tldElkBQAAAAVldmVudAkAAGUAAAACCQEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAABAUAAAAPYXR0ZW5kZWVBZGRyZXNzBQAAAAJpZAUAAAAIdGlja2V0SWQFAAAABWV2ZW50BQAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAABBlZGl0RXZlbnRUaWNrZXRzAAAAAwAAAAVldmVudAAAAAh0aWNrZXRJZAAAAAluZXdBbW91bnQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAQAAAAIhPQAAAAIJAQAAABFnZXRFdmVudFZhbHVlQnlJZAAAAAEFAAAABWV2ZW50BQAAAA1jYWxsZXJBZGRyZXNzCQAAAgAAAAECAAAATkV2ZW50IGRvZXMgbm90IGV4aXN0LCBvciB5b3UgZG9uJ3QgaGF2ZSB0aGUgY3JlZGVudGlhbHMgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbgMJAABmAAAAAgkAAGQAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAAAAAAAAOThwAkBAAAAEWdldEV2ZW50RGF0ZVZhbHVlAAAAAQUAAAAFZXZlbnQJAAACAAAAAQIAAAAfVGhpcyBldmVudCBoYXMgYWxyZWFkeSBoYXBwZW5lZAMJAQAAABVnZXRFdmVudENhbmNlbGVkVmFsdWUAAAABBQAAAAVldmVudAkAAAIAAAABAgAAAB9UaGlzIGV2ZW50IHdhcyBhbHJlYWR5IGNhbmNlbGVkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAYZ2V0RXZlbnRBbW91bnRUaWNrZXRzS2V5AAAAAgUAAAAFZXZlbnQFAAAACHRpY2tldElkBQAAAAluZXdBbW91bnQFAAAAA25pbAAAAAFpAQAAAAxyZWZ1bmRUaWNrZXQAAAAEAAAABWV2ZW50AAAABmFtb3VudAAAAAJpZAAAAAh0aWNrZXRJZAQAAAAPYXR0ZW5kZWVBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDCQAAAAAAAAIJAQAAABFnZXRFdmVudFZhbHVlQnlJZAAAAAEFAAAABWV2ZW50BQAAAAROT05FCQAAAgAAAAECAAAAGFRoZSBldmVudCBkb2VzIG5vdCBleGlzdAMJAABmAAAAAgUAAAAGYW1vdW50CQEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAABAUAAAAPYXR0ZW5kZWVBZGRyZXNzBQAAAAJpZAUAAAAIdGlja2V0SWQFAAAABWV2ZW50CQAAAgAAAAECAAAAOllvdSBkb24ndCBoYXZlIGVub3VnaCByZWdpc3RlcmVkIHRpY2tldHMgd2l0aCB0aGlzIGFkZHJlc3MDCQAAZgAAAAIJAABkAAAAAggFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAAAAAAAADk4cAJAQAAABFnZXRFdmVudERhdGVWYWx1ZQAAAAEFAAAABWV2ZW50CQAAAgAAAAECAAAAH1RoaXMgZXZlbnQgaGFzIGFscmVhZHkgaGFwcGVuZWQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0RXZlbnRBdHRlbmRlZUtleQAAAAQFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAACaWQFAAAACHRpY2tldElkBQAAAAVldmVudAkAAGUAAAACCQEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAABAUAAAAPYXR0ZW5kZWVBZGRyZXNzBQAAAAJpZAUAAAAIdGlja2V0SWQFAAAABWV2ZW50BQAAAAZhbW91bnQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAAD2F0dGVuZGVlQWRkcmVzcwkAAGgAAAACBQAAAAZhbW91bnQJAQAAABVnZXRFdmVudEF0dGVuZGVlVmFsdWUAAAAEBQAAAA9hdHRlbmRlZUFkZHJlc3MFAAAAAmlkBQAAAAh0aWNrZXRJZAUAAAAFZXZlbnQFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAEAAAAFZXZlbnQEAAAADWNhbGxlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHYmFsYW5jZQkBAAAAFGdldEV2ZW50QmFsYW5jZVZhbHVlAAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAFZXZlbnQDCQEAAAACIT0AAAACCQEAAAARZ2V0RXZlbnRWYWx1ZUJ5SWQAAAABBQAAAAVldmVudAUAAAANY2FsbGVyQWRkcmVzcwkAAAIAAAABAgAAAE5FdmVudCBkb2VzIG5vdCBleGlzdCwgb3IgeW91IGRvbid0IGhhdmUgdGhlIGNyZWRlbnRpYWxzIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24DCQAAZwAAAAIAAAAAAAAAAAAFAAAAB2JhbGFuY2UJAAACAAAAAQIAAAAUSW5zdWZmaWNpZW50IGJhbGFuY2UDCQEAAAAVZ2V0RXZlbnRDYW5jZWxlZFZhbHVlAAAAAQUAAAAFZXZlbnQJAAACAAAAAQIAAAAXRXZlbnQgaGFzIGJlZW4gY2FuY2VsZWQJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0RXZlbnRCYWxhbmNlS2V5AAAAAgUAAAANY2FsbGVyQWRkcmVzcwUAAAAFZXZlbnQAAAAAAAAAAAAFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAADWNhbGxlckFkZHJlc3MJAABlAAAAAgUAAAAHYmFsYW5jZQkAAGkAAAACCQAAaAAAAAIFAAAAB2JhbGFuY2UFAAAACmNvbW1pc3Npb24AAAAAAAAAAGQFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAdhZGRyZXNzCQAAaQAAAAIJAABoAAAAAgUAAAAHYmFsYW5jZQUAAAAKY29tbWlzc2lvbgAAAAAAAAAAZAUAAAAEdW5pdAUAAAADbmlsAAAAALoXCmo=", "chainId": 84, "height": 922004, "spentComplexity": 0 } View: original | compacted Prev: 9yz99oN4uNTxZAerFTwFSag9x17iKPRgKtJSeHJNesAM Next: N6HWQwhxADhAAsekrL8yauRrcuxYmeX2pSCu2FfqDTA Diff:
OldNewDifferences
153153 then throw("The event already exist")
154154 else if ((lastBlock.timestamp > ag))
155155 then throw("Date cannot be in the past")
156- else WriteSet([DataEntry(y(ai, A), ai), DataEntry(B(C), af), DataEntry(F(C), ag), DataEntry(N(C), ah)])
156+ else WriteSet([DataEntry(y(ai, A), ai), DataEntry(B(C), af), DataEntry(F(C), ag), DataEntry(N(C), ah), DataEntry(Q(C), 0)])
157157 }
158158
159159
168168 then throw("This event has already happened")
169169 else if (Z(C))
170170 then throw("This event was canceled")
171- else WriteSet([DataEntry(D(C, E), aj), DataEntry(L(C, E), al), DataEntry(O(C, E), am), DataEntry(P(C, E), ak)])
171+ else WriteSet([DataEntry(D(C, E), aj), DataEntry(L(C, E), al), DataEntry(O(C, E), am), DataEntry(P(C, E), ak), DataEntry(Q(C), (ad(C) + 1))])
172172 }
173173
174174
176176 @Callable(ae)
177177 func purchase (C,E,ao,I) = {
178178 let ap = extract(ae.payment)
179+ let aq = toBase58String(ae.caller.bytes)
180+ let aj = U(C, E)
181+ let ai = R(C)
182+ let ar = Y(C, E)
183+ let as = ""
179184 if (isDefined(ap.assetId))
180185 then throw("can use WAVES only at the moment")
181- else {
182- let aq = toBase58String(ae.caller.bytes)
183- let aj = U(C, E)
184- let ai = R(C)
185- let ar = Y(C, E)
186- let as = ""
187- if ((ai == n))
188- then throw("Event does not exist")
189- else if (((aj * ao) > ap.amount))
190- then throw(((("You did not send enough money. You sent: " + toString(ap.amount)) + ". Expected: ") + toString((ao * aj))))
191- else if ((ap.amount > (aj * ao)))
192- then throw(((("You send too much money. You sent: " + toString(ap.amount)) + ". Total price: ") + toString((ao * aj))))
193- else if ((0 > (ar - ao)))
194- then throw("Not enough tickets left")
195- else if (((lastBlock.timestamp + 15000000) > V(C)))
196- then throw("This event has already happened")
197- else if (Z(C))
198- then throw("This event was canceled")
199- else if (if (aa(C))
200- then (I == "")
201- else false)
202- then throw("This event requires that you register with a personal ID")
203- else if ((ab(C, E) > (W(aq, I, E, C) + ao)))
204- then throw("Amount of Tickets exceeds maximum amount per attendee")
205- else ScriptResult(WriteSet([DataEntry(G(aq, I, E, C), (W(aq, I, E, C) + ao)), DataEntry(J(ai, C), (X(ai, C) + ap.amount)), DataEntry(L(C, E), (ar - ao))]), TransferSet([ScriptTransfer(addressFromStringValue(a), ap.amount, unit)]))
206- }
186+ else if ((ai == n))
187+ then throw("Event does not exist")
188+ else if (((aj * ao) > ap.amount))
189+ then throw(((("You did not send enough money. You sent: " + toString(ap.amount)) + ". Expected: ") + toString((ao * aj))))
190+ else if ((ap.amount > (aj * ao)))
191+ then throw(((("You send too much money. You sent: " + toString(ap.amount)) + ". Total price: ") + toString((ao * aj))))
192+ else if ((0 > (ar - ao)))
193+ then throw("Not enough tickets left")
194+ else if (((lastBlock.timestamp + 15000000) > V(C)))
195+ then throw("This event has already happened")
196+ else if (Z(C))
197+ then throw("This event was canceled")
198+ else if (if (aa(C))
199+ then (I == "")
200+ else false)
201+ then throw("This event requires that you register with a personal ID")
202+ else if ((ab(C, E) > (W(aq, I, E, C) + ao)))
203+ then throw("Amount of Tickets exceeds maximum amount per attendee")
204+ else ScriptResult(WriteSet([DataEntry(G(aq, I, E, C), (W(aq, I, E, C) + ao)), DataEntry(J(ai, C), (X(ai, C) + ap.amount)), DataEntry(L(C, E), (ar - ao))]), TransferSet([ScriptTransfer(addressFromStringValue(a), ap.amount, unit)]))
207205 }
208206
209207
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3MzKq9FC8GAeYxYMGZqPZzrXmRwyyK9eRtU"
55
66 let b = "e_"
77
88 let c = "data_"
99
1010 let d = "price_"
1111
1212 let e = "date_"
1313
1414 let f = "a_"
1515
1616 let g = "balance_"
1717
1818 let h = "amountTickets_"
1919
2020 let i = "canceled_"
2121
2222 let j = "max_"
2323
2424 let k = "requiresId_"
2525
2626 let l = "ticketDescription_"
2727
2828 let m = "tickets_"
2929
3030 let n = "none"
3131
3232 let o = 5
3333
3434 func p (q) = {
3535 let r = {
3636 let s = getInteger(this, q)
3737 if ($isInstanceOf(s, "Int"))
3838 then {
3939 let t = s
4040 t
4141 }
4242 else 0
4343 }
4444 r
4545 }
4646
4747
4848 func u (q) = {
4949 let v = {
5050 let s = getString(this, q)
5151 if ($isInstanceOf(s, "String"))
5252 then {
5353 let t = s
5454 t
5555 }
5656 else n
5757 }
5858 v
5959 }
6060
6161
6262 func w (q) = {
6363 let x = {
6464 let s = getBoolean(this, q)
6565 if ($isInstanceOf(s, "Boolean"))
6666 then {
6767 let t = s
6868 t
6969 }
7070 else false
7171 }
7272 x
7373 }
7474
7575
7676 func y (z,A) = (b + toBase58String(sha256(toBytes((z + A)))))
7777
7878
7979 func B (C) = (c + C)
8080
8181
8282 func D (C,E) = (((d + toString(E)) + "_") + C)
8383
8484
8585 func F (C) = (e + C)
8686
8787
8888 func G (H,I,E,C) = (((((f + toBase58String(sha256(toBytes((H + I))))) + "_") + toString(E)) + "_") + C)
8989
9090
9191 func J (K,C) = (((g + K) + "_") + C)
9292
9393
9494 func L (C,E) = (((h + toString(E)) + "_") + C)
9595
9696
9797 func M (C) = (i + C)
9898
9999
100100 func N (C) = (k + C)
101101
102102
103103 func O (C,E) = (((j + toString(E)) + "_") + C)
104104
105105
106106 func P (C,E) = (((l + toString(E)) + "_") + C)
107107
108108
109109 func Q (C) = (m + C)
110110
111111
112112 func R (S) = u(S)
113113
114114
115115 func T (z,A) = u(y(z, A))
116116
117117
118118 func U (C,E) = p(D(C, E))
119119
120120
121121 func V (C) = p(F(C))
122122
123123
124124 func W (H,I,E,C) = p(G(H, I, E, C))
125125
126126
127127 func X (K,C) = p(J(K, C))
128128
129129
130130 func Y (C,E) = p(L(C, E))
131131
132132
133133 func Z (C) = w(M(C))
134134
135135
136136 func aa (C) = w(N(C))
137137
138138
139139 func ab (C,E) = p(O(C, E))
140140
141141
142142 func ac (C,E) = u(P(C, E))
143143
144144
145145 func ad (C) = p(Q(C))
146146
147147
148148 @Callable(ae)
149149 func createEvent (A,af,ag,ah) = {
150150 let ai = toBase58String(ae.caller.bytes)
151151 let C = y(ai, A)
152152 if ((T(ai, A) != n))
153153 then throw("The event already exist")
154154 else if ((lastBlock.timestamp > ag))
155155 then throw("Date cannot be in the past")
156- else WriteSet([DataEntry(y(ai, A), ai), DataEntry(B(C), af), DataEntry(F(C), ag), DataEntry(N(C), ah)])
156+ else WriteSet([DataEntry(y(ai, A), ai), DataEntry(B(C), af), DataEntry(F(C), ag), DataEntry(N(C), ah), DataEntry(Q(C), 0)])
157157 }
158158
159159
160160
161161 @Callable(ae)
162162 func createEventTicket (C,E,aj,ak,al,am) = {
163163 let an = toBase58String(ae.caller.bytes)
164164 let ai = R(C)
165165 if ((ai != an))
166166 then throw("Event does not exist, or you don't have the credentials to perform this action")
167167 else if (((lastBlock.timestamp + 15000000) > V(C)))
168168 then throw("This event has already happened")
169169 else if (Z(C))
170170 then throw("This event was canceled")
171- else WriteSet([DataEntry(D(C, E), aj), DataEntry(L(C, E), al), DataEntry(O(C, E), am), DataEntry(P(C, E), ak)])
171+ else WriteSet([DataEntry(D(C, E), aj), DataEntry(L(C, E), al), DataEntry(O(C, E), am), DataEntry(P(C, E), ak), DataEntry(Q(C), (ad(C) + 1))])
172172 }
173173
174174
175175
176176 @Callable(ae)
177177 func purchase (C,E,ao,I) = {
178178 let ap = extract(ae.payment)
179+ let aq = toBase58String(ae.caller.bytes)
180+ let aj = U(C, E)
181+ let ai = R(C)
182+ let ar = Y(C, E)
183+ let as = ""
179184 if (isDefined(ap.assetId))
180185 then throw("can use WAVES only at the moment")
181- else {
182- let aq = toBase58String(ae.caller.bytes)
183- let aj = U(C, E)
184- let ai = R(C)
185- let ar = Y(C, E)
186- let as = ""
187- if ((ai == n))
188- then throw("Event does not exist")
189- else if (((aj * ao) > ap.amount))
190- then throw(((("You did not send enough money. You sent: " + toString(ap.amount)) + ". Expected: ") + toString((ao * aj))))
191- else if ((ap.amount > (aj * ao)))
192- then throw(((("You send too much money. You sent: " + toString(ap.amount)) + ". Total price: ") + toString((ao * aj))))
193- else if ((0 > (ar - ao)))
194- then throw("Not enough tickets left")
195- else if (((lastBlock.timestamp + 15000000) > V(C)))
196- then throw("This event has already happened")
197- else if (Z(C))
198- then throw("This event was canceled")
199- else if (if (aa(C))
200- then (I == "")
201- else false)
202- then throw("This event requires that you register with a personal ID")
203- else if ((ab(C, E) > (W(aq, I, E, C) + ao)))
204- then throw("Amount of Tickets exceeds maximum amount per attendee")
205- else ScriptResult(WriteSet([DataEntry(G(aq, I, E, C), (W(aq, I, E, C) + ao)), DataEntry(J(ai, C), (X(ai, C) + ap.amount)), DataEntry(L(C, E), (ar - ao))]), TransferSet([ScriptTransfer(addressFromStringValue(a), ap.amount, unit)]))
206- }
186+ else if ((ai == n))
187+ then throw("Event does not exist")
188+ else if (((aj * ao) > ap.amount))
189+ then throw(((("You did not send enough money. You sent: " + toString(ap.amount)) + ". Expected: ") + toString((ao * aj))))
190+ else if ((ap.amount > (aj * ao)))
191+ then throw(((("You send too much money. You sent: " + toString(ap.amount)) + ". Total price: ") + toString((ao * aj))))
192+ else if ((0 > (ar - ao)))
193+ then throw("Not enough tickets left")
194+ else if (((lastBlock.timestamp + 15000000) > V(C)))
195+ then throw("This event has already happened")
196+ else if (Z(C))
197+ then throw("This event was canceled")
198+ else if (if (aa(C))
199+ then (I == "")
200+ else false)
201+ then throw("This event requires that you register with a personal ID")
202+ else if ((ab(C, E) > (W(aq, I, E, C) + ao)))
203+ then throw("Amount of Tickets exceeds maximum amount per attendee")
204+ else ScriptResult(WriteSet([DataEntry(G(aq, I, E, C), (W(aq, I, E, C) + ao)), DataEntry(J(ai, C), (X(ai, C) + ap.amount)), DataEntry(L(C, E), (ar - ao))]), TransferSet([ScriptTransfer(addressFromStringValue(a), ap.amount, unit)]))
207205 }
208206
209207
210208
211209 @Callable(ae)
212210 func cancelEvent (C) = {
213211 let an = toBase58String(ae.caller.bytes)
214212 if ((R(C) != an))
215213 then throw("Event does not exist, or you don't have the credentials to perform this action")
216214 else if (((lastBlock.timestamp + 15000000) > V(C)))
217215 then throw("This event has already happened")
218216 else WriteSet([DataEntry(M(C), true)])
219217 }
220218
221219
222220
223221 @Callable(ae)
224222 func checkin (C,at,ao,I,E) = {
225223 let an = toBase58String(ae.caller.bytes)
226224 if ((R(C) != an))
227225 then throw("Event does not exist, or you don't have the credentials to perform this action")
228226 else if ((ao > W(at, I, E, C)))
229227 then throw("You don't have enough tickets.")
230228 else if (Z(C))
231229 then throw("This event was canceled. You can redeem your ticket using refundTicket function")
232230 else WriteSet([DataEntry(G(at, I, E, C), (W(at, I, E, C) - ao))])
233231 }
234232
235233
236234
237235 @Callable(ae)
238236 func editEventTickets (C,E,au) = {
239237 let an = toBase58String(ae.caller.bytes)
240238 if ((R(C) != an))
241239 then throw("Event does not exist, or you don't have the credentials to perform this action")
242240 else if (((lastBlock.timestamp + 15000000) > V(C)))
243241 then throw("This event has already happened")
244242 else if (Z(C))
245243 then throw("This event was already canceled")
246244 else WriteSet([DataEntry(L(C, E), au)])
247245 }
248246
249247
250248
251249 @Callable(ae)
252250 func refundTicket (C,ao,I,E) = {
253251 let at = toBase58String(ae.caller.bytes)
254252 if ((R(C) == n))
255253 then throw("The event does not exist")
256254 else if ((ao > W(at, I, E, C)))
257255 then throw("You don't have enough registered tickets with this address")
258256 else if (((lastBlock.timestamp + 15000000) > V(C)))
259257 then throw("This event has already happened")
260258 else ScriptResult(WriteSet([DataEntry(G(at, I, E, C), (W(at, I, E, C) - ao))]), TransferSet([ScriptTransfer(addressFromStringValue(at), (ao * W(at, I, E, C)), unit)]))
261259 }
262260
263261
264262
265263 @Callable(ae)
266264 func withdraw (C) = {
267265 let an = toBase58String(ae.caller.bytes)
268266 let av = X(an, C)
269267 if ((R(C) != an))
270268 then throw("Event does not exist, or you don't have the credentials to perform this action")
271269 else if ((0 >= av))
272270 then throw("Insufficient balance")
273271 else if (Z(C))
274272 then throw("Event has been canceled")
275273 else ScriptResult(WriteSet([DataEntry(J(an, C), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(an), (av - ((av * o) / 100)), unit), ScriptTransfer(addressFromStringValue(a), ((av * o) / 100), unit)]))
276274 }
277275
278276

github/deemru/w8io/169f3d6 
40.42 ms