tx · B9LePVe1Ld9Dt9c6tDdtMrg5GiLAt9tdYo1S34TNjUCb

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.02 19:37 [1861529] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "B9LePVe1Ld9Dt9c6tDdtMrg5GiLAt9tdYo1S34TNjUCb", "fee": 4000000, "feeAssetId": null, "timestamp": 1641141544475, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "4jJwBgnin4FhiweYURUWm6DzpCi9fviYZDnvD5z6eKf8UKPwugnzJztuvNkDrdzmY4cetqjebBcchDe3ojHUp43W" ], "script": "base64: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", "height": 1861529, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7BzJtvv8WqzBUkWq4eG44LRoLNAKvgz2keZfFwNZQ3H7 Next: 9w51zdBhXk44Bx5AmupAf1EEGJanjtPK5x23EPdCYsKj Diff:
OldNewDifferences
3030 let xy1 = $t0656684._1
3131 let xy2 = $t0656684._2
3232 let xy3 = $t0656684._3
33- let xyVal1 = getStringValue(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner"))
34- let xyVal2 = getStringValue(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner"))
35- let xyVal3 = getStringValue(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner"))
33+ let xyVal1 = match getStringValue(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")) {
34+ case n: String =>
35+ n
36+ case _ =>
37+ ""
38+ }
39+ let xyVal2 = match getStringValue(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")) {
40+ case n: String =>
41+ n
42+ case _ =>
43+ ""
44+ }
45+ let xyVal3 = match getStringValue(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")) {
46+ case n: String =>
47+ n
48+ case _ =>
49+ ""
50+ }
3651 if (if ((xyVal1 == ownerId))
3752 then (xyVal2 == ownerId)
3853 else false)
4257
4358
4459 func getXyReturn (xy,gen) = {
45- let $t011111126 = xy
46- let x = $t011111126._1
47- let y = $t011111126._2
60+ let $t012671282 = xy
61+ let x = $t012671282._1
62+ let y = $t012671282._2
4863 $Tuple3(x, y, (gen + 1))
4964 }
5065
5166
5267 func getXy (xyg,ownerId) = {
5368 let checkList = getBoundCoords(xyg)
54- let $t012421263 = xyg
55- let x = $t012421263._1
56- let y = $t012421263._2
57- let gen = $t012421263._3
69+ let $t013981419 = xyg
70+ let x = $t013981419._1
71+ let y = $t013981419._2
72+ let gen = $t013981419._3
5873 let genStr = toString(gen)
5974 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
6075 then getXyReturn(checkList[0]._1, gen)
7186 @Callable(i)
7287 func purchase (x,y) = {
7388 let ownerId = toBase58String(i.caller.bytes)
74- let $t018861983 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
75- let resolvedX = $t018861983._1
76- let resolvedY = $t018861983._2
77- let resolvedGen = $t018861983._3
89+ let $t020422139 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
90+ let resolvedX = $t020422139._1
91+ let resolvedY = $t020422139._2
92+ let resolvedGen = $t020422139._3
7893 let resolvedXStr = toString(resolvedX)
7994 let resolvedYStr = toString(resolvedY)
8095 let resolvedGenStr = toString(resolvedGen)
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.ca/"
99
1010 func getBoundCoords (data) = {
1111 let $t0205227 = data
1212 let x = $t0205227._1
1313 let y = $t0205227._2
1414 let gen = $t0205227._3
1515 let d = pow(2, 0, gen, 0, 0, HALFUP)
1616 let tl = $Tuple2((x - d), (y - d))
1717 let tc = $Tuple2(x, (y - d))
1818 let tr = $Tuple2((x + d), (y + d))
1919 let l = $Tuple2((x - d), y)
2020 let r = $Tuple2((x + d), y)
2121 let bl = $Tuple2((x - d), (y + d))
2222 let bc = $Tuple2(x, (y + d))
2323 let br = $Tuple2((x + d), (y + d))
2424 [$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
2525 }
2626
2727
2828 func checkSquareForEvolve (coords,gen,ownerId) = {
2929 let $t0656684 = coords
3030 let xy1 = $t0656684._1
3131 let xy2 = $t0656684._2
3232 let xy3 = $t0656684._3
33- let xyVal1 = getStringValue(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner"))
34- let xyVal2 = getStringValue(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner"))
35- let xyVal3 = getStringValue(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner"))
33+ let xyVal1 = match getStringValue(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")) {
34+ case n: String =>
35+ n
36+ case _ =>
37+ ""
38+ }
39+ let xyVal2 = match getStringValue(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")) {
40+ case n: String =>
41+ n
42+ case _ =>
43+ ""
44+ }
45+ let xyVal3 = match getStringValue(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")) {
46+ case n: String =>
47+ n
48+ case _ =>
49+ ""
50+ }
3651 if (if ((xyVal1 == ownerId))
3752 then (xyVal2 == ownerId)
3853 else false)
3954 then (xyVal3 == ownerId)
4055 else false
4156 }
4257
4358
4459 func getXyReturn (xy,gen) = {
45- let $t011111126 = xy
46- let x = $t011111126._1
47- let y = $t011111126._2
60+ let $t012671282 = xy
61+ let x = $t012671282._1
62+ let y = $t012671282._2
4863 $Tuple3(x, y, (gen + 1))
4964 }
5065
5166
5267 func getXy (xyg,ownerId) = {
5368 let checkList = getBoundCoords(xyg)
54- let $t012421263 = xyg
55- let x = $t012421263._1
56- let y = $t012421263._2
57- let gen = $t012421263._3
69+ let $t013981419 = xyg
70+ let x = $t013981419._1
71+ let y = $t013981419._2
72+ let gen = $t013981419._3
5873 let genStr = toString(gen)
5974 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
6075 then getXyReturn(checkList[0]._1, gen)
6176 else if (checkSquareForEvolve(checkList[1], genStr, ownerId))
6277 then getXyReturn(checkList[1]._1, gen)
6378 else if (checkSquareForEvolve(checkList[2], genStr, ownerId))
6479 then getXyReturn(checkList[2]._1, gen)
6580 else if (checkSquareForEvolve(checkList[3], genStr, ownerId))
6681 then getXyReturn(checkList[3]._1, gen)
6782 else xyg
6883 }
6984
7085
7186 @Callable(i)
7287 func purchase (x,y) = {
7388 let ownerId = toBase58String(i.caller.bytes)
74- let $t018861983 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
75- let resolvedX = $t018861983._1
76- let resolvedY = $t018861983._2
77- let resolvedGen = $t018861983._3
89+ let $t020422139 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
90+ let resolvedX = $t020422139._1
91+ let resolvedY = $t020422139._2
92+ let resolvedGen = $t020422139._3
7893 let resolvedXStr = toString(resolvedX)
7994 let resolvedYStr = toString(resolvedY)
8095 let resolvedGenStr = toString(resolvedGen)
8196 let assetName = ((resolvedXStr + ",") + resolvedYStr)
8297 let assetUrl = ((nftDomain + toBase58String(i.transactionId)) + ".png")
8398 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
8499 let assetId = calculateAssetId(asset)
85100 let gen = ("0" + resolvedGenStr)
86101 let dataKeyPrefix = ((assetName + ",") + gen)
87102 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), ScriptTransfer(i.caller, 1, assetId)]
88103 }
89104
90105
91106 @Verifier(tx)
92107 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
93108

github/deemru/w8io/169f3d6 
38.62 ms