tx · 5hSqW7aonXKHfL2iPedEAJHyoEU7k8JcYYvmoPo9G4Xp

3N51W4fn1aAAdypU26EGUwNZPr3zikN3vwh:  -0.14000000 Waves

2021.08.04 21:11 [1643943] smart account 3N51W4fn1aAAdypU26EGUwNZPr3zikN3vwh > SELF 0.00000000 Waves

{ "type": 13, "id": "5hSqW7aonXKHfL2iPedEAJHyoEU7k8JcYYvmoPo9G4Xp", "fee": 14000000, "feeAssetId": null, "timestamp": 1628100750255, "version": 2, "chainId": 84, "sender": "3N51W4fn1aAAdypU26EGUwNZPr3zikN3vwh", "senderPublicKey": "D7edN6TZzQ6PbyWHGFdGMPJkkRNjR1Y32g7MmU7AXR73", "proofs": [ "2ezniBqsJpsgBuCTakYMf6yKD9qAST97oFvCTHqaYBfJbix6mahGabDX1MWikuKjUMeya9sKbJpsYagDdNjoR2FR" ], "script": "base64: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", "height": 1643943, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4JKSumEHnQ6KydmsNXatHhkJXiW5vV7z3Ax6CJ3fGzNL Next: 2p8iSWw6g9qUXaWs5won1q6srj5o97didxKQcs8ZaN8M Diff:
OldNewDifferences
118118 0
119119 }
120120 let balance = assetBalance(this, gLump)
121- let newDeposit = (gLumpDeposit + (plotSize * gLumpPlot))
122- if ((0 > ((balance - gLumpDeposit) - (plotSize * gLumpPlot))))
121+ let newDeposit = (gLumpDeposit + (pSize * gLumpPlot))
122+ if ((0 > ((balance - gLumpDeposit) - (pSize * gLumpPlot))))
123123 then throw("Not enough gLUMP in World")
124124 else if ((plotSize > 0))
125125 then throw("You already have a plot!")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let BLOCKSTEP = 10
55
66 let INGOTCOST = 1000
77
88 let PLOTCOST = 100000
99
1010 let gLumpPlot = 1000
1111
1212 let gLump = base58'HdveNhSzDRiEib9RfQ5EAxmpFVica4EqvBFd2S4pdbD4'
1313
1414 let DAPP = base58'3N51W4fn1aAAdypU26EGUwNZPr3zikN3vwh'
1515
1616 let EPOCHSTEP = 100
1717
1818 func randomizer (inv) = {
1919 let lastPlay = match getBinary(this, "lastMine") {
2020 case s: ByteVector =>
2121 s
2222 case _: Unit =>
2323 base58'TGCTLFoHxJ8U7rcUofN'
2424 case _ =>
2525 throw("Match error")
2626 }
2727 let rand = (((((lastPlay + inv.transactionId) + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
2828 sha256(rand)
2929 }
3030
3131
3232 @Callable(i)
3333 func goToMine () = {
3434 let caller = toBase58String(i.caller.bytes)
3535 let wait = match getInteger(this, ("wait_" + caller)) {
3636 case a: Int =>
3737 a
3838 case _ =>
3939 0
4040 }
4141 let gLumpDeposit = match getInteger(this, "deposit") {
4242 case a: Int =>
4343 a
4444 case _ =>
4545 0
4646 }
4747 let balance = assetBalance(this, gLump)
4848 let newWait = (lastBlock.height + BLOCKSTEP)
4949 let randhash = randomizer(i)
5050 let count = (toInt(randhash) % 1000)
5151 if ((0 > ((balance - gLumpDeposit) - count)))
5252 then throw("Not enough gLUMP in World")
5353 else if ((wait > lastBlock.height))
5454 then throw((("Wait block " + toString(wait)) + " for mining again"))
5555 else [IntegerEntry(("wait_" + caller), newWait), ScriptTransfer(i.caller, count, gLump), BinaryEntry("lastMine", randhash)]
5656 }
5757
5858
5959
6060 @Callable(i)
6161 func craftIngot (count) = {
6262 let caller = toBase58String(i.caller.bytes)
6363 let craft = match getInteger(this, ("craft_" + caller)) {
6464 case a: Int =>
6565 a
6666 case _ =>
6767 0
6868 }
6969 let ingots = match getInteger(this, "ingots_count") {
7070 case a: Int =>
7171 a
7272 case _ =>
7373 0
7474 }
7575 let newIngots = (ingots + 1)
7676 let newCraft = (lastBlock.height + BLOCKSTEP)
7777 if ((size(i.payments) == 0))
7878 then throw("Payment wasn't attached")
7979 else if ((craft > lastBlock.height))
8080 then throw((("Wait block " + toString(craft)) + " for crafting again"))
8181 else if (if (if ((count != 1))
8282 then (count != 10)
8383 else false)
8484 then (count != 50)
8585 else false)
8686 then throw("Wrong ingot's weight!")
8787 else {
8888 let payment = i.payments[0]
8989 if ((payment.assetId != gLump))
9090 then throw("Payment only in gLump")
9191 else if ((payment.amount != (INGOTCOST * count)))
9292 then throw((("Payment expected " + toString((INGOTCOST * count))) + " gLump"))
9393 else {
9494 let issueName = ("INGOT" + toString(newIngots))
9595 let issueDesc = (((((("{\"weight\":" + toString(count)) + ",\"uid\":") + toString(newIngots)) + ",\"made_by\":\"") + caller) + "\"}")
9696 let issue = Issue(issueName, issueDesc, 1, 0, false)
9797 let nft = calculateAssetId(issue)
9898 [Burn(gLump, (INGOTCOST * count)), Issue(issueName, issueDesc, 1, 0, false), ScriptTransfer(i.caller, 1, nft), IntegerEntry("ingots_count", newIngots), StringEntry(("ingot_" + toString(newIngots)), toBase58String(nft)), IntegerEntry(("craft_" + caller), newCraft), IntegerEntry(("weight_" + toBase58String(nft)), count)]
9999 }
100100 }
101101 }
102102
103103
104104
105105 @Callable(i)
106106 func buyPlot (pSize) = {
107107 let caller = toBase58String(i.caller.bytes)
108108 let plotSize = match getInteger(this, ("plot_" + caller)) {
109109 case a: Int =>
110110 a
111111 case _ =>
112112 0
113113 }
114114 let gLumpDeposit = match getInteger(this, "deposit") {
115115 case a: Int =>
116116 a
117117 case _ =>
118118 0
119119 }
120120 let balance = assetBalance(this, gLump)
121- let newDeposit = (gLumpDeposit + (plotSize * gLumpPlot))
122- if ((0 > ((balance - gLumpDeposit) - (plotSize * gLumpPlot))))
121+ let newDeposit = (gLumpDeposit + (pSize * gLumpPlot))
122+ if ((0 > ((balance - gLumpDeposit) - (pSize * gLumpPlot))))
123123 then throw("Not enough gLUMP in World")
124124 else if ((plotSize > 0))
125125 then throw("You already have a plot!")
126126 else if (if ((0 > plotSize))
127127 then true
128128 else (plotSize > 1000))
129129 then throw("Correct size value from 1 to 1000")
130130 else {
131131 let payment = i.payments[0]
132132 if (isDefined(payment.assetId))
133133 then throw("Payment only in WAVES")
134134 else if ((payment.amount != (pSize * PLOTCOST)))
135135 then throw((("Payment expected " + toString((pSize * PLOTCOST))) + " WAVELET"))
136136 else [IntegerEntry(("plot_" + caller), pSize), IntegerEntry("deposit", newDeposit)]
137137 }
138138 }
139139
140140
141141
142142 @Callable(i)
143143 func goToPlot () = {
144144 let caller = toBase58String(i.caller.bytes)
145145 let plotSize = match getInteger(this, ("plot_" + caller)) {
146146 case a: Int =>
147147 a
148148 case _ =>
149149 0
150150 }
151151 let wait = match getInteger(this, ("wait_" + caller)) {
152152 case a: Int =>
153153 a
154154 case _ =>
155155 0
156156 }
157157 let gLumpDeposit = match getInteger(this, "deposit") {
158158 case a: Int =>
159159 a
160160 case _ =>
161161 0
162162 }
163163 let newDeposit = (gLumpDeposit - gLumpPlot)
164164 let newWait = (lastBlock.height + BLOCKSTEP)
165165 let newPlotSize = (plotSize - 1)
166166 if ((0 >= plotSize))
167167 then throw("Plot is empty, buy new!")
168168 else if ((wait > lastBlock.height))
169169 then throw((("Wait block " + toString(wait)) + " for mining again"))
170170 else [IntegerEntry(("wait_" + caller), newWait), ScriptTransfer(i.caller, gLumpPlot, gLump), IntegerEntry(("plot_" + caller), newPlotSize), IntegerEntry("deposit", newDeposit)]
171171 }
172172
173173
174174
175175 @Callable(i)
176176 func giveIngot (uid) = {
177177 let caller = toBase58String(i.caller.bytes)
178178 let assetId = match getString(this, ("ingot_" + toString(uid))) {
179179 case a: String =>
180180 a
181181 case _ =>
182182 ""
183183 }
184184 let given = match getInteger(this, ("from_by_" + caller)) {
185185 case a: Int =>
186186 a
187187 case _ =>
188188 0
189189 }
190190 let weight = match getInteger(this, ("weight_" + assetId)) {
191191 case a: Int =>
192192 a
193193 case _ =>
194194 0
195195 }
196196 let maxq = match getInteger(this, "max_q") {
197197 case a: Int =>
198198 a
199199 case _ =>
200200 0
201201 }
202202 let newGiven = (given + weight)
203203 let newMaxQ = newGiven
204204 if ((size(i.payments) == 0))
205205 then throw("NFT Payment wasn't attached")
206206 else if ((assetId == ""))
207207 then throw(("Can't find INGOT" + toString(uid)))
208208 else {
209209 let payment = i.payments[0]
210210 if ((isDefined(payment.assetId) == false))
211211 then throw("???")
212212 else if ((payment.assetId != fromBase58String(assetId)))
213213 then throw(("Wrong Ingot in Payment " + assetId))
214214 else if ((payment.amount != 1))
215215 then throw("Wrong ingot's count")
216216 else if ((newMaxQ > maxq))
217217 then [IntegerEntry("max_q", newMaxQ), StringEntry("max_owner", caller), IntegerEntry(("from_by_" + caller), newGiven)]
218218 else [IntegerEntry(("from_by_" + caller), newGiven)]
219219 }
220220 }
221221
222222
223223
224224 @Callable(i)
225225 func startNewEpoch () = {
226226 let epoch = match getInteger(this, "epoch") {
227227 case a: Int =>
228228 a
229229 case _ =>
230230 -1
231231 }
232232 let maxOwner = match getString(this, "max_owner") {
233233 case a: String =>
234234 a
235235 case _ =>
236236 ""
237237 }
238238 if ((i.caller.bytes != DAPP))
239239 then throw("Only Creator of the world can start new Epoch")
240240 else {
241241 let newEpoch = (epoch + 1)
242242 let nextEpochHeight = (lastBlock.height + BLOCKSTEP)
243243 if ((maxOwner == ""))
244244 then [IntegerEntry("epoch", newEpoch), IntegerEntry("epochHeight", nextEpochHeight)]
245245 else {
246246 let issueName = ("CROWN" + toString(epoch))
247247 let issueDesc = (((("{\"king\":\"" + maxOwner) + "\",\"epoch\":") + toString(epoch)) + "}")
248248 let issue = Issue(issueName, issueDesc, 1, 0, false)
249249 let nft = calculateAssetId(issue)
250250 [Issue(issueName, issueDesc, 1, 0, false), ScriptTransfer(addressFromStringValue(maxOwner), 1, nft), IntegerEntry("epoch", newEpoch), IntegerEntry("epochHeight", nextEpochHeight), StringEntry("king", maxOwner), StringEntry(("crown_" + toString(epoch)), toBase58String(nft))]
251251 }
252252 }
253253 }
254254
255255
256256 @Verifier(tx)
257257 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
258258

github/deemru/w8io/026f985 
39.97 ms