tx · BdWj9xW928u4dyW6BjAqf9w1KKNg6vw6AbaPSAa96tKp

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.01.05 19:39 [1865841] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "BdWj9xW928u4dyW6BjAqf9w1KKNg6vw6AbaPSAa96tKp", "fee": 4000000, "feeAssetId": null, "timestamp": 1641400763153, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "kqmSSQBCPf9cCdPfzgstV5CwK4R2H1n3m2GcpkA2RbaAdBAwBjYQpRizF9smgJCX2NknGLrVkKVKFUXHvffvRx8" ], "script": "base64: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", "height": 1865841, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2m4E7JxJLbRcTg3Sx5XjLFTDj3ur1KCZ94YGKUGru1Mo Next: 8Mcp3r1yHWhU7ZArN7oc6GLfJxZvwC5Circesj6mqgTA Diff:
OldNewDifferences
99
1010 let DEBUG = true
1111
12-let holdingsPublicKey = toBytes("GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY")
12+let holdingsAddress = addressFromPublicKey(base58'GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY')
1313
1414 func getBoundCoords (data) = {
15- let $t0302324 = data
16- let x = $t0302324._1
17- let y = $t0302324._2
18- let gen = $t0302324._3
15+ let $t0319341 = data
16+ let x = $t0319341._1
17+ let y = $t0319341._2
18+ let gen = $t0319341._3
1919 let d = pow(2, 0, (gen - 1), 0, 0, HALFUP)
2020 let tl = $Tuple2((x - d), (y - d))
2121 let tc = $Tuple2(x, (y - d))
3030
3131
3232 func checkSquareForEvolve (coords,gen,ownerId) = {
33- let $t0757785 = coords
34- let xy1 = $t0757785._1
35- let xy2 = $t0757785._2
36- let xy3 = $t0757785._3
33+ let $t0774802 = coords
34+ let xy1 = $t0774802._1
35+ let xy2 = $t0774802._2
36+ let xy3 = $t0774802._3
3737 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
3838 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
3939 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
7070
7171
7272 func getXyReturn (xy,gen) = {
73- let $t014611476 = xy
74- let x = $t014611476._1
75- let y = $t014611476._2
73+ let $t014781493 = xy
74+ let x = $t014781493._1
75+ let y = $t014781493._2
7676 $Tuple3(x, y, (gen + 1))
7777 }
7878
7979
8080 func getXy (xyg,ownerId) = {
8181 let checkList = getBoundCoords(xyg)
82- let $t015921613 = xyg
83- let x = $t015921613._1
84- let y = $t015921613._2
85- let gen = $t015921613._3
82+ let $t016091630 = xyg
83+ let x = $t016091630._1
84+ let y = $t016091630._2
85+ let gen = $t016091630._3
8686 let genStr = toString(gen)
8787 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8888 then getXyReturn(checkList[0]._1, gen)
9797
9898
9999 func checkForEvolve (xyg,ownerId) = {
100- let $t022602281 = xyg
101- let x = $t022602281._1
102- let y = $t022602281._2
103- let gen = $t022602281._3
100+ let $t022772298 = xyg
101+ let x = $t022772298._1
102+ let y = $t022772298._2
103+ let gen = $t022772298._3
104104 let p1 = getXy(xyg, ownerId)
105105 if ((p1._3 == gen))
106106 then p1
149149
150150
151151 func claimSquare (x,y,ownerId,transactionId) = {
152- let $t033343431 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
153- let resolvedX = $t033343431._1
154- let resolvedY = $t033343431._2
155- let resolvedGen = $t033343431._3
152+ let $t033513448 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
153+ let resolvedX = $t033513448._1
154+ let resolvedY = $t033513448._2
155+ let resolvedGen = $t033513448._3
156156 let resolvedXStr = toString(resolvedX)
157157 let resolvedYStr = toString(resolvedY)
158158 let resolvedGenStr = toString(resolvedGen)
170170 func purchase (x,y) = {
171171 let ownerId = toBase58String(i.caller.bytes)
172172 let transactionId = toBase58String(i.transactionId)
173- let $t040644154 = claimSquare(x, y, ownerId, transactionId)
174- let asset = $t040644154._1
175- let assetId = $t040644154._2
176- let assetUrl = $t040644154._3
177- let dataKeyPrefix = $t040644154._4
173+ let $t040814171 = claimSquare(x, y, ownerId, transactionId)
174+ let asset = $t040814171._1
175+ let assetId = $t040814171._2
176+ let assetUrl = $t040814171._3
177+ let dataKeyPrefix = $t040814171._4
178178 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
179179 }
180180
181181
182+
183+@Callable(i)
184+func autoBuy (x,y) = {
185+ let ownerId = toBase58String(holdingsAddress.bytes)
186+ let transactionId = toBase58String(i.transactionId)
187+ let $t046204710 = claimSquare(x, y, ownerId, transactionId)
188+ let asset = $t046204710._1
189+ let assetId = $t046204710._2
190+ let assetUrl = $t046204710._3
191+ let dataKeyPrefix = $t046204710._4
192+[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
193+ }
194+
195+
182196 @Verifier(tx)
183-func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
184- then true
185- else sigVerify(tx.bodyBytes, tx.proofs[0], holdingsPublicKey)
197+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
186198
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.io/"
99
1010 let DEBUG = true
1111
12-let holdingsPublicKey = toBytes("GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY")
12+let holdingsAddress = addressFromPublicKey(base58'GUHw1jkstNWTs9SX1KM3pMtq9HXjupvxiTd1urNhNoyY')
1313
1414 func getBoundCoords (data) = {
15- let $t0302324 = data
16- let x = $t0302324._1
17- let y = $t0302324._2
18- let gen = $t0302324._3
15+ let $t0319341 = data
16+ let x = $t0319341._1
17+ let y = $t0319341._2
18+ let gen = $t0319341._3
1919 let d = pow(2, 0, (gen - 1), 0, 0, HALFUP)
2020 let tl = $Tuple2((x - d), (y - d))
2121 let tc = $Tuple2(x, (y - d))
2222 let tr = $Tuple2((x + d), (y + d))
2323 let l = $Tuple2((x - d), y)
2424 let r = $Tuple2((x + d), y)
2525 let bl = $Tuple2((x - d), (y + d))
2626 let bc = $Tuple2(x, (y + d))
2727 let br = $Tuple2((x + d), (y + d))
2828 [$Tuple3(tl, tc, l), $Tuple3(tc, tr, r), $Tuple3(l, bl, bc), $Tuple3(r, bc, br)]
2929 }
3030
3131
3232 func checkSquareForEvolve (coords,gen,ownerId) = {
33- let $t0757785 = coords
34- let xy1 = $t0757785._1
35- let xy2 = $t0757785._2
36- let xy3 = $t0757785._3
33+ let $t0774802 = coords
34+ let xy1 = $t0774802._1
35+ let xy2 = $t0774802._2
36+ let xy3 = $t0774802._3
3737 let xy1Key = (((((toString(xy1._1) + ",") + toString(xy1._2)) + ",") + gen) + "_owner")
3838 let xy2Key = (((((toString(xy2._1) + ",") + toString(xy2._2)) + ",") + gen) + "_owner")
3939 let xy3Key = (((((toString(xy3._1) + ",") + toString(xy3._2)) + ",") + gen) + "_owner")
4040 let xyVal1 = match getString(this, xy1Key) {
4141 case _: Unit =>
4242 "unset"
4343 case x: String =>
4444 x
4545 case _ =>
4646 throw("Match error")
4747 }
4848 let xyVal2 = match getString(this, xy2Key) {
4949 case _: Unit =>
5050 "unset"
5151 case x: String =>
5252 x
5353 case _ =>
5454 throw("Match error")
5555 }
5656 let xyVal3 = match getString(this, xy3Key) {
5757 case _: Unit =>
5858 "unset"
5959 case x: String =>
6060 x
6161 case _ =>
6262 throw("Match error")
6363 }
6464 if (if ((xyVal1 == ownerId))
6565 then (xyVal2 == ownerId)
6666 else false)
6767 then (xyVal3 == ownerId)
6868 else false
6969 }
7070
7171
7272 func getXyReturn (xy,gen) = {
73- let $t014611476 = xy
74- let x = $t014611476._1
75- let y = $t014611476._2
73+ let $t014781493 = xy
74+ let x = $t014781493._1
75+ let y = $t014781493._2
7676 $Tuple3(x, y, (gen + 1))
7777 }
7878
7979
8080 func getXy (xyg,ownerId) = {
8181 let checkList = getBoundCoords(xyg)
82- let $t015921613 = xyg
83- let x = $t015921613._1
84- let y = $t015921613._2
85- let gen = $t015921613._3
82+ let $t016091630 = xyg
83+ let x = $t016091630._1
84+ let y = $t016091630._2
85+ let gen = $t016091630._3
8686 let genStr = toString(gen)
8787 if (checkSquareForEvolve(checkList[0], genStr, ownerId))
8888 then getXyReturn(checkList[0]._1, gen)
8989 else if (checkSquareForEvolve(checkList[1], genStr, ownerId))
9090 then getXyReturn(checkList[1]._1, gen)
9191 else if (checkSquareForEvolve(checkList[2], genStr, ownerId))
9292 then getXyReturn(checkList[2]._1, gen)
9393 else if (checkSquareForEvolve(checkList[3], genStr, ownerId))
9494 then getXyReturn(checkList[3]._1, gen)
9595 else xyg
9696 }
9797
9898
9999 func checkForEvolve (xyg,ownerId) = {
100- let $t022602281 = xyg
101- let x = $t022602281._1
102- let y = $t022602281._2
103- let gen = $t022602281._3
100+ let $t022772298 = xyg
101+ let x = $t022772298._1
102+ let y = $t022772298._2
103+ let gen = $t022772298._3
104104 let p1 = getXy(xyg, ownerId)
105105 if ((p1._3 == gen))
106106 then p1
107107 else {
108108 let p2 = getXy(p1, ownerId)
109109 if ((p2._3 == p1._3))
110110 then p2
111111 else {
112112 let p3 = getXy(p2, ownerId)
113113 if ((p3._3 == p2._3))
114114 then p3
115115 else {
116116 let p4 = getXy(p3, ownerId)
117117 if ((p4._3 == p3._3))
118118 then p4
119119 else {
120120 let p5 = getXy(p4, ownerId)
121121 if ((p5._3 == p4._3))
122122 then p5
123123 else {
124124 let p6 = getXy(p5, ownerId)
125125 if ((p6._3 == p5._3))
126126 then p6
127127 else {
128128 let p7 = getXy(p6, ownerId)
129129 if ((p7._3 == p6._3))
130130 then p7
131131 else {
132132 let p8 = getXy(p7, ownerId)
133133 if ((p8._3 == p7._3))
134134 then p8
135135 else {
136136 let p9 = getXy(p8, ownerId)
137137 if ((p9._3 == p8._3))
138138 then p9
139139 else getXy(getXy(p9, ownerId), ownerId)
140140 }
141141 }
142142 }
143143 }
144144 }
145145 }
146146 }
147147 }
148148 }
149149
150150
151151 func claimSquare (x,y,ownerId,transactionId) = {
152- let $t033343431 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
153- let resolvedX = $t033343431._1
154- let resolvedY = $t033343431._2
155- let resolvedGen = $t033343431._3
152+ let $t033513448 = getXy($Tuple3(parseIntValue(x), parseIntValue(y), 1), ownerId)
153+ let resolvedX = $t033513448._1
154+ let resolvedY = $t033513448._2
155+ let resolvedGen = $t033513448._3
156156 let resolvedXStr = toString(resolvedX)
157157 let resolvedYStr = toString(resolvedY)
158158 let resolvedGenStr = toString(resolvedGen)
159159 let assetName = ((resolvedXStr + ",") + resolvedYStr)
160160 let assetUrl = ((nftDomain + transactionId) + ".png")
161161 let asset = Issue(((assetName + " Gen ") + resolvedGenStr), assetUrl, 1, 0, false)
162162 let assetId = calculateAssetId(asset)
163163 let gen = resolvedGenStr
164164 let dataKeyPrefix = ((assetName + ",") + gen)
165165 $Tuple4(asset, assetId, assetUrl, dataKeyPrefix)
166166 }
167167
168168
169169 @Callable(i)
170170 func purchase (x,y) = {
171171 let ownerId = toBase58String(i.caller.bytes)
172172 let transactionId = toBase58String(i.transactionId)
173- let $t040644154 = claimSquare(x, y, ownerId, transactionId)
174- let asset = $t040644154._1
175- let assetId = $t040644154._2
176- let assetUrl = $t040644154._3
177- let dataKeyPrefix = $t040644154._4
173+ let $t040814171 = claimSquare(x, y, ownerId, transactionId)
174+ let asset = $t040814171._1
175+ let assetId = $t040814171._2
176+ let assetUrl = $t040814171._3
177+ let dataKeyPrefix = $t040814171._4
178178 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
179179 }
180180
181181
182+
183+@Callable(i)
184+func autoBuy (x,y) = {
185+ let ownerId = toBase58String(holdingsAddress.bytes)
186+ let transactionId = toBase58String(i.transactionId)
187+ let $t046204710 = claimSquare(x, y, ownerId, transactionId)
188+ let asset = $t046204710._1
189+ let assetId = $t046204710._2
190+ let assetUrl = $t046204710._3
191+ let dataKeyPrefix = $t046204710._4
192+[asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
193+ }
194+
195+
182196 @Verifier(tx)
183-func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
184- then true
185- else sigVerify(tx.bodyBytes, tx.proofs[0], holdingsPublicKey)
197+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
186198

github/deemru/w8io/873ac7e 
52.80 ms