tx · 9AFsdMJMTDvbHv7cZif1uAKVv1pKPwXvqsoa58queWi9

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.02 21:16 [1861615] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "9AFsdMJMTDvbHv7cZif1uAKVv1pKPwXvqsoa58queWi9", "fee": 4000000, "feeAssetId": null, "timestamp": 1641147436926, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "2hNhkw7iR5CofbXFXkpPG1bY8mWuex237hDEs25ZCauzDJYHTHWMgCMs68jbgC8vjgH4dkCM2gQtQTNMs1gJsrnn" ], "script": "base64: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", "height": 1861615, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 53RkWwevsdJ3Et8DPcsMEoKj8j57LGytqv5gkYwDhNGp Next: DJvf4FQe3TMbWZiMxM9TpV6eTCZ5FqyMaWaFGk8P2BjW Diff:
OldNewDifferences
5757 case _ =>
5858 throw("Match error")
5959 }
60- if ((xyVal1 != "unset"))
60+ if ((xyVal1 == "unset"))
6161 then throw(((((((((((((xy1Key + ",") + xyVal1) + " - ") + xy2Key) + ",") + xyVal2) + " - ") + xy3Key) + ",") + xyVal3) + " - ") + ownerId))
6262 else if (if ((xyVal1 == ownerId))
6363 then (xyVal2 == ownerId)
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
3333 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
3434 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
3535 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
3636 let xyVal1 = match getString(this, xy1Key) {
3737 case _: Unit =>
3838 "unset"
3939 case x: String =>
4040 x
4141 case _ =>
4242 throw("Match error")
4343 }
4444 let xyVal2 = match getString(this, xy2Key) {
4545 case _: Unit =>
4646 "unset"
4747 case x: String =>
4848 x
4949 case _ =>
5050 throw("Match error")
5151 }
5252 let xyVal3 = match getString(this, xy3Key) {
5353 case _: Unit =>
5454 "unset"
5555 case x: String =>
5656 x
5757 case _ =>
5858 throw("Match error")
5959 }
60- if ((xyVal1 != "unset"))
60+ if ((xyVal1 == "unset"))
6161 then throw(((((((((((((xy1Key + ",") + xyVal1) + " - ") + xy2Key) + ",") + xyVal2) + " - ") + xy3Key) + ",") + xyVal3) + " - ") + ownerId))
6262 else 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) = {
7171 let $t015221537 = xy
7272 let x = $t015221537._1
7373 let y = $t015221537._2
7474 $Tuple3(x, y, (gen + 1))
7575 }
7676
7777
7878 func getXy (xyg,ownerId) = {
7979 let checkList = getBoundCoords(xyg)
8080 let $t016531674 = xyg
8181 let x = $t016531674._1
8282 let y = $t016531674._2
8383 let gen = $t016531674._3
8484 let genStr = toString(gen)
8585 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8686 then getXyReturn(checkList[0]._1, gen)
8787 else throw(((((toString(x) + ",") + toString(y)) + ",") + ownerId))
8888 }
8989
9090
9191 @Callable(i)
9292 func purchase (x,y) = {
9393 let ownerId = toBase58String(i.caller.bytes)
9494 let $t023762473 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
9595 let resolvedX = $t023762473._1
9696 let resolvedY = $t023762473._2
9797 let resolvedGen = $t023762473._3
9898 let resolvedXStr = toString(resolvedX)
9999 let resolvedYStr = toString(resolvedY)
100100 let resolvedGenStr = toString(resolvedGen)
101101 if ((resolvedGenStr == "1"))
102102 then throw(((resolvedXStr + ",") + resolvedGenStr))
103103 else {
104104 let assetName = ((resolvedXStr + ",") + resolvedYStr)
105105 let assetUrl = ((nftDomain + toBase58String(i.transactionId)) + ".png")
106106 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
107107 let assetId = calculateAssetId(asset)
108108 let gen = resolvedGenStr
109109 let dataKeyPrefix = ((assetName + ",") + gen)
110110 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), ScriptTransfer(i.caller, 1, assetId)]
111111 }
112112 }
113113
114114
115115 @Verifier(tx)
116116 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
117117

github/deemru/w8io/873ac7e 
26.64 ms