tx · DySdbdf8wTxKfh6G6sqmAEKyqqbYverrtg5VnzG7jsnp 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t: -0.01400000 Waves 2022.05.31 12:53 [2075682] smart account 3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t > SELF 0.00000000 Waves
{ "type": 13, "id": "DySdbdf8wTxKfh6G6sqmAEKyqqbYverrtg5VnzG7jsnp", "fee": 1400000, "feeAssetId": null, "timestamp": 1653990856738, "version": 2, "chainId": 84, "sender": "3Mu3rHXsZEzEFRmstTmo2ibxjvaHNd4hU6t", "senderPublicKey": "Cn7Ky2YAx4p6dx8e7Mcb9rTQ2Z5TD9MrRbLA8AXDsumJ", "proofs": [ "3Hu1a3qsdTpvkybppcZHouV67eM3i3oLBSYApVvJuN6hpDT49QTfooziahwMx7rhB9mGiZhDMCdsEH1Yn1Qb1nPw" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAAAwAAAAACQkEBAAAAIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0AAAAAANUQ0kBAAAAIBrCggSy4VsJx+p89lkVxbB4UD+xy3ysy22f6+YftAucAAAAAAlpc1N0b3BwZWQHAAAAAQAAAAFpAQAAAAVzdGFrZQAAAAAEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAJcG10QW1vdW50CAUAAAADcG10AAAABmFtb3VudAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAACQkEJAAACAAAAAQIAAAAXWW91IGNhbiBzdGFrZSBVU0ROIG9ubHkDBQAAAAlpc1N0b3BwZWQJAAACAAAAAQIAAAAZc21hcnQgY29udHJhY3QgaXMgb24gbG9jawQAAAAKaW5UcmVhc3VyeQkAA/AAAAACBQAAAAR0aGlzBQAAAAJCQQQAAAALdG90YWxJc3N1ZWQEAAAAByRtYXRjaDAJAAPsAAAAAQUAAAADVENJAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAVBc3NldAQAAAAFYXNzZXQFAAAAByRtYXRjaDAIBQAAAAVhc3NldAAAAAhxdWFudGl0eQkAAAIAAAABAgAAABBDYW4ndCBmaW5kIGFzc2V0BAAAAAh0cmVhc3VyeQkAAGUAAAACBQAAAAppblRyZWFzdXJ5BQAAAAlwbXRBbW91bnQEAAAAEHNpbmdsZVRDSWluVmFsdWUJAABrAAAAAwUAAAALdG90YWxJc3N1ZWQAAAAAAAX14QAFAAAACHRyZWFzdXJ5BAAAAA1hbW91bnRUb0lzc3VlCQAAawAAAAMFAAAACXBtdEFtb3VudAUAAAAQc2luZ2xlVENJaW5WYWx1ZQAAAAAABfXhAAQAAAAIVENJSXNzdWUJAQAAAAdSZWlzc3VlAAAAAwUAAAADVENJBQAAAA1hbW91bnRUb0lzc3VlBgQAAAAIdHJhbnNmZXIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAANYW1vdW50VG9Jc3N1ZQUAAAADVENJCQAETAAAAAIFAAAACFRDSUlzc3VlCQAETAAAAAIFAAAACHRyYW5zZmVyBQAAAANuaWwAAAAABwZobg==", "height": 2075682, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Dp2CpBN8HNfczfKoqiQ4jyh9rLJtwa5jnqTKhJpoZovF Next: 8z5o6pn2ijuZnqq5Y5NJMbqFu8ZjJC2EnpA64qaASbtn Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = base58' | |
4 | + | let a = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT' | |
5 | 5 | ||
6 | - | let b = base58' | |
6 | + | let b = base58'2oTdBoVmVmzU1PT9yRuyfbVfmkvTFQoy7C8du6Lg9X3Z' | |
7 | 7 | ||
8 | 8 | let c = false | |
9 | 9 | ||
10 | - | let d = "STAKED_LP" | |
11 | - | ||
12 | - | let e = "From_Compound" | |
13 | - | ||
14 | - | @Callable(f) | |
10 | + | @Callable(d) | |
15 | 11 | func stake () = { | |
16 | - | let | |
17 | - | let | |
18 | - | if (( | |
19 | - | then throw(" | |
12 | + | let e = value(d.payments[0]) | |
13 | + | let f = e.amount | |
14 | + | if ((e.assetId != a)) | |
15 | + | then throw("You can stake USDN only") | |
20 | 16 | else if (c) | |
21 | 17 | then throw("smart contract is on lock") | |
22 | 18 | else { | |
23 | - | let | |
24 | - | let | |
25 | - | let | |
26 | - | if ($isInstanceOf( | |
19 | + | let g = assetBalance(this, a) | |
20 | + | let h = { | |
21 | + | let i = assetInfo(b) | |
22 | + | if ($isInstanceOf(i, "Asset")) | |
27 | 23 | then { | |
28 | - | let | |
29 | - | | |
24 | + | let j = i | |
25 | + | j.quantity | |
30 | 26 | } | |
31 | 27 | else throw("Can't find asset") | |
32 | 28 | } | |
33 | - | let m = valueOrElse(getInteger(this, e), 0) | |
34 | - | let n = fraction(j, 100000000, i) | |
35 | - | let o = fraction(h, n, 100000000) | |
36 | - | let p = IntegerEntry(d, (i + h)) | |
37 | - | if ((p == p)) | |
38 | - | then { | |
39 | - | let q = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [g]) | |
40 | - | if ((q == q)) | |
41 | - | then { | |
42 | - | let r = Reissue(b, o, true) | |
43 | - | let s = ScriptTransfer(f.caller, o, b) | |
44 | - | [r, s, p] | |
45 | - | } | |
46 | - | else throw("Strict value is not equal to itself.") | |
47 | - | } | |
48 | - | else throw("Strict value is not equal to itself.") | |
29 | + | let k = (g - f) | |
30 | + | let l = fraction(h, 100000000, k) | |
31 | + | let m = fraction(f, l, 100000000) | |
32 | + | let n = Reissue(b, m, true) | |
33 | + | let o = ScriptTransfer(d.caller, m, b) | |
34 | + | [n, o] | |
49 | 35 | } | |
50 | 36 | } | |
51 | 37 | ||
52 | - | ||
53 | - | ||
54 | - | @Callable(f) | |
55 | - | func compound () = { | |
56 | - | let t = value(f.payments[0]) | |
57 | - | let u = t.amount | |
58 | - | if ((t.assetId != a)) | |
59 | - | then throw("attach USDTUSDNLP tokens only") | |
60 | - | else { | |
61 | - | let m = valueOrElse(getInteger(this, e), 0) | |
62 | - | let v = valueOrElse(getInteger(this, d), 0) | |
63 | - | let w = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [t]) | |
64 | - | if ((w == w)) | |
65 | - | then { | |
66 | - | let p = IntegerEntry(d, (v + u)) | |
67 | - | let x = IntegerEntry(e, (m + u)) | |
68 | - | [p, x] | |
69 | - | } | |
70 | - | else throw("Strict value is not equal to itself.") | |
71 | - | } | |
72 | - | } | |
73 | - | ||
74 | - | ||
75 | - | ||
76 | - | @Callable(f) | |
77 | - | func init () = { | |
78 | - | let y = f.payments[0] | |
79 | - | let z = y.amount | |
80 | - | if ((y.assetId != a)) | |
81 | - | then throw("Unexpected token") | |
82 | - | else { | |
83 | - | let A = invoke(Address(base58'3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz'), "stake", nil, [y]) | |
84 | - | if ((A == A)) | |
85 | - | then { | |
86 | - | let B = IntegerEntry(d, z) | |
87 | - | let C = IntegerEntry(e, 0) | |
88 | - | [B] | |
89 | - | } | |
90 | - | else throw("Strict value is not equal to itself.") | |
91 | - | } | |
92 | - | } | |
93 | - | ||
94 | - | ||
95 | - | @Verifier(D) | |
96 | - | func E () = sigVerify(D.bodyBytes, D.proofs[0], D.senderPublicKey) | |
97 | 38 |
github/deemru/w8io/169f3d6 31.32 ms ◑