tx · BRsW9tu55pMJFZjYcj7L1CGdXmYmEkCVvUDmnjsXfNLQ

3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu:  -0.04000000 Waves

2022.03.29 06:11 [1984638] smart account 3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu > SELF 0.00000000 Waves

{ "type": 13, "id": "BRsW9tu55pMJFZjYcj7L1CGdXmYmEkCVvUDmnjsXfNLQ", "fee": 4000000, "feeAssetId": null, "timestamp": 1648523474517, "version": 2, "chainId": 84, "sender": "3N4vqUXWw8tf23LDWDbSEpJZH6dent3ETFu", "senderPublicKey": "D4v2S9mjah7eEEmuQVBNd4WipC3scs8V4PjuDBweWatE", "proofs": [ "59tWPwfVRjBeRLhrVUT1XTdBiJgzaF5vzLGapwTYF4HW4nVAcPZAqPQXxwDLsc1xYHVXc85n52vRybfVNYSGFBcp" ], "script": "base64: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", "height": 1984638, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HTkhgvzSPx8Atgw8tdZisy4YMYjJvyzqXLbUyFuNa6fd Next: 5ZqHEYjN851yAaYFbjVrAQETGjHgvfiSgdsHmdzmuwWx Diff:
OldNewDifferences
6161
6262
6363 @Callable(i)
64-func addOwnerAndAmount (ownerId,assetId,amount) = [StringEntry((("sale_" + assetId) + "_originalOwner"), ownerId), IntegerEntry((("sale_" + assetId) + "_amount"), amount)]
65-
66-
67-
68-@Callable(i)
6964 func purchase (x,y) = {
7065 let prefix = getDataKeyPrefix(x, y, "1")
7166 let paymentAmount = valueOrElse(i.payments[0].amount, 0)
8277 else {
8378 let ownerId = toBase58String(i.caller.bytes)
8479 let transactionId = toBase58String(i.transactionId)
85- let $t022152310 = claimSquare(x, y, "1", ownerId, transactionId)
86- let asset = $t022152310._1
87- let assetId = $t022152310._2
88- let assetUrl = $t022152310._3
89- let dataKeyPrefix = $t022152310._4
80+ let $t019972092 = claimSquare(x, y, "1", ownerId, transactionId)
81+ let asset = $t019972092._1
82+ let assetId = $t019972092._2
83+ let assetUrl = $t019972092._3
84+ let dataKeyPrefix = $t019972092._4
9085 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
9186 }
9287 }
10095 then throw("This can only be triggering internally")
10196 else {
10297 let transactionId = toBase58String(i.transactionId)
103- let $t028662962 = claimSquare(x, y, "1", holdings, transactionId)
104- let asset = $t028662962._1
105- let assetId = $t028662962._2
106- let assetUrl = $t028662962._3
107- let dataKeyPrefix = $t028662962._4
98+ let $t026482744 = claimSquare(x, y, "1", holdings, transactionId)
99+ let asset = $t026482744._1
100+ let assetId = $t026482744._2
101+ let assetUrl = $t026482744._3
102+ let dataKeyPrefix = $t026482744._4
108103 let assetIdStr = toBase58String(assetId)
109-[asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
104+[asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
105+ }
106+ }
107+
108+
109+
110+@Callable(i)
111+func promotionPurchase (x,y,desinationAddress) = {
112+ let callerId = toBase58String(i.caller.bytes)
113+ if ((callerId != holdings))
114+ then throw("This can only be triggering internally")
115+ else {
116+ let transactionId = toBase58String(i.transactionId)
117+ let $t033773482 = claimSquare(x, y, "1", desinationAddress, transactionId)
118+ let asset = $t033773482._1
119+ let assetId = $t033773482._2
120+ let assetUrl = $t033773482._3
121+ let dataKeyPrefix = $t033773482._4
122+ let assetIdStr = toBase58String(assetId)
123+[asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), desinationAddress), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(desinationAddress)), 1, assetId)]
110124 }
111125 }
112126
119133 then throw("This can only be triggering internally")
120134 else {
121135 let transactionId = toBase58String(i.transactionId)
122- let $t037143809 = claimSquare(x, y, gen, ownerId, transactionId)
123- let asset = $t037143809._1
124- let assetId = $t037143809._2
125- let assetUrl = $t037143809._3
126- let dataKeyPrefix = $t037143809._4
136+ let $t041454240 = claimSquare(x, y, gen, ownerId, transactionId)
137+ let asset = $t041454240._1
138+ let assetId = $t041454240._2
139+ let assetUrl = $t041454240._3
140+ let dataKeyPrefix = $t041454240._4
127141 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)]
128142 }
129143 }
155169 else {
156170 let res = invoke(holdingsAddress, "addOwnerAndAmount", [callerId, assetId, amount], [AttachedPayment(unit, 0)])
157171 if ((res == res))
158- then [StringEntry((("sale_" + assetId) + "_originalOwner"), callerId), IntegerEntry((("sale_" + assetId) + "_amount"), amount), ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))]
172+ then [ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))]
159173 else throw("Strict value is not equal to itself.")
160174 }
161175 }
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
1212 let minForSaleWavlets = 100000000
1313
1414 let minPurchasePrice = 1000000
1515
1616 let holdings = "3N9R7u449Z1b76QpJp9u3gzPjMYQYnp3V7r"
1717
1818 let holdingsAddress = Address(fromBase58String(holdings))
1919
2020 func getAssetName (x,y) = {
2121 let name = ((x + ",") + y)
2222 name
2323 }
2424
2525
2626 func getDataKeyPrefix (x,y,gen) = {
2727 let name = getAssetName(x, y)
2828 let prefix = ((name + ",") + gen)
2929 prefix
3030 }
3131
3232
3333 func getXYGenFromName (name) = {
3434 let parts = split(name, ",")
3535 let tuple = $Tuple3(parts[0], parts[1], parts[2])
3636 tuple
3737 }
3838
3939
4040 func getDataKeyPrefixFromAssetName (name) = {
4141 let $t0783823 = getXYGenFromName(name)
4242 let x = $t0783823._1
4343 let y = $t0783823._2
4444 let gen = $t0783823._3
4545 let prefix = getDataKeyPrefix(x, y, gen)
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 + ",") + resolvedGenStr), assetUrl, 1, 0, false)
5757 let assetId = calculateAssetId(asset)
5858 let dataKeyPrefix = getDataKeyPrefix(resolvedXStr, resolvedYStr, gen)
5959 $Tuple4(asset, assetId, assetUrl, dataKeyPrefix)
6060 }
6161
6262
6363 @Callable(i)
64-func addOwnerAndAmount (ownerId,assetId,amount) = [StringEntry((("sale_" + assetId) + "_originalOwner"), ownerId), IntegerEntry((("sale_" + assetId) + "_amount"), amount)]
65-
66-
67-
68-@Callable(i)
6964 func purchase (x,y) = {
7065 let prefix = getDataKeyPrefix(x, y, "1")
7166 let paymentAmount = valueOrElse(i.payments[0].amount, 0)
7267 let existingAssetId = match getString(this, (prefix + "_assetId")) {
7368 case _: Unit =>
7469 "unset"
7570 case err: String =>
7671 throw("This square has already been purchased")
7772 case _ =>
7873 throw("Match error")
7974 }
8075 if ((minPurchasePrice > paymentAmount))
8176 then throw((("You need to send at least " + toString(minPurchasePrice)) + "WAVLETS to purchase a square"))
8277 else {
8378 let ownerId = toBase58String(i.caller.bytes)
8479 let transactionId = toBase58String(i.transactionId)
85- let $t022152310 = claimSquare(x, y, "1", ownerId, transactionId)
86- let asset = $t022152310._1
87- let assetId = $t022152310._2
88- let assetUrl = $t022152310._3
89- let dataKeyPrefix = $t022152310._4
80+ let $t019972092 = claimSquare(x, y, "1", ownerId, transactionId)
81+ let asset = $t019972092._1
82+ let assetId = $t019972092._2
83+ let assetUrl = $t019972092._3
84+ let dataKeyPrefix = $t019972092._4
9085 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(i.caller, 1, assetId)]
9186 }
9287 }
9388
9489
9590
9691 @Callable(i)
9792 func autoBuy (x,y) = {
9893 let callerId = toBase58String(i.caller.bytes)
9994 if ((callerId != holdings))
10095 then throw("This can only be triggering internally")
10196 else {
10297 let transactionId = toBase58String(i.transactionId)
103- let $t028662962 = claimSquare(x, y, "1", holdings, transactionId)
104- let asset = $t028662962._1
105- let assetId = $t028662962._2
106- let assetUrl = $t028662962._3
107- let dataKeyPrefix = $t028662962._4
98+ let $t026482744 = claimSquare(x, y, "1", holdings, transactionId)
99+ let asset = $t026482744._1
100+ let assetId = $t026482744._2
101+ let assetUrl = $t026482744._3
102+ let dataKeyPrefix = $t026482744._4
108103 let assetIdStr = toBase58String(assetId)
109-[asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry((("sale_" + assetIdStr) + "_originalOwner"), holdings), IntegerEntry((("sale_" + assetIdStr) + "_amount"), 2), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
104+[asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), holdings), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(holdingsAddress, 1, assetId)]
105+ }
106+ }
107+
108+
109+
110+@Callable(i)
111+func promotionPurchase (x,y,desinationAddress) = {
112+ let callerId = toBase58String(i.caller.bytes)
113+ if ((callerId != holdings))
114+ then throw("This can only be triggering internally")
115+ else {
116+ let transactionId = toBase58String(i.transactionId)
117+ let $t033773482 = claimSquare(x, y, "1", desinationAddress, transactionId)
118+ let asset = $t033773482._1
119+ let assetId = $t033773482._2
120+ let assetUrl = $t033773482._3
121+ let dataKeyPrefix = $t033773482._4
122+ let assetIdStr = toBase58String(assetId)
123+[asset, StringEntry((dataKeyPrefix + "_assetId"), assetIdStr), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), desinationAddress), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(desinationAddress)), 1, assetId)]
110124 }
111125 }
112126
113127
114128
115129 @Callable(i)
116130 func evolve (x,y,gen,ownerId) = {
117131 let callerId = toBase58String(i.caller.bytes)
118132 if ((callerId != holdings))
119133 then throw("This can only be triggering internally")
120134 else {
121135 let transactionId = toBase58String(i.transactionId)
122- let $t037143809 = claimSquare(x, y, gen, ownerId, transactionId)
123- let asset = $t037143809._1
124- let assetId = $t037143809._2
125- let assetUrl = $t037143809._3
126- let dataKeyPrefix = $t037143809._4
136+ let $t041454240 = claimSquare(x, y, gen, ownerId, transactionId)
137+ let asset = $t041454240._1
138+ let assetId = $t041454240._2
139+ let assetUrl = $t041454240._3
140+ let dataKeyPrefix = $t041454240._4
127141 [asset, StringEntry((dataKeyPrefix + "_assetId"), toBase58String(assetId)), StringEntry((dataKeyPrefix + "_asset"), assetUrl), StringEntry((dataKeyPrefix + "_owner"), ownerId), StringEntry(transactionId, dataKeyPrefix), ScriptTransfer(Address(fromBase58String(ownerId)), 1, assetId)]
128142 }
129143 }
130144
131145
132146
133147 @Callable(i)
134148 func putForSale (assetId,amount) = {
135149 let callerId = toBase58String(i.caller.bytes)
136150 let assetData = match assetInfo(fromBase58String(assetId)) {
137151 case ass: Asset =>
138152 ass
139153 case _ =>
140154 throw("Asset not found")
141155 }
142156 let dataPrefix = getDataKeyPrefixFromAssetName(assetData.name)
143157 let ownerId = match getString(this, (dataPrefix + "_owner")) {
144158 case s: String =>
145159 s
146160 case _ =>
147161 throw("Owner not found in data")
148162 }
149163 if ((minForSaleWavlets > amount))
150164 then throw("Amount needs to be more than 1 wave")
151165 else if (if ((callerId != ownerId))
152166 then (callerId != holdings)
153167 else false)
154168 then throw("You are not able to put this asset up for sale")
155169 else {
156170 let res = invoke(holdingsAddress, "addOwnerAndAmount", [callerId, assetId, amount], [AttachedPayment(unit, 0)])
157171 if ((res == res))
158- then [StringEntry((("sale_" + assetId) + "_originalOwner"), callerId), IntegerEntry((("sale_" + assetId) + "_amount"), amount), ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))]
172+ then [ScriptTransfer(holdingsAddress, 1, fromBase58String(assetId))]
159173 else throw("Strict value is not equal to itself.")
160174 }
161175 }
162176
163177
164178 @Verifier(tx)
165179 func verify () = true
166180

github/deemru/w8io/873ac7e 
393.77 ms