tx · 6vbnn12hkNxs8gd6kmdt7eiR3QS9zu9JtT8FiQ4cBoJf 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu: -0.04000000 Waves 2022.01.14 04:53 [1877990] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves
{ "type": 13, "id": "6vbnn12hkNxs8gd6kmdt7eiR3QS9zu9JtT8FiQ4cBoJf", "fee": 4000000, "feeAssetId": null, "timestamp": 1642125250844, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "4y9qLZs518PoTHmQjyLmdFu6LQtKQSRRmpN3XpBYiZgKbmQiDzf1T8Tn4mioNPW1ZSrfz9aapaEQCdEW1FF1NxQ7" ], "script": "base64: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", "height": 1877990, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EnvJ8yPgKchVFqHeu83hG6pq3jZdTXQZJy3mJGv47KPq Next: DYCjixxGUCw7BQgP9CsdYiE6rB7XyWiRbnaWJBBp5VZt Diff:
Old | New | Differences | |
---|---|---|---|
219 | 219 | } | |
220 | 220 | ||
221 | 221 | ||
222 | + | ||
223 | + | @Callable(aq) | |
224 | + | func finalizeSale (ao,x) = { | |
225 | + | let aw = { | |
226 | + | let G = assetInfo(fromBase58String(ao)) | |
227 | + | if ($isInstanceOf(G, "Asset")) | |
228 | + | then { | |
229 | + | let ax = G | |
230 | + | ax | |
231 | + | } | |
232 | + | else throw("Asset not found") | |
233 | + | } | |
234 | + | let al = aw.name | |
235 | + | let ay = split(al, ",") | |
236 | + | let az = split(ay[1], " ") | |
237 | + | let j = { | |
238 | + | let G = ay[0] | |
239 | + | if ($isInstanceOf(G, "String")) | |
240 | + | then { | |
241 | + | let aA = G | |
242 | + | valueOrErrorMessage(parseInt(aA), "Could not parse 'x'") | |
243 | + | } | |
244 | + | else throw("'x' not found") | |
245 | + | } | |
246 | + | let k = { | |
247 | + | let G = az[0] | |
248 | + | if ($isInstanceOf(G, "String")) | |
249 | + | then { | |
250 | + | let aA = G | |
251 | + | valueOrErrorMessage(parseInt(aA), "Could not parse 'y'") | |
252 | + | } | |
253 | + | else throw("'y' not found") | |
254 | + | } | |
255 | + | let l = { | |
256 | + | let G = az[2] | |
257 | + | if ($isInstanceOf(G, "String")) | |
258 | + | then { | |
259 | + | let aA = G | |
260 | + | valueOrErrorMessage(parseInt(aA), "Could not parse 'gen'") | |
261 | + | } | |
262 | + | else throw("'gen' not found") | |
263 | + | } | |
264 | + | let aB = toString(j) | |
265 | + | let aC = toString(k) | |
266 | + | let Q = toString(l) | |
267 | + | let aD = M($Tuple3(j, k, l), x) | |
268 | + | let aE = aD._1 | |
269 | + | let aF = aD._2 | |
270 | + | let aG = aD._3 | |
271 | + | let aH = nil | |
272 | + | if ((aG == l)) | |
273 | + | then { | |
274 | + | let aI = ((((aB + ",") + aC) + ",") + Q) | |
275 | + | $Tuple2([StringEntry((aI + "_owner"), x), StringEntry((("sale_" + ao) + "_originalOwner"), ""), IntegerEntry((("sale_" + ao) + "_amount"), 0)], aI) | |
276 | + | } | |
277 | + | else { | |
278 | + | let ad = toBase58String(aq.transactionId) | |
279 | + | let aJ = ac(aB, aC, x, ad) | |
280 | + | let an = aJ._1 | |
281 | + | let aK = aJ._2 | |
282 | + | let am = aJ._3 | |
283 | + | let ap = aJ._4 | |
284 | + | let aI = ap | |
285 | + | $Tuple2([an, StringEntry((aI + "_assetId"), toBase58String(aK)), StringEntry((aI + "_asset"), am), StringEntry((aI + "_owner"), x), StringEntry(ad, aI), ScriptTransfer(Address(fromBase58String(x)), 1, fromBase58String(ao))], aI) | |
286 | + | } | |
287 | + | } | |
288 | + | ||
289 | + |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = 1024 | |
5 | 5 | ||
6 | 6 | let b = 1024 | |
7 | 7 | ||
8 | 8 | let c = "https://nft.gridgang.io/" | |
9 | 9 | ||
10 | 10 | let d = true | |
11 | 11 | ||
12 | 12 | let e = base58'GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY' | |
13 | 13 | ||
14 | 14 | let f = addressFromPublicKey(e) | |
15 | 15 | ||
16 | 16 | func g (h) = { | |
17 | 17 | let i = h | |
18 | 18 | let j = i._1 | |
19 | 19 | let k = i._2 | |
20 | 20 | let l = i._3 | |
21 | 21 | let m = pow(2, 0, (l - 1), 0, 0, HALFUP) | |
22 | 22 | let n = $Tuple2((j - m), (k - m)) | |
23 | 23 | let o = $Tuple2(j, (k - m)) | |
24 | 24 | let p = $Tuple2((j + m), (k + m)) | |
25 | 25 | let q = $Tuple2((j - m), k) | |
26 | 26 | let r = $Tuple2((j + m), k) | |
27 | 27 | let s = $Tuple2((j - m), (k + m)) | |
28 | 28 | let t = $Tuple2(j, (k + m)) | |
29 | 29 | let u = $Tuple2((j + m), (k + m)) | |
30 | 30 | [$Tuple3(n, o, q), $Tuple3(o, p, r), $Tuple3(q, s, t), $Tuple3(r, t, u)] | |
31 | 31 | } | |
32 | 32 | ||
33 | 33 | ||
34 | 34 | func v (w,l,x) = { | |
35 | 35 | let y = w | |
36 | 36 | let z = y._1 | |
37 | 37 | let A = y._2 | |
38 | 38 | let B = y._3 | |
39 | 39 | let C = (((((toString(z._1) + ",") + toString(z._2)) + ",") + l) + "_owner") | |
40 | 40 | let D = (((((toString(A._1) + ",") + toString(A._2)) + ",") + l) + "_owner") | |
41 | 41 | let E = (((((toString(B._1) + ",") + toString(B._2)) + ",") + l) + "_owner") | |
42 | 42 | let F = { | |
43 | 43 | let G = getString(this, C) | |
44 | 44 | if ($isInstanceOf(G, "Unit")) | |
45 | 45 | then "unset" | |
46 | 46 | else if ($isInstanceOf(G, "String")) | |
47 | 47 | then { | |
48 | 48 | let j = G | |
49 | 49 | j | |
50 | 50 | } | |
51 | 51 | else throw("Match error") | |
52 | 52 | } | |
53 | 53 | let H = { | |
54 | 54 | let G = getString(this, D) | |
55 | 55 | if ($isInstanceOf(G, "Unit")) | |
56 | 56 | then "unset" | |
57 | 57 | else if ($isInstanceOf(G, "String")) | |
58 | 58 | then { | |
59 | 59 | let j = G | |
60 | 60 | j | |
61 | 61 | } | |
62 | 62 | else throw("Match error") | |
63 | 63 | } | |
64 | 64 | let I = { | |
65 | 65 | let G = getString(this, E) | |
66 | 66 | if ($isInstanceOf(G, "Unit")) | |
67 | 67 | then "unset" | |
68 | 68 | else if ($isInstanceOf(G, "String")) | |
69 | 69 | then { | |
70 | 70 | let j = G | |
71 | 71 | j | |
72 | 72 | } | |
73 | 73 | else throw("Match error") | |
74 | 74 | } | |
75 | 75 | if (if ((F == x)) | |
76 | 76 | then (H == x) | |
77 | 77 | else false) | |
78 | 78 | then (I == x) | |
79 | 79 | else false | |
80 | 80 | } | |
81 | 81 | ||
82 | 82 | ||
83 | 83 | func J (K,l) = { | |
84 | 84 | let L = K | |
85 | 85 | let j = L._1 | |
86 | 86 | let k = L._2 | |
87 | 87 | $Tuple3(j, k, (l + 1)) | |
88 | 88 | } | |
89 | 89 | ||
90 | 90 | ||
91 | 91 | func M (N,x) = { | |
92 | 92 | let O = g(N) | |
93 | 93 | let P = N | |
94 | 94 | let j = P._1 | |
95 | 95 | let k = P._2 | |
96 | 96 | let l = P._3 | |
97 | 97 | let Q = toString(l) | |
98 | 98 | if (v(O[0], Q, x)) | |
99 | 99 | then J(O[0]._1, l) | |
100 | 100 | else if (v(O[1], Q, x)) | |
101 | 101 | then J(O[1]._1, l) | |
102 | 102 | else if (v(O[2], Q, x)) | |
103 | 103 | then J(O[2]._1, l) | |
104 | 104 | else if (v(O[3], Q, x)) | |
105 | 105 | then J(O[3]._1, l) | |
106 | 106 | else N | |
107 | 107 | } | |
108 | 108 | ||
109 | 109 | ||
110 | 110 | func R (N,x) = { | |
111 | 111 | let S = N | |
112 | 112 | let j = S._1 | |
113 | 113 | let k = S._2 | |
114 | 114 | let l = S._3 | |
115 | 115 | let T = M(N, x) | |
116 | 116 | if ((T._3 == l)) | |
117 | 117 | then T | |
118 | 118 | else { | |
119 | 119 | let U = M(T, x) | |
120 | 120 | if ((U._3 == T._3)) | |
121 | 121 | then U | |
122 | 122 | else { | |
123 | 123 | let V = M(U, x) | |
124 | 124 | if ((V._3 == U._3)) | |
125 | 125 | then V | |
126 | 126 | else { | |
127 | 127 | let W = M(V, x) | |
128 | 128 | if ((W._3 == V._3)) | |
129 | 129 | then W | |
130 | 130 | else { | |
131 | 131 | let X = M(W, x) | |
132 | 132 | if ((X._3 == W._3)) | |
133 | 133 | then X | |
134 | 134 | else { | |
135 | 135 | let Y = M(X, x) | |
136 | 136 | if ((Y._3 == X._3)) | |
137 | 137 | then Y | |
138 | 138 | else { | |
139 | 139 | let Z = M(Y, x) | |
140 | 140 | if ((Z._3 == Y._3)) | |
141 | 141 | then Z | |
142 | 142 | else { | |
143 | 143 | let aa = M(Z, x) | |
144 | 144 | if ((aa._3 == Z._3)) | |
145 | 145 | then aa | |
146 | 146 | else { | |
147 | 147 | let ab = M(aa, x) | |
148 | 148 | if ((ab._3 == aa._3)) | |
149 | 149 | then ab | |
150 | 150 | else M(M(ab, x), x) | |
151 | 151 | } | |
152 | 152 | } | |
153 | 153 | } | |
154 | 154 | } | |
155 | 155 | } | |
156 | 156 | } | |
157 | 157 | } | |
158 | 158 | } | |
159 | 159 | } | |
160 | 160 | ||
161 | 161 | ||
162 | 162 | func ac (j,k,x,ad) = { | |
163 | 163 | let ae = M($Tuple3(parseIntValue(j), parseIntValue(k), 1), x) | |
164 | 164 | let af = ae._1 | |
165 | 165 | let ag = ae._2 | |
166 | 166 | let ah = ae._3 | |
167 | 167 | let ai = toString(af) | |
168 | 168 | let aj = toString(ag) | |
169 | 169 | let ak = toString(ah) | |
170 | 170 | let al = ((ai + ",") + aj) | |
171 | 171 | let am = ((c + ad) + ".png") | |
172 | 172 | let an = Issue(((al + " Gen ") + ak), am, 1, 0, false) | |
173 | 173 | let ao = calculateAssetId(an) | |
174 | 174 | let l = ak | |
175 | 175 | let ap = ((al + ",") + l) | |
176 | 176 | $Tuple4(an, ao, am, ap) | |
177 | 177 | } | |
178 | 178 | ||
179 | 179 | ||
180 | 180 | @Callable(aq) | |
181 | 181 | func purchase (j,k) = { | |
182 | 182 | let x = toBase58String(aq.caller.bytes) | |
183 | 183 | let ad = toBase58String(aq.transactionId) | |
184 | 184 | let ar = ac(j, k, x, ad) | |
185 | 185 | let an = ar._1 | |
186 | 186 | let ao = ar._2 | |
187 | 187 | let am = ar._3 | |
188 | 188 | let ap = ar._4 | |
189 | 189 | [an, StringEntry((ap + "_assetId"), toBase58String(ao)), StringEntry((ap + "_asset"), am), StringEntry((ap + "_owner"), x), StringEntry(ad, ap), ScriptTransfer(aq.caller, 1, ao)] | |
190 | 190 | } | |
191 | 191 | ||
192 | 192 | ||
193 | 193 | ||
194 | 194 | @Callable(aq) | |
195 | 195 | func autoBuy (j,k) = { | |
196 | 196 | let x = toBase58String(f.bytes) | |
197 | 197 | let ad = toBase58String(aq.transactionId) | |
198 | 198 | let as = ac(j, k, x, ad) | |
199 | 199 | let an = as._1 | |
200 | 200 | let ao = as._2 | |
201 | 201 | let am = as._3 | |
202 | 202 | let ap = as._4 | |
203 | 203 | let at = toBase58String(ao) | |
204 | 204 | let au = invoke(f, "addOwnerAndAmount", [x, at, "2"], [AttachedPayment(unit, 1000000)]) | |
205 | 205 | if ((au == au)) | |
206 | 206 | then [an, StringEntry((ap + "_assetId"), at), StringEntry((ap + "_asset"), am), StringEntry((ap + "_owner"), x), StringEntry((("sale_" + at) + "_originalOwner"), x), IntegerEntry((("sale_" + at) + "_amount"), 2), StringEntry(ad, ap), ScriptTransfer(f, 1, ao)] | |
207 | 207 | else throw("Strict value is not equal to itself.") | |
208 | 208 | } | |
209 | 209 | ||
210 | 210 | ||
211 | 211 | ||
212 | 212 | @Callable(aq) | |
213 | 213 | func putForSale (ao,av) = { | |
214 | 214 | let x = toBase58String(aq.caller.bytes) | |
215 | 215 | let au = invoke(f, "addOwnerAndAmount", [x, ao, av], [AttachedPayment(unit, 1000000)]) | |
216 | 216 | if ((au == au)) | |
217 | 217 | then [StringEntry((("sale_" + ao) + "_originalOwner"), x), StringEntry((("sale_" + ao) + "_amount"), av), ScriptTransfer(f, 1, fromBase58String(ao))] | |
218 | 218 | else throw("Strict value is not equal to itself.") | |
219 | 219 | } | |
220 | 220 | ||
221 | 221 | ||
222 | + | ||
223 | + | @Callable(aq) | |
224 | + | func finalizeSale (ao,x) = { | |
225 | + | let aw = { | |
226 | + | let G = assetInfo(fromBase58String(ao)) | |
227 | + | if ($isInstanceOf(G, "Asset")) | |
228 | + | then { | |
229 | + | let ax = G | |
230 | + | ax | |
231 | + | } | |
232 | + | else throw("Asset not found") | |
233 | + | } | |
234 | + | let al = aw.name | |
235 | + | let ay = split(al, ",") | |
236 | + | let az = split(ay[1], " ") | |
237 | + | let j = { | |
238 | + | let G = ay[0] | |
239 | + | if ($isInstanceOf(G, "String")) | |
240 | + | then { | |
241 | + | let aA = G | |
242 | + | valueOrErrorMessage(parseInt(aA), "Could not parse 'x'") | |
243 | + | } | |
244 | + | else throw("'x' not found") | |
245 | + | } | |
246 | + | let k = { | |
247 | + | let G = az[0] | |
248 | + | if ($isInstanceOf(G, "String")) | |
249 | + | then { | |
250 | + | let aA = G | |
251 | + | valueOrErrorMessage(parseInt(aA), "Could not parse 'y'") | |
252 | + | } | |
253 | + | else throw("'y' not found") | |
254 | + | } | |
255 | + | let l = { | |
256 | + | let G = az[2] | |
257 | + | if ($isInstanceOf(G, "String")) | |
258 | + | then { | |
259 | + | let aA = G | |
260 | + | valueOrErrorMessage(parseInt(aA), "Could not parse 'gen'") | |
261 | + | } | |
262 | + | else throw("'gen' not found") | |
263 | + | } | |
264 | + | let aB = toString(j) | |
265 | + | let aC = toString(k) | |
266 | + | let Q = toString(l) | |
267 | + | let aD = M($Tuple3(j, k, l), x) | |
268 | + | let aE = aD._1 | |
269 | + | let aF = aD._2 | |
270 | + | let aG = aD._3 | |
271 | + | let aH = nil | |
272 | + | if ((aG == l)) | |
273 | + | then { | |
274 | + | let aI = ((((aB + ",") + aC) + ",") + Q) | |
275 | + | $Tuple2([StringEntry((aI + "_owner"), x), StringEntry((("sale_" + ao) + "_originalOwner"), ""), IntegerEntry((("sale_" + ao) + "_amount"), 0)], aI) | |
276 | + | } | |
277 | + | else { | |
278 | + | let ad = toBase58String(aq.transactionId) | |
279 | + | let aJ = ac(aB, aC, x, ad) | |
280 | + | let an = aJ._1 | |
281 | + | let aK = aJ._2 | |
282 | + | let am = aJ._3 | |
283 | + | let ap = aJ._4 | |
284 | + | let aI = ap | |
285 | + | $Tuple2([an, StringEntry((aI + "_assetId"), toBase58String(aK)), StringEntry((aI + "_asset"), am), StringEntry((aI + "_owner"), x), StringEntry(ad, aI), ScriptTransfer(Address(fromBase58String(x)), 1, fromBase58String(ao))], aI) | |
286 | + | } | |
287 | + | } | |
288 | + | ||
289 | + |
github/deemru/w8io/169f3d6 58.21 ms ◑