tx · 5QbQyKugkSUmMMhtJP8nFdMq3sPqF1vdEAwCmbi1tPw7

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.23 22:52 [1892000] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "5QbQyKugkSUmMMhtJP8nFdMq3sPqF1vdEAwCmbi1tPw7", "fee": 4000000, "feeAssetId": null, "timestamp": 1642967573578, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "3BDpRX4qHrRpnd8Zojtyd1CTxko4mkKUTcDZuiVrzt4NdrDdmb5VqV3DE3YHHUm4qvwjasoAJMjHXZu3LVkn154K" ], "script": "base64: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", "height": 1892000, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hsh6Xzuy1XJ7PasrsU3P7ekBniaZPBDhoQsaCUTQREPH Next: 7qJp3WyVgVZdEfHhZC1hn4GDxPC5MSMXi1RW9LXzwMz5 Diff:
OldNewDifferences
150150 }
151151
152152
153-func claimSquare (x,y,ownerId,transactionId) = {
153+func claimSquare (x,y,gen,ownerId,transactionId) = {
154154 let resolvedXStr = x
155155 let resolvedYStr = y
156- let resolvedGenStr = "1"
156+ let resolvedGenStr = gen
157157 let assetName = ((resolvedXStr + ",") + resolvedYStr)
158158 let assetUrl = ((nftDomain + transactionId) + ".png")
159159 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
160160 let assetId = calculateAssetId(asset)
161- let gen = resolvedGenStr
162161 let dataKeyPrefix = ((assetName + ",") + gen)
163162 $Tuple4(asset, assetId, assetUrl, dataKeyPrefix)
164163 }
168167 func purchase (x,y) = {
169168 let ownerId = toBase58String(i.caller.bytes)
170169 let transactionId = toBase58String(i.transactionId)
171- let $t041804270 = claimSquare(x, y, ownerId, transactionId)
172- let asset = $t041804270._1
173- let assetId = $t041804270._2
174- let assetUrl = $t041804270._3
175- let dataKeyPrefix = $t041804270._4
170+ let $t041654260 = claimSquare(x, y, "1", ownerId, transactionId)
171+ let asset = $t041654260._1
172+ let assetId = $t041654260._2
173+ let assetUrl = $t041654260._3
174+ let dataKeyPrefix = $t041654260._4
176175 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
177176 }
178177
181180 @Callable(i)
182181 func autoBuy (x,y) = {
183182 let transactionId = toBase58String(i.transactionId)
184- let $t047214812 = claimSquare(x, y, holdings, transactionId)
185- let asset = $t047214812._1
186- let assetId = $t047214812._2
187- let assetUrl = $t047214812._3
188- let dataKeyPrefix = $t047214812._4
183+ let $t047114807 = claimSquare(x, y, "1", holdings, transactionId)
184+ let asset = $t047114807._1
185+ let assetId = $t047114807._2
186+ let assetUrl = $t047114807._3
187+ let dataKeyPrefix = $t047114807._4
189188 let assetIdStr = toBase58String(assetId)
190189 let res = invoke(holdingsAddress, "addOwnerAndAmount", [holdings, assetIdStr, "2"], [AttachedPayment(unit, 0)])
191190 if ((res == res))
192191 then [asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
193192 else throw("Strict value is not equal to itself.")
193+ }
194+
195+
196+
197+@Callable(i)
198+func evolve (x,y,gen,ownerId) = {
199+ let transactionId = toBase58String(i.transactionId)
200+ let $t055335628 = claimSquare(x, y, gen, ownerId, transactionId)
201+ let asset = $t055335628._1
202+ let assetId = $t055335628._2
203+ let assetUrl = $t055335628._3
204+ let dataKeyPrefix = $t055335628._4
205+[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)]
194206 }
195207
196208
238250 let xStr = toString(x)
239251 let yStr = toString(y)
240252 let genStr = toString(gen)
241- let $t066436706 = getXy($Tuple3(x, y, gen), ownerId)
242- let parsedX = $t066436706._1
243- let parsedY = $t066436706._2
244- let parsedGen = $t066436706._3
253+ let $t072077270 = getXy($Tuple3(x, y, gen), ownerId)
254+ let parsedX = $t072077270._1
255+ let parsedY = $t072077270._2
256+ let parsedGen = $t072077270._3
245257 let returnList = nil
246258 if ((parsedGen == gen))
247259 then {
250262 }
251263 else {
252264 let transactionId = toBase58String(i.transactionId)
253- let $t070897192 = claimSquare(xStr, yStr, ownerId, transactionId)
254- let asset = $t070897192._1
255- let evolvedAssetId = $t070897192._2
256- let assetUrl = $t070897192._3
257- let dataKeyPrefix = $t070897192._4
265+ let $t076537764 = claimSquare(xStr, yStr, genStr, ownerId, transactionId)
266+ let asset = $t076537764._1
267+ let evolvedAssetId = $t076537764._2
268+ let assetUrl = $t076537764._3
269+ let dataKeyPrefix = $t076537764._4
258270 let dataKey = dataKeyPrefix
259271 $Tuple2([asset, StringEntry((dataKey + "_assetId"), toBase58String(evolvedAssetId)), StringEntry((dataKey + "_asset"), assetUrl), StringEntry((dataKey + "_owner"), ownerId), StringEntry(transactionId, dataKey), ScriptTransfer(Address(fromBase58String(ownerId)), 1, fromBase58String(assetId))], dataKey)
260272 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let COLS = 1024
55
66 let ROWS = 1024
77
88 let nftDomain = "https://nft.gridgang.io/"
99
1010 let DEBUG = true
1111
1212 let holdings = "3N9R7u449Z1b76QpJp9u3gzPjMYQYnp3V7r"
1313
1414 let holdingsAddress = Address(fromBase58String(holdings))
1515
1616 func getBoundCoords (data) = {
1717 let $t0333355 = data
1818 let x = $t0333355._1
1919 let y = $t0333355._2
2020 let gen = $t0333355._3
2121 let d = pow(2, 0, (gen - 1), 0, 0, HALFUP)
2222 let tl = $Tuple2((x - d), (y - d))
2323 let tc = $Tuple2(x, (y - d))
2424 let tr = $Tuple2((x + d), (y + d))
2525 let l = $Tuple2((x - d), y)
2626 let r = $Tuple2((x + d), y)
2727 let bl = $Tuple2((x - d), (y + d))
2828 let bc = $Tuple2(x, (y + d))
2929 let br = $Tuple2((x + d), (y + d))
3030 [$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
3131 }
3232
3333
3434 func checkSquareForEvolve (coords,gen,ownerId) = {
3535 let $t0788816 = coords
3636 let xy1 = $t0788816._1
3737 let xy2 = $t0788816._2
3838 let xy3 = $t0788816._3
3939 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
4040 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
4141 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
4242 let xyVal1 = match getString(this, xy1Key) {
4343 case _: Unit =>
4444 "unset"
4545 case x: String =>
4646 x
4747 case _ =>
4848 throw("Match error")
4949 }
5050 let xyVal2 = match getString(this, xy2Key) {
5151 case _: Unit =>
5252 "unset"
5353 case x: String =>
5454 x
5555 case _ =>
5656 throw("Match error")
5757 }
5858 let xyVal3 = match getString(this, xy3Key) {
5959 case _: Unit =>
6060 "unset"
6161 case x: String =>
6262 x
6363 case _ =>
6464 throw("Match error")
6565 }
6666 if (if ((xyVal1 == ownerId))
6767 then (xyVal2 == ownerId)
6868 else false)
6969 then (xyVal3 == ownerId)
7070 else false
7171 }
7272
7373
7474 func getXyReturn (xy,gen) = {
7575 let $t014921507 = xy
7676 let x = $t014921507._1
7777 let y = $t014921507._2
7878 $Tuple3(x, y, (gen + 1))
7979 }
8080
8181
8282 func getXy (xyg,ownerId) = {
8383 let checkList = getBoundCoords(xyg)
8484 let $t016231644 = xyg
8585 let x = $t016231644._1
8686 let y = $t016231644._2
8787 let gen = $t016231644._3
8888 let genStr = toString(gen)
8989 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
9090 then getXyReturn(checkList[0]._1, gen)
9191 else if (checkSquareForEvolve(checkList[1], genStr, ownerId))
9292 then getXyReturn(checkList[1]._1, gen)
9393 else if (checkSquareForEvolve(checkList[2], genStr, ownerId))
9494 then getXyReturn(checkList[2]._1, gen)
9595 else if (checkSquareForEvolve(checkList[3], genStr, ownerId))
9696 then getXyReturn(checkList[3]._1, gen)
9797 else xyg
9898 }
9999
100100
101101 func checkForEvolve (xyg,ownerId) = {
102102 let $t022912312 = xyg
103103 let x = $t022912312._1
104104 let y = $t022912312._2
105105 let gen = $t022912312._3
106106 let p1 = getXy(xyg, ownerId)
107107 if ((p1._3 == gen))
108108 then p1
109109 else {
110110 let p2 = getXy(p1, ownerId)
111111 if ((p2._3 == p1._3))
112112 then p2
113113 else {
114114 let p3 = getXy(p2, ownerId)
115115 if ((p3._3 == p2._3))
116116 then p3
117117 else {
118118 let p4 = getXy(p3, ownerId)
119119 if ((p4._3 == p3._3))
120120 then p4
121121 else {
122122 let p5 = getXy(p4, ownerId)
123123 if ((p5._3 == p4._3))
124124 then p5
125125 else {
126126 let p6 = getXy(p5, ownerId)
127127 if ((p6._3 == p5._3))
128128 then p6
129129 else {
130130 let p7 = getXy(p6, ownerId)
131131 if ((p7._3 == p6._3))
132132 then p7
133133 else {
134134 let p8 = getXy(p7, ownerId)
135135 if ((p8._3 == p7._3))
136136 then p8
137137 else {
138138 let p9 = getXy(p8, ownerId)
139139 if ((p9._3 == p8._3))
140140 then p9
141141 else getXy(getXy(p9, ownerId), ownerId)
142142 }
143143 }
144144 }
145145 }
146146 }
147147 }
148148 }
149149 }
150150 }
151151
152152
153-func claimSquare (x,y,ownerId,transactionId) = {
153+func claimSquare (x,y,gen,ownerId,transactionId) = {
154154 let resolvedXStr = x
155155 let resolvedYStr = y
156- let resolvedGenStr = "1"
156+ let resolvedGenStr = gen
157157 let assetName = ((resolvedXStr + ",") + resolvedYStr)
158158 let assetUrl = ((nftDomain + transactionId) + ".png")
159159 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
160160 let assetId = calculateAssetId(asset)
161- let gen = resolvedGenStr
162161 let dataKeyPrefix = ((assetName + ",") + gen)
163162 $Tuple4(asset, assetId, assetUrl, dataKeyPrefix)
164163 }
165164
166165
167166 @Callable(i)
168167 func purchase (x,y) = {
169168 let ownerId = toBase58String(i.caller.bytes)
170169 let transactionId = toBase58String(i.transactionId)
171- let $t041804270 = claimSquare(x, y, ownerId, transactionId)
172- let asset = $t041804270._1
173- let assetId = $t041804270._2
174- let assetUrl = $t041804270._3
175- let dataKeyPrefix = $t041804270._4
170+ let $t041654260 = claimSquare(x, y, "1", ownerId, transactionId)
171+ let asset = $t041654260._1
172+ let assetId = $t041654260._2
173+ let assetUrl = $t041654260._3
174+ let dataKeyPrefix = $t041654260._4
176175 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
177176 }
178177
179178
180179
181180 @Callable(i)
182181 func autoBuy (x,y) = {
183182 let transactionId = toBase58String(i.transactionId)
184- let $t047214812 = claimSquare(x, y, holdings, transactionId)
185- let asset = $t047214812._1
186- let assetId = $t047214812._2
187- let assetUrl = $t047214812._3
188- let dataKeyPrefix = $t047214812._4
183+ let $t047114807 = claimSquare(x, y, "1", holdings, transactionId)
184+ let asset = $t047114807._1
185+ let assetId = $t047114807._2
186+ let assetUrl = $t047114807._3
187+ let dataKeyPrefix = $t047114807._4
189188 let assetIdStr = toBase58String(assetId)
190189 let res = invoke(holdingsAddress, "addOwnerAndAmount", [holdings, assetIdStr, "2"], [AttachedPayment(unit, 0)])
191190 if ((res == res))
192191 then [asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
193192 else throw("Strict value is not equal to itself.")
193+ }
194+
195+
196+
197+@Callable(i)
198+func evolve (x,y,gen,ownerId) = {
199+ let transactionId = toBase58String(i.transactionId)
200+ let $t055335628 = claimSquare(x, y, gen, ownerId, transactionId)
201+ let asset = $t055335628._1
202+ let assetId = $t055335628._2
203+ let assetUrl = $t055335628._3
204+ let dataKeyPrefix = $t055335628._4
205+[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)]
194206 }
195207
196208
197209
198210 @Callable(i)
199211 func putForSale (assetId,amount) = {
200212 let ownerId = toBase58String(i.caller.bytes)
201213 let res = invoke(holdingsAddress, "addOwnerAndAmount", [ownerId, assetId, amount], [AttachedPayment(unit, 0)])
202214 if ((res == res))
203215 then [StringEntry((("sale_" + assetId) + "_originalOwner"), ownerId), StringEntry((("sale_" + assetId) + "_amount"), amount), ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))]
204216 else throw("Strict value is not equal to itself.")
205217 }
206218
207219
208220
209221 @Callable(i)
210222 func finalizeSale (assetId,ownerId) = {
211223 let assetData = match assetInfo(fromBase58String(assetId)) {
212224 case ass: Asset =>
213225 ass
214226 case _ =>
215227 throw("Asset not found")
216228 }
217229 let assetName = assetData.name
218230 let xPart = split(assetName, ",")
219231 let restPart = split(xPart[1], " ")
220232 let x = match xPart[0] {
221233 case s: String =>
222234 valueOrErrorMessage(parseInt(s), "Could not parse 'x'")
223235 case _ =>
224236 throw("'x' not found")
225237 }
226238 let y = match restPart[0] {
227239 case s: String =>
228240 valueOrErrorMessage(parseInt(s), "Could not parse 'y'")
229241 case _ =>
230242 throw("'y' not found")
231243 }
232244 let gen = match restPart[2] {
233245 case s: String =>
234246 valueOrErrorMessage(parseInt(s), "Could not parse 'gen'")
235247 case _ =>
236248 throw("'gen' not found")
237249 }
238250 let xStr = toString(x)
239251 let yStr = toString(y)
240252 let genStr = toString(gen)
241- let $t066436706 = getXy($Tuple3(x, y, gen), ownerId)
242- let parsedX = $t066436706._1
243- let parsedY = $t066436706._2
244- let parsedGen = $t066436706._3
253+ let $t072077270 = getXy($Tuple3(x, y, gen), ownerId)
254+ let parsedX = $t072077270._1
255+ let parsedY = $t072077270._2
256+ let parsedGen = $t072077270._3
245257 let returnList = nil
246258 if ((parsedGen == gen))
247259 then {
248260 let dataKey = ((((xStr + ",") + yStr) + ",") + genStr)
249261 $Tuple2([StringEntry((dataKey + "_owner"), ownerId), StringEntry((("sale_" + assetId) + "_originalOwner"), ""), IntegerEntry((("sale_" + assetId) + "_amount"), 0)], dataKey)
250262 }
251263 else {
252264 let transactionId = toBase58String(i.transactionId)
253- let $t070897192 = claimSquare(xStr, yStr, ownerId, transactionId)
254- let asset = $t070897192._1
255- let evolvedAssetId = $t070897192._2
256- let assetUrl = $t070897192._3
257- let dataKeyPrefix = $t070897192._4
265+ let $t076537764 = claimSquare(xStr, yStr, genStr, ownerId, transactionId)
266+ let asset = $t076537764._1
267+ let evolvedAssetId = $t076537764._2
268+ let assetUrl = $t076537764._3
269+ let dataKeyPrefix = $t076537764._4
258270 let dataKey = dataKeyPrefix
259271 $Tuple2([asset, StringEntry((dataKey + "_assetId"), toBase58String(evolvedAssetId)), StringEntry((dataKey + "_asset"), assetUrl), StringEntry((dataKey + "_owner"), ownerId), StringEntry(transactionId, dataKey), ScriptTransfer(Address(fromBase58String(ownerId)), 1, fromBase58String(assetId))], dataKey)
260272 }
261273 }
262274
263275

github/deemru/w8io/873ac7e 
68.33 ms