tx · GDacafw1jT8v461WPFqHuqXsqLLYGjxswE3NuhpYjFT4 3N8iygiXd1v34PPaMSQb34SSrBwGxT2DpGK: -0.01400000 Waves 2022.08.14 21:12 [2184484] smart account 3N8iygiXd1v34PPaMSQb34SSrBwGxT2DpGK > SELF 0.00000000 Waves
{ "type": 13, "id": "GDacafw1jT8v461WPFqHuqXsqLLYGjxswE3NuhpYjFT4", "fee": 1400000, "feeAssetId": null, "timestamp": 1660500804128, "version": 2, "chainId": 84, "sender": "3N8iygiXd1v34PPaMSQb34SSrBwGxT2DpGK", "senderPublicKey": "FshLkkgzcLs6iQJ1Z8Nnfhm494tC8xZQczf9iXpZep3Y", "proofs": [ "3Lzm7xxSE6EQG2jvBw75v41SmFhnup78v4TnmUToyZgX8SvNTKgcuZExS8vv4bc2XRzvRWTBAxjayRP2s6K1qged" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAAFAAAAAApCVENBc3NldElEAQAAACD0NPJEoKaVcLA62QAal819hhYdQl83FUDxF7HRh6LUlwAAAAALU0FUU0Fzc2V0SUQBAAAAIIQVHLyAa6peOQxN4R+aXTT73bjvUy7OZLsC9igQULD7AAAAABNJc3N1ZWZzVE5GZWVBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABAQAAACBSg9mgi9eQkjsz5eBARHIbc7Hg/F4fmB0sxZ6ySMfiIAAAAAAEdHhucwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAlUb3RhbHR4bnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAAAAAAJdG90YWx0eG5zCQAAZAAAAAIFAAAABHR4bnMAAAAAAAAAAAEAAAACAAAAAWkBAAAACUlzc3VlU0FUUwAAAAAEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAjTm8gUGF5bWVudHMgQXR0YWNoZWQgUGxlYXNlIEF0dGFjaCAJAAJYAAAAAQUAAAAKQlRDQXNzZXRJRAIAAAAMIEFzc2V0IE9ubHkuBAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADFByaWNlUGVyU0FUUwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAIU0FUUy9CVEMEAAAADlNBVFNDdXJyZW50Q2FwCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAA5TQVRTQ3VycmVudENhcAQAAAANTmV3U0FUU1RvVXNlcgkAAGsAAAADAAAAAAAAAYagCAUAAAADcG10AAAABmFtb3VudAUAAAAMUHJpY2VQZXJTQVRTBAAAABJQcmV2aW91c0lzc3VlZFNBVFMJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0lzc3VlZF9TQVRTOgQAAAAPVG90YWxJc3N1ZWRTQVRTCQAAZAAAAAIFAAAAElByZXZpb3VzSXNzdWVkU0FUUwUAAAANTmV3U0FUU1RvVXNlcgQAAAAOUGVuZGluZ01pbnRpbmcJAABlAAAAAgUAAAAOU0FUU0N1cnJlbnRDYXAFAAAAD1RvdGFsSXNzdWVkU0FUUwQAAAAYUHJldmlvdXNTQVRTUmVzZXJ2ZVZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABpUb3RhbF9TQVRTX1Jlc2VydmVfSW5fQlRDOgQAAAADZmVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE1RvdGFsX0ZlZV9Db2xsZWN0ZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALRmVlc0NoYXJnZWQAAAAAAAAAAAEEAAAAEFNBVFNSZXNlcnZlVmFsdWUJAABkAAAAAgUAAAAYUHJldmlvdXNTQVRTUmVzZXJ2ZVZhbHVlCAUAAAADcG10AAAABmFtb3VudAQAAAAXUHJldmlvdXNTQVRTQmFja3VwUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAGVNBVFNfQmFja3VwX1ZhbHVlX0luX0JUQzoEAAAAD1NBVFNCYWNrdXBQcmljZQkAAGsAAAADAAAAAAAAAYagBQAAABBTQVRTUmVzZXJ2ZVZhbHVlBQAAAA9Ub3RhbElzc3VlZFNBVFMDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAACkJUQ0Fzc2V0SUQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAMEluY29ycmVjdCBhc3NldCBhdHRhY2hlZCwgcGxlYXNlIGF0dGFjaCBbQlRDXSAtIAkAAlgAAAABBQAAAApCVENBc3NldElEAgAAAAYgb25seS4DCQAAZgAAAAIAAAAAAAAAE4gIBQAAAANwbXQAAAAGYW1vdW50CQAAAgAAAAECAAAAOVBsZWFzZSBBdHRhY2ggbWluaW11bSA1MDAwIFNhdG9zaGkncyBUbyBJc3N1ZSBTQVRTIEFzc2V0LgMJAABmAAAAAgUAAAAPVG90YWxJc3N1ZWRTQVRTBQAAAA5TQVRTQ3VycmVudENhcAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACpTQVRTIE1pbnRpbmcgaXMgYWJvdXQgdG8gcmVhY2ggdGhlIENhcCBvZiAJAAGkAAAAAQUAAAAOU0FUU0N1cnJlbnRDYXACAAAAMC8xMF42IFNBVFMuIFBsZWFzZSBSZWR1Y2UgeW91ciBNaW50aW5nIE9yZGVyIGJ5IAkAAaQAAAABBQAAAA5QZW5kaW5nTWludGluZwIAAAAIIG9yIHB1dCAJAAGkAAAAAQkAAGUAAAACBQAAAA5TQVRTQ3VycmVudENhcAUAAAASUHJldmlvdXNJc3N1ZWRTQVRTAgAAAAUvMTBeNgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfSXNzdWVkX1NBVFM6BQAAAA9Ub3RhbElzc3VlZFNBVFMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFUJhbGFuY2VfTWludGluZ19TQVRTOgUAAAAOUGVuZGluZ01pbnRpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlRvdGFsX1NBVFNfUmVzZXJ2ZV9Jbl9CVEM6BQAAABBTQVRTUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABlTQVRTX0JhY2t1cF9WYWx1ZV9Jbl9CVEM6BQAAAA9TQVRTQmFja3VwUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAE1RvdGFsX0ZlZV9Db2xsZWN0ZWQFAAAAC0ZlZXNDaGFyZ2VkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlUb3RhbHR4bnMFAAAACXRvdGFsdHhucwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAdtZXNzYWdlAgAAACY8aDE+U0FUUyBJc3N1ZWQgU3VjY2Vzc2Z1bGx5ITwvaDE+PGJyPgkABEwAAAACCQEAAAAHUmVpc3N1ZQAAAAMFAAAAC1NBVFNBc3NldElEBQAAAA1OZXdTQVRTVG9Vc2VyBgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAABlAAAAAgUAAAANTmV3U0FUU1RvVXNlcgUAAAALRmVlc0NoYXJnZWQFAAAAC1NBVFNBc3NldElECQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAE0lzc3VlZnNUTkZlZUFkZHJlc3MFAAAAC0ZlZXNDaGFyZ2VkBQAAAAtTQVRTQXNzZXRJRAUAAAADbmlsAAAAAWkBAAAACUxpcXVpZGF0ZQAAAAAEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAElByZXZpb3VzSXNzdWVkU0FUUwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAASVG90YWxfSXNzdWVkX1NBVFM6BAAAABJQcmV2aW91c0J1cm5lZFNBVFMJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAElRvdGFsX0J1cm5lZF9TQVRTOgQAAAAOU0FUU0N1cnJlbnRDYXAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADlNBVFNDdXJyZW50Q2FwBAAAAA9Ub3RhbElzc3VlZFNBVFMJAABlAAAAAgUAAAASUHJldmlvdXNJc3N1ZWRTQVRTCAUAAAADcG10AAAABmFtb3VudAQAAAAPVG90YWxCdXJuZWRTQVRTCQAAZAAAAAIFAAAAElByZXZpb3VzQnVybmVkU0FUUwgFAAAAA3BtdAAAAAZhbW91bnQEAAAADlBlbmRpbmdNaW50aW5nCQAAZQAAAAIFAAAADlNBVFNDdXJyZW50Q2FwBQAAAA9Ub3RhbElzc3VlZFNBVFMEAAAAGFByZXZpb3VzU0FUU1Jlc2VydmVWYWx1ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAaVG90YWxfU0FUU19SZXNlcnZlX0luX0JUQzoEAAAAF1ByZXZpb3VzU0FUU0JhY2t1cFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABlTQVRTX0JhY2t1cF9WYWx1ZV9Jbl9CVEM6BAAAABJjYWxjdWxhdGVidXJudmFsdWUJAABrAAAAAwUAAAAXUHJldmlvdXNTQVRTQmFja3VwUHJpY2UIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAYagBAAAABBTQVRTUmVzZXJ2ZVZhbHVlCQAAZQAAAAIFAAAAGFByZXZpb3VzU0FUU1Jlc2VydmVWYWx1ZQUAAAASY2FsY3VsYXRlYnVybnZhbHVlBAAAAA9TQVRTQmFja3VwUHJpY2UJAABrAAAAAwAAAAAAAAGGoAUAAAAQU0FUU1Jlc2VydmVWYWx1ZQUAAAAPVG90YWxJc3N1ZWRTQVRTAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtTQVRTQXNzZXRJRAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAUS2luZGx5IERlcG9zaXQgT25seSAJAAJYAAAAAQUAAAALU0FUU0Fzc2V0SUQCAAAACCBbU0FUU10uAwkAAGYAAAACAAAAAAAAABOICAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABAgAAAC1BdHRhY2ggQW1vdW50IG11c3QgYmUgZ3JlYXRlciB0aGFuIDUwMDAgU0FUUy4JAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAtTQVRTQXNzZXRJRAgFAAAAA3BtdAAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACVRvdGFsdHhucwUAAAAJdG90YWx0eG5zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJUb3RhbF9Jc3N1ZWRfU0FUUzoFAAAAD1RvdGFsSXNzdWVkU0FUUwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASVG90YWxfQnVybmVkX1NBVFM6BQAAAA9Ub3RhbEJ1cm5lZFNBVFMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFUJhbGFuY2VfTWludGluZ19TQVRTOgUAAAAOUGVuZGluZ01pbnRpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlRvdGFsX1NBVFNfUmVzZXJ2ZV9Jbl9CVEM6BQAAABBTQVRTUmVzZXJ2ZVZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABlTQVRTX0JhY2t1cF9WYWx1ZV9Jbl9CVEM6BQAAAA9TQVRTQmFja3VwUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAqPGgxPlNBVFMgTGlxdWlkYXRlZCBTdWNjZXNzZnVsbHkhPC9oMT48YnI+CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAASY2FsY3VsYXRlYnVybnZhbHVlBQAAAApCVENBc3NldElEBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnS/61D", "height": 2184484, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EfgMatcnFzGMj47jtPVjXpEEfpb4a7HktmKR3u83MPkc Next: AZhmoNxE9TMdLnQfrqgiGfBc73Rn29KeiX8Lx3ZVCvwJ Diff:
Old | New | Differences | |
---|---|---|---|
21 | 21 | ||
22 | 22 | @Callable(h) | |
23 | 23 | func IssueSATS () = { | |
24 | - | let i = value(h.payments[0]) | |
24 | + | let i = if ((size(h.payments) == 1)) | |
25 | + | then h.payments[0] | |
26 | + | else throw((("No Payments Attached Please Attach " + toBase58String(a)) + " Asset Only.")) | |
25 | 27 | let j = toBase58String(h.caller.bytes) | |
26 | 28 | let k = getIntegerValue(this, "SATS/BTC") | |
27 | 29 | let l = getIntegerValue(this, "SATSCurrentCap") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'HSHJecCLGF7DEPA23dJe6WwroaLeDnik5eptjxEJYvwY' | |
5 | 5 | ||
6 | 6 | let b = base58'9tbVJFXNxWGtZefTnuH9yojcYEPHwXGxhDvY4UK4qf2z' | |
7 | 7 | ||
8 | 8 | let c = addressFromPublicKey(base58'6Z73KxcX3sugpiStpSRXxKxTmWqCaLVwFeM6kwyiKVDR') | |
9 | 9 | ||
10 | 10 | let d = { | |
11 | 11 | let e = getInteger(this, "Totaltxns") | |
12 | 12 | if ($isInstanceOf(e, "Int")) | |
13 | 13 | then { | |
14 | 14 | let f = e | |
15 | 15 | f | |
16 | 16 | } | |
17 | 17 | else 0 | |
18 | 18 | } | |
19 | 19 | ||
20 | 20 | let g = (d + 1) | |
21 | 21 | ||
22 | 22 | @Callable(h) | |
23 | 23 | func IssueSATS () = { | |
24 | - | let i = value(h.payments[0]) | |
24 | + | let i = if ((size(h.payments) == 1)) | |
25 | + | then h.payments[0] | |
26 | + | else throw((("No Payments Attached Please Attach " + toBase58String(a)) + " Asset Only.")) | |
25 | 27 | let j = toBase58String(h.caller.bytes) | |
26 | 28 | let k = getIntegerValue(this, "SATS/BTC") | |
27 | 29 | let l = getIntegerValue(this, "SATSCurrentCap") | |
28 | 30 | let m = fraction(100000, i.amount, k) | |
29 | 31 | let n = getIntegerValue(this, "Total_Issued_SATS:") | |
30 | 32 | let o = (n + m) | |
31 | 33 | let p = (l - o) | |
32 | 34 | let q = getIntegerValue(this, "Total_SATS_Reserve_In_BTC:") | |
33 | 35 | let r = { | |
34 | 36 | let e = getInteger(this, "Total_Fee_Collected") | |
35 | 37 | if ($isInstanceOf(e, "Int")) | |
36 | 38 | then { | |
37 | 39 | let f = e | |
38 | 40 | f | |
39 | 41 | } | |
40 | 42 | else 0 | |
41 | 43 | } | |
42 | 44 | let s = 1 | |
43 | 45 | let t = (q + i.amount) | |
44 | 46 | let u = getIntegerValue(this, "SATS_Backup_Value_In_BTC:") | |
45 | 47 | let v = fraction(100000, t, o) | |
46 | 48 | if ((i.assetId != a)) | |
47 | 49 | then throw((("Incorrect asset attached, please attach [BTC] - " + toBase58String(a)) + " only.")) | |
48 | 50 | else if ((5000 > i.amount)) | |
49 | 51 | then throw("Please Attach minimum 5000 Satoshi's To Issue SATS Asset.") | |
50 | 52 | else if ((o > l)) | |
51 | 53 | then throw((((((("SATS Minting is about to reach the Cap of " + toString(l)) + "/10^6 SATS. Please Reduce your Minting Order by ") + toString(p)) + " or put ") + toString((l - n))) + "/10^6")) | |
52 | 54 | else [IntegerEntry("Total_Issued_SATS:", o), IntegerEntry("Balance_Minting_SATS:", p), IntegerEntry("Total_SATS_Reserve_In_BTC:", t), IntegerEntry("SATS_Backup_Value_In_BTC:", v), IntegerEntry("Total_Fee_Collected", s), IntegerEntry("Totaltxns", g), StringEntry("message", "<h1>SATS Issued Successfully!</h1><br>"), Reissue(b, m, true), ScriptTransfer(h.caller, (m - s), b), ScriptTransfer(c, s, b)] | |
53 | 55 | } | |
54 | 56 | ||
55 | 57 | ||
56 | 58 | ||
57 | 59 | @Callable(h) | |
58 | 60 | func Liquidate () = { | |
59 | 61 | let j = toBase58String(h.callerPublicKey) | |
60 | 62 | let i = value(h.payments[0]) | |
61 | 63 | let n = getIntegerValue(this, "Total_Issued_SATS:") | |
62 | 64 | let w = getIntegerValue(this, "Total_Burned_SATS:") | |
63 | 65 | let l = getIntegerValue(this, "SATSCurrentCap") | |
64 | 66 | let o = (n - i.amount) | |
65 | 67 | let x = (w + i.amount) | |
66 | 68 | let p = (l - o) | |
67 | 69 | let q = getIntegerValue(this, "Total_SATS_Reserve_In_BTC:") | |
68 | 70 | let u = getIntegerValue(this, "SATS_Backup_Value_In_BTC:") | |
69 | 71 | let y = fraction(u, i.amount, 100000) | |
70 | 72 | let t = (q - y) | |
71 | 73 | let v = fraction(100000, t, o) | |
72 | 74 | if ((i.assetId != b)) | |
73 | 75 | then throw((("Kindly Deposit Only " + toBase58String(b)) + " [SATS].")) | |
74 | 76 | else if ((5000 > i.amount)) | |
75 | 77 | then throw("Attach Amount must be greater than 5000 SATS.") | |
76 | 78 | else [Burn(b, i.amount), IntegerEntry("Totaltxns", g), IntegerEntry("Total_Issued_SATS:", o), IntegerEntry("Total_Burned_SATS:", x), IntegerEntry("Balance_Minting_SATS:", p), IntegerEntry("Total_SATS_Reserve_In_BTC:", t), IntegerEntry("SATS_Backup_Value_In_BTC:", v), StringEntry("message", "<h1>SATS Liquidated Successfully!</h1><br>"), ScriptTransfer(h.caller, y, a)] | |
77 | 79 | } | |
78 | 80 | ||
79 | 81 | ||
80 | 82 | @Verifier(z) | |
81 | 83 | func A () = { | |
82 | 84 | let e = z | |
83 | 85 | sigVerify(z.bodyBytes, z.proofs[0], z.senderPublicKey) | |
84 | 86 | } | |
85 | 87 |
github/deemru/w8io/169f3d6 29.43 ms ◑![]()