tx · FXzeqQxNGRTATwXwGiQSzYS2NkSXncYzYrwUUPeiqv5D
3N356YfN19XTJNfZ1sE9kssQwTxvyMLq7MT: -0.01000000 Waves
2022.05.31 14:06 [2075758] smart account 3N356YfN19XTJNfZ1sE9kssQwTxvyMLq7MT > SELF 0.00000000 Waves
{
"type": 13,
"id": "FXzeqQxNGRTATwXwGiQSzYS2NkSXncYzYrwUUPeiqv5D",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1653995192042,
"version": 2,
"chainId": 84,
"sender": "3N356YfN19XTJNfZ1sE9kssQwTxvyMLq7MT",
"senderPublicKey": "5FCKdCQ3s4naiaoX3iSwKqTAHzcVkGi6M48BnWuHjJ5u",
"proofs": [
"3srjsu8HaBiYsvfz2ASKyVhtMgWRfw6mR336MHJKawzhXuQFxBufSaLZZoAPLcezu4Yd4n7PDktbckWcFYvxMqN"
],
"script": "base64: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",
"height": 2075758,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 2ui9HngL45hMbzpu7KFXjXRYRuq2Jzuh8gjdLcn2dkHy
Next: 3UFXM5JpUVc8NshhWdZv33HYFfcMFa7qNXTp82CYd2j6
Diff:
Old | New | | Differences |
---|
26 | 26 | | @Callable(i) |
---|
27 | 27 | | func mintPokemon (id) = { |
---|
28 | 28 | | let walletString = toBase58String(i.caller.bytes) |
---|
| 29 | + | let priceKey = "last_price" |
---|
| 30 | + | let integerVal = valueOrElse(getIntegerValue(this, priceKey), 0) |
---|
29 | 31 | | if (if ((id > 0)) |
---|
30 | 32 | | then true |
---|
31 | 33 | | else (151 >= id)) |
---|
|
38 | 40 | | if ((idCheck == "none")) |
---|
39 | 41 | | then { |
---|
40 | 42 | | let issuer = Issue(NFTNAME, ("POKEMON_NFT_" + toString(id)), 1, 0, false) |
---|
41 | | - | let priceKey = "last_price" |
---|
42 | | - | let integerVal = valueOrElse(getIntegerValue(this, priceKey), 0) |
---|
43 | 43 | | let newPrice = (integerVal + 10000000) |
---|
44 | 44 | | let ida = calculateAssetId(issuer) |
---|
45 | 45 | | valueOrErrorMessage([issuer, StringEntry(((toString(id) + "_") + walletString), toBase58String(ida)), ScriptTransfer(i.caller, 1, ida), IntegerEntry(priceKey, newPrice)], "an error occured") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let PAYMENT_ASSET = base58'CgidgEMbCKXXErgJXVyZCFRaK8SBNA73Jg8mNXALtVKh' |
---|
5 | 5 | | |
---|
6 | 6 | | func isPaymentOk (i) = { |
---|
7 | 7 | | let acceptableAssetId = PAYMENT_ASSET |
---|
8 | 8 | | if ((size(i.payments) == 0)) |
---|
9 | 9 | | then throw("Payment not attached") |
---|
10 | 10 | | else { |
---|
11 | 11 | | let p = i.payments[0] |
---|
12 | 12 | | let priceKey = "last_price" |
---|
13 | 13 | | let integerVal = valueOrElse(getIntegerValue(this, priceKey), 50000000) |
---|
14 | 14 | | match p.assetId { |
---|
15 | 15 | | case assetId: ByteVector => |
---|
16 | 16 | | if ((assetId == PAYMENT_ASSET)) |
---|
17 | 17 | | then (p.amount == integerVal) |
---|
18 | 18 | | else false |
---|
19 | 19 | | case _ => |
---|
20 | 20 | | throw("Wrong payment asset or min amount 50 USDN") |
---|
21 | 21 | | } |
---|
22 | 22 | | } |
---|
23 | 23 | | } |
---|
24 | 24 | | |
---|
25 | 25 | | |
---|
26 | 26 | | @Callable(i) |
---|
27 | 27 | | func mintPokemon (id) = { |
---|
28 | 28 | | let walletString = toBase58String(i.caller.bytes) |
---|
| 29 | + | let priceKey = "last_price" |
---|
| 30 | + | let integerVal = valueOrElse(getIntegerValue(this, priceKey), 0) |
---|
29 | 31 | | if (if ((id > 0)) |
---|
30 | 32 | | then true |
---|
31 | 33 | | else (151 >= id)) |
---|
32 | 34 | | then if (isPaymentOk(i)) |
---|
33 | 35 | | then { |
---|
34 | 36 | | let stringId = toString(id) |
---|
35 | 37 | | let idCheck = valueOrElse(getString(this, stringId), "none") |
---|
36 | 38 | | let toSet = ((toString(id) + "_w_") + walletString) |
---|
37 | 39 | | let NFTNAME = ("POKEMON_NFT" + toString(id)) |
---|
38 | 40 | | if ((idCheck == "none")) |
---|
39 | 41 | | then { |
---|
40 | 42 | | let issuer = Issue(NFTNAME, ("POKEMON_NFT_" + toString(id)), 1, 0, false) |
---|
41 | | - | let priceKey = "last_price" |
---|
42 | | - | let integerVal = valueOrElse(getIntegerValue(this, priceKey), 0) |
---|
43 | 43 | | let newPrice = (integerVal + 10000000) |
---|
44 | 44 | | let ida = calculateAssetId(issuer) |
---|
45 | 45 | | valueOrErrorMessage([issuer, StringEntry(((toString(id) + "_") + walletString), toBase58String(ida)), ScriptTransfer(i.caller, 1, ida), IntegerEntry(priceKey, newPrice)], "an error occured") |
---|
46 | 46 | | } |
---|
47 | 47 | | else throw("already minted by someone else") |
---|
48 | 48 | | } |
---|
49 | 49 | | else throw("Wrong payment amount or asset.") |
---|
50 | 50 | | else throw("out of range") |
---|
51 | 51 | | } |
---|
52 | 52 | | |
---|
53 | 53 | | |
---|