2023.02.02 16:34 [3497594] smart account 3PHhxhx98sYUYbuiz66wsmiJq97wssNnVWT > SELF 0.00000000 Waves
{ "type": 13, "id": "CFEcgfzU8bpDGzKuDR1zejFT5ghF7RbCPcARQSAMYxpV", "fee": 1000000, "feeAssetId": null, "timestamp": 1675344875329, "version": 2, "chainId": 87, "sender": "3PHhxhx98sYUYbuiz66wsmiJq97wssNnVWT", "senderPublicKey": "2gBJpW7J4ieZY1ymGyQEDhZUfs1gaLpcVyQSmjeZ5SFv", "proofs": [ "4WN56aX7sULWE7Nt22hS6do9kCkKWz5Vjwv1kqxJbFVLsEH5Se74Mb7Gs4xUjY8EjsTfXX5hrdRVBn2WNgocU7DA" ], "script": "base64:BgIICAISBAoCCAgDAA50b3RhbE1pbnRlZEtleQIOdG90YWxNaW50ZWRLZXkBFXRyeUdldEludGVnZXJFeHRlcm5hbAIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAQ10cnlHZXRJbnRlZ2VyAQNrZXkJARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCBQR0aGlzBQNrZXkBAWkBB21pbnROZnQCBG5hbWUNaXBmc0ltYWdlSGFzaAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIiUGxlYXNlIGRvdWJsZSBjaGVjayB5b3VyIHBheW1lbnRzIQMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAIBAhhQbGVhc2UgYXR0YWNoIG9ubHkgd2F2ZXMDCQBmAgACCAUDcG10BmFtb3VudAkAAgECJlBsZWFzZSBhdHRhY2ggYXRsZWFzdCAyIHVuaXRzIG9mIHdhdmVzBAlyZWNpcGllbnQIBQFpBmNhbGxlcgQMYW1vdW50TWludGVkCQBkAgkBDXRyeUdldEludGVnZXIBBQ50b3RhbE1pbnRlZEtleQABBAVhc3NldAkAwggFCQCsAgICCURPUkEtTkZULQkApAMBBQxhbW91bnRNaW50ZWQJAKwCAgkArAICCQCsAgIJAKwCAgIKeyJuYW1lIjogIgUEbmFtZQILIiwiaGFzaCI6ICIFDWlwZnNJbWFnZUhhc2gCAiJ9AAEAAAcEB2Fzc2V0SWQJALgIAQUFYXNzZXQJAMwIAgUFYXNzZXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQDYBAEFB2Fzc2V0SWQCBV9pcGZzBQ1pcGZzSW1hZ2VIYXNoCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkA2AQBBQdhc3NldElkAgVfbmFtZQUEbmFtZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUOdG90YWxNaW50ZWRLZXkFDGFtb3VudE1pbnRlZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQlyZWNpcGllbnQAAQUHYXNzZXRJZAUDbmlsAPXTwf8=", "height": 3497594, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DMt1rxeeqkZfvCoRmdUg8pG6U73SRjnt76UT15kf9aiH Next: none Diff:
Old | New | Differences | |
---|---|---|---|
16 | 16 | ||
17 | 17 | @Callable(i) | |
18 | 18 | func mintNft (name,ipfsImageHash) = { | |
19 | - | let recipient = i.caller | |
20 | - | let amountMinted = (tryGetInteger(totalMintedKey) + 1) | |
21 | - | let asset = Issue(("DORA-NFT-" + toString(amountMinted)), (((("{\"name\": \"" + name) + "\",\"hash\": \"") + ipfsImageHash) + "\"}"), 1, 0, false) | |
22 | - | let assetId = calculateAssetId(asset) | |
19 | + | let pmt = if ((size(i.payments) == 1)) | |
20 | + | then i.payments[0] | |
21 | + | else throw("Please double check your payments!") | |
22 | + | if (isDefined(pmt.assetId)) | |
23 | + | then throw("Please attach only waves") | |
24 | + | else if ((2 > pmt.amount)) | |
25 | + | then throw("Please attach atleast 2 units of waves") | |
26 | + | else { | |
27 | + | let recipient = i.caller | |
28 | + | let amountMinted = (tryGetInteger(totalMintedKey) + 1) | |
29 | + | let asset = Issue(("DORA-NFT-" + toString(amountMinted)), (((("{\"name\": \"" + name) + "\",\"hash\": \"") + ipfsImageHash) + "\"}"), 1, 0, false) | |
30 | + | let assetId = calculateAssetId(asset) | |
23 | 31 | [asset, StringEntry((toBase58String(assetId) + "_ipfs"), ipfsImageHash), StringEntry((toBase58String(assetId) + "_name"), name), IntegerEntry(totalMintedKey, amountMinted), ScriptTransfer(recipient, 1, assetId)] | |
32 | + | } | |
24 | 33 | } | |
25 | 34 | ||
26 | 35 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let totalMintedKey = "totalMintedKey" | |
5 | 5 | ||
6 | 6 | func tryGetIntegerExternal (address,key) = match getInteger(address, key) { | |
7 | 7 | case b: Int => | |
8 | 8 | b | |
9 | 9 | case _ => | |
10 | 10 | 0 | |
11 | 11 | } | |
12 | 12 | ||
13 | 13 | ||
14 | 14 | func tryGetInteger (key) = tryGetIntegerExternal(this, key) | |
15 | 15 | ||
16 | 16 | ||
17 | 17 | @Callable(i) | |
18 | 18 | func mintNft (name,ipfsImageHash) = { | |
19 | - | let recipient = i.caller | |
20 | - | let amountMinted = (tryGetInteger(totalMintedKey) + 1) | |
21 | - | let asset = Issue(("DORA-NFT-" + toString(amountMinted)), (((("{\"name\": \"" + name) + "\",\"hash\": \"") + ipfsImageHash) + "\"}"), 1, 0, false) | |
22 | - | let assetId = calculateAssetId(asset) | |
19 | + | let pmt = if ((size(i.payments) == 1)) | |
20 | + | then i.payments[0] | |
21 | + | else throw("Please double check your payments!") | |
22 | + | if (isDefined(pmt.assetId)) | |
23 | + | then throw("Please attach only waves") | |
24 | + | else if ((2 > pmt.amount)) | |
25 | + | then throw("Please attach atleast 2 units of waves") | |
26 | + | else { | |
27 | + | let recipient = i.caller | |
28 | + | let amountMinted = (tryGetInteger(totalMintedKey) + 1) | |
29 | + | let asset = Issue(("DORA-NFT-" + toString(amountMinted)), (((("{\"name\": \"" + name) + "\",\"hash\": \"") + ipfsImageHash) + "\"}"), 1, 0, false) | |
30 | + | let assetId = calculateAssetId(asset) | |
23 | 31 | [asset, StringEntry((toBase58String(assetId) + "_ipfs"), ipfsImageHash), StringEntry((toBase58String(assetId) + "_name"), name), IntegerEntry(totalMintedKey, amountMinted), ScriptTransfer(recipient, 1, assetId)] | |
32 | + | } | |
24 | 33 | } | |
25 | 34 | ||
26 | 35 |
github/deemru/w8io/786bc32 21.45 ms ◑