tx · 4uZioCTHD2iBQYgjREUbpp3DM9MEjoqoiAyFKp2koLgZ
3NBdqVGWfdqV3UJ8S1xsz5qoBRGTEsLioLf: -0.01400000 Waves
2020.03.09 20:32 [901892] smart account 3NBdqVGWfdqV3UJ8S1xsz5qoBRGTEsLioLf > SELF 0.00000000 Waves
{
"type": 13,
"id": "4uZioCTHD2iBQYgjREUbpp3DM9MEjoqoiAyFKp2koLgZ",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1583775236261,
"version": 1,
"sender": "3NBdqVGWfdqV3UJ8S1xsz5qoBRGTEsLioLf",
"senderPublicKey": "3LEuAZxU2NYqTtbUBJLs5XaFQ8z781ENmxbLvFXZy33D",
"proofs": [
"2NhpjaA4xJxYPMmRszhRVuEVJWgJf9oCVde4EU64tPiijPLqYAWbjpga9C8A2CXKLFfkyGWNxkCEodiv9xTZX5QB"
],
"script": "base64:AAIDAAAAAAAAAC4IARIHCgUIAQgBARIECgIIARIDCgEIEgQKAggBEgQKAggBEgQKAggBEgQKAggBAAAAHQAAAAAHYWRkcmVzcwIAAAAjM05CZHFWR1dmZHFWM1VKOFMxeHN6NXFvQlJHVEVzTGlvTGYAAAAADmtleUV2ZW50UHJlZml4AgAAAAZldmVudF8AAAAAEmtleUV2ZW50RGF0YVByZWZpeAIAAAAFZGF0YV8AAAAAE2tleUV2ZW50UHJpY2VQcmVmaXgCAAAABnByaWNlXwAAAAASa2V5RXZlbnREYXRlUHJlZml4AgAAAAVkYXRlXwAAAAAWa2V5RXZlbnRBdHRlbmRlZVByZWZpeAIAAAAJYXR0ZW5kZWVfAAAAABhrZXlQcm9kdWNlckJhbGFuY2VQcmVmaXgCAAAACGJhbGFuY2VfAAAAABprZXlFdmVudEFtb3VudFRpY2tldFByZWZpeAIAAAAOYW1vdW50VGlja2V0c18AAAAAFmtleUV2ZW50Q2FuY2VsZWRQcmVmaXgCAAAACWNhbmNlbGVkXwAAAAAETk9ORQIAAAAEbm9uZQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAAxnZXRCb29sQnlLZXkAAAABAAAAA2tleQQAAAAEYm9vbAQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHBQAAAARib29sAQAAAAtnZXRFdmVudEtleQAAAAIAAAAIcHJvZHVjZXIAAAAFdGl0bGUJAAEsAAAAAgUAAAAOa2V5RXZlbnRQcmVmaXgJAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIcHJvZHVjZXIFAAAABXRpdGxlAQAAAA9nZXRFdmVudERhdGFLZXkAAAABAAAABWV2ZW50CQABLAAAAAIFAAAAEmtleUV2ZW50RGF0YVByZWZpeAUAAAAFZXZlbnQBAAAAEGdldEV2ZW50UHJpY2VLZXkAAAABAAAABWV2ZW50CQABLAAAAAIFAAAAE2tleUV2ZW50UHJpY2VQcmVmaXgFAAAABWV2ZW50AQAAAA9nZXRFdmVudERhdGVLZXkAAAABAAAABWV2ZW50CQABLAAAAAIFAAAAEmtleUV2ZW50RGF0ZVByZWZpeAUAAAAFZXZlbnQBAAAAE2dldEV2ZW50QXR0ZW5kZWVLZXkAAAACAAAABHVzZXIAAAAFZXZlbnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAAFmtleUV2ZW50QXR0ZW5kZWVQcmVmaXgFAAAABHVzZXICAAAAAV8FAAAABWV2ZW50AQAAABVnZXRQcm9kdWNlckJhbGFuY2VLZXkAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAYa2V5UHJvZHVjZXJCYWxhbmNlUHJlZml4BQAAAAdhY2NvdW50AQAAABhnZXRFdmVudEFtb3VudFRpY2tldHNLZXkAAAABAAAABWV2ZW50CQABLAAAAAIFAAAAGmtleUV2ZW50QW1vdW50VGlja2V0UHJlZml4BQAAAAVldmVudAEAAAATZ2V0RXZlbnRDYW5jZWxlZEtleQAAAAEAAAAFZXZlbnQJAAEsAAAAAgUAAAAWa2V5RXZlbnRDYW5jZWxlZFByZWZpeAUAAAAFZXZlbnQBAAAAEWdldEV2ZW50VmFsdWVCeUlkAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABBQAAAARpdGVtAQAAAA1nZXRFdmVudFZhbHVlAAAAAgAAAAhwcm9kdWNlcgAAAAV0aXRsZQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAC2dldEV2ZW50S2V5AAAAAgUAAAAIcHJvZHVjZXIFAAAABXRpdGxlAQAAABJnZXRFdmVudFByaWNlVmFsdWUAAAABAAAABWV2ZW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAQZ2V0RXZlbnRQcmljZUtleQAAAAEFAAAABWV2ZW50AQAAABFnZXRFdmVudERhdGVWYWx1ZQAAAAEAAAAFZXZlbnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRFdmVudERhdGVLZXkAAAABBQAAAAVldmVudAEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAAAgAAAAR1c2VyAAAABWV2ZW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAATZ2V0RXZlbnRBdHRlbmRlZUtleQAAAAIFAAAABHVzZXIFAAAABWV2ZW50AQAAABdnZXRQcm9kdWNlckJhbGFuY2VWYWx1ZQAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldFByb2R1Y2VyQmFsYW5jZUtleQAAAAEFAAAAB2FjY291bnQBAAAAGmdldEV2ZW50QW1vdW50VGlja2V0c1ZhbHVlAAAAAQAAAAVldmVudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEV2ZW50QW1vdW50VGlja2V0c0tleQAAAAEFAAAABWV2ZW50AQAAABVnZXRFdmVudENhbmNlbGVkVmFsdWUAAAABAAAABWV2ZW50CQEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQkBAAAAE2dldEV2ZW50Q2FuY2VsZWRLZXkAAAABBQAAAAVldmVudAAAAAcAAAABaQEAAAALY3JlYXRlRXZlbnQAAAAFAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEAAAAEZGF0ZQAAAA1hbW91bnRUaWNrZXRzBAAAAA9wcm9kdWNlckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAFZXZlbnQJAQAAAAtnZXRFdmVudEtleQAAAAIFAAAAD3Byb2R1Y2VyQWRkcmVzcwUAAAAFdGl0bGUDCQAAZgAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAAGFByaWNlIGNhbm5vdCBiZSBuZWdhdGl2ZQMJAQAAAAIhPQAAAAIJAQAAAA1nZXRFdmVudFZhbHVlAAAAAgUA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Ynl0ZXMDCQAAZwAAAAIFAAAABmFtb3VudAkBAAAAFWdldEV2ZW50QXR0ZW5kZWVWYWx1ZQAAAAIFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAAFZXZlbnQJAAACAAAAAQIAAAA5WW91IGRvbid0IGhhdmUgZW5vdWdoIHJlZ2lzdGVyZWQgdGlja2V0IHdpdGggdGhpcyBhZGRyZXNzAwkBAAAAFWdldEV2ZW50Q2FuY2VsZWRWYWx1ZQAAAAEFAAAABWV2ZW50CQAAAgAAAAECAAAAT1RoaXMgZXZlbnQgd2FzIGNhbmNlbGVkLiBZb3UgY2FuIHJlZGVlbSB5b3VyIHRpY2tldCB1c2luZyByZWZ1bmRUaWNrZXQgZnVuY3Rpb24JAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABNnZXRFdmVudEF0dGVuZGVlS2V5AAAAAgUAAAAPYXR0ZW5kZWVBZGRyZXNzBQAAAAVldmVudAkAAGUAAAACCQEAAAAVZ2V0RXZlbnRBdHRlbmRlZVZhbHVlAAAAAgUAAAAPYXR0ZW5kZWVBZGRyZXNzBQAAAAVldmVudAUAAAAGYW1vdW50BQAAAANuaWwAAAABaQEAAAALY2FuY2VsRXZlbnQAAAACAAAABWV2ZW50AAAAB2RhdGVOb3cEAAAAD3Byb2R1Y2VyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgkBAAAAEWdldEV2ZW50VmFsdWVCeUlkAAAAAQUAAAAFZXZlbnQFAAAAD3Byb2R1Y2VyQWRkcmVzcwkAAAIAAAABAgAAACNZb3UgaGF2ZSBub3QgY3JlYXRlZCBhbnkgRXZlbnQgeWV0IQMJAABnAAAAAgUAAAAHZGF0ZU5vdwkBAAAAEWdldEV2ZW50RGF0ZVZhbHVlAAAAAQUAAAAFZXZlbnQJAAACAAAAAQIAAAAfVGhpcyBldmVudCBoYXMgYWxyZWFkeSBoYXBwZW5lZAMJAQAAABVnZXRFdmVudENhbmNlbGVkVmFsdWUAAAABBQAAAAVldmVudAkAAAIAAAABAgAAAB9UaGlzIGV2ZW50IHdhcyBhbHJlYWR5IGNhbmNlbGVkCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0RXZlbnRDYW5jZWxlZEtleQAAAAEFAAAABWV2ZW50BgUAAAADbmlsAAAAAWkBAAAADHJlZnVuZFRpY2tldAAAAAIAAAAFZXZlbnQAAAAGYW1vdW50BAAAAA9hdHRlbmRlZUFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwMJAABnAAAAAgAAAAAAAAAAAAkBAAAAFWdldEV2ZW50QXR0ZW5kZWVWYWx1ZQAAAAIFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAAFZXZlbnQJAAACAAAAAQIAAAAvWW91IGhhdmUgbm8gcmVnaXN0ZXJlZCB0aWNrZXQgd2l0aCB0aGlzIGFkZHJlc3MJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATZ2V0RXZlbnRBdHRlbmRlZUtleQAAAAIFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAAFZXZlbnQJAABlAAAAAgkBAAAAFWdldEV2ZW50QXR0ZW5kZWVWYWx1ZQAAAAIFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAAFZXZlbnQFAAAABmFtb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAPYXR0ZW5kZWVBZGRyZXNzCQAAaAAAAAIFAAAABmFtb3VudAkBAAAAFWdldEV2ZW50QXR0ZW5kZWVWYWx1ZQAAAAIFAAAAD2F0dGVuZGVlQWRkcmVzcwUAAAAFZXZlbnQFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAFZXZlbnQAAAAHZGF0ZU5vdwQAAAAPcHJvZHVjZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAB2JhbGFuY2UJAQAAABdnZXRQcm9kdWNlckJhbGFuY2VWYWx1ZQAAAAEFAAAAD3Byb2R1Y2VyQWRkcmVzcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAHYmFsYW5jZQkAAAIAAAABAgAAABRJbnN1ZmZpY2llbnQgYmFsYW5jZQMJAABnAAAAAgkBAAAAEWdldEV2ZW50RGF0ZVZhbHVlAAAAAQUAAAAFZXZlbnQFAAAAB2RhdGVOb3cJAAACAAAAAQIAAABFRXZlbnQgaGFzIG5vdCB5ZXQgdGFrZW4gcGxhY2UuIFdpdGhkcmF3IGZ1bmRzIHdoZW4gZXZlbnQgdGFrZXMgcGxhY2UuAwkBAAAAFWdldEV2ZW50Q2FuY2VsZWRWYWx1ZQAAAAEFAAAABWV2ZW50CQAAAgAAAAECAAAAF0V2ZW50IGhhcyBiZWVuIGNhbmNlbGVkCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFWdldFByb2R1Y2VyQmFsYW5jZUtleQAAAAEFAAAAD3Byb2R1Y2VyQWRkcmVzcwAAAAAAAAAAAAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAAPcHJvZHVjZXJBZGRyZXNzBQAAAAdiYWxhbmNlBQAAAAR1bml0BQAAAANuaWwAAAAAmWXBAw==",
"chainId": 84,
"height": 901892,
"spentComplexity": 0
}
View: original | compacted
Prev: 6S7rvkSTrYAyeFu5W7Ky2kJCvU9CweQiuEtrJsAfz4ZA
Next: 5h8g46d926seRXrrUQYcFtgRJHutsc2Y3C4U2znBffCn
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let a = "event_" |
---|
| 4 | + | let a = "3NBdqVGWfdqV3UJ8S1xsz5qoBRGTEsLioLf" |
---|
5 | 5 | | |
---|
6 | | - | let b = "data_" |
---|
| 6 | + | let b = "event_" |
---|
7 | 7 | | |
---|
8 | | - | let c = "price_" |
---|
| 8 | + | let c = "data_" |
---|
9 | 9 | | |
---|
10 | | - | let d = "date_" |
---|
| 10 | + | let d = "price_" |
---|
11 | 11 | | |
---|
12 | | - | let e = "attendee_" |
---|
| 12 | + | let e = "date_" |
---|
13 | 13 | | |
---|
14 | | - | let f = "balance_" |
---|
| 14 | + | let f = "attendee_" |
---|
15 | 15 | | |
---|
16 | | - | let g = "amountTickets_" |
---|
| 16 | + | let g = "balance_" |
---|
17 | 17 | | |
---|
18 | | - | let h = "canceled_" |
---|
| 18 | + | let h = "amountTickets_" |
---|
19 | 19 | | |
---|
20 | | - | let i = "none" |
---|
| 20 | + | let i = "canceled_" |
---|
21 | 21 | | |
---|
22 | | - | func j (k) = { |
---|
23 | | - | let l = { |
---|
24 | | - | let m = getInteger(this, k) |
---|
25 | | - | if ($isInstanceOf(m, "Int")) |
---|
| 22 | + | let j = "none" |
---|
| 23 | + | |
---|
| 24 | + | func k (l) = { |
---|
| 25 | + | let m = { |
---|
| 26 | + | let n = getInteger(this, l) |
---|
| 27 | + | if ($isInstanceOf(n, "Int")) |
---|
26 | 28 | | then { |
---|
27 | | - | let n = m |
---|
28 | | - | n |
---|
| 29 | + | let o = n |
---|
| 30 | + | o |
---|
29 | 31 | | } |
---|
30 | 32 | | else 0 |
---|
31 | 33 | | } |
---|
32 | | - | l |
---|
| 34 | + | m |
---|
33 | 35 | | } |
---|
34 | 36 | | |
---|
35 | 37 | | |
---|
36 | | - | func o (k) = { |
---|
37 | | - | let p = { |
---|
38 | | - | let m = getString(this, k) |
---|
39 | | - | if ($isInstanceOf(m, "String")) |
---|
| 38 | + | func p (l) = { |
---|
| 39 | + | let q = { |
---|
| 40 | + | let n = getString(this, l) |
---|
| 41 | + | if ($isInstanceOf(n, "String")) |
---|
40 | 42 | | then { |
---|
41 | | - | let n = m |
---|
42 | | - | n |
---|
| 43 | + | let o = n |
---|
| 44 | + | o |
---|
43 | 45 | | } |
---|
44 | | - | else i |
---|
| 46 | + | else j |
---|
45 | 47 | | } |
---|
46 | | - | p |
---|
| 48 | + | q |
---|
47 | 49 | | } |
---|
48 | 50 | | |
---|
49 | 51 | | |
---|
50 | | - | func q (k) = { |
---|
51 | | - | let r = { |
---|
52 | | - | let m = getBoolean(this, k) |
---|
53 | | - | if ($isInstanceOf(m, "Boolean")) |
---|
| 52 | + | func r (l) = { |
---|
| 53 | + | let s = { |
---|
| 54 | + | let n = getBoolean(this, l) |
---|
| 55 | + | if ($isInstanceOf(n, "Boolean")) |
---|
54 | 56 | | then { |
---|
55 | | - | let n = m |
---|
56 | | - | n |
---|
| 57 | + | let o = n |
---|
| 58 | + | o |
---|
57 | 59 | | } |
---|
58 | 60 | | else false |
---|
59 | 61 | | } |
---|
60 | | - | r |
---|
| 62 | + | s |
---|
61 | 63 | | } |
---|
62 | 64 | | |
---|
63 | 65 | | |
---|
64 | | - | func s (t,u) = (a + toBase58String(sha256(toBytes((t + u))))) |
---|
| 66 | + | func t (u,v) = (b + toBase58String(sha256(toBytes((u + v))))) |
---|
65 | 67 | | |
---|
66 | 68 | | |
---|
67 | | - | func v (w) = (b + w) |
---|
| 69 | + | func w (x) = (c + x) |
---|
68 | 70 | | |
---|
69 | 71 | | |
---|
70 | | - | func x (w) = (c + w) |
---|
| 72 | + | func y (x) = (d + x) |
---|
71 | 73 | | |
---|
72 | 74 | | |
---|
73 | | - | func y (w) = (d + w) |
---|
| 75 | + | func z (x) = (e + x) |
---|
74 | 76 | | |
---|
75 | 77 | | |
---|
76 | | - | func z (A,w) = (((e + A) + "_") + w) |
---|
| 78 | + | func A (B,x) = (((f + B) + "_") + x) |
---|
77 | 79 | | |
---|
78 | 80 | | |
---|
79 | | - | func B (C) = (f + C) |
---|
| 81 | + | func C (D) = (g + D) |
---|
80 | 82 | | |
---|
81 | 83 | | |
---|
82 | | - | func D (w) = (g + w) |
---|
| 84 | + | func E (x) = (h + x) |
---|
83 | 85 | | |
---|
84 | 86 | | |
---|
85 | | - | func E (w) = (h + w) |
---|
| 87 | + | func F (x) = (i + x) |
---|
86 | 88 | | |
---|
87 | 89 | | |
---|
88 | | - | func F (G) = o(G) |
---|
| 90 | + | func G (H) = p(H) |
---|
89 | 91 | | |
---|
90 | 92 | | |
---|
91 | | - | func H (t,u) = o(s(t, u)) |
---|
| 93 | + | func I (u,v) = p(t(u, v)) |
---|
92 | 94 | | |
---|
93 | 95 | | |
---|
94 | | - | func I (w) = j(x(w)) |
---|
| 96 | + | func J (x) = k(y(x)) |
---|
95 | 97 | | |
---|
96 | 98 | | |
---|
97 | | - | func J (w) = j(y(w)) |
---|
| 99 | + | func K (x) = k(z(x)) |
---|
98 | 100 | | |
---|
99 | 101 | | |
---|
100 | | - | func K (A,w) = j(z(A, w)) |
---|
| 102 | + | func L (B,x) = k(A(B, x)) |
---|
101 | 103 | | |
---|
102 | 104 | | |
---|
103 | | - | func L (C) = j(B(C)) |
---|
| 105 | + | func M (D) = k(C(D)) |
---|
104 | 106 | | |
---|
105 | 107 | | |
---|
106 | | - | func M (w) = j(D(w)) |
---|
| 108 | + | func N (x) = k(E(x)) |
---|
107 | 109 | | |
---|
108 | 110 | | |
---|
109 | | - | func N (w) = q(E(w)) |
---|
| 111 | + | func O (x) = r(F(x)) |
---|
110 | 112 | | |
---|
111 | 113 | | |
---|
112 | | - | @Callable(O) |
---|
113 | | - | func createEvent (u,P,Q,R,S) = { |
---|
114 | | - | let T = toBase58String(O.caller.bytes) |
---|
115 | | - | let w = s(T, u) |
---|
116 | | - | if ((0 > P)) |
---|
| 114 | + | @Callable(P) |
---|
| 115 | + | func createEvent (v,Q,R,S,T) = { |
---|
| 116 | + | let U = toBase58String(P.caller.bytes) |
---|
| 117 | + | let x = t(U, v) |
---|
| 118 | + | if ((0 > Q)) |
---|
117 | 119 | | then throw("Price cannot be negative") |
---|
118 | | - | else if ((H(T, u) != i)) |
---|
| 120 | + | else if ((I(U, v) != j)) |
---|
119 | 121 | | then throw("The event already exist") |
---|
120 | | - | else WriteSet([DataEntry(s(T, u), T), DataEntry(x(w), P), DataEntry(v(w), Q), DataEntry(y(w), R), DataEntry(D(w), S)]) |
---|
| 122 | + | else WriteSet([DataEntry(t(U, v), U), DataEntry(y(x), Q), DataEntry(w(x), R), DataEntry(z(x), S), DataEntry(E(x), T)]) |
---|
121 | 123 | | } |
---|
122 | 124 | | |
---|
123 | 125 | | |
---|
124 | 126 | | |
---|
125 | | - | @Callable(O) |
---|
126 | | - | func purchase (w,U) = { |
---|
127 | | - | let V = extract(O.payment) |
---|
128 | | - | if (isDefined(V.assetId)) |
---|
| 127 | + | @Callable(P) |
---|
| 128 | + | func purchase (x,V) = { |
---|
| 129 | + | let W = extract(P.payment) |
---|
| 130 | + | if (isDefined(W.assetId)) |
---|
129 | 131 | | then throw("can use WAVES only at the moment") |
---|
130 | 132 | | else { |
---|
131 | | - | let W = toBase58String(O.caller.bytes) |
---|
132 | | - | let P = I(w) |
---|
133 | | - | let X = F(w) |
---|
134 | | - | let Y = M(w) |
---|
135 | | - | if (((P * U) > V.amount)) |
---|
136 | | - | then throw(((("You did not send enough money. You sent: " + toString(V.amount)) + ". Expected: ") + toString((U * P)))) |
---|
137 | | - | else if ((V.amount > (P * U))) |
---|
138 | | - | then throw(((("You send too much money. You sent: " + toString(V.amount)) + ". Expected price: ") + toString(P))) |
---|
139 | | - | else if ((X == i)) |
---|
| 133 | + | let X = toBase58String(P.caller.bytes) |
---|
| 134 | + | let Q = J(x) |
---|
| 135 | + | let Y = G(x) |
---|
| 136 | + | let Z = N(x) |
---|
| 137 | + | if (((Q * V) > W.amount)) |
---|
| 138 | + | then throw(((("You did not send enough money. You sent: " + toString(W.amount)) + ". Expected: ") + toString((V * Q)))) |
---|
| 139 | + | else if ((W.amount > (Q * V))) |
---|
| 140 | + | then throw(((("You send too much money. You sent: " + toString(W.amount)) + ". Expected price: ") + toString(Q))) |
---|
| 141 | + | else if ((Y == j)) |
---|
140 | 142 | | then throw("supplier does not exist") |
---|
141 | | - | else if ((0 >= Y)) |
---|
| 143 | + | else if ((0 >= Z)) |
---|
142 | 144 | | then throw("No tickets left") |
---|
143 | | - | else if (N(w)) |
---|
| 145 | + | else if (O(x)) |
---|
144 | 146 | | then throw("This event was canceled") |
---|
145 | | - | else WriteSet([DataEntry(z(W, w), (K(W, w) + U)), DataEntry(B(X), (L(X) + V.amount)), DataEntry(D(w), (M(w) - U))]) |
---|
| 147 | + | else ScriptResult(WriteSet([DataEntry(A(X, x), (L(X, x) + V)), DataEntry(C(Y), (M(Y) + W.amount)), DataEntry(E(x), (N(x) - V))]), TransferSet([ScriptTransfer(addressFromStringValue(a), W.amount, unit)])) |
---|
146 | 148 | | } |
---|
147 | 149 | | } |
---|
148 | 150 | | |
---|
149 | 151 | | |
---|
150 | 152 | | |
---|
151 | | - | @Callable(O) |
---|
152 | | - | func endTicketSale (u) = { |
---|
153 | | - | let T = toBase58String(O.caller.bytes) |
---|
154 | | - | let w = s(T, u) |
---|
155 | | - | if ((F(w) != T)) |
---|
| 153 | + | @Callable(P) |
---|
| 154 | + | func endTicketSale (v) = { |
---|
| 155 | + | let U = toBase58String(P.caller.bytes) |
---|
| 156 | + | let x = t(U, v) |
---|
| 157 | + | if ((G(x) != U)) |
---|
156 | 158 | | then throw("You have not created any Event yet!") |
---|
157 | | - | else if (N(w)) |
---|
| 159 | + | else if (O(x)) |
---|
158 | 160 | | then throw("This event was canceled") |
---|
159 | | - | else WriteSet([DataEntry(D(w), 0)]) |
---|
| 161 | + | else WriteSet([DataEntry(E(x), 0)]) |
---|
160 | 162 | | } |
---|
161 | 163 | | |
---|
162 | 164 | | |
---|
163 | 165 | | |
---|
164 | | - | @Callable(O) |
---|
165 | | - | func checkin (w,U) = { |
---|
166 | | - | let Z = toBase58String(O.caller.bytes) |
---|
167 | | - | if ((U >= K(Z, w))) |
---|
| 166 | + | @Callable(P) |
---|
| 167 | + | func checkin (x,V) = { |
---|
| 168 | + | let aa = toBase58String(P.caller.bytes) |
---|
| 169 | + | if ((V >= L(aa, x))) |
---|
168 | 170 | | then throw("You don't have enough registered ticket with this address") |
---|
169 | | - | else if (N(w)) |
---|
| 171 | + | else if (O(x)) |
---|
170 | 172 | | then throw("This event was canceled. You can redeem your ticket using refundTicket function") |
---|
171 | | - | else WriteSet([DataEntry(z(Z, w), (K(Z, w) - U))]) |
---|
| 173 | + | else WriteSet([DataEntry(A(aa, x), (L(aa, x) - V))]) |
---|
172 | 174 | | } |
---|
173 | 175 | | |
---|
174 | 176 | | |
---|
175 | 177 | | |
---|
176 | | - | @Callable(O) |
---|
177 | | - | func cancelEvent (w,aa) = { |
---|
178 | | - | let T = toBase58String(O.caller.bytes) |
---|
179 | | - | if ((F(w) != T)) |
---|
| 178 | + | @Callable(P) |
---|
| 179 | + | func cancelEvent (x,ab) = { |
---|
| 180 | + | let U = toBase58String(P.caller.bytes) |
---|
| 181 | + | if ((G(x) != U)) |
---|
180 | 182 | | then throw("You have not created any Event yet!") |
---|
181 | | - | else if ((aa >= J(w))) |
---|
| 183 | + | else if ((ab >= K(x))) |
---|
182 | 184 | | then throw("This event has already happened") |
---|
183 | | - | else if (N(w)) |
---|
| 185 | + | else if (O(x)) |
---|
184 | 186 | | then throw("This event was already canceled") |
---|
185 | | - | else WriteSet([DataEntry(E(w), true)]) |
---|
| 187 | + | else WriteSet([DataEntry(F(x), true)]) |
---|
186 | 188 | | } |
---|
187 | 189 | | |
---|
188 | 190 | | |
---|
189 | 191 | | |
---|
190 | | - | @Callable(O) |
---|
191 | | - | func refundTicket (w,U) = { |
---|
192 | | - | let Z = toBase58String(O.caller.bytes) |
---|
193 | | - | if ((0 >= K(Z, w))) |
---|
| 192 | + | @Callable(P) |
---|
| 193 | + | func refundTicket (x,V) = { |
---|
| 194 | + | let aa = toBase58String(P.caller.bytes) |
---|
| 195 | + | if ((0 >= L(aa, x))) |
---|
194 | 196 | | then throw("You have no registered ticket with this address") |
---|
195 | | - | else ScriptResult(WriteSet([DataEntry(z(Z, w), (K(Z, w) - U))]), TransferSet([ScriptTransfer(addressFromStringValue(Z), (U * K(Z, w)), unit)])) |
---|
| 197 | + | else ScriptResult(WriteSet([DataEntry(A(aa, x), (L(aa, x) - V))]), TransferSet([ScriptTransfer(addressFromStringValue(aa), (V * L(aa, x)), unit)])) |
---|
196 | 198 | | } |
---|
197 | 199 | | |
---|
198 | 200 | | |
---|
199 | 201 | | |
---|
200 | | - | @Callable(O) |
---|
201 | | - | func withdraw (w,aa) = { |
---|
202 | | - | let T = toBase58String(O.caller.bytes) |
---|
203 | | - | let ab = L(T) |
---|
204 | | - | if ((0 >= ab)) |
---|
| 202 | + | @Callable(P) |
---|
| 203 | + | func withdraw (x,ab) = { |
---|
| 204 | + | let U = toBase58String(P.caller.bytes) |
---|
| 205 | + | let ac = M(U) |
---|
| 206 | + | if ((0 >= ac)) |
---|
205 | 207 | | then throw("Insufficient balance") |
---|
206 | | - | else if ((J(w) >= aa)) |
---|
| 208 | + | else if ((K(x) >= ab)) |
---|
207 | 209 | | then throw("Event has not yet taken place. Withdraw funds when event takes place.") |
---|
208 | | - | else if (N(w)) |
---|
| 210 | + | else if (O(x)) |
---|
209 | 211 | | then throw("Event has been canceled") |
---|
210 | | - | else ScriptResult(WriteSet([DataEntry(B(T), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(T), ab, unit)])) |
---|
| 212 | + | else ScriptResult(WriteSet([DataEntry(C(U), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(U), ac, unit)])) |
---|
211 | 213 | | } |
---|
212 | 214 | | |
---|
213 | 215 | | |
---|