tx · FtqVuP8cSzffwq3jXxeR6KSbvq8yMXDmgnsA9rP8zSHv

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.02 19:52 [1861543] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "FtqVuP8cSzffwq3jXxeR6KSbvq8yMXDmgnsA9rP8zSHv", "fee": 4000000, "feeAssetId": null, "timestamp": 1641142346425, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "3iJa6GfuWH848TwfsEmBgD3Qxve9FMaiZS3V6mihRp1vchzTtRYCxt85vLhvv7SCKjD42ZxUctZQFrRY4uq77Qa3" ], "script": "base64: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", "height": 1861543, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9w51zdBhXk44Bx5AmupAf1EEGJanjtPK5x23EPdCYsKj Next: 78wYCmHzcFtE4VJUVCF3VW7yxP4dfHJQS7c3eGstpmen Diff:
OldNewDifferences
3030 let xy1 = $t0656684._1
3131 let xy2 = $t0656684._2
3232 let xy3 = $t0656684._3
33- let xyVal1 = match getString(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")) {
34- case n: String =>
35- n
36- case _ =>
37- ""
38- }
39- let xyVal2 = match getString(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")) {
40- case n: String =>
41- n
42- case _ =>
43- ""
44- }
45- let xyVal3 = match getString(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")) {
46- case n: String =>
47- n
48- case _ =>
49- ""
50- }
33+ let xyVal1 = getString(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner"))
34+ let xyVal2 = getString(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner"))
35+ let xyVal3 = getString(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner"))
5136 if (if ((xyVal1 == ownerId))
5237 then (xyVal2 == ownerId)
5338 else false)
5742
5843
5944 func getXyReturn (xy,gen) = {
60- let $t012521267 = xy
61- let x = $t012521267._1
62- let y = $t012521267._2
45+ let $t010931108 = xy
46+ let x = $t010931108._1
47+ let y = $t010931108._2
6348 $Tuple3(x, y, (gen + 1))
6449 }
6550
6651
6752 func getXy (xyg,ownerId) = {
6853 let checkList = getBoundCoords(xyg)
69- let $t013831404 = xyg
70- let x = $t013831404._1
71- let y = $t013831404._2
72- let gen = $t013831404._3
54+ let $t012241245 = xyg
55+ let x = $t012241245._1
56+ let y = $t012241245._2
57+ let gen = $t012241245._3
7358 let genStr = toString(gen)
7459 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
7560 then getXyReturn(checkList[0]._1, gen)
8671 @Callable(i)
8772 func purchase (x,y) = {
8873 let ownerId = toBase58String(i.caller.bytes)
89- let $t020272124 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
90- let resolvedX = $t020272124._1
91- let resolvedY = $t020272124._2
92- let resolvedGen = $t020272124._3
74+ let $t018681965 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
75+ let resolvedX = $t018681965._1
76+ let resolvedY = $t018681965._2
77+ let resolvedGen = $t018681965._3
9378 let resolvedXStr = toString(resolvedX)
9479 let resolvedYStr = toString(resolvedY)
9580 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 = match getString(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")) {
34- case n: String =>
35- n
36- case _ =>
37- ""
38- }
39- let xyVal2 = match getString(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")) {
40- case n: String =>
41- n
42- case _ =>
43- ""
44- }
45- let xyVal3 = match getString(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")) {
46- case n: String =>
47- n
48- case _ =>
49- ""
50- }
33+ let xyVal1 = getString(this, (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner"))
34+ let xyVal2 = getString(this, (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner"))
35+ let xyVal3 = getString(this, (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner"))
5136 if (if ((xyVal1 == ownerId))
5237 then (xyVal2 == ownerId)
5338 else false)
5439 then (xyVal3 == ownerId)
5540 else false
5641 }
5742
5843
5944 func getXyReturn (xy,gen) = {
60- let $t012521267 = xy
61- let x = $t012521267._1
62- let y = $t012521267._2
45+ let $t010931108 = xy
46+ let x = $t010931108._1
47+ let y = $t010931108._2
6348 $Tuple3(x, y, (gen + 1))
6449 }
6550
6651
6752 func getXy (xyg,ownerId) = {
6853 let checkList = getBoundCoords(xyg)
69- let $t013831404 = xyg
70- let x = $t013831404._1
71- let y = $t013831404._2
72- let gen = $t013831404._3
54+ let $t012241245 = xyg
55+ let x = $t012241245._1
56+ let y = $t012241245._2
57+ let gen = $t012241245._3
7358 let genStr = toString(gen)
7459 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
7560 then getXyReturn(checkList[0]._1, gen)
7661 else if (checkSquareForEvolve(checkList[1], genStr, ownerId))
7762 then getXyReturn(checkList[1]._1, gen)
7863 else if (checkSquareForEvolve(checkList[2], genStr, ownerId))
7964 then getXyReturn(checkList[2]._1, gen)
8065 else if (checkSquareForEvolve(checkList[3], genStr, ownerId))
8166 then getXyReturn(checkList[3]._1, gen)
8267 else xyg
8368 }
8469
8570
8671 @Callable(i)
8772 func purchase (x,y) = {
8873 let ownerId = toBase58String(i.caller.bytes)
89- let $t020272124 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
90- let resolvedX = $t020272124._1
91- let resolvedY = $t020272124._2
92- let resolvedGen = $t020272124._3
74+ let $t018681965 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
75+ let resolvedX = $t018681965._1
76+ let resolvedY = $t018681965._2
77+ let resolvedGen = $t018681965._3
9378 let resolvedXStr = toString(resolvedX)
9479 let resolvedYStr = toString(resolvedY)
9580 let resolvedGenStr = toString(resolvedGen)
9681 let assetName = ((resolvedXStr + ",") + resolvedYStr)
9782 let assetUrl = ((nftDomain + toBase58String(i.transactionId)) + ".png")
9883 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
9984 let assetId = calculateAssetId(asset)
10085 let gen = ("0" + resolvedGenStr)
10186 let dataKeyPrefix = ((assetName + ",") + gen)
10287 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), ScriptTransfer(i.caller, 1, assetId)]
10388 }
10489
10590
10691 @Verifier(tx)
10792 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
10893

github/deemru/w8io/873ac7e 
135.02 ms