tx · 3eTkiBCAUSZXEt2MHTxcKMz8B2fXJmUAWt1GuwE1pa9d 3N5K25SCwgJw2hE5LGqAZALL8W6eJxu1MG4: -0.01000000 Waves 2024.08.14 12:01 [3238261] smart account 3N5K25SCwgJw2hE5LGqAZALL8W6eJxu1MG4 > SELF 0.00000000 Waves
{ "type": 13, "id": "3eTkiBCAUSZXEt2MHTxcKMz8B2fXJmUAWt1GuwE1pa9d", "fee": 1000000, "feeAssetId": null, "timestamp": 1723626089195, "version": 2, "chainId": 84, "sender": "3N5K25SCwgJw2hE5LGqAZALL8W6eJxu1MG4", "senderPublicKey": "9Qh79U2rQpgqYmAMC6n9qq852WD1SgccXuMoUG33MMt6", "proofs": [ "7qvQAadMxEj8E7G2jALsR2fuk1jgh8Dsu26k7f3XVnpV2NZi1hHvqKooTrbFWGkEJFiSxCjq41AJARczojHHqqZ" ], "script": "base64:BgITCAISABIGCgQBCAgIEgUKAwgICAQABE5PTkUCBG5vbmUACWtleW93bmVyMQkApwgBASDjrdey1Io21qI8AxObYBZMNWPHMCK947HpXHsKae68IwAMbWludF9tZXNzYWdlAiZUaGFua3MgdG8gVXNpbmcgU1dSTSBNaW50aW5nIFNlcnZpY2VzLgELZ2V0U3RyQnlLZXkBA2tleQQDc3RyBAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWEFBE5PTkUFA3N0cgMBaQEKSXNzdWVfU1dSTQAEBWFzc2V0CQDCCAUCBFNXUk0CmANTV1JNIGlzIGEgZGVjZW50cmFsaXplZCBhcHByb2FjaCB0byBidWlsZGluZyBhbmQgdXRpbGl6aW5nIHRoZSBSZWRkY29pbiBCbG9ja2NoYWluIFRlY2hub2xvZ3kgd2hlcmUgU1dSTSB3b3JrcyBvbiBhIHJlc2VydmUgc3lzdGVtIG9mIFJERCBhcyBsYXllciBzb2x1dGlvbiBvbiBSREQgTmV0d29yayB0byBtaW50IGFuZCBCdXJuIFNXUk0gYWxvbmcgd2l0aCBwcm9vZiBvbiBib3RoIHNpZGUgb2YgbmV0d29yay4gQW4gaW5kZXBlbmRlbnQgcHJvamVjdCBvciBUb2tlbiBoYXZpbmcgbm8gZGlyZWN0IHBhcnRuZXJzaGlwIHJlbGF0aW9uIG9yIGRldmVsb3BtZW50IGNvbm5lY3Rpb24gd2l0aCBSZWRkY29pbiBDb3JlIFRlYW0gb3V0c2lkZSB0aGUgdXNlIG9mIHRoZSBSREQgY3VycmVuY3kgZm9yIHRyYW5zYWN0aW9ucy4AAQAGBgQHYXNzZXRJZAkAuAgBBQVhc3NldAMJAQIhPQIIBQFpBmNhbGxlcgUJa2V5b3duZXIxCQACAQkArAICCQCsAgICJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAKUIAQUJa2V5b3duZXIxAiIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuCQDMCAIFBWFzc2V0CQDMCAIJAQRCdXJuAgUHYXNzZXRJZAABCQDMCAIJAQtTdHJpbmdFbnRyeQICDVNXUk1fQXNzZXRfSUQJANgEAQUHYXNzZXRJZAUDbmlsAWkBCU1pbnRfU1dSTQQLTWludF9BbW91bnQKUkREX1R4bl9JRAtTV1JNX1R4bl9JRAdhZGRyZXNzBA9uZXdfc3dybV9zdXBwbHkJAGsDBQtNaW50X0Ftb3VudAABAJBOBBZ2YWxpZGF0ZV9SRERfSGFzaF9TaXplAwkAAAIJALECAQUKUkREX1R4bl9JRABABgcEF3ZhbGlkYXRlX1NXUk1fSGFzaF9TaXplAwkAAAIJALECAQULU1dSTV9UeG5fSUQAQAYHBAxTV1JNX0Fzc2V0SUQJARFAZXh0ck5hdGl2ZSgxMDU4KQECDVNXUk1fQXNzZXRfSUQEBGluZm8JARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBCQDZBAEFDFNXUk1fQXNzZXRJRAkArAICCQCsAgICBkFzc2V0IAUMU1dSTV9Bc3NldElEAg4gZG9lc24ndCBleGlzdAQEbmFtZQgFBGluZm8EbmFtZQQIZGVjaW1hbHMIBQRpbmZvCGRlY2ltYWxzBAtUeG5fQ291bnRlcgQHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwILVHhuX0NvdW50ZXIDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAED05ld19UeG5fQ291bnRlcgkAZAIFC1R4bl9Db3VudGVyAAEEFFByZXZpb3VzX1NXUk1fU3VwcGx5BAckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzAgtTV1JNX1N1cHBseQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQRVG90YWxfU1dSTV9TdXBwbHkJAGQCBRRQcmV2aW91c19TV1JNX1N1cHBseQUPbmV3X3N3cm1fc3VwcGx5AwkBAiE9AggFAWkGY2FsbGVyBQlrZXlvd25lcjEJAAIBCQCsAgIJAKwCAgIlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkApQgBBQlrZXlvd25lcjECIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQAAAgUWdmFsaWRhdGVfUkREX0hhc2hfU2l6ZQcJAAIBAh1SREQgSGFzaCBMZW5ndGggaXMgbm90IHZhbGlkLgMJAAACBRd2YWxpZGF0ZV9TV1JNX0hhc2hfU2l6ZQcJAAIBAh1SREQgSGFzaCBMZW5ndGggaXMgbm90IHZhbGlkLgMJAQIhPQIJAQtnZXRTdHJCeUtleQEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFClJERF9UeG5fSUQCAV8FC1NXUk1fVHhuX0lEAgFfBQdhZGRyZXNzAgFfCQCkAwEFC01pbnRfQW1vdW50BQROT05FCQACAQInVHJhbnNhY3Rpb24gQWxyZWFkeSBFeGlzdHMgaW4gRGF0YWJhc2UuCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgtTV1JNX1N1cHBseQURVG90YWxfU1dSTV9TdXBwbHkJAMwIAgkBB1JlaXNzdWUDCQDZBAEFDFNXUk1fQXNzZXRJRAULTWludF9BbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB2FkZHJlc3MFC01pbnRfQW1vdW50CQDZBAEFDFNXUk1fQXNzZXRJRAkAzAgCCQEMSW50ZWdlckVudHJ5AgILVHhuX0NvdW50ZXIFD05ld19UeG5fQ291bnRlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICBQpSRERfVHhuX0lEAgFfBQtTV1JNX1R4bl9JRAIBXwUHYWRkcmVzcwIBXwkApAMBBQtNaW50X0Ftb3VudAkApAMBBQ9OZXdfVHhuX0NvdW50ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgIHbWVzc2FnZQUMbWludF9tZXNzYWdlBQNuaWwBaQEGRGVsZXRlAwNLZXkES2V5MQRLZXkyCQDMCAIJAQtEZWxldGVFbnRyeQEFA0tleQkAzAgCCQELRGVsZXRlRW50cnkBBQRLZXkxCQDMCAIJAQtEZWxldGVFbnRyeQEFBEtleTIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkbMWP4", "height": 3238261, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2vfX6a8K8XcqZFnNtivE8iVvgL5MKgXRX3u9MxRgCNK3 Next: EQKvBahQCyfekeLVZio2CCp5a3t6FADF6eyE8BYFVtQk Diff:
Old | New | Differences | |
---|---|---|---|
31 | 31 | ||
32 | 32 | @Callable(i) | |
33 | 33 | func Mint_SWRM (Mint_Amount,RDD_Txn_ID,SWRM_Txn_ID,address) = { | |
34 | + | let new_swrm_supply = fraction(Mint_Amount, 1, 10000) | |
34 | 35 | let validate_RDD_Hash_Size = if ((size(RDD_Txn_ID) == 64)) | |
35 | 36 | then true | |
36 | 37 | else false | |
48 | 49 | 0 | |
49 | 50 | } | |
50 | 51 | let New_Txn_Counter = (Txn_Counter + 1) | |
52 | + | let Previous_SWRM_Supply = match getIntegerValue(this, "SWRM_Supply") { | |
53 | + | case a: Int => | |
54 | + | a | |
55 | + | case _ => | |
56 | + | 0 | |
57 | + | } | |
58 | + | let Total_SWRM_Supply = (Previous_SWRM_Supply + new_swrm_supply) | |
51 | 59 | if ((i.caller != keyowner1)) | |
52 | 60 | then throw((("This Address is not Authorized. Only " + toString(keyowner1)) + " is Authorized Address to Sign it.")) | |
53 | 61 | else if ((validate_RDD_Hash_Size == false)) | |
56 | 64 | then throw("RDD Hash Length is not valid.") | |
57 | 65 | else if ((getStrByKey(((((((RDD_Txn_ID + "_") + SWRM_Txn_ID) + "_") + address) + "_") + toString(Mint_Amount))) != NONE)) | |
58 | 66 | then throw("Transaction Already Exists in Database.") | |
59 | - | else [Reissue(fromBase58String(SWRM_AssetID), Mint_Amount, true), ScriptTransfer(addressFromStringValue(address), Mint_Amount, fromBase58String(SWRM_AssetID)), IntegerEntry("Txn_Counter", New_Txn_Counter), StringEntry(((((((RDD_Txn_ID + "_") + SWRM_Txn_ID) + "_") + address) + "_") + toString(Mint_Amount)), toString(New_Txn_Counter)), StringEntry("message", mint_message)] | |
67 | + | else [IntegerEntry("SWRM_Supply", Total_SWRM_Supply), Reissue(fromBase58String(SWRM_AssetID), Mint_Amount, true), ScriptTransfer(addressFromStringValue(address), Mint_Amount, fromBase58String(SWRM_AssetID)), IntegerEntry("Txn_Counter", New_Txn_Counter), StringEntry(((((((RDD_Txn_ID + "_") + SWRM_Txn_ID) + "_") + address) + "_") + toString(Mint_Amount)), toString(New_Txn_Counter)), StringEntry("message", mint_message)] | |
60 | 68 | } | |
61 | 69 | ||
62 | 70 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let NONE = "none" | |
5 | 5 | ||
6 | 6 | let keyowner1 = addressFromPublicKey(base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr') | |
7 | 7 | ||
8 | 8 | let mint_message = "Thanks to Using SWRM Minting Services." | |
9 | 9 | ||
10 | 10 | func getStrByKey (key) = { | |
11 | 11 | let str = match getString(this, key) { | |
12 | 12 | case a: String => | |
13 | 13 | a | |
14 | 14 | case _ => | |
15 | 15 | NONE | |
16 | 16 | } | |
17 | 17 | str | |
18 | 18 | } | |
19 | 19 | ||
20 | 20 | ||
21 | 21 | @Callable(i) | |
22 | 22 | func Issue_SWRM () = { | |
23 | 23 | let asset = Issue("SWRM", "SWRM is a decentralized approach to building and utilizing the Reddcoin Blockchain Technology where SWRM works on a reserve system of RDD as layer solution on RDD Network to mint and Burn SWRM along with proof on both side of network. An independent project or Token having no direct partnership relation or development connection with Reddcoin Core Team outside the use of the RDD currency for transactions.", 1, 6, true) | |
24 | 24 | let assetId = calculateAssetId(asset) | |
25 | 25 | if ((i.caller != keyowner1)) | |
26 | 26 | then throw((("This Address is not Authorized. Only " + toString(keyowner1)) + " is Authorized Address to Sign it.")) | |
27 | 27 | else [asset, Burn(assetId, 1), StringEntry("SWRM_Asset_ID", toBase58String(assetId))] | |
28 | 28 | } | |
29 | 29 | ||
30 | 30 | ||
31 | 31 | ||
32 | 32 | @Callable(i) | |
33 | 33 | func Mint_SWRM (Mint_Amount,RDD_Txn_ID,SWRM_Txn_ID,address) = { | |
34 | + | let new_swrm_supply = fraction(Mint_Amount, 1, 10000) | |
34 | 35 | let validate_RDD_Hash_Size = if ((size(RDD_Txn_ID) == 64)) | |
35 | 36 | then true | |
36 | 37 | else false | |
37 | 38 | let validate_SWRM_Hash_Size = if ((size(SWRM_Txn_ID) == 64)) | |
38 | 39 | then true | |
39 | 40 | else false | |
40 | 41 | let SWRM_AssetID = getStringValue("SWRM_Asset_ID") | |
41 | 42 | let info = valueOrErrorMessage(assetInfo(fromBase58String(SWRM_AssetID)), (("Asset " + SWRM_AssetID) + " doesn't exist")) | |
42 | 43 | let name = info.name | |
43 | 44 | let decimals = info.decimals | |
44 | 45 | let Txn_Counter = match getIntegerValue(this, "Txn_Counter") { | |
45 | 46 | case a: Int => | |
46 | 47 | a | |
47 | 48 | case _ => | |
48 | 49 | 0 | |
49 | 50 | } | |
50 | 51 | let New_Txn_Counter = (Txn_Counter + 1) | |
52 | + | let Previous_SWRM_Supply = match getIntegerValue(this, "SWRM_Supply") { | |
53 | + | case a: Int => | |
54 | + | a | |
55 | + | case _ => | |
56 | + | 0 | |
57 | + | } | |
58 | + | let Total_SWRM_Supply = (Previous_SWRM_Supply + new_swrm_supply) | |
51 | 59 | if ((i.caller != keyowner1)) | |
52 | 60 | then throw((("This Address is not Authorized. Only " + toString(keyowner1)) + " is Authorized Address to Sign it.")) | |
53 | 61 | else if ((validate_RDD_Hash_Size == false)) | |
54 | 62 | then throw("RDD Hash Length is not valid.") | |
55 | 63 | else if ((validate_SWRM_Hash_Size == false)) | |
56 | 64 | then throw("RDD Hash Length is not valid.") | |
57 | 65 | else if ((getStrByKey(((((((RDD_Txn_ID + "_") + SWRM_Txn_ID) + "_") + address) + "_") + toString(Mint_Amount))) != NONE)) | |
58 | 66 | then throw("Transaction Already Exists in Database.") | |
59 | - | else [Reissue(fromBase58String(SWRM_AssetID), Mint_Amount, true), ScriptTransfer(addressFromStringValue(address), Mint_Amount, fromBase58String(SWRM_AssetID)), IntegerEntry("Txn_Counter", New_Txn_Counter), StringEntry(((((((RDD_Txn_ID + "_") + SWRM_Txn_ID) + "_") + address) + "_") + toString(Mint_Amount)), toString(New_Txn_Counter)), StringEntry("message", mint_message)] | |
67 | + | else [IntegerEntry("SWRM_Supply", Total_SWRM_Supply), Reissue(fromBase58String(SWRM_AssetID), Mint_Amount, true), ScriptTransfer(addressFromStringValue(address), Mint_Amount, fromBase58String(SWRM_AssetID)), IntegerEntry("Txn_Counter", New_Txn_Counter), StringEntry(((((((RDD_Txn_ID + "_") + SWRM_Txn_ID) + "_") + address) + "_") + toString(Mint_Amount)), toString(New_Txn_Counter)), StringEntry("message", mint_message)] | |
60 | 68 | } | |
61 | 69 | ||
62 | 70 | ||
63 | 71 | ||
64 | 72 | @Callable(i) | |
65 | 73 | func Delete (Key,Key1,Key2) = [DeleteEntry(Key), DeleteEntry(Key1), DeleteEntry(Key2)] | |
66 | 74 | ||
67 | 75 | ||
68 | 76 | @Verifier(tx) | |
69 | 77 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
70 | 78 |
github/deemru/w8io/026f985 21.17 ms ◑