tx · DJvf4FQe3TMbWZiMxM9TpV6eTCZ5FqyMaWaFGk8P2BjW

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.02 21:24 [1861623] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "DJvf4FQe3TMbWZiMxM9TpV6eTCZ5FqyMaWaFGk8P2BjW", "fee": 4000000, "feeAssetId": null, "timestamp": 1641147884313, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "5WT6mHkELqXkiyjdJPitsZrAEDQ3n1iA3QsJsBCSpmWV2UC26rETqgLvxbYL1SZGQbJm8Mn1sSP4GinEW2r4eX5G" ], "script": "base64:AAIFAAAAAAAAAvIIAhIECgIICBoLCgFBEgZ4eTFLZXkaCwoBQhIGeHkyS2V5GgsKAUMSBnh5M0tleRoLCgFEEgZ4eVZhbDEaDAoBRRIHJG1hdGNoMBoLCgFGEgZ4eVZhbDIaCwoBRxIGeHlWYWwzGhAKAUgSC2dldFh5UmV0dXJuGgcKAUkSAnh5GhAKAUoSCyR0MDE2NjUxNjgwGgoKAUsSBWdldFh5GggKAUwSA3h5ZxoOCgFNEgljaGVja0xpc3QaEAoBThILJHQwMTc5NjE4MTcaCwoBTxIGZ2VuU3RyGgYKAVASAWkaEAoBURILJHQwMjUxOTI2MTYaDgoBUhIJcmVzb2x2ZWRYGg4KAVMSCXJlc29sdmVkWRoQCgFUEgtyZXNvbHZlZEdlbhoRCgFVEgxyZXNvbHZlZFhTdHIaEQoBVhIMcmVzb2x2ZWRZU3RyGhMKAVcSDnJlc29sdmVkR2VuU3RyGg4KAVgSCWFzc2V0TmFtZRoNCgFZEghhc3NldFVybBoKCgFaEgVhc3NldBoJCgFhEgRDT0xTGg0KAmFhEgdhc3NldElkGhMKAmFiEg1kYXRhS2V5UHJlZml4GggKAmFjEgJ0eBoMCgJhZBIGdmVyaWZ5GgkKAWISBFJPV1MaDgoBYxIJbmZ0RG9tYWluGgoKAWQSBURFQlVHGhMKAWUSDmdldEJvdW5kQ29vcmRzGgkKAWYSBGRhdGEaDgoBZxIJJHQwMjIyMjQ0GgYKAWgSAXgaBgoBaRIBeRoICgFqEgNnZW4aBgoBaxIBZBoHCgFsEgJ0bBoHCgFtEgJ0YxoHCgFuEgJ0choGCgFvEgFsGgYKAXASAXIaBwoBcRICYmwaBwoBchICYmMaBwoBcxICYnIaGQoBdBIUY2hlY2tTcXVhcmVGb3JFdm9sdmUaCwoBdRIGY29vcmRzGgwKAXYSB293bmVySWQaDgoBdxIJJHQwNzk5ODI3GggKAXgSA3h5MRoICgF5EgN4eTIaCAoBehIDeHkzAAAACAAAAAABYQAAAAAAAAAEAAAAAAABYgAAAAAAAAAEAAAAAAABYwIAAAAYaHR0cHM6Ly9uZnQuZ3JpZGdhbmcuY2EvAAAAAAFkBgEAAAABZQAAAAEAAAABZgQAAAABZwUAAAABZgQAAAABaAgFAAAAAWcAAAACXzEEAAAAAWkIBQAAAAFnAAAAAl8yBAAAAAFqCAUAAAABZwAAAAJfMwQAAAABawkAAGwAAAAGAAAAAAAAAAACAAAAAAAAAAAABQAAAAFqAAAAAAAAAAAAAAAAAAAAAAAABQAAAAZIQUxGVVAEAAAAAWwJAAUUAAAAAgkAAGUAAAACBQAAAAFoBQAAAAFrCQAAZQAAAAIFAAAAAWkFAAAAAWsEAAAAAW0JAAUUAAAAAgUAAAABaAkAAGUAAAACBQAAAAFpBQAAAAFrBAAAAAFuCQAFFAAAAAIJAABkAAAAAgUAAAABaAUAAAABawkAAGQAAAACBQAAAAFpBQAAAAFrBAAAAAFvCQAFFAAAAAIJAABlAAAAAgUAAAABaAUAAAABawUAAAABaQQAAAABcAkABRQAAAACCQAAZAAAAAIFAAAAAWgFAAAAAWsFAAAAAWkEAAAAAXEJAAUUAAAAAgkAAGUAAAACBQAAAAFoBQAAAAFrCQAAZAAAAAIFAAAAAWkFAAAAAWsEAAAAAXIJAAUUAAAAAgUAAAABaAkAAGQAAAACBQAAAAFpBQAAAAFrBAAAAAFzCQAFFAAAAAIJAABkAAAAAgUAAAABaAUAAAABawkAAGQAAAACBQAAAAFpBQAAAAFrAwkAAAAAAAACBQAAAAFkBgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAAWgCAAAAASwJAAGkAAAAAQUAAAABaQIAAAABLAkAAaQAAAABBQAAAAFqAgAAAAQgLS0gCQABpAAAAAEFAAAAAWsJAARMAAAAAgkABRUAAAADBQAAAAFsBQAAAAFtBQAAAAFvCQAETAAAAAIJAAUVAAAAAwUAAAABbQUAAAABbgUAAAABcAkABEwAAAACCQAFFQAAAAMFAAAAAW8FAAAAAXEFAAAAAXIJAARMAAAAAgkABRUAAAADBQAAAAFwBQAAAAFyBQAAAAFzBQAAAANuaWwBAAAAAXQAAAADAAAAAXUAAAABagAAAAF2BAAAAAF3BQAAAAF1BAAAAAF4CAUAAAABdwAAAAJfMQQAAAABeQgFAAAAAXcAAAACXzIEAAAAAXoIBQAAAAF3AAAAAl8zBAAAAAFBCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABCAUAAAABeAAAAAJfMQIAAAABLAkAAaQAAAABCAUAAAABeAAAAAJfMgIAAAABLAUAAAABagIAAAAGX293bmVyBAAAAAFCCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABCAUAAAABeQAAAAJfMQIAAAABLAkAAaQAAAABCAUAAAABeQAAAAJfMgIAAAABLAUAAAABagIAAAAGX293bmVyBAAAAAFDCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAAaQAAAABCAUAAAABegAAAAJfMQIAAAABLAkAAaQAAAABCAUAAAABegAAAAJfMgIAAAABLAUAAAABagIAAAAGX293bmVyBAAAAAFEBAAAAAFFCQAEHQAAAAIFAAAABHRoaXMFAAAAAUEDCQAAAQAAAAIFAAAAAUUCAAAABFVuaXQCAAAABXVuc2V0AwkAAAEAAAACBQAAAAFFAgAAAAZTdHJpbmcEAAAAAWgFAAAAAUUFAAAAAWgJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAAAUYEAAAAAUUJAAQdAAAAAgUAAAAEdGhpcwUAAAABQgMJAAABAAAAAgUAAAABRQIAAAAEVW5pdAIAAAAFdW5zZXQDCQAAAQAAAAIFAAAAAUUCAAAABlN0cmluZwQAAAABaAUAAAABRQUAAAABaAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgQAAAABRwQAAAABRQkABB0AAAACBQAAAAR0aGlzBQAAAAFDAwkAAAEAAAACBQAAAAFFAgAAAARVbml0AgAAAAV1bnNldAMJAAABAAAAAgUAAAABRQIAAAAGU3RyaW5nBAAAAAFoBQAAAAFFBQAAAAFoCQAAAgAAAAECAAAAC01hdGNoIGVycm9yAwkAAAAAAAACBQAAAAFEAgAAAAV1bnNldAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAFBAgAAAAEsBQAAAAFEAgAAAAUgIC0gIAUAAAABQgIAAAABLAUAAAABRgIAAAAFICAtICAFAAAAAUMCAAAAASwFAAAAAUcCAAAABSAgLSAgBQAAAAF2AwMJAAAAAAAAAgUAAAABRAUAAAABdgkAAAAAAAACBQAAAAFGBQAAAAF2BwkAAAAAAAACBQAAAAFHBQAAAAF2BwEAAAABSAAAAAIAAAABSQAAAAFqBAAAAAFKBQAAAAFJBAAAAAFoCAUAAAABSgAAAAJfMQQAAAABaQgFAAAAAUoAAAACXzIJAAUVAAAAAwUAAAABaAUAAAABaQkAAGQAAAACBQAAAAFqAAAAAAAAAAABAQAAAAFLAAAAAgAAAAFMAAAAAXYEAAAAAU0JAQAAAAFlAAAAAQUAAAABTAQAAAABTgUAAAABTAQAAAABaAgFAAAAAU4AAAACXzEEAAAAAWkIBQAAAAFOAAAAAl8yBAAAAAFqCAUAAAABTgAAAAJfMwQAAAABTwkAAaQAAAABBQAAAAFqAwkBAAAAAXQAAAADCQABkQAAAAIFAAAAAU0AAAAAAAAAAAAFAAAAAU8FAAAAAXYJAQAAAAFIAAAAAggJAAGRAAAAAgUAAAABTQAAAAAAAAAAAAAAAAJfMQUAAAABagkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAGkAAAAAQUAAAABaAIAAAABLAkAAaQAAAABBQAAAAFpAgAAAAEsBQAAAAF2AAAAAQAAAAFQAQAAAAhwdXJjaGFzZQAAAAIAAAABaAAAAAFpBAAAAAF2CQACWAAAAAEICAUAAAABUAAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAAVEJAQAAAAFLAAAAAgkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAAAWgJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAABaQAAAAAAAAAAAQUAAAABdgQAAAABUggFAAAAAVEAAAACXzEEAAAAAVMIBQAAAAFRAAAAAl8yBAAAAAFUCAUAAAABUQAAAAJfMwQAAAABVQkAAaQAAAABBQAAAAFSBAAAAAFWCQABpAAAAAEFAAAAAVMEAAAAAVcJAAGkAAAAAQUAAAABVAMJAAAAAAAAAgUAAAABVwIAAAABMQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgUAAAABVQIAAAABLAUAAAABVwQAAAABWAkAASwAAAACCQABLAAAAAIFAAAAAVUCAAAAASwFAAAAAVYEAAAAAVkJAAEsAAAAAgkAASwAAAACBQAAAAFjCQACWAAAAAEIBQAAAAFQAAAADXRyYW5zYWN0aW9uSWQCAAAABC5wbmcEAAAAAVoJAARCAAAABQkAASwAAAACCQABLAAAAAIFAAAAAVgCAAAABSBHZW4gBQAAAAFXBQAAAAFZAAAAAAAAAAABAAAAAAAAAAAABwQAAAACYWEJAAQ4AAAAAQUAAAABWgQAAAABagUAAAABVwQAAAACYWIJAAEsAAAAAgkAASwAAAACBQAAAAFYAgAAAAEsBQAAAAFqCQAETAAAAAIFAAAAAVoJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAJhYgIAAAAIX2Fzc2V0SWQJAAJYAAAAAQUAAAACYWEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAJhYgIAAAAGX2Fzc2V0BQAAAAFZCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAACYWICAAAABl9vd25lcgUAAAABdgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABUAAAAAZjYWxsZXIAAAAAAAAAAAEFAAAAAmFhBQAAAANuaWwAAAABAAAAAmFjAQAAAAJhZAAAAAAJAAH0AAAAAwgFAAAAAmFjAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACYWMAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACYWMAAAAPc2VuZGVyUHVibGljS2V5xdQ4rQ==", "height": 1861623, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9AFsdMJMTDvbHv7cZif1uAKVv1pKPwXvqsoa58queWi9 Next: 76LKD8pw1AC8UtAU3uvVWHVnspkqXDv2QuK5unaJ1Egk Diff:
OldNewDifferences
77
88 let nftDomain = "https://nft.gridgang.ca/"
99
10+let DEBUG = true
11+
1012 func getBoundCoords (data) = {
11- let $t0205227 = data
12- let x = $t0205227._1
13- let y = $t0205227._2
14- let gen = $t0205227._3
13+ let $t0222244 = data
14+ let x = $t0222244._1
15+ let y = $t0222244._2
16+ let gen = $t0222244._3
1517 let d = pow(2, 0, gen, 0, 0, HALFUP)
1618 let tl = $Tuple2((x - d), (y - d))
1719 let tc = $Tuple2(x, (y - d))
2123 let bl = $Tuple2((x - d), (y + d))
2224 let bc = $Tuple2(x, (y + d))
2325 let br = $Tuple2((x + d), (y + d))
24-[$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
26+ if ((DEBUG == true))
27+ then throw(((((((toString(x) + ",") + toString(y)) + ",") + toString(gen)) + " -- ") + toString(d)))
28+ else [$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
2529 }
2630
2731
2832 func checkSquareForEvolve (coords,gen,ownerId) = {
29- let $t0656684 = coords
30- let xy1 = $t0656684._1
31- let xy2 = $t0656684._2
32- let xy3 = $t0656684._3
33+ let $t0799827 = coords
34+ let xy1 = $t0799827._1
35+ let xy2 = $t0799827._2
36+ let xy3 = $t0799827._3
3337 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
3438 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
3539 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
6872
6973
7074 func getXyReturn (xy,gen) = {
71- let $t015221537 = xy
72- let x = $t015221537._1
73- let y = $t015221537._2
75+ let $t016651680 = xy
76+ let x = $t016651680._1
77+ let y = $t016651680._2
7478 $Tuple3(x, y, (gen + 1))
7579 }
7680
7781
7882 func getXy (xyg,ownerId) = {
7983 let checkList = getBoundCoords(xyg)
80- let $t016531674 = xyg
81- let x = $t016531674._1
82- let y = $t016531674._2
83- let gen = $t016531674._3
84+ let $t017961817 = xyg
85+ let x = $t017961817._1
86+ let y = $t017961817._2
87+ let gen = $t017961817._3
8488 let genStr = toString(gen)
8589 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8690 then getXyReturn(checkList[0]._1, gen)
9195 @Callable(i)
9296 func purchase (x,y) = {
9397 let ownerId = toBase58String(i.caller.bytes)
94- let $t023762473 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
95- let resolvedX = $t023762473._1
96- let resolvedY = $t023762473._2
97- let resolvedGen = $t023762473._3
98+ let $t025192616 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
99+ let resolvedX = $t025192616._1
100+ let resolvedY = $t025192616._2
101+ let resolvedGen = $t025192616._3
98102 let resolvedXStr = toString(resolvedX)
99103 let resolvedYStr = toString(resolvedY)
100104 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
10+let DEBUG = true
11+
1012 func getBoundCoords (data) = {
11- let $t0205227 = data
12- let x = $t0205227._1
13- let y = $t0205227._2
14- let gen = $t0205227._3
13+ let $t0222244 = data
14+ let x = $t0222244._1
15+ let y = $t0222244._2
16+ let gen = $t0222244._3
1517 let d = pow(2, 0, gen, 0, 0, HALFUP)
1618 let tl = $Tuple2((x - d), (y - d))
1719 let tc = $Tuple2(x, (y - d))
1820 let tr = $Tuple2((x + d), (y + d))
1921 let l = $Tuple2((x - d), y)
2022 let r = $Tuple2((x + d), y)
2123 let bl = $Tuple2((x - d), (y + d))
2224 let bc = $Tuple2(x, (y + d))
2325 let br = $Tuple2((x + d), (y + d))
24-[$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
26+ if ((DEBUG == true))
27+ then throw(((((((toString(x) + ",") + toString(y)) + ",") + toString(gen)) + " -- ") + toString(d)))
28+ else [$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
2529 }
2630
2731
2832 func checkSquareForEvolve (coords,gen,ownerId) = {
29- let $t0656684 = coords
30- let xy1 = $t0656684._1
31- let xy2 = $t0656684._2
32- let xy3 = $t0656684._3
33+ let $t0799827 = coords
34+ let xy1 = $t0799827._1
35+ let xy2 = $t0799827._2
36+ let xy3 = $t0799827._3
3337 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
3438 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
3539 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
3640 let xyVal1 = match getString(this, xy1Key) {
3741 case _: Unit =>
3842 "unset"
3943 case x: String =>
4044 x
4145 case _ =>
4246 throw("Match error")
4347 }
4448 let xyVal2 = match getString(this, xy2Key) {
4549 case _: Unit =>
4650 "unset"
4751 case x: String =>
4852 x
4953 case _ =>
5054 throw("Match error")
5155 }
5256 let xyVal3 = match getString(this, xy3Key) {
5357 case _: Unit =>
5458 "unset"
5559 case x: String =>
5660 x
5761 case _ =>
5862 throw("Match error")
5963 }
6064 if ((xyVal1 == "unset"))
6165 then throw(((((((((((((xy1Key + ",") + xyVal1) + " - ") + xy2Key) + ",") + xyVal2) + " - ") + xy3Key) + ",") + xyVal3) + " - ") + ownerId))
6266 else if (if ((xyVal1 == ownerId))
6367 then (xyVal2 == ownerId)
6468 else false)
6569 then (xyVal3 == ownerId)
6670 else false
6771 }
6872
6973
7074 func getXyReturn (xy,gen) = {
71- let $t015221537 = xy
72- let x = $t015221537._1
73- let y = $t015221537._2
75+ let $t016651680 = xy
76+ let x = $t016651680._1
77+ let y = $t016651680._2
7478 $Tuple3(x, y, (gen + 1))
7579 }
7680
7781
7882 func getXy (xyg,ownerId) = {
7983 let checkList = getBoundCoords(xyg)
80- let $t016531674 = xyg
81- let x = $t016531674._1
82- let y = $t016531674._2
83- let gen = $t016531674._3
84+ let $t017961817 = xyg
85+ let x = $t017961817._1
86+ let y = $t017961817._2
87+ let gen = $t017961817._3
8488 let genStr = toString(gen)
8589 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8690 then getXyReturn(checkList[0]._1, gen)
8791 else throw(((((toString(x) + ",") + toString(y)) + ",") + ownerId))
8892 }
8993
9094
9195 @Callable(i)
9296 func purchase (x,y) = {
9397 let ownerId = toBase58String(i.caller.bytes)
94- let $t023762473 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
95- let resolvedX = $t023762473._1
96- let resolvedY = $t023762473._2
97- let resolvedGen = $t023762473._3
98+ let $t025192616 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
99+ let resolvedX = $t025192616._1
100+ let resolvedY = $t025192616._2
101+ let resolvedGen = $t025192616._3
98102 let resolvedXStr = toString(resolvedX)
99103 let resolvedYStr = toString(resolvedY)
100104 let resolvedGenStr = toString(resolvedGen)
101105 if ((resolvedGenStr == "1"))
102106 then throw(((resolvedXStr + ",") + resolvedGenStr))
103107 else {
104108 let assetName = ((resolvedXStr + ",") + resolvedYStr)
105109 let assetUrl = ((nftDomain + toBase58String(i.transactionId)) + ".png")
106110 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
107111 let assetId = calculateAssetId(asset)
108112 let gen = resolvedGenStr
109113 let dataKeyPrefix = ((assetName + ",") + gen)
110114 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), ScriptTransfer(i.caller, 1, assetId)]
111115 }
112116 }
113117
114118
115119 @Verifier(tx)
116120 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
117121

github/deemru/w8io/873ac7e 
33.28 ms