tx · DyCbjGcAJwMHyz1FMLjUHGm493mA17Rw6QWrtYYNKF33 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H: -0.10000000 Waves 2022.11.07 14:40 [2306677] smart account 3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H > SELF 0.00000000 Waves
{ "type": 13, "id": "DyCbjGcAJwMHyz1FMLjUHGm493mA17Rw6QWrtYYNKF33", "fee": 10000000, "feeAssetId": null, "timestamp": 1667821231135, "version": 2, "chainId": 84, "sender": "3N4boZRUJ2LxY5jLyp6hmxGktqnawQidu6H", "senderPublicKey": "BDeCphaaC4MZvfmbJqQZ78EvuEBZTJ1VEW7fbxue8BUu", "proofs": [ "nDskrcNERSoQtwsFRf6h5tRUTYyE1DM5mZkuxgv4uXT3hFVWJQ7LgtX4C6uJfNzkhjnzhKTabE6fqpJwotS8H8p" ], "script": "base64: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ABhjYWxjUHJpY2VBdEN1cnJlbnRNb21lbnQAAAACAAAAB2Fzc2V0SWQAAAAGbW9tZW50BAAAAAdkZXRhaWxzCQEAAAAKZ2V0QXVjdGlvbgAAAAEFAAAAB2Fzc2V0SWQEAAAACyR0MDI4MTcyOTIxCQEAAAAOcGFyc2VBc0F1Y3Rpb24AAAABBQAAAAdkZXRhaWxzBAAAAAZzZWxsZXIIBQAAAAskdDAyODE3MjkyMQAAAAJfMQQAAAAPc3RhcnRQcmljZVZhbHVlCAUAAAALJHQwMjgxNzI5MjEAAAACXzIEAAAADWVuZFByaWNlVmFsdWUIBQAAAAskdDAyODE3MjkyMQAAAAJfMwQAAAAQc3RhcnRQZXJpb2RWYWx1ZQgFAAAACyR0MDI4MTcyOTIxAAAAAl80BAAAAA5lbmRQZXJpb2RWYWx1ZQgFAAAACyR0MDI4MTcyOTIxAAAAAl81AwkAAGcAAAACBQAAAAZtb21lbnQFAAAADmVuZFBlcmlvZFZhbHVlCQAFFAAAAAIFAAAABnNlbGxlcgUAAAANZW5kUHJpY2VWYWx1ZQQAAAAKZGVsdGFQcmljZQkAAGUAAAACBQAAAA9zdGFydFByaWNlVmFsdWUFAAAADWVuZFByaWNlVmFsdWUEAAAABnBlcmlvZAkAAGUAAAACBQAAAA5lbmRQZXJpb2RWYWx1ZQUAAAAQc3RhcnRQZXJpb2RWYWx1ZQQAAAAHc3BlbmRlZAkAAGUAAAACBQAAAAZtb21lbnQFAAAAEHN0YXJ0UGVyaW9kVmFsdWUJAAUUAAAAAgUAAAAGc2VsbGVyCQAAZQAAAAIFAAAAD3N0YXJ0UHJpY2VWYWx1ZQkAAGsAAAADBQAAAAdzcGVuZGVkBQAAAApkZWx0YVByaWNlBQAAAAZwZXJpb2QBAAAABWlzTmZ0AAAAAQAAAAdhc3NldElkBAAAAAckbWF0Y2gwCQAD7AAAAAEFAAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABUFzc2V0BAAAAAV0b2tlbgUAAAAHJG1hdGNoMAMDCQAAAAAAAAIIBQAAAAV0b2tlbgAAAAhkZWNpbWFscwAAAAAAAAAAAAkAAAAAAAACCAUAAAAFdG9rZW4AAAAIcXVhbnRpdHkAAAAAAAAAAAEHCQAAAAAAAAIIBQAAAAV0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BQAAAAxwYXltZW50QXNzZXQFAAAADXBheW1lbnRBbW91bnQFAAAACnByaWNlVmFsdWUEAAAACyR0MDY0NTk2NTYxCQEAAAAScmVzdWx0RnVuZHNBbW91bnRzAAAAAwkBAAAADGlzVHJ1c3RlZE5mdAAAAAEFAAAAB2Fzc2V0SWQFAAAADXBheW1lbnRBbW91bnQFAAAACnByaWNlVmFsdWUEAAAADHNlbGxlckFtb3VudAgFAAAACyR0MDY0NTk2NTYxAAAAAl8xBAAAAAtidXllckFtb3VudAgFAAAACyR0MDY0NTk2NTYxAAAAAl8yBAAAAAp1cGRhdGVkUmVzCQAETgAAAAIFAAAAB2Jhc2VSZXMJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAGc2VsbGVyBQAAAAxzZWxsZXJBbW91bnQFAAAABHVuaXQFAAAAA25pbAMJAABmAAAAAgUAAAALYnV5ZXJBbW91bnQAAAAAAAAAAAAJAAROAAAAAgUAAAAKdXBkYXRlZFJlcwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2J1eWVyQW1vdW50BQAAAAR1bml0BQAAAANuaWwFAAAACnVwZGF0ZWRSZXMEAAAACyR0MDY3Nzg2ODQ3CQEAAAAYY2FsY1ByaWNlQXRDdXJyZW50TW9tZW50AAAAAgUAAAAHYXNzZXRJZAUAAAAGaGVpZ2h0BAAAAAZzZWxsZXIIBQAAAAskdDA2Nzc4Njg0NwAAAAJfMQQAAAALYWN0dWFsUHJpY2UIBQAAAAskdDA2Nzc4Njg0NwAAAAJfMgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEWlzQ29ycmVjdFBheW1lbnRzAAAAAwUAAAAMcGF5bWVudEFzc2V0BQAAAA1wYXltZW50QW1vdW50BQAAAAthY3R1YWxQcmljZQQAAAALJHQwNjkzMzcwMzYJAQAAABJyZXN1bHRGdW5kc0Ftb3VudHMAAAADCQEAAAAMaXNUcnVzdGVkTmZ0AAAAAQUAAAAHYXNzZXRJZAUAAAANcGF5bWVudEFtb3VudAUAAAALYWN0dWFsUHJpY2UEAAAADHNlbGxlckFtb3VudAgFAAAACyR0MDY5MzM3MDM2AAAA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", "height": 2306677, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: WVSsHH5VQvfZETML6aBa5gDiJDBszKbZpuq5TqUqkGt Next: 9wuEB5QZmcXQ8SjdzgfbM9CzXd9dhyYq1TAbJodqZ3TR Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "_" | |
5 | 5 | ||
6 | - | let b = " | |
6 | + | let b = "auction" | |
7 | 7 | ||
8 | 8 | let c = "sell" | |
9 | 9 | ||
10 | - | let d = " | |
10 | + | let d = "trusted" | |
11 | 11 | ||
12 | - | func e (f) = { | |
13 | - | let g = assetInfo(f) | |
14 | - | if ($isInstanceOf(g, "Asset")) | |
12 | + | let e = "price" | |
13 | + | ||
14 | + | func f (g,h) = ((g + a) + toBase58String(h)) | |
15 | + | ||
16 | + | ||
17 | + | func i (h) = ((e + a) + toBase58String(h)) | |
18 | + | ||
19 | + | ||
20 | + | func j (h) = ((c + a) + toBase58String(h)) | |
21 | + | ||
22 | + | ||
23 | + | func k (h) = ((b + a) + toBase58String(h)) | |
24 | + | ||
25 | + | ||
26 | + | func l (m) = ((d + a) + toString(m)) | |
27 | + | ||
28 | + | ||
29 | + | func n (o,p) = (o ++ [p]) | |
30 | + | ||
31 | + | ||
32 | + | func q (r) = { | |
33 | + | let s = size(r) | |
34 | + | if ((s == 0)) | |
35 | + | then throw("Empty params") | |
36 | + | else if ((s == 1)) | |
37 | + | then makeString({ | |
38 | + | let t = r | |
39 | + | let u = size(t) | |
40 | + | let v = nil | |
41 | + | func w (x,y) = if ((y >= u)) | |
42 | + | then x | |
43 | + | else n(x, t[y]) | |
44 | + | ||
45 | + | func z (x,y) = if ((y >= u)) | |
46 | + | then x | |
47 | + | else throw("List size exceeds 1") | |
48 | + | ||
49 | + | z(w(v, 0), 1) | |
50 | + | }, a) | |
51 | + | else if ((s == 2)) | |
52 | + | then makeString({ | |
53 | + | let t = r | |
54 | + | let u = size(t) | |
55 | + | let v = nil | |
56 | + | func w (x,y) = if ((y >= u)) | |
57 | + | then x | |
58 | + | else n(x, t[y]) | |
59 | + | ||
60 | + | func z (x,y) = if ((y >= u)) | |
61 | + | then x | |
62 | + | else throw("List size exceeds 2") | |
63 | + | ||
64 | + | z(w(w(v, 0), 1), 2) | |
65 | + | }, a) | |
66 | + | else if ((s == 3)) | |
67 | + | then makeString({ | |
68 | + | let t = r | |
69 | + | let u = size(t) | |
70 | + | let v = nil | |
71 | + | func w (x,y) = if ((y >= u)) | |
72 | + | then x | |
73 | + | else n(x, t[y]) | |
74 | + | ||
75 | + | func z (x,y) = if ((y >= u)) | |
76 | + | then x | |
77 | + | else throw("List size exceeds 3") | |
78 | + | ||
79 | + | z(w(w(w(v, 0), 1), 2), 3) | |
80 | + | }, a) | |
81 | + | else if ((s == 4)) | |
82 | + | then makeString({ | |
83 | + | let t = r | |
84 | + | let u = size(t) | |
85 | + | let v = nil | |
86 | + | func w (x,y) = if ((y >= u)) | |
87 | + | then x | |
88 | + | else n(x, t[y]) | |
89 | + | ||
90 | + | func z (x,y) = if ((y >= u)) | |
91 | + | then x | |
92 | + | else throw("List size exceeds 4") | |
93 | + | ||
94 | + | z(w(w(w(w(v, 0), 1), 2), 3), 4) | |
95 | + | }, a) | |
96 | + | else if ((s == 5)) | |
97 | + | then makeString({ | |
98 | + | let t = r | |
99 | + | let u = size(t) | |
100 | + | let v = nil | |
101 | + | func w (x,y) = if ((y >= u)) | |
102 | + | then x | |
103 | + | else n(x, t[y]) | |
104 | + | ||
105 | + | func z (x,y) = if ((y >= u)) | |
106 | + | then x | |
107 | + | else throw("List size exceeds 5") | |
108 | + | ||
109 | + | z(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5) | |
110 | + | }, a) | |
111 | + | else throw("Max number of parameters exceeded") | |
112 | + | } | |
113 | + | ||
114 | + | ||
115 | + | func A (B) = { | |
116 | + | let C = split(B, a) | |
117 | + | $Tuple5(addressFromStringValue(C[0]), parseIntValue(C[1]), parseIntValue(C[2]), parseIntValue(C[3]), parseIntValue(C[4])) | |
118 | + | } | |
119 | + | ||
120 | + | ||
121 | + | func D (B) = { | |
122 | + | let C = split(B, a) | |
123 | + | $Tuple2(addressFromStringValue(C[0]), parseIntValue(C[1])) | |
124 | + | } | |
125 | + | ||
126 | + | ||
127 | + | func E (r) = { | |
128 | + | let F = r | |
129 | + | if ($isInstanceOf(F, "(Address, Int, Int, Int, Int)")) | |
15 | 130 | then { | |
16 | - | let h = g | |
17 | - | if (if ((h.decimals == 0)) | |
18 | - | then (h.quantity == 1) | |
131 | + | let G = F | |
132 | + | q([toString(G._1), toString(G._2), toString(G._3), toString(G._4), toString(G._5)]) | |
133 | + | } | |
134 | + | else if ($isInstanceOf(F, "(Address, Int)")) | |
135 | + | then { | |
136 | + | let H = F | |
137 | + | q([toString(H._1), toString(H._2)]) | |
138 | + | } | |
139 | + | else throw("Wrong params tupple") | |
140 | + | } | |
141 | + | ||
142 | + | ||
143 | + | func I (J,h,K,L,M,N) = StringEntry(k(h), E($Tuple5(J, K, L, M, N))) | |
144 | + | ||
145 | + | ||
146 | + | func O (h,P,Q) = StringEntry(j(h), E($Tuple2(P, Q))) | |
147 | + | ||
148 | + | ||
149 | + | func R (h) = value(getString(this, k(h))) | |
150 | + | ||
151 | + | ||
152 | + | func S (h) = value(getString(this, j(h))) | |
153 | + | ||
154 | + | ||
155 | + | func T (U,V) = { | |
156 | + | let B = R(U) | |
157 | + | let W = A(B) | |
158 | + | let J = W._1 | |
159 | + | let X = W._2 | |
160 | + | let Y = W._3 | |
161 | + | let Z = W._4 | |
162 | + | let aa = W._5 | |
163 | + | if ((V >= aa)) | |
164 | + | then $Tuple2(J, Y) | |
165 | + | else { | |
166 | + | let ab = (X - Y) | |
167 | + | let ac = (aa - Z) | |
168 | + | let ad = (V - Z) | |
169 | + | $Tuple2(J, (X - fraction(ad, ab, ac))) | |
170 | + | } | |
171 | + | } | |
172 | + | ||
173 | + | ||
174 | + | func ae (U) = { | |
175 | + | let F = assetInfo(U) | |
176 | + | if ($isInstanceOf(F, "Asset")) | |
177 | + | then { | |
178 | + | let af = F | |
179 | + | if (if ((af.decimals == 0)) | |
180 | + | then (af.quantity == 1) | |
19 | 181 | else false) | |
20 | - | then ( | |
182 | + | then (af.reissuable == false) | |
21 | 183 | else false | |
22 | 184 | } | |
23 | 185 | else false | |
24 | 186 | } | |
25 | 187 | ||
26 | 188 | ||
27 | - | @Callable(i) | |
28 | - | func issueNft (j,k,l) = { | |
29 | - | let m = Issue(j, k, 1, 0, false) | |
30 | - | let n = calculateAssetId(m) | |
31 | - | [m, StringEntry(((d + a) + toBase58String(n)), toString(l))] | |
189 | + | func ag (U) = { | |
190 | + | let m = value(assetInfo(U)).issuer | |
191 | + | valueOrElse(getBoolean(this, l(m)), false) | |
192 | + | } | |
193 | + | ||
194 | + | ||
195 | + | func ah (U) = isDefined(getString(this, j(U))) | |
196 | + | ||
197 | + | ||
198 | + | func ai (U) = isDefined(getString(this, k(U))) | |
199 | + | ||
200 | + | ||
201 | + | func aj (Q) = (Q > 0) | |
202 | + | ||
203 | + | ||
204 | + | func ak (M,N) = (N > M) | |
205 | + | ||
206 | + | ||
207 | + | func al (K,L) = (K > L) | |
208 | + | ||
209 | + | ||
210 | + | func am (an) = (an == this) | |
211 | + | ||
212 | + | ||
213 | + | func ao (an,J) = if ((an == this)) | |
214 | + | then true | |
215 | + | else (an == J) | |
216 | + | ||
217 | + | ||
218 | + | func ap (aq,N) = (aq > N) | |
219 | + | ||
220 | + | ||
221 | + | func ar (as,at) = (as >= at) | |
222 | + | ||
223 | + | ||
224 | + | func au (U) = (U == unit) | |
225 | + | ||
226 | + | ||
227 | + | func av (h) = if (!(ae(h))) | |
228 | + | then throw("Token is not Nft") | |
229 | + | else if (ah(h)) | |
230 | + | then throw("Sell already exists") | |
231 | + | else if (ai(h)) | |
232 | + | then throw("Auction already exists") | |
233 | + | else unit | |
234 | + | ||
235 | + | ||
236 | + | func aw (ax,ay,Q) = if (!(au(ax))) | |
237 | + | then throw("Payment must be at WAVES") | |
238 | + | else if (!(ar(ay, Q))) | |
239 | + | then throw("Not enough funds") | |
240 | + | else unit | |
241 | + | ||
242 | + | ||
243 | + | func az () = 0 | |
244 | + | ||
245 | + | ||
246 | + | func aA () = 0 | |
247 | + | ||
248 | + | ||
249 | + | func aB (aC,ay,aD) = if (aC) | |
250 | + | then $Tuple2((aD - aA()), (ay - aD)) | |
251 | + | else $Tuple2((aD - az()), (ay - aD)) | |
252 | + | ||
253 | + | ||
254 | + | func aE (h) = if (ah(h)) | |
255 | + | then $Tuple2(c, S(h)) | |
256 | + | else if (ai(h)) | |
257 | + | then $Tuple2(b, R(h)) | |
258 | + | else throw("Slot doesn`t exist") | |
259 | + | ||
260 | + | ||
261 | + | @Callable(aF) | |
262 | + | func addSell (Q) = { | |
263 | + | let h = value(aF.payments[0].assetId) | |
264 | + | valueOrElse(av(h), if (!(aj(Q))) | |
265 | + | then throw("Price must be > 0") | |
266 | + | else [O(h, aF.caller, Q)]) | |
32 | 267 | } | |
33 | 268 | ||
34 | 269 | ||
35 | 270 | ||
36 | - | @Callable(i) | |
37 | - | func buyNFT (o) = { | |
38 | - | let f = fromBase58String(o) | |
39 | - | let p = value(i.payments[0].amount) | |
40 | - | let l = valueOrErrorMessage(getString(((d + a) + o)), "There is no price for this nft") | |
41 | - | if ((i.payments[0].assetId != unit)) | |
42 | - | then throw("pay in waves") | |
43 | - | else if ((parseIntValue(l) > p)) | |
44 | - | then throw("Invalid payment") | |
45 | - | else [ScriptTransfer(i.caller, 1, f), StringEntry(((toString(i.caller) + a) + b), ((o + a) + toString(p)))] | |
271 | + | @Callable(aF) | |
272 | + | func addAuction (K,L,M,N) = { | |
273 | + | let h = value(aF.payments[0].assetId) | |
274 | + | valueOrElse(av(h), if (!(ak(M, N))) | |
275 | + | then throw("Period is not correct") | |
276 | + | else if (!(al(K, L))) | |
277 | + | then throw("Start price must be > endPrice") | |
278 | + | else [I(aF.caller, h, K, L, M, N)]) | |
46 | 279 | } | |
47 | 280 | ||
48 | 281 | ||
49 | 282 | ||
50 | - | @Callable(i) | |
51 | - | func sellNFT () = { | |
52 | - | let q = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount)) | |
53 | - | let r = q._1 | |
54 | - | let s = q._2 | |
55 | - | let l = getStringValue(((d + a) + valueOrErrorMessage(toBase58String(r), "There is no price for this nft"))) | |
56 | - | if (!(e(r))) | |
57 | - | then throw("Token is not NFT") | |
58 | - | else [ScriptTransfer(i.caller, parseIntValue(l), unit), StringEntry(((toString(i.caller) + a) + c), ((toBase58String(r) + a) + toString(s)))] | |
283 | + | @Callable(aF) | |
284 | + | func buyFromSlot (h) = { | |
285 | + | let aG = $Tuple2(aF.payments[0].assetId, value(aF.payments[0].amount)) | |
286 | + | let ax = aG._1 | |
287 | + | let ay = aG._2 | |
288 | + | let U = fromBase58String(h) | |
289 | + | let aH = aE(U) | |
290 | + | let aI = aH._1 | |
291 | + | let B = aH._2 | |
292 | + | let aJ = [ScriptTransfer(aF.caller, 1, U), DeleteEntry(f(aI, U))] | |
293 | + | if ((aI == c)) | |
294 | + | then { | |
295 | + | let aK = D(B) | |
296 | + | let J = aK._1 | |
297 | + | let aL = aK._2 | |
298 | + | valueOrElse(aw(ax, ay, aL), { | |
299 | + | let aM = aB(ag(U), ay, aL) | |
300 | + | let aN = aM._1 | |
301 | + | let aO = aM._2 | |
302 | + | let aP = (aJ ++ [ScriptTransfer(J, aN, unit)]) | |
303 | + | if ((aO > 0)) | |
304 | + | then (aP ++ [ScriptTransfer(aF.caller, aO, unit)]) | |
305 | + | else aP | |
306 | + | }) | |
307 | + | } | |
308 | + | else { | |
309 | + | let aQ = T(U, height) | |
310 | + | let J = aQ._1 | |
311 | + | let aD = aQ._2 | |
312 | + | valueOrElse(aw(ax, ay, aD), { | |
313 | + | let aR = aB(ag(U), ay, aD) | |
314 | + | let aN = aR._1 | |
315 | + | let aO = aR._2 | |
316 | + | let aP = (aJ ++ [ScriptTransfer(J, aN, unit)]) | |
317 | + | if ((aO > 0)) | |
318 | + | then (aP ++ [ScriptTransfer(aF.caller, aO, unit)]) | |
319 | + | else aP | |
320 | + | }) | |
321 | + | } | |
322 | + | } | |
323 | + | ||
324 | + | ||
325 | + | ||
326 | + | @Callable(aF) | |
327 | + | func declineSlot (h) = { | |
328 | + | let U = fromBase58String(h) | |
329 | + | let aS = aE(U) | |
330 | + | let aI = aS._1 | |
331 | + | let B = aS._2 | |
332 | + | let aJ = [DeleteEntry(f(aI, U))] | |
333 | + | if ((aI == c)) | |
334 | + | then { | |
335 | + | let aT = D(B) | |
336 | + | let J = aT._1 | |
337 | + | let aL = aT._2 | |
338 | + | if (!(ao(aF.caller, J))) | |
339 | + | then throw("Invalid caller") | |
340 | + | else (aJ ++ [ScriptTransfer(J, 1, U)]) | |
341 | + | } | |
342 | + | else { | |
343 | + | let aU = A(B) | |
344 | + | let J = aU._1 | |
345 | + | let X = aU._2 | |
346 | + | let Y = aU._3 | |
347 | + | let Z = aU._4 | |
348 | + | let aa = aU._5 | |
349 | + | if (!(ao(aF.caller, J))) | |
350 | + | then throw("Invalid caller") | |
351 | + | else if (!(ap(height, aa))) | |
352 | + | then throw("Wait for end of auction") | |
353 | + | else (aJ ++ [ScriptTransfer(J, 1, U)]) | |
354 | + | } | |
355 | + | } | |
356 | + | ||
357 | + | ||
358 | + | ||
359 | + | @Callable(aF) | |
360 | + | func setTrustedIssuer (aV) = if (!(am(aF.caller))) | |
361 | + | then throw("Only admin") | |
362 | + | else [BooleanEntry(l(addressFromStringValue(aV)), true)] | |
363 | + | ||
364 | + | ||
365 | + | ||
366 | + | @Callable(aF) | |
367 | + | func getPriceAtCurrentMoment (h,V) = { | |
368 | + | let U = fromBase58String(h) | |
369 | + | let aW = T(U, V) | |
370 | + | let J = aW._1 | |
371 | + | let Q = aW._2 | |
372 | + | [IntegerEntry(i(U), Q)] | |
59 | 373 | } | |
60 | 374 | ||
61 | 375 |
github/deemru/w8io/169f3d6 44.91 ms ◑