tx · 4Doutqf7VaAP9psavSJ8z9s4b5ndrQwib2ViANC9Zs8o 3N6wPxvtZqewp7wxSgKnvxyTRbdpPYgcZUz: -0.01400000 Waves 2023.01.29 00:19 [2425348] smart account 3N6wPxvtZqewp7wxSgKnvxyTRbdpPYgcZUz > SELF 0.00000000 Waves
{ "type": 13, "id": "4Doutqf7VaAP9psavSJ8z9s4b5ndrQwib2ViANC9Zs8o", "fee": 1400000, "feeAssetId": null, "timestamp": 1674940801897, "version": 2, "chainId": 84, "sender": "3N6wPxvtZqewp7wxSgKnvxyTRbdpPYgcZUz", "senderPublicKey": "9jKM8wCUwLNG8wVvpR7mWRUKeNLCeQwmHRKs7rNt9uV3", "proofs": [ "2G3Sa9avEu2oSChXBfxJNdMBZ9Pz2Xyp3bXrtch9CH47Bp4CY6c2VrcAdBu8YqpEQtFqz9ceJCejiHGURFPkF3vc" ], "script": "base64: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pAAAAAEFAAAADlBlbmRpbmdNaW50aW5nAgAAAAggb3IgcHV0IAkAAaQAAAABCQAAZQAAAAIFAAAADmZzVE5DdXJyZW50Q2FwBQAAABJQcmV2aW91c0lzc3VlZGZzVE4CAAAABS8xMF44CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfZnNUTjoFAAAAD1RvdGFsSXNzdWVkZnNUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQmFsYW5jZV9NaW50aW5nX2ZzVE46BQAAAA5QZW5kaW5nTWludGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAZVG90YWxfZnNUTl9SZXNlcnZlX0luX1ROOgUAAAAQZnNUTlJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYZnNUTl9CYWNrdXBfVmFsdWVfSW5fVE46BQAAAA9mc1ROQmFja3VwUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0ZlZV9Db2xsZWN0ZWQFAAAAC0ZlZXNDaGFyZ2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlUb3RhbHR4bnMFAAAACXRvdGFsdHhucwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACY8aDE+ZnNUTiBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC2ZzVE5Bc3NldElEBQAAAA1OZXdmc1ROVG9Vc2VyBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgUAAAANTmV3ZnNUTlRvVXNlcgUAAAALRmVlc0NoYXJnZWQFAAAAC2ZzVE5Bc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAE0lzc3VlZnNUTkZlZUFkZHJlc3MFAAAAC0ZlZXNDaGFyZ2VkBQAAAAtmc1ROQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAACUxpcXVpZGF0ZQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAElByZXZpb3VzSXNzdWVkZnNUTgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfSXNzdWVkX2ZzVE46BAAAABJQcmV2aW91c0J1cm5lZGZzVE4JAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0J1cm5lZF9mc1ROOgQAAAAOZnNUTkN1cnJlbnRDYXAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADmZzVE5DdXJyZW50Q2FwBAAAAA9Ub3RhbElzc3VlZGZzVE4JAABlAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRmc1ROCAUAAAADcG10AAAABmFtb3VudAQAAAAPVG90YWxCdXJuZWRmc1ROCQAAZAAAAAIFAAAAElByZXZpb3VzQnVybmVkZnNUTggFAAAAA3BtdAAAAAZhbW91bnQEAAAADlBlbmRpbmdNaW50aW5nCQAAZQAAAAIFAAAADmZzVE5DdXJyZW50Q2FwBQAAAA9Ub3RhbElzc3VlZGZzVE4EAAAAGFByZXZpb3VzZnNUTlJlc2VydmVWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAZVG90YWxfZnNUTl9SZXNlcnZlX0luX1ROOgQAAAAXUHJldmlvdXNmc1ROQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGGZzVE5fQmFja3VwX1ZhbHVlX0luX1ROOgQAAAASY2FsY3VsYXRlYnVybnZhbHVlCQAAawAAAAMFAAAAF1ByZXZpb3VzZnNUTkJhY2t1cFByaWNlCAUAAAADcG10AAAABmFtb3VudAAAAAAAAAGGoAQAAAAQZnNUTlJlc2VydmVWYWx1ZQkAAGUAAAACBQAAABhQcmV2aW91c2ZzVE5SZXNlcnZlVmFsdWUFAAAAEmNhbGN1bGF0ZWJ1cm52YWx1ZQQAAAAPZnNUTkJhY2t1cFByaWNlCQAAawAAAAMAAAAAAAABhqAFAAAAEGZzVE5SZXNlcnZlVmFsdWUFAAAAD1RvdGFsSXNzdWVkZnNUTgMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALZnNUTkFzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAFEtpbmRseSBEZXBvc2l0IE9ubHkgCQACWAAAAAEFAAAAC2ZzVE5Bc3NldElEAgAAAAggKGZzVE4pLgMJAABmAAAAAgAAAAAAAAGGoAgFAAAAA3BtdAAAAAZhbW91bnQJAAACAAAAAQIAAAAuQXR0YWNoIEFtb3VudCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLjAwMSBmc1ROLgkABEwAAAACCQEAAAAEQnVybgAAAAIFAAAAC2ZzVE5Bc3NldElECAUAAAADcG10AAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAJVG90YWx0eG5zBQAAAAl0b3RhbHR4bnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAElRvdGFsX0lzc3VlZF9mc1ROOgUAAAAPVG90YWxJc3N1ZWRmc1ROCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9CdXJuZWRfZnNUTjoFAAAAD1RvdGFsQnVybmVkZnNUTgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQmFsYW5jZV9NaW50aW5nX2ZzVE46BQAAAA5QZW5kaW5nTWludGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAZVG90YWxfZnNUTl9SZXNlcnZlX0luX1ROOgUAAAAQZnNUTlJlc2VydmVWYWx1ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYZnNUTl9CYWNrdXBfVmFsdWVfSW5fVE46BQAAAA9mc1ROQmFja3VwUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAqPGgxPmZzVE4gTGlxdWlkYXRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAAR1bml0BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmplNoM", "height": 2425348, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EXiKuuK8HDtFcq9291Lnup8DURa6vCxmwgAqng4uY9E7 Next: 5z6QRwUFk732y6Bqf31eY7ZxHvJxHV7cd5hTML98zoVP Diff:
Old | New | Differences | |
---|---|---|---|
19 | 19 | ||
20 | 20 | @Callable(g) | |
21 | 21 | func IssuefsTN () = { | |
22 | - | let h = 1000000000 | |
23 | - | let i = 1100000000 | |
24 | - | let j = if ((size(g.payments) == 1)) | |
25 | - | then g.payments[0] | |
26 | - | else throw((toString((i / 100000000)) + " TN Token is required as Attached payment")) | |
27 | - | let k = toBase58String(g.caller.bytes) | |
28 | - | let l = getIntegerValue(this, "fsTN/TN") | |
29 | - | let m = getIntegerValue(this, "fsTNCurrentCap") | |
30 | - | let n = fraction(100000, j.amount, l) | |
31 | - | let o = { | |
32 | - | let d = getInteger(this, "Total_Issued_fsTN:") | |
33 | - | if ($isInstanceOf(d, "Int")) | |
34 | - | then { | |
35 | - | let e = d | |
36 | - | e | |
37 | - | } | |
38 | - | else 0 | |
39 | - | } | |
40 | - | let p = (o + n) | |
41 | - | let q = (m - p) | |
42 | - | let r = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
43 | - | let s = { | |
22 | + | let h = value(g.payments[0]) | |
23 | + | let i = toBase58String(g.caller.bytes) | |
24 | + | let j = getIntegerValue(this, "fsTN/TN") | |
25 | + | let k = getIntegerValue(this, "fsTNCurrentCap") | |
26 | + | let l = fraction(100000, h.amount, j) | |
27 | + | let m = getIntegerValue(this, "Total_Issued_fsTN:") | |
28 | + | let n = (m + l) | |
29 | + | let o = (k - n) | |
30 | + | let p = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
31 | + | let q = { | |
44 | 32 | let d = getInteger(this, "Total_Fee_Collected") | |
45 | 33 | if ($isInstanceOf(d, "Int")) | |
46 | 34 | then { | |
49 | 37 | } | |
50 | 38 | else 0 | |
51 | 39 | } | |
52 | - | let | |
53 | - | let | |
54 | - | let | |
55 | - | let | |
56 | - | if (isDefined( | |
40 | + | let r = 100000000 | |
41 | + | let s = (p + h.amount) | |
42 | + | let t = getIntegerValue(this, "fsTN_Backup_Value_In_TN:") | |
43 | + | let u = fraction(100000, s, n) | |
44 | + | if (isDefined(h.assetId)) | |
57 | 45 | then throw("Incorrect asset attached, please attach TN.") | |
58 | - | else if (( | |
59 | - | then throw("Please Attach minimum | |
60 | - | else if (( | |
61 | - | then throw((((((("fsTN Minting is about to reach the Cap of " + toString( | |
62 | - | else [IntegerEntry("Total_Issued_fsTN:", | |
46 | + | else if ((200000000 > h.amount)) | |
47 | + | then throw("Please Attach minimum 2 TN To Issue fsTN Asset.") | |
48 | + | else if ((n > k)) | |
49 | + | then throw((((((("fsTN Minting is about to reach the Cap of " + toString(k)) + "/10^8 fsTN. Please Reduce your Minting Order by ") + toString(o)) + " or put ") + toString((k - m))) + "/10^8")) | |
50 | + | else [IntegerEntry("Total_Issued_fsTN:", n), IntegerEntry("Balance_Minting_fsTN:", o), IntegerEntry("Total_fsTN_Reserve_In_TN:", s), IntegerEntry("fsTN_Backup_Value_In_TN:", u), IntegerEntry("Total_Fee_Collected", r), IntegerEntry("Totaltxns", f), StringEntry("message", "<h1>fsTN Issued Successfully!</h1><br>"), Reissue(a, l, true), ScriptTransfer(g.caller, (l - r), a), ScriptTransfer(b, r, a)] | |
63 | 51 | } | |
64 | 52 | ||
65 | 53 | ||
66 | 54 | ||
67 | 55 | @Callable(g) | |
68 | 56 | func Liquidate () = { | |
69 | - | let k = toBase58String(g.callerPublicKey) | |
70 | - | let x = 100000 | |
71 | - | let j = if ((size(g.payments) == 1)) | |
72 | - | then g.payments[0] | |
73 | - | else throw((toString(x) + "0.001 fsTN Token is required as Attached payment")) | |
74 | - | let o = getIntegerValue(this, "Total_Issued_fsTN:") | |
75 | - | let y = getIntegerValue(this, "Total_Burned_fsTN:") | |
76 | - | let m = getIntegerValue(this, "fsTNCurrentCap") | |
77 | - | let p = (o - j.amount) | |
78 | - | let z = (y + j.amount) | |
79 | - | let q = (m - p) | |
80 | - | let r = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
81 | - | let v = getIntegerValue(this, "fsTN_Backup_Value_In_TN:") | |
82 | - | let A = fraction(v, j.amount, 100000) | |
83 | - | let u = (r - A) | |
84 | - | let w = fraction(100000, u, p) | |
85 | - | if ((j.assetId != a)) | |
57 | + | let i = toBase58String(g.callerPublicKey) | |
58 | + | let h = value(g.payments[0]) | |
59 | + | let m = getIntegerValue(this, "Total_Issued_fsTN:") | |
60 | + | let v = getIntegerValue(this, "Total_Burned_fsTN:") | |
61 | + | let k = getIntegerValue(this, "fsTNCurrentCap") | |
62 | + | let n = (m - h.amount) | |
63 | + | let w = (v + h.amount) | |
64 | + | let o = (k - n) | |
65 | + | let p = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
66 | + | let t = getIntegerValue(this, "fsTN_Backup_Value_In_TN:") | |
67 | + | let x = fraction(t, h.amount, 100000) | |
68 | + | let s = (p - x) | |
69 | + | let u = fraction(100000, s, n) | |
70 | + | if ((h.assetId != a)) | |
86 | 71 | then throw((("Kindly Deposit Only " + toBase58String(a)) + " (fsTN).")) | |
87 | - | else if (( | |
72 | + | else if ((100000 > h.amount)) | |
88 | 73 | then throw("Attach Amount must be greater than 0.001 fsTN.") | |
89 | - | else [Burn(a, | |
74 | + | else [Burn(a, h.amount), IntegerEntry("Totaltxns", f), IntegerEntry("Total_Issued_fsTN:", n), IntegerEntry("Total_Burned_fsTN:", w), IntegerEntry("Balance_Minting_fsTN:", o), IntegerEntry("Total_fsTN_Reserve_In_TN:", s), IntegerEntry("fsTN_Backup_Value_In_TN:", u), StringEntry("message", "<h1>fsTN Liquidated Successfully!</h1><br>"), ScriptTransfer(g.caller, x, unit)] | |
90 | 75 | } | |
91 | 76 | ||
92 | 77 | ||
93 | - | @Verifier( | |
94 | - | func | |
95 | - | let d = | |
96 | - | sigVerify( | |
78 | + | @Verifier(y) | |
79 | + | func z () = { | |
80 | + | let d = y | |
81 | + | sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
97 | 82 | } | |
98 | 83 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'DYv8LXPqdm9N6xTdnfqrHzH9RMTnXLnfkYHffauHNc7o' | |
5 | 5 | ||
6 | 6 | let b = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR') | |
7 | 7 | ||
8 | 8 | let c = { | |
9 | 9 | let d = getInteger(this, "Totaltxns") | |
10 | 10 | if ($isInstanceOf(d, "Int")) | |
11 | 11 | then { | |
12 | 12 | let e = d | |
13 | 13 | e | |
14 | 14 | } | |
15 | 15 | else 0 | |
16 | 16 | } | |
17 | 17 | ||
18 | 18 | let f = (c + 1) | |
19 | 19 | ||
20 | 20 | @Callable(g) | |
21 | 21 | func IssuefsTN () = { | |
22 | - | let h = 1000000000 | |
23 | - | let i = 1100000000 | |
24 | - | let j = if ((size(g.payments) == 1)) | |
25 | - | then g.payments[0] | |
26 | - | else throw((toString((i / 100000000)) + " TN Token is required as Attached payment")) | |
27 | - | let k = toBase58String(g.caller.bytes) | |
28 | - | let l = getIntegerValue(this, "fsTN/TN") | |
29 | - | let m = getIntegerValue(this, "fsTNCurrentCap") | |
30 | - | let n = fraction(100000, j.amount, l) | |
31 | - | let o = { | |
32 | - | let d = getInteger(this, "Total_Issued_fsTN:") | |
33 | - | if ($isInstanceOf(d, "Int")) | |
34 | - | then { | |
35 | - | let e = d | |
36 | - | e | |
37 | - | } | |
38 | - | else 0 | |
39 | - | } | |
40 | - | let p = (o + n) | |
41 | - | let q = (m - p) | |
42 | - | let r = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
43 | - | let s = { | |
22 | + | let h = value(g.payments[0]) | |
23 | + | let i = toBase58String(g.caller.bytes) | |
24 | + | let j = getIntegerValue(this, "fsTN/TN") | |
25 | + | let k = getIntegerValue(this, "fsTNCurrentCap") | |
26 | + | let l = fraction(100000, h.amount, j) | |
27 | + | let m = getIntegerValue(this, "Total_Issued_fsTN:") | |
28 | + | let n = (m + l) | |
29 | + | let o = (k - n) | |
30 | + | let p = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
31 | + | let q = { | |
44 | 32 | let d = getInteger(this, "Total_Fee_Collected") | |
45 | 33 | if ($isInstanceOf(d, "Int")) | |
46 | 34 | then { | |
47 | 35 | let e = d | |
48 | 36 | e | |
49 | 37 | } | |
50 | 38 | else 0 | |
51 | 39 | } | |
52 | - | let | |
53 | - | let | |
54 | - | let | |
55 | - | let | |
56 | - | if (isDefined( | |
40 | + | let r = 100000000 | |
41 | + | let s = (p + h.amount) | |
42 | + | let t = getIntegerValue(this, "fsTN_Backup_Value_In_TN:") | |
43 | + | let u = fraction(100000, s, n) | |
44 | + | if (isDefined(h.assetId)) | |
57 | 45 | then throw("Incorrect asset attached, please attach TN.") | |
58 | - | else if (( | |
59 | - | then throw("Please Attach minimum | |
60 | - | else if (( | |
61 | - | then throw((((((("fsTN Minting is about to reach the Cap of " + toString( | |
62 | - | else [IntegerEntry("Total_Issued_fsTN:", | |
46 | + | else if ((200000000 > h.amount)) | |
47 | + | then throw("Please Attach minimum 2 TN To Issue fsTN Asset.") | |
48 | + | else if ((n > k)) | |
49 | + | then throw((((((("fsTN Minting is about to reach the Cap of " + toString(k)) + "/10^8 fsTN. Please Reduce your Minting Order by ") + toString(o)) + " or put ") + toString((k - m))) + "/10^8")) | |
50 | + | else [IntegerEntry("Total_Issued_fsTN:", n), IntegerEntry("Balance_Minting_fsTN:", o), IntegerEntry("Total_fsTN_Reserve_In_TN:", s), IntegerEntry("fsTN_Backup_Value_In_TN:", u), IntegerEntry("Total_Fee_Collected", r), IntegerEntry("Totaltxns", f), StringEntry("message", "<h1>fsTN Issued Successfully!</h1><br>"), Reissue(a, l, true), ScriptTransfer(g.caller, (l - r), a), ScriptTransfer(b, r, a)] | |
63 | 51 | } | |
64 | 52 | ||
65 | 53 | ||
66 | 54 | ||
67 | 55 | @Callable(g) | |
68 | 56 | func Liquidate () = { | |
69 | - | let k = toBase58String(g.callerPublicKey) | |
70 | - | let x = 100000 | |
71 | - | let j = if ((size(g.payments) == 1)) | |
72 | - | then g.payments[0] | |
73 | - | else throw((toString(x) + "0.001 fsTN Token is required as Attached payment")) | |
74 | - | let o = getIntegerValue(this, "Total_Issued_fsTN:") | |
75 | - | let y = getIntegerValue(this, "Total_Burned_fsTN:") | |
76 | - | let m = getIntegerValue(this, "fsTNCurrentCap") | |
77 | - | let p = (o - j.amount) | |
78 | - | let z = (y + j.amount) | |
79 | - | let q = (m - p) | |
80 | - | let r = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
81 | - | let v = getIntegerValue(this, "fsTN_Backup_Value_In_TN:") | |
82 | - | let A = fraction(v, j.amount, 100000) | |
83 | - | let u = (r - A) | |
84 | - | let w = fraction(100000, u, p) | |
85 | - | if ((j.assetId != a)) | |
57 | + | let i = toBase58String(g.callerPublicKey) | |
58 | + | let h = value(g.payments[0]) | |
59 | + | let m = getIntegerValue(this, "Total_Issued_fsTN:") | |
60 | + | let v = getIntegerValue(this, "Total_Burned_fsTN:") | |
61 | + | let k = getIntegerValue(this, "fsTNCurrentCap") | |
62 | + | let n = (m - h.amount) | |
63 | + | let w = (v + h.amount) | |
64 | + | let o = (k - n) | |
65 | + | let p = getIntegerValue(this, "Total_fsTN_Reserve_In_TN:") | |
66 | + | let t = getIntegerValue(this, "fsTN_Backup_Value_In_TN:") | |
67 | + | let x = fraction(t, h.amount, 100000) | |
68 | + | let s = (p - x) | |
69 | + | let u = fraction(100000, s, n) | |
70 | + | if ((h.assetId != a)) | |
86 | 71 | then throw((("Kindly Deposit Only " + toBase58String(a)) + " (fsTN).")) | |
87 | - | else if (( | |
72 | + | else if ((100000 > h.amount)) | |
88 | 73 | then throw("Attach Amount must be greater than 0.001 fsTN.") | |
89 | - | else [Burn(a, | |
74 | + | else [Burn(a, h.amount), IntegerEntry("Totaltxns", f), IntegerEntry("Total_Issued_fsTN:", n), IntegerEntry("Total_Burned_fsTN:", w), IntegerEntry("Balance_Minting_fsTN:", o), IntegerEntry("Total_fsTN_Reserve_In_TN:", s), IntegerEntry("fsTN_Backup_Value_In_TN:", u), StringEntry("message", "<h1>fsTN Liquidated Successfully!</h1><br>"), ScriptTransfer(g.caller, x, unit)] | |
90 | 75 | } | |
91 | 76 | ||
92 | 77 | ||
93 | - | @Verifier( | |
94 | - | func | |
95 | - | let d = | |
96 | - | sigVerify( | |
78 | + | @Verifier(y) | |
79 | + | func z () = { | |
80 | + | let d = y | |
81 | + | sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
97 | 82 | } | |
98 | 83 |
github/deemru/w8io/169f3d6 39.97 ms ◑![]()