tx · DrUkGvv6fMpLo3YWuF98DUi5VzzVQJcFS5xjkazRDuVm 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t: -0.01400000 Waves 2022.05.31 14:39 [2075791] smart account 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t > SELF 0.00000000 Waves
{ "type": 13, "id": "DrUkGvv6fMpLo3YWuF98DUi5VzzVQJcFS5xjkazRDuVm", "fee": 1400000, "feeAssetId": null, "timestamp": 1653997155606, "version": 2, "chainId": 84, "sender": "3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t", "senderPublicKey": "Cn7Ky2YAx4p6dx8e7Mcb9rTQ2Z5TD9MrRbLA8AXDsumJ", "proofs": [ "AwUVrPzV9sJSd8EvoKh7tzwkXy1JZeSATVavo9HY32f3ByFyaeMNUCX2bMLAVzVxP5tXhfrTqsSpFmLFeFDEAGJ" ], "script": "base64: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", "height": 2075791, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8z5o6pn2ijuZnqq5Y5NJMbqFu8ZjJC2EnpA64qaASbtn Next: 8dZ8ZGzh1U9jBvPQ9KycYu64wx5jvBTiQnD26cvDo1zJ Diff:
Old | New | Differences | |
---|---|---|---|
36 | 36 | } | |
37 | 37 | ||
38 | 38 | ||
39 | + | ||
40 | + | @Callable(d) | |
41 | + | func withdraw () = { | |
42 | + | let p = value(d.payments[0]) | |
43 | + | let q = p.amount | |
44 | + | let r = assetBalance(d.caller, b) | |
45 | + | if ((p.assetId != b)) | |
46 | + | then throw("sdasda") | |
47 | + | else if ((0 >= q)) | |
48 | + | then throw("Can't withdraw 0 or negative ammount") | |
49 | + | else if ((0 >= r)) | |
50 | + | then throw("Unsuficient account balance") | |
51 | + | else { | |
52 | + | let s = { | |
53 | + | let i = assetInfo(a) | |
54 | + | if ($isInstanceOf(i, "Asset")) | |
55 | + | then { | |
56 | + | let t = i | |
57 | + | t.quantity | |
58 | + | } | |
59 | + | else 0 | |
60 | + | } | |
61 | + | let u = fraction(assetBalance(this, a), 100000000, s) | |
62 | + | let v = fraction(u, q, 100000000) | |
63 | + | let w = Burn(b, v) | |
64 | + | let x = ScriptTransfer(d.caller, v, a) | |
65 | + | [w, x] | |
66 | + | } | |
67 | + | } | |
68 | + | ||
69 | + | ||
70 | + | @Verifier(y) | |
71 | + | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
72 | + |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'HJuQkYNhyjPcYGHxMLsmRq7bToqTc7uExWtJnVH5xSBm' | |
5 | 5 | ||
6 | 6 | let b = base58'2oTdBoVmVmzU1PT9yRuyfbVfmkvTFQoy7C8du6Lg9X3Z' | |
7 | 7 | ||
8 | 8 | let c = false | |
9 | 9 | ||
10 | 10 | @Callable(d) | |
11 | 11 | func stake () = { | |
12 | 12 | let e = value(d.payments[0]) | |
13 | 13 | let f = e.amount | |
14 | 14 | if ((e.assetId != a)) | |
15 | 15 | then throw("You can stake USDN only") | |
16 | 16 | else if (c) | |
17 | 17 | then throw("smart contract is on lock") | |
18 | 18 | else { | |
19 | 19 | let g = assetBalance(this, a) | |
20 | 20 | let h = { | |
21 | 21 | let i = assetInfo(b) | |
22 | 22 | if ($isInstanceOf(i, "Asset")) | |
23 | 23 | then { | |
24 | 24 | let j = i | |
25 | 25 | j.quantity | |
26 | 26 | } | |
27 | 27 | else throw("Can't find asset") | |
28 | 28 | } | |
29 | 29 | let k = (g - f) | |
30 | 30 | let l = fraction(h, 100000000, k) | |
31 | 31 | let m = fraction(f, l, 100000000) | |
32 | 32 | let n = Reissue(b, m, true) | |
33 | 33 | let o = ScriptTransfer(d.caller, m, b) | |
34 | 34 | [n, o] | |
35 | 35 | } | |
36 | 36 | } | |
37 | 37 | ||
38 | 38 | ||
39 | + | ||
40 | + | @Callable(d) | |
41 | + | func withdraw () = { | |
42 | + | let p = value(d.payments[0]) | |
43 | + | let q = p.amount | |
44 | + | let r = assetBalance(d.caller, b) | |
45 | + | if ((p.assetId != b)) | |
46 | + | then throw("sdasda") | |
47 | + | else if ((0 >= q)) | |
48 | + | then throw("Can't withdraw 0 or negative ammount") | |
49 | + | else if ((0 >= r)) | |
50 | + | then throw("Unsuficient account balance") | |
51 | + | else { | |
52 | + | let s = { | |
53 | + | let i = assetInfo(a) | |
54 | + | if ($isInstanceOf(i, "Asset")) | |
55 | + | then { | |
56 | + | let t = i | |
57 | + | t.quantity | |
58 | + | } | |
59 | + | else 0 | |
60 | + | } | |
61 | + | let u = fraction(assetBalance(this, a), 100000000, s) | |
62 | + | let v = fraction(u, q, 100000000) | |
63 | + | let w = Burn(b, v) | |
64 | + | let x = ScriptTransfer(d.caller, v, a) | |
65 | + | [w, x] | |
66 | + | } | |
67 | + | } | |
68 | + | ||
69 | + | ||
70 | + | @Verifier(y) | |
71 | + | func z () = sigVerify(y.bodyBytes, y.proofs[0], y.senderPublicKey) | |
72 | + |
github/deemru/w8io/169f3d6 21.83 ms ◑![]()