tx · HSVG75L6UBtr3LSeJmNVcigC1AgziJ3mMCmpn86Dt2tR

3N7J6mMMkjVViBREz9y53JmcX7r7KZRXQpL:  -0.04000000 Waves

2022.04.20 01:41 [2016052] smart account 3N7J6mMMkjVViBREz9y53JmcX7r7KZRXQpL > SELF 0.00000000 Waves

{ "type": 13, "id": "HSVG75L6UBtr3LSeJmNVcigC1AgziJ3mMCmpn86Dt2tR", "fee": 4000000, "feeAssetId": null, "timestamp": 1650408090688, "version": 2, "chainId": 84, "sender": "3N7J6mMMkjVViBREz9y53JmcX7r7KZRXQpL", "senderPublicKey": "G6aSmaqLJ4p7jzm7BnQcZuqa2NRRLVtzqdYNjYErnEZZ", "proofs": [ "4kVdYdEtuxb9espFkWXvCYZ2sZTVf2Zb8NPF6MyFBSbnrfEea3gX5AEVeyTD7tU9521Q8ydLy76FsFAP1ffQGcCM" ], "script": "base64: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", "height": 2016052, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BWXQEyj3pdxU4ukiqwGKtszeg5DBULEV44Pzz1tRtbtJ Next: Ew4q9KZXahkkyu6ryMVxVCGWy3pumEtPVGkoyJQ7ohpY Diff:
OldNewDifferences
211211 }
212212
213213
214+
215+@Callable(i)
216+func burnTest (assetId) = [Burn(fromBase58String(assetId), 1)]
217+
218+
214219 @Verifier(tx)
215220 func verify () = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
216221 then true
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 addOwnerAndAmountFunc = "addOwnerAndAmount"
1111
1212 let DEBUG = true
1313
1414 let minForSaleWavlets = 100000000
1515
1616 let minPurchasePrice = 1000000
1717
1818 let dapp = "3N7J6mMMkjVViBREz9y53JmcX7r7KZRXQpL"
1919
2020 let dappAddress = Address(fromBase58String(dapp))
2121
2222 let holdingsPublicKey = "AyAwWbMPM7a4VYkn1bhEBftC5WZgfvUXgrYDe98mvLsv"
2323
2424 let holdings = "3MwPsLy9F1mUQrdP37sCAKvHuE5HvPE674Y"
2525
2626 let holdingsAddress = Address(fromBase58String(holdings))
2727
2828 func getAssetName (x,y) = ((x + ",") + y)
2929
3030
3131 func getDataKeyPrefix (x,y) = getAssetName(x, y)
3232
3333
3434 func getXYGenFromName (name) = {
3535 let parts = split(name, ",")
3636 let tuple = $Tuple2(parts[0], parts[1])
3737 tuple
3838 }
3939
4040
4141 func getDataKeyPrefixFromAssetName (name) = {
4242 let $t0906941 = getXYGenFromName(name)
4343 let x = $t0906941._1
4444 let y = $t0906941._2
4545 let prefix = getDataKeyPrefix(x, y)
4646 prefix
4747 }
4848
4949
5050 func claimSquare (x,y,gen,ownerId,transactionId) = {
5151 let resolvedXStr = x
5252 let resolvedYStr = y
5353 let resolvedGenStr = gen
5454 let assetName = getAssetName(resolvedXStr, resolvedYStr)
5555 let assetUrl = ((nftDomain + transactionId) + ".png")
5656 let asset = Issue(assetName, assetUrl, 1, 0, false)
5757 let assetId = calculateAssetId(asset)
5858 let dataKeyPrefix = getDataKeyPrefix(resolvedXStr, resolvedYStr)
5959 $Tuple4(asset, assetId, assetUrl, dataKeyPrefix)
6060 }
6161
6262
6363 func getTransactionEntries (prefix,assetId,asset,owner,gen) = [StringEntry((prefix + "_assetId"), assetId), StringEntry((prefix + "_asset"), asset), StringEntry((prefix + "_owner"), owner), StringEntry((prefix + "_gen"), gen)]
6464
6565
6666 @Callable(i)
6767 func purchase (x,y,userText) = {
6868 let prefix = getDataKeyPrefix(x, y)
6969 let paymentAmount = valueOrElse(i.payments[0].amount, 0)
7070 let existingAssetId = match getString(this, (prefix + "_assetId")) {
7171 case _: Unit =>
7272 "unset"
7373 case err: String =>
7474 throw("This square has already been purchased")
7575 case _ =>
7676 throw("Match error")
7777 }
7878 if ((minPurchasePrice > paymentAmount))
7979 then throw((("You need to send at least " + toString(minPurchasePrice)) + "WAVLETS to purchase a square"))
8080 else {
8181 let ownerId = toBase58String(i.caller.bytes)
8282 let transactionId = toBase58String(i.transactionId)
8383 let $t023862481 = claimSquare(x, y, "1", ownerId, transactionId)
8484 let asset = $t023862481._1
8585 let assetId = $t023862481._2
8686 let assetUrl = $t023862481._3
8787 let dataKeyPrefix = $t023862481._4
8888 (getTransactionEntries(dataKeyPrefix, toBase58String(assetId), assetUrl, ownerId, "1") ++ [asset, StringEntry((ownerId + "_handle"), userText), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)])
8989 }
9090 }
9191
9292
9393
9494 @Callable(i)
9595 func autoBuy (x,y) = {
9696 let callerId = toBase58String(i.caller.bytes)
9797 if (if ((callerId != holdings))
9898 then (callerId != dapp)
9999 else false)
100100 then throw("This can only be triggering internally")
101101 else {
102102 let transactionId = toBase58String(i.transactionId)
103103 let $t030163112 = claimSquare(x, y, "1", holdings, transactionId)
104104 let asset = $t030163112._1
105105 let assetId = $t030163112._2
106106 let assetUrl = $t030163112._3
107107 let dataKeyPrefix = $t030163112._4
108108 let assetIdStr = toBase58String(assetId)
109109 let res = invoke(holdingsAddress, addOwnerAndAmountFunc, [holdings, assetIdStr, 3], [AttachedPayment(unit, 0)])
110110 if ((res == res))
111111 then (getTransactionEntries(dataKeyPrefix, assetIdStr, assetUrl, holdings, "1") ++ [asset, StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)])
112112 else throw("Strict value is not equal to itself.")
113113 }
114114 }
115115
116116
117117
118118 @Callable(i)
119119 func evolve (x,y,gen,ownerId) = {
120120 let callerId = toBase58String(i.caller.bytes)
121121 if ((callerId != holdings))
122122 then throw("This can only be triggering internally")
123123 else {
124124 let transactionId = toBase58String(i.transactionId)
125125 let $t037683863 = claimSquare(x, y, gen, ownerId, transactionId)
126126 let asset = $t037683863._1
127127 let assetId = $t037683863._2
128128 let assetUrl = $t037683863._3
129129 let dataKeyPrefix = $t037683863._4
130130 (getTransactionEntries(dataKeyPrefix, toBase58String(assetId), assetUrl, ownerId, gen) ++ [asset, StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)])
131131 }
132132 }
133133
134134
135135
136136 @Callable(i)
137137 func putForSale (assetId,amount) = {
138138 let callerId = toBase58String(i.caller.bytes)
139139 let assetData = match assetInfo(fromBase58String(assetId)) {
140140 case ass: Asset =>
141141 ass
142142 case _ =>
143143 throw("Asset not found")
144144 }
145145 let dataPrefix = getDataKeyPrefixFromAssetName(assetData.name)
146146 let ownerId = match getString(this, (dataPrefix + "_owner")) {
147147 case s: String =>
148148 s
149149 case _ =>
150150 throw("Owner not found in data")
151151 }
152152 if ((minForSaleWavlets > amount))
153153 then throw("Amount needs to be more than 1 wave")
154154 else if (if ((callerId != ownerId))
155155 then (callerId != holdings)
156156 else false)
157157 then throw("You are not able to put this asset up for sale")
158158 else {
159159 let res = invoke(holdingsAddress, addOwnerAndAmountFunc, [callerId, assetId, amount], [AttachedPayment(unit, 0)])
160160 if ((res == res))
161161 then [ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))]
162162 else throw("Strict value is not equal to itself.")
163163 }
164164 }
165165
166166
167167
168168 @Callable(i)
169169 func finalizeSale (assetId,ownerId,userText) = {
170170 let callerId = toBase58String(i.caller.bytes)
171171 if ((callerId != holdings))
172172 then throw("This can only be triggering internally")
173173 else {
174174 let prefix = match assetInfo(fromBase58String(assetId)) {
175175 case asset: Asset =>
176176 asset.name
177177 case _ =>
178178 throw("Can't find asset")
179179 }
180180 [StringEntry((prefix + "_owner"), ownerId), StringEntry((ownerId + "_handle"), userText)]
181181 }
182182 }
183183
184184
185185
186186 @Callable(i)
187187 func adminPromotionPurchase (x,y,desinationAddress) = {
188188 let callerId = toBase58String(i.caller.bytes)
189189 if ((callerId != holdings))
190190 then throw("This can only be triggering internally")
191191 else {
192192 let transactionId = toBase58String(i.transactionId)
193193 let $t057445849 = claimSquare(x, y, "1", desinationAddress, transactionId)
194194 let asset = $t057445849._1
195195 let assetId = $t057445849._2
196196 let assetUrl = $t057445849._3
197197 let dataKeyPrefix = $t057445849._4
198198 let assetIdStr = toBase58String(assetId)
199199 (getTransactionEntries(dataKeyPrefix, assetIdStr, assetUrl, desinationAddress, "1") ++ [asset, StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(desinationAddress)), 1, assetId)])
200200 }
201201 }
202202
203203
204204
205205 @Callable(i)
206206 func adminSetHandle (ownerId,handle) = {
207207 let callerId = toBase58String(i.caller.bytes)
208208 if ((callerId != holdings))
209209 then throw("This can only be triggering internally")
210210 else [StringEntry((ownerId + "_handle"), handle)]
211211 }
212212
213213
214+
215+@Callable(i)
216+func burnTest (assetId) = [Burn(fromBase58String(assetId), 1)]
217+
218+
214219 @Verifier(tx)
215220 func verify () = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
216221 then true
217222 else (addressFromPublicKey(tx.senderPublicKey) == holdingsAddress))
218223 then true
219224 else (addressFromPublicKey(tx.senderPublicKey) == dappAddress)
220225

github/deemru/w8io/169f3d6 
33.45 ms