tx · 77N3Pu2nB6CHSYuEH6WFqKsNsKxZEpD91qDbbbbGp3uo

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.03 17:12 [1862815] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "77N3Pu2nB6CHSYuEH6WFqKsNsKxZEpD91qDbbbbGp3uo", "fee": 4000000, "feeAssetId": null, "timestamp": 1641219131843, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "3EF3YNutkXGneLHqgLe5Byh3mWgTcfCCCE2BZTP78mEZFqycuYw1afcGDQCFZ569smSKzhGvxpLZSTznr5ZY4ghD" ], "script": "base64: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", "height": 1862815, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ATmrPNsKB5Wy6DFeLqog4MJZmK4v3hMLKLTYK4pbkAjm Next: 8EFzuji6xJmFjHcDoJZ8WA2zoMyPdq32Uv1eazBLpGFh Diff:
OldNewDifferences
6868
6969
7070 func getXyReturn (xy,gen) = {
71- let $t015471562 = xy
72- let x = $t015471562._1
73- let y = $t015471562._2
71+ let $t013811396 = xy
72+ let x = $t013811396._1
73+ let y = $t013811396._2
7474 $Tuple3(x, y, (gen + 1))
7575 }
7676
7777
7878 func getXy (xyg,ownerId) = {
7979 let checkList = getBoundCoords(xyg)
80- let $t016781699 = xyg
81- let x = $t016781699._1
82- let y = $t016781699._2
83- let gen = $t016781699._3
80+ let $t015121533 = xyg
81+ let x = $t015121533._1
82+ let y = $t015121533._2
83+ let gen = $t015121533._3
8484 let genStr = toString(gen)
8585 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8686 then getXyReturn(checkList[0]._1, gen)
9797 @Callable(i)
9898 func purchase (x,y) = {
9999 let ownerId = toBase58String(i.caller.bytes)
100- let $t023832480 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
101- let resolvedX = $t023832480._1
102- let resolvedY = $t023832480._2
103- let resolvedGen = $t023832480._3
100+ let $t022172314 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
101+ let resolvedX = $t022172314._1
102+ let resolvedY = $t022172314._2
103+ let resolvedGen = $t022172314._3
104104 let resolvedXStr = toString(resolvedX)
105105 let resolvedYStr = toString(resolvedY)
106106 let resolvedGenStr = toString(resolvedGen)
107107 let assetName = ((resolvedXStr + ",") + resolvedYStr)
108- let assetUrl = ((nftDomain + toBase58String(i.transactionId)) + ".png")
108+ let transactionId = toBase58String(i.transactionId)
109+ let assetUrl = ((nftDomain + transactionId) + ".png")
109110 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
110111 let assetId = calculateAssetId(asset)
111112 let gen = resolvedGenStr
112113 let dataKeyPrefix = ((assetName + ",") + gen)
113-[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), ScriptTransfer(i.caller, 1, assetId)]
114+[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
114115 }
115116
116117
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 let DEBUG = true
1111
1212 func getBoundCoords (data) = {
1313 let $t0222244 = data
1414 let x = $t0222244._1
1515 let y = $t0222244._2
1616 let gen = $t0222244._3
1717 let d = pow(2, 0, (gen - 1), 0, 0, HALFUP)
1818 let tl = $Tuple2((x - d), (y - d))
1919 let tc = $Tuple2(x, (y - d))
2020 let tr = $Tuple2((x + d), (y + d))
2121 let l = $Tuple2((x - d), y)
2222 let r = $Tuple2((x + d), y)
2323 let bl = $Tuple2((x - d), (y + d))
2424 let bc = $Tuple2(x, (y + d))
2525 let br = $Tuple2((x + d), (y + d))
2626 [$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
2727 }
2828
2929
3030 func checkSquareForEvolve (coords,gen,ownerId) = {
3131 let $t0677705 = coords
3232 let xy1 = $t0677705._1
3333 let xy2 = $t0677705._2
3434 let xy3 = $t0677705._3
3535 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
3636 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
3737 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
3838 let xyVal1 = match getString(this, xy1Key) {
3939 case _: Unit =>
4040 "unset"
4141 case x: String =>
4242 x
4343 case _ =>
4444 throw("Match error")
4545 }
4646 let xyVal2 = match getString(this, xy2Key) {
4747 case _: Unit =>
4848 "unset"
4949 case x: String =>
5050 x
5151 case _ =>
5252 throw("Match error")
5353 }
5454 let xyVal3 = match getString(this, xy3Key) {
5555 case _: Unit =>
5656 "unset"
5757 case x: String =>
5858 x
5959 case _ =>
6060 throw("Match error")
6161 }
6262 if (if ((xyVal1 == ownerId))
6363 then (xyVal2 == ownerId)
6464 else false)
6565 then (xyVal3 == ownerId)
6666 else false
6767 }
6868
6969
7070 func getXyReturn (xy,gen) = {
71- let $t015471562 = xy
72- let x = $t015471562._1
73- let y = $t015471562._2
71+ let $t013811396 = xy
72+ let x = $t013811396._1
73+ let y = $t013811396._2
7474 $Tuple3(x, y, (gen + 1))
7575 }
7676
7777
7878 func getXy (xyg,ownerId) = {
7979 let checkList = getBoundCoords(xyg)
80- let $t016781699 = xyg
81- let x = $t016781699._1
82- let y = $t016781699._2
83- let gen = $t016781699._3
80+ let $t015121533 = xyg
81+ let x = $t015121533._1
82+ let y = $t015121533._2
83+ let gen = $t015121533._3
8484 let genStr = toString(gen)
8585 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8686 then getXyReturn(checkList[0]._1, gen)
8787 else if (checkSquareForEvolve(checkList[1], genStr, ownerId))
8888 then getXyReturn(checkList[1]._1, gen)
8989 else if (checkSquareForEvolve(checkList[2], genStr, ownerId))
9090 then getXyReturn(checkList[2]._1, gen)
9191 else if (checkSquareForEvolve(checkList[3], genStr, ownerId))
9292 then getXyReturn(checkList[3]._1, gen)
9393 else xyg
9494 }
9595
9696
9797 @Callable(i)
9898 func purchase (x,y) = {
9999 let ownerId = toBase58String(i.caller.bytes)
100- let $t023832480 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
101- let resolvedX = $t023832480._1
102- let resolvedY = $t023832480._2
103- let resolvedGen = $t023832480._3
100+ let $t022172314 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
101+ let resolvedX = $t022172314._1
102+ let resolvedY = $t022172314._2
103+ let resolvedGen = $t022172314._3
104104 let resolvedXStr = toString(resolvedX)
105105 let resolvedYStr = toString(resolvedY)
106106 let resolvedGenStr = toString(resolvedGen)
107107 let assetName = ((resolvedXStr + ",") + resolvedYStr)
108- let assetUrl = ((nftDomain + toBase58String(i.transactionId)) + ".png")
108+ let transactionId = toBase58String(i.transactionId)
109+ let assetUrl = ((nftDomain + transactionId) + ".png")
109110 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
110111 let assetId = calculateAssetId(asset)
111112 let gen = resolvedGenStr
112113 let dataKeyPrefix = ((assetName + ",") + gen)
113-[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), ScriptTransfer(i.caller, 1, assetId)]
114+[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
114115 }
115116
116117
117118 @Verifier(tx)
118119 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
119120

github/deemru/w8io/873ac7e 
43.53 ms