tx · Hiz2TkQquAfwpuBMQAQRc6tRuzRUCxk4npAi1jdLKSQd 3My2v1xv9oXvkdoVBjdoPJwsyxswKABGzXz: -0.01400000 Waves 2022.11.01 19:37 [2298300] smart account 3My2v1xv9oXvkdoVBjdoPJwsyxswKABGzXz > SELF 0.00000000 Waves
{ "type": 13, "id": "Hiz2TkQquAfwpuBMQAQRc6tRuzRUCxk4npAi1jdLKSQd", "fee": 1400000, "feeAssetId": null, "timestamp": 1667320748882, "version": 2, "chainId": 84, "sender": "3My2v1xv9oXvkdoVBjdoPJwsyxswKABGzXz", "senderPublicKey": "AmNGcQhk77jcLZEVysQPbYbF3QCHAzQH9Zc9oRZB963h", "proofs": [ "3pbGhnEehbQmj8XxZTQJWRBUWPT11xCPXnEx8TSBhEi1Tf7GgNF3hwhVkqp4Y1ZHZtjta79RZkAytAN8LDYW4sNJ" ], "script": "base64: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", "height": 2298300, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6ZFoLBxbJzFKshNcFoZbu8RyyyR2SBd9UeETxGPSX9n9 Next: none Diff:
Old | New | Differences | |
---|---|---|---|
27 | 27 | then throw(("1000 TN Token is required as Attached payment amount. You attached only " + toString((pmt.amount / 100000000)))) | |
28 | 28 | else if ((getIPFSHash == IPFSHash)) | |
29 | 29 | then throw((IPFSHash + " Hash Already Registered")) | |
30 | - | else [asset, IntegerEntry("Counter", CurrentSeriesCounter), StringEntry(((toString(CurrentSeriesCounter) + "_AssetID_") + IPFSHash), toBase58String(getassetId)), IntegerEntry(((toString(CurrentSeriesCounter) + "_Timestamp_") + IPFSHash), lastBlock.timestamp), StringEntry(((toString(CurrentSeriesCounter) + "HASH_") + IPFSHash), IPFSHash), StringEntry(("HASH_" + IPFSHash), IPFSHash), StringEntry(((toString(CurrentSeriesCounter) + "Creator_") + IPFSHash), currentKey), StringEntry(((toString(CurrentSeriesCounter) + "Link_") + IPFSHash), IPFSHashLink), ScriptTransfer(i.caller, 1, getassetId)] | |
30 | + | else [asset, IntegerEntry("Counter", CurrentSeriesCounter), StringEntry(((toString(CurrentSeriesCounter) + "_AssetID_") + IPFSHash), toBase58String(getassetId)), IntegerEntry(((toString(CurrentSeriesCounter) + "_Timestamp_") + IPFSHash), lastBlock.timestamp), StringEntry(((toString(CurrentSeriesCounter) + "_HASH_") + IPFSHash), IPFSHash), StringEntry(("HASH_" + IPFSHash), IPFSHash), StringEntry(((toString(CurrentSeriesCounter) + "_Creator_") + IPFSHash), currentKey), StringEntry(((toString(CurrentSeriesCounter) + "_Link_") + IPFSHash), IPFSHashLink), ScriptTransfer(i.caller, 1, getassetId)] | |
31 | 31 | } | |
32 | 32 | ||
33 | 33 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | 7 | func IssueNFTSeries (NFTDescription,IPFSHash,IPFSHashLink,Format) = { | |
8 | 8 | let currentKey = toBase58String(i.caller.bytes) | |
9 | 9 | let NFTMintFee = 10000000 | |
10 | 10 | let pmt = if ((size(i.payments) == 1)) | |
11 | 11 | then i.payments[0] | |
12 | 12 | else throw("1000 TN Token is required as Attached payment") | |
13 | 13 | let NFTSeriesName = "A4ADAO" | |
14 | 14 | let getIPFSHash = getString(this, ("HASH_" + IPFSHash)) | |
15 | 15 | let getSeriesCounter = match getInteger(this, "Counter") { | |
16 | 16 | case a: Int => | |
17 | 17 | a | |
18 | 18 | case _ => | |
19 | 19 | 0 | |
20 | 20 | } | |
21 | 21 | let CurrentSeriesCounter = (getSeriesCounter + 1) | |
22 | 22 | let asset = Issue(((NFTSeriesName + "-") + toString(CurrentSeriesCounter)), NFTDescription, 1, 0, false, unit, 0) | |
23 | 23 | let getassetId = calculateAssetId(asset) | |
24 | 24 | if (isDefined(pmt.assetId)) | |
25 | 25 | then throw("Wrong Asset Attached please attach only 1000 TN Tokens to mint NFT.") | |
26 | 26 | else if ((pmt.amount != NFTMintFee)) | |
27 | 27 | then throw(("1000 TN Token is required as Attached payment amount. You attached only " + toString((pmt.amount / 100000000)))) | |
28 | 28 | else if ((getIPFSHash == IPFSHash)) | |
29 | 29 | then throw((IPFSHash + " Hash Already Registered")) | |
30 | - | else [asset, IntegerEntry("Counter", CurrentSeriesCounter), StringEntry(((toString(CurrentSeriesCounter) + "_AssetID_") + IPFSHash), toBase58String(getassetId)), IntegerEntry(((toString(CurrentSeriesCounter) + "_Timestamp_") + IPFSHash), lastBlock.timestamp), StringEntry(((toString(CurrentSeriesCounter) + "HASH_") + IPFSHash), IPFSHash), StringEntry(("HASH_" + IPFSHash), IPFSHash), StringEntry(((toString(CurrentSeriesCounter) + "Creator_") + IPFSHash), currentKey), StringEntry(((toString(CurrentSeriesCounter) + "Link_") + IPFSHash), IPFSHashLink), ScriptTransfer(i.caller, 1, getassetId)] | |
30 | + | else [asset, IntegerEntry("Counter", CurrentSeriesCounter), StringEntry(((toString(CurrentSeriesCounter) + "_AssetID_") + IPFSHash), toBase58String(getassetId)), IntegerEntry(((toString(CurrentSeriesCounter) + "_Timestamp_") + IPFSHash), lastBlock.timestamp), StringEntry(((toString(CurrentSeriesCounter) + "_HASH_") + IPFSHash), IPFSHash), StringEntry(("HASH_" + IPFSHash), IPFSHash), StringEntry(((toString(CurrentSeriesCounter) + "_Creator_") + IPFSHash), currentKey), StringEntry(((toString(CurrentSeriesCounter) + "_Link_") + IPFSHash), IPFSHashLink), ScriptTransfer(i.caller, 1, getassetId)] | |
31 | 31 | } | |
32 | 32 | ||
33 | 33 | ||
34 | 34 | @Verifier(tx) | |
35 | 35 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
36 | 36 |
github/deemru/w8io/026f985 32.58 ms ◑