tx · 2FRBiyTvta9gN1cfo8PW6RAc4JcziyLSnMJ9DeXYPdyW 3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd: -0.01200000 Waves 2023.12.14 05:29 [2885794] smart account 3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd > SELF 0.00000000 Waves
{ "type": 13, "id": "2FRBiyTvta9gN1cfo8PW6RAc4JcziyLSnMJ9DeXYPdyW", "fee": 1200000, "feeAssetId": null, "timestamp": 1702520960727, "version": 2, "chainId": 84, "sender": "3MxJx6npysQdoyyxLsCCb3Yg8fTeH3gEQQd", "senderPublicKey": "EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e", "proofs": [ "4QqHUVMZfh9DFHL3yjrGv1kGUTxJZAcai5u4Skgeoj3uR9cp5H6WLQ6XKrAi4npEbRDwEBn838NMC9nuHAAJQVGj" ], "script": "base64:AAIDAAAAAAAAACYIARIDCgEIEgASABIAEgMKAQESBQoDCAEIEgQKAggIEgASAwoBAQAAACgAAAAACmFjYzFQdWJLZXkBAAAAINoqzDs5WpVhYDTUvUDFMunBHoYto6DfGaP0KadDFYl5AAAAAAphY2MyUHViS2V5AQAAACDEqrME/jjBGs4Mrxcvf2rYimlLp6n4e/JFPZGNpxSDUQAAAAAKYWNjM1B1YktleQEAAAAgUNvEPKDCChp09z9n6F1NbPXldSbE9+5rrmMBqTTu7wMAAAAAB3RvcmFjbGUCAAAAIzNOQTI2QUMxYUxqajZ1WW51b1RhaGF1aFVQUFBCM1ZCUFVlAAAAAAR3RVVSAQAAACC6fG+O/AdVU/H4aUmwE8kAaAv4SyVmvtfr719xjXjUkAAAAAAETk9ORQIAAAAEbm9uZQAAAAAHQkFMQU5DRQIAAAAIYmFsYW5jZV8AAAAABlZPVEVSUwAAAAAAAAAAAwAAAAAGUVVPUlVNAAAAAAAAAAACAAAAAAZWT1RJTkcCAAAABnZvdGluZwAAAAAGUkVWRUFMAgAAAAZyZXZlYWwAAAAACEZFQVRVUkVEAgAAAAhmZWF0dXJlZAAAAAAIREVMSVNURUQCAAAACGRlbGlzdGVkAAAAAAhWRVJJRklFRAIAAAAIdmVyaWZpZWQAAAAAC0JMQUNLTElTVEVEAgAAAAlibGFja2xpc3QBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9wcmljZQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAEaXRlbQIAAAABXwUAAAAEdXNlcgIAAAAEX2NudAEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAACmdldEtleUl0ZW0AAAACAAAACHN1cHBsaWVyAAAABXRpdGxlCQABLAAAAAICAAAABWl0ZW1fCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAFX2RhdGEBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfb3duZXIBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAACF9iYWxhbmNlAQAAABdnZXRWYWx1ZUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAAB2FjY291bnQBAAAADGdldEtleUNvbW1pdAAAAAIAAAAEaXRlbQAAAAR1c2VyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAAdfY29tbWl0AQAAAA5nZXRWYWx1ZUNvbW1pdAAAAAIAAAAEaXRlbQAAAAR1c2VyCQEAAAALZ2V0U3RyQnlLZXkAAAABCQEAAAAMZ2V0S2V5Q29tbWl0AAAAAgUAAAAEaXRlbQUAAAAEdXNlcgEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAB19jb21jbnQBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAASZ2V0S2V5Q29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQEAAAAMZ2V0S2V5UmV2ZWFsAAAAAgAAAARpdGVtAAAABHVzZXIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAAB19yZXZlYWwBAAAADmdldFZhbHVlUmV2ZWFsAAAAAgAAAARpdGVtAAAABHVzZXIJAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAAxnZXRLZXlSZXZlYWwAAAACBQAAAARpdGVtBQAAAAR1c2VyAQAAABBnZXRLZXlJdGVtU3RhdHVzAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAB19zdGF0dXMBAAAAEmdldFZhbHVlSXRlbVN0YXR1cwAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEGdldEtleUl0ZW1TdGF0dXMAAAABBQAAAARpdGVtAQAAAA9nZXRLZXlWb3RlQ291bnQAAAACAAAABGl0ZW0AAAAEdm90ZQkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAABV9yZXM6BQAAAAR2b3RlAQAAABFnZXRWYWx1ZVZvdGVDb3VudAAAAAIAAAAEaXRlbQAAAAR2b3RlCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAPZ2V0S2V5Vm90ZUNvdW50AAAAAgUAAAAEaXRlbQUAAAAEdm90ZQEAAAATZ2V0RXh0QWRkcmVzc09yYWNsZQAAAAAJAQAAAAdleHRyYWN0AAAAAQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQUAAAAHdG9yYWNsZQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkAASwAAAACBQAAAAdhY2NvdW50AgAAABBfdmVyaWZpZXJfc3RhdHVzAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACAAAABm9yYWNsZQAAAAdhY2NvdW50BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAGb3JhY2xlCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAB2FjY291bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAAAACQAAAAFpAQAAAAhwdXJjaGFzZQAAAAEAAAAEaXRlbQQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAH1dBVkVTIHRva2VucyBvbmx5IGF0IHRoZSBtb21lbnQEAAAAC3VzZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABXByaWNlCQEAAAARZ2V0VmFsdWVJdGVtUHJpY2UAAAABBQAAAARpdGVtBAAAAA5zdXBwbGllckFkZHJzcwkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50BQAAAAVwcmljZQkAAAIAAAABAgAAADBwdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGhpZ2hlciB0aGFuIGl0ZW0gcHJpY2UDCQAAAAAAAAIFAAAADnN1cHBsaWVyQWRkcnNzBQAAAAROT05FCQAAAgAAAAECAAAAF3N1cHBsaWVyIGRvZXMgbm90IGV4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c3VwcGxpZXJXaGl0ZWxpc3QJAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACCQEAAAATZ2V0RXh0QWRkcmVzc09yYWNsZQAAAAAFAAAAD3N1cHBsaWVyQWRkcmVzcwMJAABnAAAAAgAAAAAAAAAAAAUAAAAFcHJpY2UJAAACAAAAAQIAAAAucHVyY2hhc2UgYW1vdW50IGNhbm5vdCBiZSBsZXNzIHRoYW4gaXRlbSBwcmljZQMJAQAAAAIhPQAAAAIJAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAABE5PTkUJAAACAAAAAQIAAAAYYW4gaXRlbSBpcyBhbHJlYWR5IGV4aXN0AwkAAAAAAAACBQAAABFzdXBwbGllcldoaXRlbGlzdAUAAAALQkxBQ0tMSVNURUQJAAACAAAAAQIAAAAlc3VwcGxpZXIgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAAD3N1cHBsaWVyQWRkcmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0FAAAABXByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAOZ2V0S2V5SXRlbURhdGEAAAABBQAAAARpdGVtBQAAAARkYXRhCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAARc3VwcGxpZXJXaGl0ZWxpc3QFAAAAA25pbAAAAAFpAQAAAAp2b3RlQ29tbWl0AAAAAgAAAARpdGVtAAAABGhhc2gEAAAABHVzZXIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAHY29tbWl0cwkBAAAAFGdldFZhbHVlQ29tbWl0c0NvdW50AAAAAQUAAAAEaXRlbQQAAAAGc3RhdHVzCQEAAAASZ2V0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", "height": 2885794, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DoYfbVnd18zL3fuDw7J6tTcexT4pxAD8WPNkF765HopW Next: none Diff:
Old | New | Differences | |
---|---|---|---|
7 | 7 | ||
8 | 8 | let c = base58'6SdykacJeMCbeNvVJY71gWMJeXt9ZT44X4KexwZxHEYz' | |
9 | 9 | ||
10 | - | let d = | |
10 | + | let d = "3NA26AC1aLjj6uYnuoTahauhUPPPB3VBPUe" | |
11 | 11 | ||
12 | - | let e = | |
12 | + | let e = base58'DYxtEoj6wasUX8ddENeh7igtcuAv1WG7BcgZVsmzvAGF' | |
13 | 13 | ||
14 | - | let f = " | |
14 | + | let f = "none" | |
15 | 15 | ||
16 | - | let g = | |
16 | + | let g = "balance_" | |
17 | 17 | ||
18 | - | let h = | |
18 | + | let h = 3 | |
19 | 19 | ||
20 | - | let i = | |
20 | + | let i = 2 | |
21 | 21 | ||
22 | - | let j = " | |
22 | + | let j = "voting" | |
23 | 23 | ||
24 | - | let k = " | |
24 | + | let k = "reveal" | |
25 | 25 | ||
26 | - | let l = " | |
26 | + | let l = "featured" | |
27 | 27 | ||
28 | - | func m (n) = { | |
29 | - | let o = { | |
30 | - | let p = getInteger(this, n) | |
31 | - | if ($isInstanceOf(p, "Int")) | |
28 | + | let m = "delisted" | |
29 | + | ||
30 | + | let n = "verified" | |
31 | + | ||
32 | + | let o = "blacklist" | |
33 | + | ||
34 | + | func p (q) = { | |
35 | + | let r = { | |
36 | + | let s = getInteger(this, q) | |
37 | + | if ($isInstanceOf(s, "Int")) | |
32 | 38 | then { | |
33 | - | let | |
34 | - | | |
39 | + | let t = s | |
40 | + | t | |
35 | 41 | } | |
36 | 42 | else 0 | |
37 | 43 | } | |
38 | - | | |
44 | + | r | |
39 | 45 | } | |
40 | 46 | ||
41 | 47 | ||
42 | - | func | |
43 | - | let | |
44 | - | let | |
45 | - | if ($isInstanceOf( | |
48 | + | func u (q) = { | |
49 | + | let v = { | |
50 | + | let s = getString(this, q) | |
51 | + | if ($isInstanceOf(s, "String")) | |
46 | 52 | then { | |
47 | - | let | |
48 | - | | |
53 | + | let t = s | |
54 | + | t | |
49 | 55 | } | |
50 | - | else | |
56 | + | else f | |
51 | 57 | } | |
52 | - | | |
58 | + | v | |
53 | 59 | } | |
54 | 60 | ||
55 | 61 | ||
56 | - | func | |
62 | + | func w (x) = (x + "_price") | |
57 | 63 | ||
58 | 64 | ||
59 | - | func | |
65 | + | func y (x) = p(w(x)) | |
60 | 66 | ||
61 | 67 | ||
62 | - | func | |
68 | + | func z (A,x) = (((x + "_") + A) + "_cnt") | |
63 | 69 | ||
64 | 70 | ||
65 | - | func | |
71 | + | func B (A,x) = p(z(A, x)) | |
66 | 72 | ||
67 | 73 | ||
68 | - | func | |
74 | + | func C (D,E) = ("item_" + toBase58String(sha256(toBytes((D + E))))) | |
69 | 75 | ||
70 | 76 | ||
71 | - | func | |
77 | + | func F (x) = (x + "_data") | |
72 | 78 | ||
73 | 79 | ||
74 | - | func | |
80 | + | func G (x) = (x + "_owner") | |
75 | 81 | ||
76 | 82 | ||
77 | - | func | |
83 | + | func H (x) = u(G(x)) | |
78 | 84 | ||
79 | 85 | ||
80 | - | func | |
86 | + | func I (J) = (J + "_balance") | |
81 | 87 | ||
82 | 88 | ||
83 | - | func | |
89 | + | func K (J) = p(I(J)) | |
84 | 90 | ||
85 | 91 | ||
86 | - | func | |
92 | + | func L (x,A) = (((x + "_") + A) + "_commit") | |
87 | 93 | ||
88 | 94 | ||
89 | - | func | |
95 | + | func M (x,A) = u(L(x, A)) | |
90 | 96 | ||
91 | 97 | ||
92 | - | func | |
98 | + | func N (x) = (x + "_comcnt") | |
93 | 99 | ||
94 | 100 | ||
95 | - | func | |
101 | + | func O (x) = p(N(x)) | |
96 | 102 | ||
97 | 103 | ||
98 | - | func | |
104 | + | func P (x,A) = (((x + "_") + A) + "_reveal") | |
99 | 105 | ||
100 | 106 | ||
101 | - | func | |
107 | + | func Q (x,A) = u(P(x, A)) | |
102 | 108 | ||
103 | 109 | ||
104 | - | func | |
110 | + | func R (x) = (x + "_status") | |
105 | 111 | ||
106 | 112 | ||
107 | - | func | |
113 | + | func S (x) = u(R(x)) | |
108 | 114 | ||
109 | 115 | ||
110 | - | func | |
116 | + | func T (x,U) = ((x + "_res:") + U) | |
111 | 117 | ||
112 | 118 | ||
113 | - | func | |
119 | + | func V (x,U) = p(T(x, U)) | |
114 | 120 | ||
115 | 121 | ||
116 | - | @Callable(T) | |
117 | - | func purchase (u) = { | |
118 | - | let U = extract(T.payment) | |
119 | - | if (isDefined(U.assetId)) | |
122 | + | func W () = extract(addressFromString(d)) | |
123 | + | ||
124 | + | ||
125 | + | func X (J) = (J + "_verifier_status") | |
126 | + | ||
127 | + | ||
128 | + | func Y (Z,J) = { | |
129 | + | let v = { | |
130 | + | let s = getString(Z, X(J)) | |
131 | + | if ($isInstanceOf(s, "String")) | |
132 | + | then { | |
133 | + | let t = s | |
134 | + | t | |
135 | + | } | |
136 | + | else f | |
137 | + | } | |
138 | + | v | |
139 | + | } | |
140 | + | ||
141 | + | ||
142 | + | @Callable(aa) | |
143 | + | func purchase (x) = { | |
144 | + | let ab = extract(aa.payment) | |
145 | + | if (isDefined(ab.assetId)) | |
120 | 146 | then throw("WAVES tokens only at the moment") | |
121 | 147 | else { | |
122 | - | let | |
123 | - | let | |
124 | - | let | |
125 | - | if (( | |
148 | + | let ac = toBase58String(aa.caller.bytes) | |
149 | + | let ad = y(x) | |
150 | + | let ae = H(x) | |
151 | + | if ((ad > ab.amount)) | |
126 | 152 | then throw("purchase amount cannot be less than item price") | |
127 | - | else if (( | |
153 | + | else if ((ab.amount > ad)) | |
128 | 154 | then throw("purchase amount cannot be higher than item price") | |
129 | - | else if (( | |
155 | + | else if ((ae == f)) | |
130 | 156 | then throw("supplier does not exist") | |
131 | - | else WriteSet([DataEntry( | |
157 | + | else WriteSet([DataEntry(z(ac, x), (B(ac, x) + 1)), DataEntry(I(ae), (K(ae) + ab.amount))]) | |
132 | 158 | } | |
133 | 159 | } | |
134 | 160 | ||
135 | 161 | ||
136 | 162 | ||
137 | - | @Callable( | |
163 | + | @Callable(aa) | |
138 | 164 | func deposit () = { | |
139 | - | let | |
140 | - | if (isDefined( | |
165 | + | let ab = extract(aa.payment) | |
166 | + | if (isDefined(ab.assetId)) | |
141 | 167 | then throw("can hodl waves only at the moment") | |
142 | 168 | else { | |
143 | - | let | |
144 | - | let | |
145 | - | let | |
146 | - | if ($isInstanceOf( | |
169 | + | let af = toBase58String(aa.caller.bytes) | |
170 | + | let ag = { | |
171 | + | let s = getInteger(this, af) | |
172 | + | if ($isInstanceOf(s, "Int")) | |
147 | 173 | then { | |
148 | - | let | |
149 | - | | |
174 | + | let t = s | |
175 | + | t | |
150 | 176 | } | |
151 | 177 | else 0 | |
152 | 178 | } | |
153 | - | let | |
154 | - | let | |
155 | - | if ($isInstanceOf( | |
179 | + | let ah = { | |
180 | + | let s = getString(this, ("wl_sts_" + af)) | |
181 | + | if ($isInstanceOf(s, "String")) | |
156 | 182 | then { | |
157 | - | let | |
158 | - | | |
183 | + | let t = s | |
184 | + | t | |
159 | 185 | } | |
160 | 186 | else throw("User has not deen waitlisted") | |
161 | 187 | } | |
162 | - | let | |
163 | - | WriteSet([DataEntry(( | |
188 | + | let ai = (ag + ab.amount) | |
189 | + | WriteSet([DataEntry((g + af), ai)]) | |
164 | 190 | } | |
165 | 191 | } | |
166 | 192 | ||
167 | 193 | ||
168 | 194 | ||
169 | - | @Callable( | |
195 | + | @Callable(aa) | |
170 | 196 | func depositEUR () = { | |
171 | - | let | |
172 | - | if (( | |
197 | + | let ab = extract(aa.payment) | |
198 | + | if ((ab.assetId != e)) | |
173 | 199 | then throw("wEUR only please") | |
174 | 200 | else { | |
175 | - | let | |
176 | - | let | |
177 | - | let | |
178 | - | if ($isInstanceOf( | |
201 | + | let af = toBase58String(aa.caller.bytes) | |
202 | + | let ag = { | |
203 | + | let s = getInteger(this, af) | |
204 | + | if ($isInstanceOf(s, "Int")) | |
179 | 205 | then { | |
180 | - | let | |
181 | - | | |
206 | + | let t = s | |
207 | + | t | |
182 | 208 | } | |
183 | 209 | else 0 | |
184 | 210 | } | |
185 | - | let | |
186 | - | WriteSet([DataEntry( | |
211 | + | let ai = (ag + ab.amount) | |
212 | + | WriteSet([DataEntry(af, ai)]) | |
187 | 213 | } | |
188 | 214 | } | |
189 | 215 | ||
190 | 216 | ||
191 | 217 | ||
192 | - | @Callable( | |
218 | + | @Callable(aa) | |
193 | 219 | func withdraw () = { | |
194 | - | let | |
195 | - | let | |
196 | - | if ((0 >= | |
220 | + | let aj = toBase58String(aa.caller.bytes) | |
221 | + | let ak = K(aj) | |
222 | + | if ((0 >= ak)) | |
197 | 223 | then throw("insufficient balance") | |
198 | - | else ScriptResult(WriteSet([DataEntry( | |
224 | + | else ScriptResult(WriteSet([DataEntry(I(aj), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(aj), ak, unit)])) | |
199 | 225 | } | |
200 | 226 | ||
201 | 227 | ||
202 | 228 | ||
203 | - | @Callable( | |
204 | - | func withdrawEUR ( | |
205 | - | let | |
206 | - | let | |
207 | - | let | |
208 | - | if ($isInstanceOf( | |
229 | + | @Callable(aa) | |
230 | + | func withdrawEUR (al) = { | |
231 | + | let af = toBase58String(aa.caller.bytes) | |
232 | + | let ag = { | |
233 | + | let s = getInteger(this, af) | |
234 | + | if ($isInstanceOf(s, "Int")) | |
209 | 235 | then { | |
210 | - | let | |
211 | - | | |
236 | + | let t = s | |
237 | + | t | |
212 | 238 | } | |
213 | 239 | else 0 | |
214 | 240 | } | |
215 | - | let | |
216 | - | if ((0 > | |
241 | + | let ai = (ag - al) | |
242 | + | if ((0 > al)) | |
217 | 243 | then throw("Can't withdraw negative balance") | |
218 | - | else if ((0 > | |
244 | + | else if ((0 > ai)) | |
219 | 245 | then throw("Not enough balance") | |
220 | - | else ScriptResult(WriteSet([DataEntry( | |
246 | + | else ScriptResult(WriteSet([DataEntry(af, ai)]), TransferSet([ScriptTransfer(aa.caller, al, e)])) | |
221 | 247 | } | |
222 | 248 | ||
223 | 249 | ||
224 | 250 | ||
225 | - | @Callable(T) | |
226 | - | func addItem (B,W,af) = { | |
227 | - | let ac = toBase58String(T.caller.bytes) | |
228 | - | let u = z(ac, B) | |
229 | - | if ((0 >= W)) | |
251 | + | @Callable(aa) | |
252 | + | func addItem (E,ad,am) = { | |
253 | + | let aj = toBase58String(aa.caller.bytes) | |
254 | + | let x = C(aj, E) | |
255 | + | let an = Y(W(), aj) | |
256 | + | if ((0 >= ad)) | |
230 | 257 | then throw("purchase amount cannot be less than item price") | |
231 | - | else if (( | |
258 | + | else if ((H(x) != f)) | |
232 | 259 | then throw("an item is already exist") | |
233 | - | else WriteSet([DataEntry(D(u), ac), DataEntry(t(u), W), DataEntry(C(u), af)]) | |
260 | + | else if ((an == o)) | |
261 | + | then throw("supplier account has been blacklisted") | |
262 | + | else WriteSet([DataEntry(G(x), aj), DataEntry(w(x), ad), DataEntry(F(x), am), DataEntry(X(aj), an)]) | |
234 | 263 | } | |
235 | 264 | ||
236 | 265 | ||
237 | 266 | ||
238 | - | @Callable( | |
239 | - | func voteCommit ( | |
240 | - | let | |
241 | - | let | |
242 | - | let | |
243 | - | if (( | |
267 | + | @Callable(aa) | |
268 | + | func voteCommit (x,ao) = { | |
269 | + | let A = toBase58String(aa.caller.bytes) | |
270 | + | let ap = O(x) | |
271 | + | let aq = S(x) | |
272 | + | if ((ap >= h)) | |
244 | 273 | then throw("reached max num of voters") | |
245 | - | else if (( | |
274 | + | else if ((M(x, A) != f)) | |
246 | 275 | then throw("user has already uch") | |
247 | - | else if (( | |
276 | + | else if ((G(x) == f)) | |
248 | 277 | then throw("item does not exist") | |
249 | - | else if (if (( | |
250 | - | then ( | |
278 | + | else if (if ((aq != f)) | |
279 | + | then (aq != j) | |
251 | 280 | else false) | |
252 | 281 | then throw("voting is not possible") | |
253 | - | else WriteSet([DataEntry( | |
254 | - | then | |
255 | - | else | |
282 | + | else WriteSet([DataEntry(L(x, A), ao), DataEntry(N(x), (ap + 1)), DataEntry(R(x), if ((ap == h)) | |
283 | + | then k | |
284 | + | else j)]) | |
256 | 285 | } | |
257 | 286 | ||
258 | 287 | ||
259 | 288 | ||
260 | - | @Callable( | |
289 | + | @Callable(aa) | |
261 | 290 | func x_purchase () = { | |
262 | - | let | |
263 | - | if (isDefined( | |
291 | + | let ab = extract(aa.payment) | |
292 | + | if (isDefined(ab.assetId)) | |
264 | 293 | then throw("can use WAVES only at the moment") | |
265 | 294 | else { | |
266 | - | let | |
267 | - | let | |
268 | - | let | |
269 | - | if ($isInstanceOf( | |
295 | + | let ar = toBase58String(aa.caller.bytes) | |
296 | + | let ad = { | |
297 | + | let s = getInteger(this, "item_A_coupon_price") | |
298 | + | if ($isInstanceOf(s, "Int")) | |
270 | 299 | then { | |
271 | - | let | |
272 | - | | |
300 | + | let t = s | |
301 | + | t | |
273 | 302 | } | |
274 | 303 | else 0 | |
275 | 304 | } | |
276 | - | if (( | |
305 | + | if ((ad > ab.amount)) | |
277 | 306 | then throw("purchase amount cannot be less than item price") | |
278 | - | else if (( | |
307 | + | else if ((ab.amount > ad)) | |
279 | 308 | then throw("purchase amount cannot be higher than item price") | |
280 | - | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + | |
309 | + | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + ar), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + ar), ad)]) | |
281 | 310 | } | |
282 | 311 | } | |
283 | 312 | ||
284 | 313 | ||
285 | 314 | ||
286 | - | @Callable( | |
287 | - | func x_withdraw ( | |
288 | - | let | |
289 | - | let | |
290 | - | let | |
291 | - | if ($isInstanceOf( | |
315 | + | @Callable(aa) | |
316 | + | func x_withdraw (al) = { | |
317 | + | let af = toBase58String(aa.caller.bytes) | |
318 | + | let ag = { | |
319 | + | let s = getInteger(this, (g + af)) | |
320 | + | if ($isInstanceOf(s, "Int")) | |
292 | 321 | then { | |
293 | - | let | |
294 | - | | |
322 | + | let t = s | |
323 | + | t | |
295 | 324 | } | |
296 | 325 | else 0 | |
297 | 326 | } | |
298 | - | let | |
299 | - | if ((0 > | |
327 | + | let ai = (ag - al) | |
328 | + | if ((0 > al)) | |
300 | 329 | then throw("Can't withdraw negative amount") | |
301 | - | else if ((0 > | |
330 | + | else if ((0 > ai)) | |
302 | 331 | then throw("Not enough balance") | |
303 | - | else ScriptResult(WriteSet([DataEntry(( | |
332 | + | else ScriptResult(WriteSet([DataEntry((g + af), ai)]), TransferSet([ScriptTransfer(aa.caller, al, unit)])) | |
304 | 333 | } | |
305 | 334 | ||
306 | 335 | ||
307 | - | @Verifier( | |
308 | - | func | |
309 | - | let | |
310 | - | let | |
311 | - | let | |
312 | - | let | |
313 | - | let | |
314 | - | let | |
315 | - | let | |
316 | - | let | |
317 | - | let | |
318 | - | let | |
319 | - | then | |
336 | + | @Verifier(as) | |
337 | + | func at () = { | |
338 | + | let au = sigVerify(as.bodyBytes, as.proofs[0], a) | |
339 | + | let av = sigVerify(as.bodyBytes, as.proofs[1], a) | |
340 | + | let aw = sigVerify(as.bodyBytes, as.proofs[2], a) | |
341 | + | let ax = sigVerify(as.bodyBytes, as.proofs[0], b) | |
342 | + | let ay = sigVerify(as.bodyBytes, as.proofs[1], b) | |
343 | + | let az = sigVerify(as.bodyBytes, as.proofs[2], b) | |
344 | + | let aA = sigVerify(as.bodyBytes, as.proofs[0], c) | |
345 | + | let aB = sigVerify(as.bodyBytes, as.proofs[1], c) | |
346 | + | let aC = sigVerify(as.bodyBytes, as.proofs[2], c) | |
347 | + | let aD = if (if (if (if (if (if (au) | |
348 | + | then ay | |
320 | 349 | else false) | |
321 | 350 | then true | |
322 | - | else if ( | |
323 | - | then | |
351 | + | else if (au) | |
352 | + | then az | |
324 | 353 | else false) | |
325 | 354 | then true | |
326 | - | else if ( | |
327 | - | then | |
355 | + | else if (av) | |
356 | + | then ax | |
328 | 357 | else false) | |
329 | 358 | then true | |
330 | - | else if ( | |
331 | - | then | |
359 | + | else if (av) | |
360 | + | then az | |
332 | 361 | else false) | |
333 | 362 | then true | |
334 | - | else if ( | |
335 | - | then | |
363 | + | else if (aw) | |
364 | + | then ax | |
336 | 365 | else false) | |
337 | 366 | then true | |
338 | - | else if ( | |
339 | - | then | |
367 | + | else if (aw) | |
368 | + | then ay | |
340 | 369 | else false | |
341 | - | let | |
342 | - | then | |
370 | + | let aE = if (if (if (if (if (if (au) | |
371 | + | then aB | |
343 | 372 | else false) | |
344 | 373 | then true | |
345 | - | else if ( | |
346 | - | then | |
374 | + | else if (au) | |
375 | + | then aC | |
347 | 376 | else false) | |
348 | 377 | then true | |
349 | - | else if ( | |
350 | - | then | |
378 | + | else if (av) | |
379 | + | then aA | |
351 | 380 | else false) | |
352 | 381 | then true | |
353 | - | else if ( | |
354 | - | then | |
382 | + | else if (av) | |
383 | + | then aC | |
355 | 384 | else false) | |
356 | 385 | then true | |
357 | - | else if ( | |
358 | - | then | |
386 | + | else if (aw) | |
387 | + | then aA | |
359 | 388 | else false) | |
360 | 389 | then true | |
361 | - | else if ( | |
362 | - | then | |
390 | + | else if (aw) | |
391 | + | then aB | |
363 | 392 | else false | |
364 | - | let | |
365 | - | then | |
393 | + | let aF = if (if (if (if (if (if (aA) | |
394 | + | then ay | |
366 | 395 | else false) | |
367 | 396 | then true | |
368 | - | else if ( | |
369 | - | then | |
397 | + | else if (aA) | |
398 | + | then az | |
370 | 399 | else false) | |
371 | 400 | then true | |
372 | - | else if ( | |
373 | - | then | |
401 | + | else if (aB) | |
402 | + | then ax | |
374 | 403 | else false) | |
375 | 404 | then true | |
376 | - | else if ( | |
377 | - | then | |
405 | + | else if (aB) | |
406 | + | then az | |
378 | 407 | else false) | |
379 | 408 | then true | |
380 | - | else if ( | |
381 | - | then | |
409 | + | else if (aC) | |
410 | + | then ax | |
382 | 411 | else false) | |
383 | 412 | then true | |
384 | - | else if ( | |
385 | - | then | |
413 | + | else if (aC) | |
414 | + | then ay | |
386 | 415 | else false | |
387 | - | let | |
388 | - | if ($isInstanceOf( | |
416 | + | let s = as | |
417 | + | if ($isInstanceOf(s, "SetScriptTransaction")) | |
389 | 418 | then { | |
390 | - | let | |
391 | - | sigVerify( | |
419 | + | let aG = s | |
420 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
392 | 421 | } | |
393 | - | else if ($isInstanceOf( | |
422 | + | else if ($isInstanceOf(s, "DataTransaction")) | |
394 | 423 | then { | |
395 | - | let | |
424 | + | let aG = s | |
396 | 425 | true | |
397 | 426 | } | |
398 | - | else if ($isInstanceOf( | |
427 | + | else if ($isInstanceOf(s, "TransferTransaction")) | |
399 | 428 | then { | |
400 | - | let | |
429 | + | let aG = s | |
401 | 430 | true | |
402 | 431 | } | |
403 | - | else if ($isInstanceOf( | |
432 | + | else if ($isInstanceOf(s, "InvokeScriptTransaction")) | |
404 | 433 | then { | |
405 | - | let | |
434 | + | let aG = s | |
406 | 435 | true | |
407 | 436 | } | |
408 | - | else if ($isInstanceOf( | |
437 | + | else if ($isInstanceOf(s, "IssueTransaction")) | |
409 | 438 | then { | |
410 | - | let | |
411 | - | sigVerify( | |
439 | + | let aG = s | |
440 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
412 | 441 | } | |
413 | - | else if ($isInstanceOf( | |
442 | + | else if ($isInstanceOf(s, "ReissueTransaction")) | |
414 | 443 | then { | |
415 | - | let | |
416 | - | sigVerify( | |
444 | + | let aG = s | |
445 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
417 | 446 | } | |
418 | - | else if ($isInstanceOf( | |
447 | + | else if ($isInstanceOf(s, "BurnTransaction")) | |
419 | 448 | then { | |
420 | - | let | |
421 | - | sigVerify( | |
449 | + | let aG = s | |
450 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
422 | 451 | } | |
423 | - | else if ($isInstanceOf( | |
452 | + | else if ($isInstanceOf(s, "SetAssetScriptTransaction")) | |
424 | 453 | then { | |
425 | - | let | |
426 | - | sigVerify( | |
454 | + | let aG = s | |
455 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
427 | 456 | } | |
428 | 457 | else false | |
429 | 458 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'FgdjGJ4tLFiavKEKf4WkWwkgvU8ARWP1WYZfmUrXo4CY' | |
5 | 5 | ||
6 | 6 | let b = base58'EEhsp9Jd5MwVmYJMGAZJL3tTb5KcurTz8Aw7wksZuw3e' | |
7 | 7 | ||
8 | 8 | let c = base58'6SdykacJeMCbeNvVJY71gWMJeXt9ZT44X4KexwZxHEYz' | |
9 | 9 | ||
10 | - | let d = | |
10 | + | let d = "3NA26AC1aLjj6uYnuoTahauhUPPPB3VBPUe" | |
11 | 11 | ||
12 | - | let e = | |
12 | + | let e = base58'DYxtEoj6wasUX8ddENeh7igtcuAv1WG7BcgZVsmzvAGF' | |
13 | 13 | ||
14 | - | let f = " | |
14 | + | let f = "none" | |
15 | 15 | ||
16 | - | let g = | |
16 | + | let g = "balance_" | |
17 | 17 | ||
18 | - | let h = | |
18 | + | let h = 3 | |
19 | 19 | ||
20 | - | let i = | |
20 | + | let i = 2 | |
21 | 21 | ||
22 | - | let j = " | |
22 | + | let j = "voting" | |
23 | 23 | ||
24 | - | let k = " | |
24 | + | let k = "reveal" | |
25 | 25 | ||
26 | - | let l = " | |
26 | + | let l = "featured" | |
27 | 27 | ||
28 | - | func m (n) = { | |
29 | - | let o = { | |
30 | - | let p = getInteger(this, n) | |
31 | - | if ($isInstanceOf(p, "Int")) | |
28 | + | let m = "delisted" | |
29 | + | ||
30 | + | let n = "verified" | |
31 | + | ||
32 | + | let o = "blacklist" | |
33 | + | ||
34 | + | func p (q) = { | |
35 | + | let r = { | |
36 | + | let s = getInteger(this, q) | |
37 | + | if ($isInstanceOf(s, "Int")) | |
32 | 38 | then { | |
33 | - | let | |
34 | - | | |
39 | + | let t = s | |
40 | + | t | |
35 | 41 | } | |
36 | 42 | else 0 | |
37 | 43 | } | |
38 | - | | |
44 | + | r | |
39 | 45 | } | |
40 | 46 | ||
41 | 47 | ||
42 | - | func | |
43 | - | let | |
44 | - | let | |
45 | - | if ($isInstanceOf( | |
48 | + | func u (q) = { | |
49 | + | let v = { | |
50 | + | let s = getString(this, q) | |
51 | + | if ($isInstanceOf(s, "String")) | |
46 | 52 | then { | |
47 | - | let | |
48 | - | | |
53 | + | let t = s | |
54 | + | t | |
49 | 55 | } | |
50 | - | else | |
56 | + | else f | |
51 | 57 | } | |
52 | - | | |
58 | + | v | |
53 | 59 | } | |
54 | 60 | ||
55 | 61 | ||
56 | - | func | |
62 | + | func w (x) = (x + "_price") | |
57 | 63 | ||
58 | 64 | ||
59 | - | func | |
65 | + | func y (x) = p(w(x)) | |
60 | 66 | ||
61 | 67 | ||
62 | - | func | |
68 | + | func z (A,x) = (((x + "_") + A) + "_cnt") | |
63 | 69 | ||
64 | 70 | ||
65 | - | func | |
71 | + | func B (A,x) = p(z(A, x)) | |
66 | 72 | ||
67 | 73 | ||
68 | - | func | |
74 | + | func C (D,E) = ("item_" + toBase58String(sha256(toBytes((D + E))))) | |
69 | 75 | ||
70 | 76 | ||
71 | - | func | |
77 | + | func F (x) = (x + "_data") | |
72 | 78 | ||
73 | 79 | ||
74 | - | func | |
80 | + | func G (x) = (x + "_owner") | |
75 | 81 | ||
76 | 82 | ||
77 | - | func | |
83 | + | func H (x) = u(G(x)) | |
78 | 84 | ||
79 | 85 | ||
80 | - | func | |
86 | + | func I (J) = (J + "_balance") | |
81 | 87 | ||
82 | 88 | ||
83 | - | func | |
89 | + | func K (J) = p(I(J)) | |
84 | 90 | ||
85 | 91 | ||
86 | - | func | |
92 | + | func L (x,A) = (((x + "_") + A) + "_commit") | |
87 | 93 | ||
88 | 94 | ||
89 | - | func | |
95 | + | func M (x,A) = u(L(x, A)) | |
90 | 96 | ||
91 | 97 | ||
92 | - | func | |
98 | + | func N (x) = (x + "_comcnt") | |
93 | 99 | ||
94 | 100 | ||
95 | - | func | |
101 | + | func O (x) = p(N(x)) | |
96 | 102 | ||
97 | 103 | ||
98 | - | func | |
104 | + | func P (x,A) = (((x + "_") + A) + "_reveal") | |
99 | 105 | ||
100 | 106 | ||
101 | - | func | |
107 | + | func Q (x,A) = u(P(x, A)) | |
102 | 108 | ||
103 | 109 | ||
104 | - | func | |
110 | + | func R (x) = (x + "_status") | |
105 | 111 | ||
106 | 112 | ||
107 | - | func | |
113 | + | func S (x) = u(R(x)) | |
108 | 114 | ||
109 | 115 | ||
110 | - | func | |
116 | + | func T (x,U) = ((x + "_res:") + U) | |
111 | 117 | ||
112 | 118 | ||
113 | - | func | |
119 | + | func V (x,U) = p(T(x, U)) | |
114 | 120 | ||
115 | 121 | ||
116 | - | @Callable(T) | |
117 | - | func purchase (u) = { | |
118 | - | let U = extract(T.payment) | |
119 | - | if (isDefined(U.assetId)) | |
122 | + | func W () = extract(addressFromString(d)) | |
123 | + | ||
124 | + | ||
125 | + | func X (J) = (J + "_verifier_status") | |
126 | + | ||
127 | + | ||
128 | + | func Y (Z,J) = { | |
129 | + | let v = { | |
130 | + | let s = getString(Z, X(J)) | |
131 | + | if ($isInstanceOf(s, "String")) | |
132 | + | then { | |
133 | + | let t = s | |
134 | + | t | |
135 | + | } | |
136 | + | else f | |
137 | + | } | |
138 | + | v | |
139 | + | } | |
140 | + | ||
141 | + | ||
142 | + | @Callable(aa) | |
143 | + | func purchase (x) = { | |
144 | + | let ab = extract(aa.payment) | |
145 | + | if (isDefined(ab.assetId)) | |
120 | 146 | then throw("WAVES tokens only at the moment") | |
121 | 147 | else { | |
122 | - | let | |
123 | - | let | |
124 | - | let | |
125 | - | if (( | |
148 | + | let ac = toBase58String(aa.caller.bytes) | |
149 | + | let ad = y(x) | |
150 | + | let ae = H(x) | |
151 | + | if ((ad > ab.amount)) | |
126 | 152 | then throw("purchase amount cannot be less than item price") | |
127 | - | else if (( | |
153 | + | else if ((ab.amount > ad)) | |
128 | 154 | then throw("purchase amount cannot be higher than item price") | |
129 | - | else if (( | |
155 | + | else if ((ae == f)) | |
130 | 156 | then throw("supplier does not exist") | |
131 | - | else WriteSet([DataEntry( | |
157 | + | else WriteSet([DataEntry(z(ac, x), (B(ac, x) + 1)), DataEntry(I(ae), (K(ae) + ab.amount))]) | |
132 | 158 | } | |
133 | 159 | } | |
134 | 160 | ||
135 | 161 | ||
136 | 162 | ||
137 | - | @Callable( | |
163 | + | @Callable(aa) | |
138 | 164 | func deposit () = { | |
139 | - | let | |
140 | - | if (isDefined( | |
165 | + | let ab = extract(aa.payment) | |
166 | + | if (isDefined(ab.assetId)) | |
141 | 167 | then throw("can hodl waves only at the moment") | |
142 | 168 | else { | |
143 | - | let | |
144 | - | let | |
145 | - | let | |
146 | - | if ($isInstanceOf( | |
169 | + | let af = toBase58String(aa.caller.bytes) | |
170 | + | let ag = { | |
171 | + | let s = getInteger(this, af) | |
172 | + | if ($isInstanceOf(s, "Int")) | |
147 | 173 | then { | |
148 | - | let | |
149 | - | | |
174 | + | let t = s | |
175 | + | t | |
150 | 176 | } | |
151 | 177 | else 0 | |
152 | 178 | } | |
153 | - | let | |
154 | - | let | |
155 | - | if ($isInstanceOf( | |
179 | + | let ah = { | |
180 | + | let s = getString(this, ("wl_sts_" + af)) | |
181 | + | if ($isInstanceOf(s, "String")) | |
156 | 182 | then { | |
157 | - | let | |
158 | - | | |
183 | + | let t = s | |
184 | + | t | |
159 | 185 | } | |
160 | 186 | else throw("User has not deen waitlisted") | |
161 | 187 | } | |
162 | - | let | |
163 | - | WriteSet([DataEntry(( | |
188 | + | let ai = (ag + ab.amount) | |
189 | + | WriteSet([DataEntry((g + af), ai)]) | |
164 | 190 | } | |
165 | 191 | } | |
166 | 192 | ||
167 | 193 | ||
168 | 194 | ||
169 | - | @Callable( | |
195 | + | @Callable(aa) | |
170 | 196 | func depositEUR () = { | |
171 | - | let | |
172 | - | if (( | |
197 | + | let ab = extract(aa.payment) | |
198 | + | if ((ab.assetId != e)) | |
173 | 199 | then throw("wEUR only please") | |
174 | 200 | else { | |
175 | - | let | |
176 | - | let | |
177 | - | let | |
178 | - | if ($isInstanceOf( | |
201 | + | let af = toBase58String(aa.caller.bytes) | |
202 | + | let ag = { | |
203 | + | let s = getInteger(this, af) | |
204 | + | if ($isInstanceOf(s, "Int")) | |
179 | 205 | then { | |
180 | - | let | |
181 | - | | |
206 | + | let t = s | |
207 | + | t | |
182 | 208 | } | |
183 | 209 | else 0 | |
184 | 210 | } | |
185 | - | let | |
186 | - | WriteSet([DataEntry( | |
211 | + | let ai = (ag + ab.amount) | |
212 | + | WriteSet([DataEntry(af, ai)]) | |
187 | 213 | } | |
188 | 214 | } | |
189 | 215 | ||
190 | 216 | ||
191 | 217 | ||
192 | - | @Callable( | |
218 | + | @Callable(aa) | |
193 | 219 | func withdraw () = { | |
194 | - | let | |
195 | - | let | |
196 | - | if ((0 >= | |
220 | + | let aj = toBase58String(aa.caller.bytes) | |
221 | + | let ak = K(aj) | |
222 | + | if ((0 >= ak)) | |
197 | 223 | then throw("insufficient balance") | |
198 | - | else ScriptResult(WriteSet([DataEntry( | |
224 | + | else ScriptResult(WriteSet([DataEntry(I(aj), 0)]), TransferSet([ScriptTransfer(addressFromStringValue(aj), ak, unit)])) | |
199 | 225 | } | |
200 | 226 | ||
201 | 227 | ||
202 | 228 | ||
203 | - | @Callable( | |
204 | - | func withdrawEUR ( | |
205 | - | let | |
206 | - | let | |
207 | - | let | |
208 | - | if ($isInstanceOf( | |
229 | + | @Callable(aa) | |
230 | + | func withdrawEUR (al) = { | |
231 | + | let af = toBase58String(aa.caller.bytes) | |
232 | + | let ag = { | |
233 | + | let s = getInteger(this, af) | |
234 | + | if ($isInstanceOf(s, "Int")) | |
209 | 235 | then { | |
210 | - | let | |
211 | - | | |
236 | + | let t = s | |
237 | + | t | |
212 | 238 | } | |
213 | 239 | else 0 | |
214 | 240 | } | |
215 | - | let | |
216 | - | if ((0 > | |
241 | + | let ai = (ag - al) | |
242 | + | if ((0 > al)) | |
217 | 243 | then throw("Can't withdraw negative balance") | |
218 | - | else if ((0 > | |
244 | + | else if ((0 > ai)) | |
219 | 245 | then throw("Not enough balance") | |
220 | - | else ScriptResult(WriteSet([DataEntry( | |
246 | + | else ScriptResult(WriteSet([DataEntry(af, ai)]), TransferSet([ScriptTransfer(aa.caller, al, e)])) | |
221 | 247 | } | |
222 | 248 | ||
223 | 249 | ||
224 | 250 | ||
225 | - | @Callable(T) | |
226 | - | func addItem (B,W,af) = { | |
227 | - | let ac = toBase58String(T.caller.bytes) | |
228 | - | let u = z(ac, B) | |
229 | - | if ((0 >= W)) | |
251 | + | @Callable(aa) | |
252 | + | func addItem (E,ad,am) = { | |
253 | + | let aj = toBase58String(aa.caller.bytes) | |
254 | + | let x = C(aj, E) | |
255 | + | let an = Y(W(), aj) | |
256 | + | if ((0 >= ad)) | |
230 | 257 | then throw("purchase amount cannot be less than item price") | |
231 | - | else if (( | |
258 | + | else if ((H(x) != f)) | |
232 | 259 | then throw("an item is already exist") | |
233 | - | else WriteSet([DataEntry(D(u), ac), DataEntry(t(u), W), DataEntry(C(u), af)]) | |
260 | + | else if ((an == o)) | |
261 | + | then throw("supplier account has been blacklisted") | |
262 | + | else WriteSet([DataEntry(G(x), aj), DataEntry(w(x), ad), DataEntry(F(x), am), DataEntry(X(aj), an)]) | |
234 | 263 | } | |
235 | 264 | ||
236 | 265 | ||
237 | 266 | ||
238 | - | @Callable( | |
239 | - | func voteCommit ( | |
240 | - | let | |
241 | - | let | |
242 | - | let | |
243 | - | if (( | |
267 | + | @Callable(aa) | |
268 | + | func voteCommit (x,ao) = { | |
269 | + | let A = toBase58String(aa.caller.bytes) | |
270 | + | let ap = O(x) | |
271 | + | let aq = S(x) | |
272 | + | if ((ap >= h)) | |
244 | 273 | then throw("reached max num of voters") | |
245 | - | else if (( | |
274 | + | else if ((M(x, A) != f)) | |
246 | 275 | then throw("user has already uch") | |
247 | - | else if (( | |
276 | + | else if ((G(x) == f)) | |
248 | 277 | then throw("item does not exist") | |
249 | - | else if (if (( | |
250 | - | then ( | |
278 | + | else if (if ((aq != f)) | |
279 | + | then (aq != j) | |
251 | 280 | else false) | |
252 | 281 | then throw("voting is not possible") | |
253 | - | else WriteSet([DataEntry( | |
254 | - | then | |
255 | - | else | |
282 | + | else WriteSet([DataEntry(L(x, A), ao), DataEntry(N(x), (ap + 1)), DataEntry(R(x), if ((ap == h)) | |
283 | + | then k | |
284 | + | else j)]) | |
256 | 285 | } | |
257 | 286 | ||
258 | 287 | ||
259 | 288 | ||
260 | - | @Callable( | |
289 | + | @Callable(aa) | |
261 | 290 | func x_purchase () = { | |
262 | - | let | |
263 | - | if (isDefined( | |
291 | + | let ab = extract(aa.payment) | |
292 | + | if (isDefined(ab.assetId)) | |
264 | 293 | then throw("can use WAVES only at the moment") | |
265 | 294 | else { | |
266 | - | let | |
267 | - | let | |
268 | - | let | |
269 | - | if ($isInstanceOf( | |
295 | + | let ar = toBase58String(aa.caller.bytes) | |
296 | + | let ad = { | |
297 | + | let s = getInteger(this, "item_A_coupon_price") | |
298 | + | if ($isInstanceOf(s, "Int")) | |
270 | 299 | then { | |
271 | - | let | |
272 | - | | |
300 | + | let t = s | |
301 | + | t | |
273 | 302 | } | |
274 | 303 | else 0 | |
275 | 304 | } | |
276 | - | if (( | |
305 | + | if ((ad > ab.amount)) | |
277 | 306 | then throw("purchase amount cannot be less than item price") | |
278 | - | else if (( | |
307 | + | else if ((ab.amount > ad)) | |
279 | 308 | then throw("purchase amount cannot be higher than item price") | |
280 | - | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + | |
309 | + | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + ar), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + ar), ad)]) | |
281 | 310 | } | |
282 | 311 | } | |
283 | 312 | ||
284 | 313 | ||
285 | 314 | ||
286 | - | @Callable( | |
287 | - | func x_withdraw ( | |
288 | - | let | |
289 | - | let | |
290 | - | let | |
291 | - | if ($isInstanceOf( | |
315 | + | @Callable(aa) | |
316 | + | func x_withdraw (al) = { | |
317 | + | let af = toBase58String(aa.caller.bytes) | |
318 | + | let ag = { | |
319 | + | let s = getInteger(this, (g + af)) | |
320 | + | if ($isInstanceOf(s, "Int")) | |
292 | 321 | then { | |
293 | - | let | |
294 | - | | |
322 | + | let t = s | |
323 | + | t | |
295 | 324 | } | |
296 | 325 | else 0 | |
297 | 326 | } | |
298 | - | let | |
299 | - | if ((0 > | |
327 | + | let ai = (ag - al) | |
328 | + | if ((0 > al)) | |
300 | 329 | then throw("Can't withdraw negative amount") | |
301 | - | else if ((0 > | |
330 | + | else if ((0 > ai)) | |
302 | 331 | then throw("Not enough balance") | |
303 | - | else ScriptResult(WriteSet([DataEntry(( | |
332 | + | else ScriptResult(WriteSet([DataEntry((g + af), ai)]), TransferSet([ScriptTransfer(aa.caller, al, unit)])) | |
304 | 333 | } | |
305 | 334 | ||
306 | 335 | ||
307 | - | @Verifier( | |
308 | - | func | |
309 | - | let | |
310 | - | let | |
311 | - | let | |
312 | - | let | |
313 | - | let | |
314 | - | let | |
315 | - | let | |
316 | - | let | |
317 | - | let | |
318 | - | let | |
319 | - | then | |
336 | + | @Verifier(as) | |
337 | + | func at () = { | |
338 | + | let au = sigVerify(as.bodyBytes, as.proofs[0], a) | |
339 | + | let av = sigVerify(as.bodyBytes, as.proofs[1], a) | |
340 | + | let aw = sigVerify(as.bodyBytes, as.proofs[2], a) | |
341 | + | let ax = sigVerify(as.bodyBytes, as.proofs[0], b) | |
342 | + | let ay = sigVerify(as.bodyBytes, as.proofs[1], b) | |
343 | + | let az = sigVerify(as.bodyBytes, as.proofs[2], b) | |
344 | + | let aA = sigVerify(as.bodyBytes, as.proofs[0], c) | |
345 | + | let aB = sigVerify(as.bodyBytes, as.proofs[1], c) | |
346 | + | let aC = sigVerify(as.bodyBytes, as.proofs[2], c) | |
347 | + | let aD = if (if (if (if (if (if (au) | |
348 | + | then ay | |
320 | 349 | else false) | |
321 | 350 | then true | |
322 | - | else if ( | |
323 | - | then | |
351 | + | else if (au) | |
352 | + | then az | |
324 | 353 | else false) | |
325 | 354 | then true | |
326 | - | else if ( | |
327 | - | then | |
355 | + | else if (av) | |
356 | + | then ax | |
328 | 357 | else false) | |
329 | 358 | then true | |
330 | - | else if ( | |
331 | - | then | |
359 | + | else if (av) | |
360 | + | then az | |
332 | 361 | else false) | |
333 | 362 | then true | |
334 | - | else if ( | |
335 | - | then | |
363 | + | else if (aw) | |
364 | + | then ax | |
336 | 365 | else false) | |
337 | 366 | then true | |
338 | - | else if ( | |
339 | - | then | |
367 | + | else if (aw) | |
368 | + | then ay | |
340 | 369 | else false | |
341 | - | let | |
342 | - | then | |
370 | + | let aE = if (if (if (if (if (if (au) | |
371 | + | then aB | |
343 | 372 | else false) | |
344 | 373 | then true | |
345 | - | else if ( | |
346 | - | then | |
374 | + | else if (au) | |
375 | + | then aC | |
347 | 376 | else false) | |
348 | 377 | then true | |
349 | - | else if ( | |
350 | - | then | |
378 | + | else if (av) | |
379 | + | then aA | |
351 | 380 | else false) | |
352 | 381 | then true | |
353 | - | else if ( | |
354 | - | then | |
382 | + | else if (av) | |
383 | + | then aC | |
355 | 384 | else false) | |
356 | 385 | then true | |
357 | - | else if ( | |
358 | - | then | |
386 | + | else if (aw) | |
387 | + | then aA | |
359 | 388 | else false) | |
360 | 389 | then true | |
361 | - | else if ( | |
362 | - | then | |
390 | + | else if (aw) | |
391 | + | then aB | |
363 | 392 | else false | |
364 | - | let | |
365 | - | then | |
393 | + | let aF = if (if (if (if (if (if (aA) | |
394 | + | then ay | |
366 | 395 | else false) | |
367 | 396 | then true | |
368 | - | else if ( | |
369 | - | then | |
397 | + | else if (aA) | |
398 | + | then az | |
370 | 399 | else false) | |
371 | 400 | then true | |
372 | - | else if ( | |
373 | - | then | |
401 | + | else if (aB) | |
402 | + | then ax | |
374 | 403 | else false) | |
375 | 404 | then true | |
376 | - | else if ( | |
377 | - | then | |
405 | + | else if (aB) | |
406 | + | then az | |
378 | 407 | else false) | |
379 | 408 | then true | |
380 | - | else if ( | |
381 | - | then | |
409 | + | else if (aC) | |
410 | + | then ax | |
382 | 411 | else false) | |
383 | 412 | then true | |
384 | - | else if ( | |
385 | - | then | |
413 | + | else if (aC) | |
414 | + | then ay | |
386 | 415 | else false | |
387 | - | let | |
388 | - | if ($isInstanceOf( | |
416 | + | let s = as | |
417 | + | if ($isInstanceOf(s, "SetScriptTransaction")) | |
389 | 418 | then { | |
390 | - | let | |
391 | - | sigVerify( | |
419 | + | let aG = s | |
420 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
392 | 421 | } | |
393 | - | else if ($isInstanceOf( | |
422 | + | else if ($isInstanceOf(s, "DataTransaction")) | |
394 | 423 | then { | |
395 | - | let | |
424 | + | let aG = s | |
396 | 425 | true | |
397 | 426 | } | |
398 | - | else if ($isInstanceOf( | |
427 | + | else if ($isInstanceOf(s, "TransferTransaction")) | |
399 | 428 | then { | |
400 | - | let | |
429 | + | let aG = s | |
401 | 430 | true | |
402 | 431 | } | |
403 | - | else if ($isInstanceOf( | |
432 | + | else if ($isInstanceOf(s, "InvokeScriptTransaction")) | |
404 | 433 | then { | |
405 | - | let | |
434 | + | let aG = s | |
406 | 435 | true | |
407 | 436 | } | |
408 | - | else if ($isInstanceOf( | |
437 | + | else if ($isInstanceOf(s, "IssueTransaction")) | |
409 | 438 | then { | |
410 | - | let | |
411 | - | sigVerify( | |
439 | + | let aG = s | |
440 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
412 | 441 | } | |
413 | - | else if ($isInstanceOf( | |
442 | + | else if ($isInstanceOf(s, "ReissueTransaction")) | |
414 | 443 | then { | |
415 | - | let | |
416 | - | sigVerify( | |
444 | + | let aG = s | |
445 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
417 | 446 | } | |
418 | - | else if ($isInstanceOf( | |
447 | + | else if ($isInstanceOf(s, "BurnTransaction")) | |
419 | 448 | then { | |
420 | - | let | |
421 | - | sigVerify( | |
449 | + | let aG = s | |
450 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
422 | 451 | } | |
423 | - | else if ($isInstanceOf( | |
452 | + | else if ($isInstanceOf(s, "SetAssetScriptTransaction")) | |
424 | 453 | then { | |
425 | - | let | |
426 | - | sigVerify( | |
454 | + | let aG = s | |
455 | + | sigVerify(as.bodyBytes, as.proofs[0], as.senderPublicKey) | |
427 | 456 | } | |
428 | 457 | else false | |
429 | 458 | } | |
430 | 459 |
github/deemru/w8io/3ef1775 177.96 ms ◑