tx · 2AKntrCVV7Pt4LjXkJ41BMaJeVrNA5dKCdXiLryA3726
3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ: -0.01000000 Waves
2021.07.24 06:10 [1627156] smart account 3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ > SELF 0.00000000 Waves
{
"type": 13,
"id": "2AKntrCVV7Pt4LjXkJ41BMaJeVrNA5dKCdXiLryA3726",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1627096296536,
"version": 2,
"chainId": 84,
"sender": "3N5817sxSDYjf2ZLXWeg7CeTTL5eb5RUGfZ",
"senderPublicKey": "J7rxZzeYSPADJy4erG5pvXRfkEStFn2ytek6F4Xx2VPY",
"proofs": [
"3RPi79JemFPYfbSJgWii4EXxekCzQus9jJdkpnnvn8A3YYL5GFfR11ZqBePCDABcfshrhUoZ7qp9q9vT7zUP2FT6"
],
"script": "base64:AAIEAAAAAAAAAAgIAhIECgIICAAAAAAAAAABAAAAA2ludgEAAAAEcGxheQAAAAIAAAAEY2FyZAAAAAVjbGFzcwQAAAAKY3VycmVudEtleQgFAAAAA2ludgAAAAZjYWxsZXIEAAAACWJ0Y0Ftb3VudAkBAAAABXZhbHVlAAAAAQgJAAGRAAAAAggFAAAAA2ludgAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAD2N1cnJlbnRLZXlCeXRlcwkAAlgAAAABCAgFAAAAA2ludgAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACGNhcmROYW1lCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABWNsYXNzAgAAAAFfBQAAAARjYXJkAgAAAAFfBQAAAA9jdXJyZW50S2V5Qnl0ZXMEAAAABnVuZGVhZAEAAAAgu5vVTclQVef647iWQB5gA3UU5ogDhfIhzCGvuRxel8QEAAAAC2NhcmRzVW5kZWFkCQAETAAAAAICAAAACFVuZGVhZDAxCQAETAAAAAICAAAACFVuZGVhZDAyCQAETAAAAAICAAAACFVuZGVhZDAzCQAETAAAAAICAAAACFVuZGVhZDA0CQAETAAAAAICAAAACFVuZGVhZDA1CQAETAAAAAICAAAACFVuZGVhZDA3CQAETAAAAAICAAAACFVuZGVhZDA4CQAETAAAAAICAAAACFVuZGVhZDA5CQAETAAAAAICAAAACFVuZGVhZDEwBQAAAANuaWwEAAAADmtpbmdPZnRoZUFyZW5hBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMCAAAADmtpbmdPZnRoZUFyZW5hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAMDAwkAAAAAAAACBQAAAAVjbGFzcwIAAAAGVW5kZWFkCQAAZgAAAAIAAAAAAAAAAAAJAAPwAAAAAgUAAAAKY3VycmVudEtleQUAAAAGdW5kZWFkBwkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAAC2NhcmRzVW5kZWFkBQAAAARjYXJkBwkAAAIAAAABAgAAAGBFIG5lY2Vzc8OhcmlvIHRlciBvIHRva2VuIGRvIGRlY2sgZW0gc3VhIGNhcnRlaXJhISBQYXJhIGFkcXVpcmlyLCByZWFsaXplIGEgdHJvY2EgZW0gU3dhcCBEZWNrcy4DCQAAAAAAAAIFAAAADmtpbmdPZnRoZUFyZW5hAgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAOa2luZ09mdGhlQXJlbmEFAAAAD2N1cnJlbnRLZXlCeXRlcwUAAAADbmlsBAAAAApzdGF0dXNDYXJkBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAACGNhcmROYW1lAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXQFAAAAByRtYXRjaDAFAAAAAXQCAAAAAAkAAAIAAAABCQABpAAAAAEFAAAACWJ0Y0Ftb3VudAAAAAAwrKdj",
"height": 1627156,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 5oddFWn2x3vPjUVcMKvWKFcgwSBc23cfrapeB8oBszRA
Next: BUe3b1zhHwpM4LFxdMFKSnTf814NhSk8zwvEsCBxzpqA
Diff:
Old | New | | Differences |
---|
1 | | - | {-# STDLIB_VERSION 3 #-} |
---|
| 1 | + | {-# STDLIB_VERSION 4 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | |
---|
|
6 | 6 | | @Callable(inv) |
---|
7 | 7 | | func play (card,class) = { |
---|
8 | 8 | | let currentKey = inv.caller |
---|
9 | | - | let btcAmount = extract(inv.payment) |
---|
| 9 | + | let btcAmount = value(inv.payments[0].amount) |
---|
10 | 10 | | let currentKeyBytes = toBase58String(inv.caller.bytes) |
---|
| 11 | + | let cardName = ((((class + "_") + card) + "_") + currentKeyBytes) |
---|
11 | 12 | | let undead = base58'DdM4S3gFdTGCTPeNH1xRE3KjaUNDosoXCKvEY76VfP4o' |
---|
| 13 | + | let cardsUndead = ["Undead01", "Undead02", "Undead03", "Undead04", "Undead05", "Undead07", "Undead08", "Undead09", "Undead10"] |
---|
12 | 14 | | let kingOftheArena = match getString(this, "kingOftheArena") { |
---|
13 | 15 | | case a: String => |
---|
14 | 16 | | a |
---|
15 | 17 | | case _ => |
---|
16 | 18 | | "" |
---|
17 | 19 | | } |
---|
18 | | - | if ((0 > assetBalance(currentKey, undead))) |
---|
| 20 | + | if (if (if ((class == "Undead")) |
---|
| 21 | + | then (0 > assetBalance(currentKey, undead)) |
---|
| 22 | + | else false) |
---|
| 23 | + | then containsElement(cardsUndead, card) |
---|
| 24 | + | else false) |
---|
19 | 25 | | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a troca em Swap Decks.") |
---|
20 | 26 | | else if ((kingOftheArena == "")) |
---|
21 | | - | then WriteSet([DataEntry("kingOftheArena", currentKeyBytes), DataEntry("btcAmount", btcAmount.amount)]) |
---|
| 27 | + | then [StringEntry("kingOftheArena", currentKeyBytes)] |
---|
22 | 28 | | else { |
---|
23 | | - | let walletUndead = ["Zombie01", "Zombie02", "Zombie03", "Zombie04", "Zombie05", "Zombie07", "Zombie08", "Zombie09", "Zombie10"] |
---|
24 | | - | let cardName = ((((class + "_") + card) + "_") + currentKeyBytes) |
---|
25 | 29 | | let statusCard = match getString(this, cardName) { |
---|
26 | 30 | | case t: String => |
---|
27 | 31 | | t |
---|
28 | 32 | | case _ => |
---|
29 | 33 | | "" |
---|
30 | 34 | | } |
---|
31 | | - | WriteSet([DataEntry(cardName, "Used")]) |
---|
| 35 | + | throw(toString(btcAmount)) |
---|
32 | 36 | | } |
---|
33 | 37 | | } |
---|
34 | 38 | | |
---|
Full:
Old | New | | Differences |
---|
1 | | - | {-# STDLIB_VERSION 3 #-} |
---|
| 1 | + | {-# STDLIB_VERSION 4 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | |
---|
5 | 5 | | |
---|
6 | 6 | | @Callable(inv) |
---|
7 | 7 | | func play (card,class) = { |
---|
8 | 8 | | let currentKey = inv.caller |
---|
9 | | - | let btcAmount = extract(inv.payment) |
---|
| 9 | + | let btcAmount = value(inv.payments[0].amount) |
---|
10 | 10 | | let currentKeyBytes = toBase58String(inv.caller.bytes) |
---|
| 11 | + | let cardName = ((((class + "_") + card) + "_") + currentKeyBytes) |
---|
11 | 12 | | let undead = base58'DdM4S3gFdTGCTPeNH1xRE3KjaUNDosoXCKvEY76VfP4o' |
---|
| 13 | + | let cardsUndead = ["Undead01", "Undead02", "Undead03", "Undead04", "Undead05", "Undead07", "Undead08", "Undead09", "Undead10"] |
---|
12 | 14 | | let kingOftheArena = match getString(this, "kingOftheArena") { |
---|
13 | 15 | | case a: String => |
---|
14 | 16 | | a |
---|
15 | 17 | | case _ => |
---|
16 | 18 | | "" |
---|
17 | 19 | | } |
---|
18 | | - | if ((0 > assetBalance(currentKey, undead))) |
---|
| 20 | + | if (if (if ((class == "Undead")) |
---|
| 21 | + | then (0 > assetBalance(currentKey, undead)) |
---|
| 22 | + | else false) |
---|
| 23 | + | then containsElement(cardsUndead, card) |
---|
| 24 | + | else false) |
---|
19 | 25 | | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a troca em Swap Decks.") |
---|
20 | 26 | | else if ((kingOftheArena == "")) |
---|
21 | | - | then WriteSet([DataEntry("kingOftheArena", currentKeyBytes), DataEntry("btcAmount", btcAmount.amount)]) |
---|
| 27 | + | then [StringEntry("kingOftheArena", currentKeyBytes)] |
---|
22 | 28 | | else { |
---|
23 | | - | let walletUndead = ["Zombie01", "Zombie02", "Zombie03", "Zombie04", "Zombie05", "Zombie07", "Zombie08", "Zombie09", "Zombie10"] |
---|
24 | | - | let cardName = ((((class + "_") + card) + "_") + currentKeyBytes) |
---|
25 | 29 | | let statusCard = match getString(this, cardName) { |
---|
26 | 30 | | case t: String => |
---|
27 | 31 | | t |
---|
28 | 32 | | case _ => |
---|
29 | 33 | | "" |
---|
30 | 34 | | } |
---|
31 | | - | WriteSet([DataEntry(cardName, "Used")]) |
---|
| 35 | + | throw(toString(btcAmount)) |
---|
32 | 36 | | } |
---|
33 | 37 | | } |
---|
34 | 38 | | |
---|
35 | 39 | | |
---|