tx · 6xytRpwzDxTpkkgLjBVan8CbtbNdk1YAKnGXsUQnMcwH

3MyWHuLZ53k4uJf2hFWdfU7deDB72k3d7ML:  -0.01400000 Waves

2021.09.24 14:08 [1716971] smart account 3MyWHuLZ53k4uJf2hFWdfU7deDB72k3d7ML > SELF 0.00000000 Waves

{ "type": 13, "id": "6xytRpwzDxTpkkgLjBVan8CbtbNdk1YAKnGXsUQnMcwH", "fee": 1400000, "feeAssetId": null, "timestamp": 1632481725103, "version": 2, "chainId": 84, "sender": "3MyWHuLZ53k4uJf2hFWdfU7deDB72k3d7ML", "senderPublicKey": "C8GZDzgnMpGcVUsLBNM8qeaJQG5RkC3h994W9iru5TS3", "proofs": [ "4jTbPAnHVEc3ZKDj2zGYkoL97V7S5RKV1k7HmwmbdKiDTUyEYoDuwFMXAJspm9Uje6h8NqKQsXJjCEddSq6G7wsN" ], "script": "base64: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", "height": 1716971, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Hmgr9XkMnCHzUuWPAdfNXrirLeSJ4vAbwiVBniKV3u4G Next: F586ysKWbbeQESGoYqzEfo8pU494Td33bbSqicsMAJQU Diff:
OldNewDifferences
3939 let firstPayment = value(i.payments[0])
4040 let firstPaymentBool = match firstPayment.assetId {
4141 case t: ByteVector =>
42+ true
43+ case w: Unit =>
4244 false
4345 case _ =>
44- true
46+ throw("Match error")
4547 }
4648 if ((totalPunksSupply == maxSupply))
4749 then throw("All punks are minted")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let maxSupply = 10
55
66 func getPunkIDKey (id) = ("punk_" + id)
77
88
99 func tryGetInteger (key) = {
1010 let val = match getInteger(this, key) {
1111 case b: Int =>
1212 b
1313 case _ =>
1414 0
1515 }
1616 val
1717 }
1818
1919
2020 func tryGetString (key) = {
2121 let val = match getString(this, key) {
2222 case b: String =>
2323 b
2424 case _ =>
2525 ""
2626 }
2727 val
2828 }
2929
3030
3131 func calcWavesNeeded (totalPunksSupply) = 1
3232
3333
3434 @Callable(i)
3535 func mint () = {
3636 let totalPunksSupply = tryGetInteger("punks_supply")
3737 let availablePunks = tryGetString("available_punks")
3838 let wavesNeeded = calcWavesNeeded(totalPunksSupply)
3939 let firstPayment = value(i.payments[0])
4040 let firstPaymentBool = match firstPayment.assetId {
4141 case t: ByteVector =>
42+ true
43+ case w: Unit =>
4244 false
4345 case _ =>
44- true
46+ throw("Match error")
4547 }
4648 if ((totalPunksSupply == maxSupply))
4749 then throw("All punks are minted")
4850 else if ((availablePunks == ""))
4951 then throw("No punks available")
5052 else if (firstPaymentBool)
5153 then throw("Payment must be in Waves tokens only")
5254 else if ((wavesNeeded > firstPayment.amount))
5355 then throw("Insufficient funds")
5456 else {
5557 let listAvailablePunks = split(availablePunks, ",")
5658 let rand = 0
5759 let punkId = listAvailablePunks[rand]
5860 let name = ("TestPunk #" + punkId)
5961 let asset = Issue(name, name, 1, 0, false, unit, 0)
6062 let assetId = calculateAssetId(asset)
6163 [IntegerEntry("punks_supply", (totalPunksSupply + 1)), StringEntry("available_punks", makeString(removeByIndex(listAvailablePunks, rand), ",")), StringEntry(getPunkIDKey(punkId), toBase58String(assetId)), StringEntry(toBase58String(assetId), getPunkIDKey(punkId))]
6264 }
6365 }
6466
6567
6668 @Verifier(tx)
6769 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6870

github/deemru/w8io/169f3d6 
37.19 ms