tx · 6qjiGmkGnHy9XM3BQwo6xgVdGx6go2qGNUPJvCvpBFnS 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h: -0.05000000 Waves 2023.03.29 15:46 [2511258] smart account 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h > SELF 0.00000000 Waves
{ "type": 13, "id": "6qjiGmkGnHy9XM3BQwo6xgVdGx6go2qGNUPJvCvpBFnS", "fee": 5000000, "feeAssetId": null, "timestamp": 1680093977185, "version": 2, "chainId": 84, "sender": "3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h", "senderPublicKey": "3z8Q6Zu3KppVmn6fJJvrLc1Wo3krVHSvfaNcerm82md2", "proofs": [ "32yE3py5Myyinpv8RJMwsg7FrvgRX4n17xvqDAMQoTnv7zdFPMp2njzqiYggwbp6jrk3sKdMfgF1NxQ4NnndRpvF" ], "script": "base64:BgIECAISAAwAA1NFUAICX18ADGNvbnRyYWN0RmlsZQIJcmViYWxhbmNlABFrZXlGYWN0b3J5QWRkcmVzcwILJXNfX2ZhY3RvcnkBFGtleUFkZGl0aW9uYWxCYWxhbmNlAQdhc3NldElkCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhFhZGRpdGlvbmFsQmFsYW5jZQkAzAgCBQdhc3NldElkBQNuaWwFA1NFUAEWa2V5U3Rha2luZ0Fzc2V0QmFsYW5jZQEHYXNzZXRJZAkAuQkCCQDMCAICBCVzJXMJAMwIAgITc3Rha2luZ0Fzc2V0QmFsYW5jZQkAzAgCBQdhc3NldElkBQNuaWwFA1NFUAEUZ2V0QWRkaXRpb25hbEJhbGFuY2UBB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBFGtleUFkZGl0aW9uYWxCYWxhbmNlAQUHYXNzZXRJZAAAARZnZXRTdGFraW5nQXNzZXRCYWxhbmNlAQdhc3NldElkCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARZrZXlTdGFraW5nQXNzZXRCYWxhbmNlAQUHYXNzZXRJZAAAAQdnZXRSYXRlAQVwcm94eQQDaW52CQD8BwQFBXByb3h5AgdnZXRSYXRlBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQHJG1hdGNoMAUDaW52AwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkBDXBhcnNlSW50VmFsdWUBBQFzCQACAQIQUmF0ZSBpcyB6ZXJvICgwKQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgETZ2V0TGVhc2VQcm94eUNvbmZpZwEHYXNzZXRJZAQHZmFjdG9yeQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAoggBBRFrZXlGYWN0b3J5QWRkcmVzcwIABA9teUFkZHJlc3NTdHJpbmcJAKUIAQUEdGhpcwkA/AcEBQdmYWN0b3J5AhpnZXRQb29sTGVhc2VDb25maWdSRUFET05MWQkAzAgCBQ9teUFkZHJlc3NTdHJpbmcJAMwIAgUHYXNzZXRJZAUDbmlsBQNuaWwBB2RlcG9zaXQEB2Fzc2V0SWQGYW1vdW50DnN0YWtpbmdBc3NldElkBXByb3h5BBhjdXJyZW50QWRkaXRpb25hbEJhbGFuY2UJARRnZXRBZGRpdGlvbmFsQmFsYW5jZQEFB2Fzc2V0SWQDCQAAAgUYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlBRhjdXJyZW50QWRkaXRpb25hbEJhbGFuY2UEGmN1cnJlbnRTdGFraW5nQXNzZXRCYWxhbmNlCQEWZ2V0U3Rha2luZ0Fzc2V0QmFsYW5jZQEFDnN0YWtpbmdBc3NldElkAwkAAAIFGmN1cnJlbnRTdGFraW5nQXNzZXRCYWxhbmNlBRpjdXJyZW50U3Rha2luZ0Fzc2V0QmFsYW5jZQQFYXNzZXQDCQAAAgUHYXNzZXRJZAIFV0FWRVMFBHVuaXQJANkEAQUHYXNzZXRJZAMJAGYCBQZhbW91bnQAAAQNZGVwb3NpdEludm9rZQkA/AcEBQVwcm94eQIHZGVwb3NpdAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQVhc3NldAUGYW1vdW50BQNuaWwDCQAAAgUNZGVwb3NpdEludm9rZQUNZGVwb3NpdEludm9rZQQHJG1hdGNoMAUNZGVwb3NpdEludm9rZQMJAAECBQckbWF0Y2gwAgNJbnQEFHJlY2VpdmVkU3Rha2luZ0Fzc2V0BQckbWF0Y2gwBBRuZXdBZGRpdGlvbmFsQmFsYW5jZQkAZAIFGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQUGYW1vdW50BBBuZXdTV2F2ZXNCYWxhbmNlCQBkAgUaY3VycmVudFN0YWtpbmdBc3NldEJhbGFuY2UFFHJlY2VpdmVkU3Rha2luZ0Fzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5QWRkaXRpb25hbEJhbGFuY2UBBQdhc3NldElkBRRuZXdBZGRpdGlvbmFsQmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmtleVN0YWtpbmdBc3NldEJhbGFuY2UBBQ5zdGFraW5nQXNzZXRJZAUQbmV3U1dhdmVzQmFsYW5jZQUDbmlsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEId2l0aGRyYXcFB2Fzc2V0SWQGYW1vdW50DnN0YWtpbmdBc3NldElkBXByb3h5DHByb3h5UmF0ZU11bAQYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlCQEUZ2V0QWRkaXRpb25hbEJhbGFuY2UBBQdhc3NldElkAwkAAAIFGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQUYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlBBpjdXJyZW50U3Rha2luZ0Fzc2V0QmFsYW5jZQkBFmdldFN0YWtpbmdBc3NldEJhbGFuY2UBBQ5zdGFraW5nQXNzZXRJZAMJAAACBRpjdXJyZW50U3Rha2luZ0Fzc2V0QmFsYW5jZQUaY3VycmVudFN0YWtpbmdBc3NldEJhbGFuY2UEEGN1cnJlbnRQcm94eVJhdGUJAQdnZXRSYXRlAQUFcHJveHkDCQAAAgUQY3VycmVudFByb3h5UmF0ZQUQY3VycmVudFByb3h5UmF0ZQQWc2VuZFN0YWtpbmdBc3NldEFtb3VudAkAawMFDHByb3h5UmF0ZU11bAUGYW1vdW50BRBjdXJyZW50UHJveHlSYXRlAwkAZgIFFnNlbmRTdGFraW5nQXNzZXRBbW91bnQAAAQOd2l0aGRyYXdJbnZva2UJAPwHBAUFcHJveHkCCHdpdGhkcmF3BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUOc3Rha2luZ0Fzc2V0SWQFFnNlbmRTdGFraW5nQXNzZXRBbW91bnQFA25pbAMJAAACBQ53aXRoZHJhd0ludm9rZQUOd2l0aGRyYXdJbnZva2UEByRtYXRjaDAFDndpdGhkcmF3SW52b2tlAwkAAQIFByRtYXRjaDACA0ludAQOcmVjZWl2ZWRBc3NldHMFByRtYXRjaDAEFG5ld0FkZGl0aW9uYWxCYWxhbmNlCQBlAgUYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlBQ5yZWNlaXZlZEFzc2V0cwQQbmV3U1dhdmVzQmFsYW5jZQkAZQIFGmN1cnJlbnRTdGFraW5nQXNzZXRCYWxhbmNlBRZzZW5kU3Rha2luZ0Fzc2V0QW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5QWRkaXRpb25hbEJhbGFuY2UBBQdhc3NldElkBRRuZXdBZGRpdGlvbmFsQmFsYW5jZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmtleVN0YWtpbmdBc3NldEJhbGFuY2UBBQ5zdGFraW5nQXNzZXRJZAUQbmV3U1dhdmVzQmFsYW5jZQUDbmlsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERcmViYWxhbmNlSW50ZXJuYWwGC3RhcmdldFJhdGlvB2Fzc2V0SWQOc3Rha2luZ0Fzc2V0SWQKbWluQmFsYW5jZQVwcm94eQxwcm94eVJhdGVNdWwEGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQkBFGdldEFkZGl0aW9uYWxCYWxhbmNlAQUHYXNzZXRJZAMJAAACBRhjdXJyZW50QWRkaXRpb25hbEJhbGFuY2UFGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQQaY3VycmVudFN0YWtpbmdBc3NldEJhbGFuY2UJARZnZXRTdGFraW5nQXNzZXRCYWxhbmNlAQUOc3Rha2luZ0Fzc2V0SWQDCQAAAgUaY3VycmVudFN0YWtpbmdBc3NldEJhbGFuY2UFGmN1cnJlbnRTdGFraW5nQXNzZXRCYWxhbmNlBBBhdmFpbGFibGVCYWxhbmNlAwkAAAIFB2Fzc2V0SWQCBVdBVkVTCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQkA8AcCBQR0aGlzCQDZBAEFB2Fzc2V0SWQDCQAAAgUQYXZhaWxhYmxlQmFsYW5jZQUQYXZhaWxhYmxlQmFsYW5jZQQMd2hvbGVCYWxhbmNlCQCWAwEJAMwIAgAACQDMCAIJAGUCCQBkAgUQYXZhaWxhYmxlQmFsYW5jZQUYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlBQptaW5CYWxhbmNlBQNuaWwEF3RhcmdldEFkZGl0aW9uYWxCYWxhbmNlCQBrAwULdGFyZ2V0UmF0aW8FDHdob2xlQmFsYW5jZQBkBARkaWZmCQBlAgUYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlBRd0YXJnZXRBZGRpdGlvbmFsQmFsYW5jZQMJAAACBQRkaWZmAAAFA25pbAMJAGYCAAAFBGRpZmYED3NlbmRBc3NldEFtb3VudAkBAS0BBQRkaWZmCQEHZGVwb3NpdAQFB2Fzc2V0SWQFD3NlbmRBc3NldEFtb3VudAUOc3Rha2luZ0Fzc2V0SWQFBXByb3h5BA5nZXRBc3NldEFtb3VudAUEZGlmZgkBCHdpdGhkcmF3BQUHYXNzZXRJZAUOZ2V0QXNzZXRBbW91bnQFDnN0YWtpbmdBc3NldElkBQVwcm94eQUMcHJveHlSYXRlTXVsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQFpAQlyZWJhbGFuY2UABAZhc3NldDECBVdBVkVTBAckbWF0Y2gwCQETZ2V0TGVhc2VQcm94eUNvbmZpZwEFBmFzc2V0MQMJAAECBQckbWF0Y2gwAjAoQm9vbGVhbiwgSW50LCBJbnQsIFN0cmluZywgU3RyaW5nLCBJbnQsIFN0cmluZykEAWEFByRtYXRjaDAECyR0MDQyNjA0MzY5BQFhBAppc0xlYXNhYmxlCAULJHQwNDI2MDQzNjkCXzEEC2xlYXNlZFJhdGlvCAULJHQwNDI2MDQzNjkCXzIECm1pbkJhbGFuY2UIBQskdDA0MjYwNDM2OQJfMwQMcHJveHlBZGRyZXNzCAULJHQwNDI2MDQzNjkCXzQEDHByb3h5QXNzZXRJZAgFCyR0MDQyNjA0MzY5Al81BAxwcm94eVJhdGVNdWwIBQskdDA0MjYwNDM2OQJfNgQUc3Rha2luZ1Byb2ZpdEFkZHJlc3MIBQskdDA0MjYwNDM2OQJfNwMFCmlzTGVhc2FibGUJARFyZWJhbGFuY2VJbnRlcm5hbAYFC2xlYXNlZFJhdGlvBQZhc3NldDEFDHByb3h5QXNzZXRJZAUKbWluQmFsYW5jZQkBEUBleHRyTmF0aXZlKDEwNjIpAQUMcHJveHlBZGRyZXNzBQxwcm94eVJhdGVNdWwFA25pbAkAAgECA0JSUgAZBfhq", "height": 2511258, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AMUwG36YQv66tpSkTNkVUyUeaCsDCK5rdczmaWj9tJvc Next: E2AYH9iR5teHM54BQBnsut7vra1dEtDS9zwSorEAccuK Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = " | |
4 | + | let a = "__" | |
5 | 5 | ||
6 | - | let b = " | |
6 | + | let b = "rebalance" | |
7 | 7 | ||
8 | - | let c = "%s__ | |
8 | + | let c = "%s__factory" | |
9 | 9 | ||
10 | - | let d = "%s__sWavesBalance" | |
11 | - | ||
12 | - | let e = "%s__sWavesAssetId" | |
13 | - | ||
14 | - | let f = "%s__proxyAddress" | |
15 | - | ||
16 | - | let g = "%s__minWavesBalance" | |
17 | - | ||
18 | - | let h = "%s__factory" | |
19 | - | ||
20 | - | let i = 1000000000000 | |
21 | - | ||
22 | - | func j (k) = { | |
23 | - | let l = getInteger(this, k) | |
24 | - | if ($isInstanceOf(l, "Int")) | |
25 | - | then { | |
26 | - | let m = l | |
27 | - | m | |
28 | - | } | |
29 | - | else 0 | |
30 | - | } | |
10 | + | func d (e) = makeString(["%s%s", "additionalBalance", e], a) | |
31 | 11 | ||
32 | 12 | ||
33 | - | func n (o) = { | |
34 | - | let l = getString(this, o) | |
35 | - | if ($isInstanceOf(l, "String")) | |
36 | - | then { | |
37 | - | let p = l | |
38 | - | p | |
39 | - | } | |
40 | - | else throw((("[" + o) + "] is empty")) | |
41 | - | } | |
13 | + | func f (e) = makeString(["%s%s", "stakingAssetBalance", e], a) | |
42 | 14 | ||
43 | 15 | ||
44 | - | func q () = { | |
45 | - | let l = getInteger(b) | |
46 | - | if ($isInstanceOf(l, "Int")) | |
47 | - | then { | |
48 | - | let r = l | |
49 | - | min([100, max([0, r])]) | |
50 | - | } | |
51 | - | else 0 | |
52 | - | } | |
16 | + | func g (e) = valueOrElse(getInteger(this, d(e)), 0) | |
53 | 17 | ||
54 | 18 | ||
55 | - | func s () = { | |
56 | - | let l = getInteger(g) | |
57 | - | if ($isInstanceOf(l, "Int")) | |
58 | - | then { | |
59 | - | let t = l | |
60 | - | max([0, t]) | |
61 | - | } | |
62 | - | else 0 | |
63 | - | } | |
19 | + | func h (e) = valueOrElse(getInteger(this, f(e)), 0) | |
64 | 20 | ||
65 | 21 | ||
66 | - | func u () = { | |
67 | - | let v = addressFromStringValue(n(f)) | |
68 | - | let w = invoke(v, "getRate", nil, nil) | |
69 | - | if ((w == w)) | |
22 | + | func i (j) = { | |
23 | + | let k = invoke(j, "getRate", nil, nil) | |
24 | + | if ((k == k)) | |
70 | 25 | then { | |
71 | - | let l = | |
26 | + | let l = k | |
72 | 27 | if ($isInstanceOf(l, "String")) | |
73 | 28 | then { | |
74 | - | let | |
75 | - | parseIntValue( | |
29 | + | let m = l | |
30 | + | parseIntValue(m) | |
76 | 31 | } | |
77 | 32 | else throw("Rate is zero (0)") | |
78 | 33 | } | |
80 | 35 | } | |
81 | 36 | ||
82 | 37 | ||
83 | - | func x () = addressFromStringValue(n(f)) | |
84 | - | ||
85 | - | ||
86 | - | func y () = fromBase58String(n(e)) | |
87 | - | ||
88 | - | ||
89 | - | func z () = { | |
90 | - | let A = addressFromStringValue(valueOrElse(getString(h), "")) | |
91 | - | let B = toString(this) | |
92 | - | $Tuple2(invoke(A, "getPoolLeaseConfigREADONLY", [B, "WAVES"], nil), B) | |
38 | + | func n (e) = { | |
39 | + | let o = addressFromStringValue(valueOrElse(getString(c), "")) | |
40 | + | let p = toString(this) | |
41 | + | invoke(o, "getPoolLeaseConfigREADONLY", [p, e], nil) | |
93 | 42 | } | |
94 | 43 | ||
95 | 44 | ||
96 | - | func C (D) = { | |
97 | - | let v = x() | |
98 | - | let E = j(c) | |
99 | - | if ((E == E)) | |
45 | + | func q (e,r,s,j) = { | |
46 | + | let t = g(e) | |
47 | + | if ((t == t)) | |
100 | 48 | then { | |
101 | - | let F = j(d) | |
102 | - | if ((F == F)) | |
103 | - | then if ((D > 0)) | |
104 | - | then { | |
105 | - | let G = invoke(v, "deposit", nil, [AttachedPayment(unit, D)]) | |
106 | - | if ((G == G)) | |
107 | - | then { | |
108 | - | let l = G | |
109 | - | if ($isInstanceOf(l, "Int")) | |
110 | - | then { | |
111 | - | let H = l | |
112 | - | let I = (E + D) | |
113 | - | let J = (F + H) | |
114 | - | [IntegerEntry(c, I), IntegerEntry(d, J)] | |
115 | - | } | |
116 | - | else nil | |
117 | - | } | |
118 | - | else throw("Strict value is not equal to itself.") | |
119 | - | } | |
120 | - | else nil | |
49 | + | let u = h(s) | |
50 | + | if ((u == u)) | |
51 | + | then { | |
52 | + | let v = if ((e == "WAVES")) | |
53 | + | then unit | |
54 | + | else fromBase58String(e) | |
55 | + | if ((r > 0)) | |
56 | + | then { | |
57 | + | let w = invoke(j, "deposit", nil, [AttachedPayment(v, r)]) | |
58 | + | if ((w == w)) | |
59 | + | then { | |
60 | + | let l = w | |
61 | + | if ($isInstanceOf(l, "Int")) | |
62 | + | then { | |
63 | + | let x = l | |
64 | + | let y = (t + r) | |
65 | + | let z = (u + x) | |
66 | + | [IntegerEntry(d(e), y), IntegerEntry(f(s), z)] | |
67 | + | } | |
68 | + | else nil | |
69 | + | } | |
70 | + | else throw("Strict value is not equal to itself.") | |
71 | + | } | |
72 | + | else nil | |
73 | + | } | |
121 | 74 | else throw("Strict value is not equal to itself.") | |
122 | 75 | } | |
123 | 76 | else throw("Strict value is not equal to itself.") | |
124 | 77 | } | |
125 | 78 | ||
126 | 79 | ||
127 | - | func K (D) = { | |
128 | - | let v = x() | |
129 | - | let E = j(c) | |
130 | - | if ((E == E)) | |
80 | + | func A (e,r,s,j,B) = { | |
81 | + | let t = g(e) | |
82 | + | if ((t == t)) | |
131 | 83 | then { | |
132 | - | let | |
133 | - | if (( | |
84 | + | let u = h(s) | |
85 | + | if ((u == u)) | |
134 | 86 | then { | |
135 | - | let | |
136 | - | if (( | |
87 | + | let C = i(j) | |
88 | + | if ((C == C)) | |
137 | 89 | then { | |
138 | - | let | |
139 | - | if (( | |
90 | + | let D = fraction(B, r, C) | |
91 | + | if ((D > 0)) | |
140 | 92 | then { | |
141 | - | let | |
142 | - | if (( | |
93 | + | let E = invoke(j, "withdraw", nil, [AttachedPayment(fromBase58String(s), D)]) | |
94 | + | if ((E == E)) | |
143 | 95 | then { | |
144 | - | let l = | |
96 | + | let l = E | |
145 | 97 | if ($isInstanceOf(l, "Int")) | |
146 | 98 | then { | |
147 | - | let | |
148 | - | let | |
149 | - | let | |
150 | - | [IntegerEntry( | |
99 | + | let F = l | |
100 | + | let y = (t - F) | |
101 | + | let z = (u - D) | |
102 | + | [IntegerEntry(d(e), y), IntegerEntry(f(s), z)] | |
151 | 103 | } | |
152 | 104 | else nil | |
153 | 105 | } | |
163 | 115 | } | |
164 | 116 | ||
165 | 117 | ||
166 | - | func | |
167 | - | let | |
168 | - | if (( | |
118 | + | func G (H,e,s,I,j,B) = { | |
119 | + | let t = g(e) | |
120 | + | if ((t == t)) | |
169 | 121 | then { | |
170 | - | let | |
171 | - | if (( | |
122 | + | let u = h(s) | |
123 | + | if ((u == u)) | |
172 | 124 | then { | |
173 | - | let T = max([0, ((R + S) - s())]) | |
174 | - | let U = fraction(Q, T, 100) | |
175 | - | let V = (S - U) | |
176 | - | if ((V == 0)) | |
177 | - | then nil | |
178 | - | else if ((0 > V)) | |
179 | - | then { | |
180 | - | let W = -(V) | |
181 | - | C(W) | |
182 | - | } | |
183 | - | else { | |
184 | - | let X = V | |
185 | - | K(X) | |
186 | - | } | |
125 | + | let J = if ((e == "WAVES")) | |
126 | + | then wavesBalance(this).available | |
127 | + | else assetBalance(this, fromBase58String(e)) | |
128 | + | if ((J == J)) | |
129 | + | then { | |
130 | + | let K = max([0, ((J + t) - I)]) | |
131 | + | let L = fraction(H, K, 100) | |
132 | + | let M = (t - L) | |
133 | + | if ((M == 0)) | |
134 | + | then nil | |
135 | + | else if ((0 > M)) | |
136 | + | then { | |
137 | + | let N = -(M) | |
138 | + | q(e, N, s, j) | |
139 | + | } | |
140 | + | else { | |
141 | + | let O = M | |
142 | + | A(e, O, s, j, B) | |
143 | + | } | |
144 | + | } | |
145 | + | else throw("Strict value is not equal to itself.") | |
187 | 146 | } | |
188 | 147 | else throw("Strict value is not equal to itself.") | |
189 | 148 | } | |
191 | 150 | } | |
192 | 151 | ||
193 | 152 | ||
194 | - | @Callable(t) | |
195 | - | func rebalanceRatio (Q) = P(Q) | |
196 | - | ||
197 | - | ||
198 | - | ||
199 | - | @Callable(t) | |
200 | - | func rebalance () = P(q()) | |
153 | + | @Callable(P) | |
154 | + | func rebalance () = { | |
155 | + | let Q = "WAVES" | |
156 | + | let l = n(Q) | |
157 | + | if ($isInstanceOf(l, "(Boolean, Int, Int, String, String, Int, String)")) | |
158 | + | then { | |
159 | + | let R = l | |
160 | + | let S = R | |
161 | + | let T = S._1 | |
162 | + | let U = S._2 | |
163 | + | let I = S._3 | |
164 | + | let V = S._4 | |
165 | + | let W = S._5 | |
166 | + | let B = S._6 | |
167 | + | let X = S._7 | |
168 | + | if (T) | |
169 | + | then G(U, Q, W, I, addressFromStringValue(V), B) | |
170 | + | else nil | |
171 | + | } | |
172 | + | else throw("BRR") | |
173 | + | } | |
201 | 174 | ||
202 | 175 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = " | |
4 | + | let a = "__" | |
5 | 5 | ||
6 | - | let b = " | |
6 | + | let b = "rebalance" | |
7 | 7 | ||
8 | - | let c = "%s__ | |
8 | + | let c = "%s__factory" | |
9 | 9 | ||
10 | - | let d = "%s__sWavesBalance" | |
11 | - | ||
12 | - | let e = "%s__sWavesAssetId" | |
13 | - | ||
14 | - | let f = "%s__proxyAddress" | |
15 | - | ||
16 | - | let g = "%s__minWavesBalance" | |
17 | - | ||
18 | - | let h = "%s__factory" | |
19 | - | ||
20 | - | let i = 1000000000000 | |
21 | - | ||
22 | - | func j (k) = { | |
23 | - | let l = getInteger(this, k) | |
24 | - | if ($isInstanceOf(l, "Int")) | |
25 | - | then { | |
26 | - | let m = l | |
27 | - | m | |
28 | - | } | |
29 | - | else 0 | |
30 | - | } | |
10 | + | func d (e) = makeString(["%s%s", "additionalBalance", e], a) | |
31 | 11 | ||
32 | 12 | ||
33 | - | func n (o) = { | |
34 | - | let l = getString(this, o) | |
35 | - | if ($isInstanceOf(l, "String")) | |
36 | - | then { | |
37 | - | let p = l | |
38 | - | p | |
39 | - | } | |
40 | - | else throw((("[" + o) + "] is empty")) | |
41 | - | } | |
13 | + | func f (e) = makeString(["%s%s", "stakingAssetBalance", e], a) | |
42 | 14 | ||
43 | 15 | ||
44 | - | func q () = { | |
45 | - | let l = getInteger(b) | |
46 | - | if ($isInstanceOf(l, "Int")) | |
47 | - | then { | |
48 | - | let r = l | |
49 | - | min([100, max([0, r])]) | |
50 | - | } | |
51 | - | else 0 | |
52 | - | } | |
16 | + | func g (e) = valueOrElse(getInteger(this, d(e)), 0) | |
53 | 17 | ||
54 | 18 | ||
55 | - | func s () = { | |
56 | - | let l = getInteger(g) | |
57 | - | if ($isInstanceOf(l, "Int")) | |
58 | - | then { | |
59 | - | let t = l | |
60 | - | max([0, t]) | |
61 | - | } | |
62 | - | else 0 | |
63 | - | } | |
19 | + | func h (e) = valueOrElse(getInteger(this, f(e)), 0) | |
64 | 20 | ||
65 | 21 | ||
66 | - | func u () = { | |
67 | - | let v = addressFromStringValue(n(f)) | |
68 | - | let w = invoke(v, "getRate", nil, nil) | |
69 | - | if ((w == w)) | |
22 | + | func i (j) = { | |
23 | + | let k = invoke(j, "getRate", nil, nil) | |
24 | + | if ((k == k)) | |
70 | 25 | then { | |
71 | - | let l = | |
26 | + | let l = k | |
72 | 27 | if ($isInstanceOf(l, "String")) | |
73 | 28 | then { | |
74 | - | let | |
75 | - | parseIntValue( | |
29 | + | let m = l | |
30 | + | parseIntValue(m) | |
76 | 31 | } | |
77 | 32 | else throw("Rate is zero (0)") | |
78 | 33 | } | |
79 | 34 | else throw("Strict value is not equal to itself.") | |
80 | 35 | } | |
81 | 36 | ||
82 | 37 | ||
83 | - | func x () = addressFromStringValue(n(f)) | |
84 | - | ||
85 | - | ||
86 | - | func y () = fromBase58String(n(e)) | |
87 | - | ||
88 | - | ||
89 | - | func z () = { | |
90 | - | let A = addressFromStringValue(valueOrElse(getString(h), "")) | |
91 | - | let B = toString(this) | |
92 | - | $Tuple2(invoke(A, "getPoolLeaseConfigREADONLY", [B, "WAVES"], nil), B) | |
38 | + | func n (e) = { | |
39 | + | let o = addressFromStringValue(valueOrElse(getString(c), "")) | |
40 | + | let p = toString(this) | |
41 | + | invoke(o, "getPoolLeaseConfigREADONLY", [p, e], nil) | |
93 | 42 | } | |
94 | 43 | ||
95 | 44 | ||
96 | - | func C (D) = { | |
97 | - | let v = x() | |
98 | - | let E = j(c) | |
99 | - | if ((E == E)) | |
45 | + | func q (e,r,s,j) = { | |
46 | + | let t = g(e) | |
47 | + | if ((t == t)) | |
100 | 48 | then { | |
101 | - | let F = j(d) | |
102 | - | if ((F == F)) | |
103 | - | then if ((D > 0)) | |
104 | - | then { | |
105 | - | let G = invoke(v, "deposit", nil, [AttachedPayment(unit, D)]) | |
106 | - | if ((G == G)) | |
107 | - | then { | |
108 | - | let l = G | |
109 | - | if ($isInstanceOf(l, "Int")) | |
110 | - | then { | |
111 | - | let H = l | |
112 | - | let I = (E + D) | |
113 | - | let J = (F + H) | |
114 | - | [IntegerEntry(c, I), IntegerEntry(d, J)] | |
115 | - | } | |
116 | - | else nil | |
117 | - | } | |
118 | - | else throw("Strict value is not equal to itself.") | |
119 | - | } | |
120 | - | else nil | |
49 | + | let u = h(s) | |
50 | + | if ((u == u)) | |
51 | + | then { | |
52 | + | let v = if ((e == "WAVES")) | |
53 | + | then unit | |
54 | + | else fromBase58String(e) | |
55 | + | if ((r > 0)) | |
56 | + | then { | |
57 | + | let w = invoke(j, "deposit", nil, [AttachedPayment(v, r)]) | |
58 | + | if ((w == w)) | |
59 | + | then { | |
60 | + | let l = w | |
61 | + | if ($isInstanceOf(l, "Int")) | |
62 | + | then { | |
63 | + | let x = l | |
64 | + | let y = (t + r) | |
65 | + | let z = (u + x) | |
66 | + | [IntegerEntry(d(e), y), IntegerEntry(f(s), z)] | |
67 | + | } | |
68 | + | else nil | |
69 | + | } | |
70 | + | else throw("Strict value is not equal to itself.") | |
71 | + | } | |
72 | + | else nil | |
73 | + | } | |
121 | 74 | else throw("Strict value is not equal to itself.") | |
122 | 75 | } | |
123 | 76 | else throw("Strict value is not equal to itself.") | |
124 | 77 | } | |
125 | 78 | ||
126 | 79 | ||
127 | - | func K (D) = { | |
128 | - | let v = x() | |
129 | - | let E = j(c) | |
130 | - | if ((E == E)) | |
80 | + | func A (e,r,s,j,B) = { | |
81 | + | let t = g(e) | |
82 | + | if ((t == t)) | |
131 | 83 | then { | |
132 | - | let | |
133 | - | if (( | |
84 | + | let u = h(s) | |
85 | + | if ((u == u)) | |
134 | 86 | then { | |
135 | - | let | |
136 | - | if (( | |
87 | + | let C = i(j) | |
88 | + | if ((C == C)) | |
137 | 89 | then { | |
138 | - | let | |
139 | - | if (( | |
90 | + | let D = fraction(B, r, C) | |
91 | + | if ((D > 0)) | |
140 | 92 | then { | |
141 | - | let | |
142 | - | if (( | |
93 | + | let E = invoke(j, "withdraw", nil, [AttachedPayment(fromBase58String(s), D)]) | |
94 | + | if ((E == E)) | |
143 | 95 | then { | |
144 | - | let l = | |
96 | + | let l = E | |
145 | 97 | if ($isInstanceOf(l, "Int")) | |
146 | 98 | then { | |
147 | - | let | |
148 | - | let | |
149 | - | let | |
150 | - | [IntegerEntry( | |
99 | + | let F = l | |
100 | + | let y = (t - F) | |
101 | + | let z = (u - D) | |
102 | + | [IntegerEntry(d(e), y), IntegerEntry(f(s), z)] | |
151 | 103 | } | |
152 | 104 | else nil | |
153 | 105 | } | |
154 | 106 | else throw("Strict value is not equal to itself.") | |
155 | 107 | } | |
156 | 108 | else nil | |
157 | 109 | } | |
158 | 110 | else throw("Strict value is not equal to itself.") | |
159 | 111 | } | |
160 | 112 | else throw("Strict value is not equal to itself.") | |
161 | 113 | } | |
162 | 114 | else throw("Strict value is not equal to itself.") | |
163 | 115 | } | |
164 | 116 | ||
165 | 117 | ||
166 | - | func | |
167 | - | let | |
168 | - | if (( | |
118 | + | func G (H,e,s,I,j,B) = { | |
119 | + | let t = g(e) | |
120 | + | if ((t == t)) | |
169 | 121 | then { | |
170 | - | let | |
171 | - | if (( | |
122 | + | let u = h(s) | |
123 | + | if ((u == u)) | |
172 | 124 | then { | |
173 | - | let T = max([0, ((R + S) - s())]) | |
174 | - | let U = fraction(Q, T, 100) | |
175 | - | let V = (S - U) | |
176 | - | if ((V == 0)) | |
177 | - | then nil | |
178 | - | else if ((0 > V)) | |
179 | - | then { | |
180 | - | let W = -(V) | |
181 | - | C(W) | |
182 | - | } | |
183 | - | else { | |
184 | - | let X = V | |
185 | - | K(X) | |
186 | - | } | |
125 | + | let J = if ((e == "WAVES")) | |
126 | + | then wavesBalance(this).available | |
127 | + | else assetBalance(this, fromBase58String(e)) | |
128 | + | if ((J == J)) | |
129 | + | then { | |
130 | + | let K = max([0, ((J + t) - I)]) | |
131 | + | let L = fraction(H, K, 100) | |
132 | + | let M = (t - L) | |
133 | + | if ((M == 0)) | |
134 | + | then nil | |
135 | + | else if ((0 > M)) | |
136 | + | then { | |
137 | + | let N = -(M) | |
138 | + | q(e, N, s, j) | |
139 | + | } | |
140 | + | else { | |
141 | + | let O = M | |
142 | + | A(e, O, s, j, B) | |
143 | + | } | |
144 | + | } | |
145 | + | else throw("Strict value is not equal to itself.") | |
187 | 146 | } | |
188 | 147 | else throw("Strict value is not equal to itself.") | |
189 | 148 | } | |
190 | 149 | else throw("Strict value is not equal to itself.") | |
191 | 150 | } | |
192 | 151 | ||
193 | 152 | ||
194 | - | @Callable(t) | |
195 | - | func rebalanceRatio (Q) = P(Q) | |
196 | - | ||
197 | - | ||
198 | - | ||
199 | - | @Callable(t) | |
200 | - | func rebalance () = P(q()) | |
153 | + | @Callable(P) | |
154 | + | func rebalance () = { | |
155 | + | let Q = "WAVES" | |
156 | + | let l = n(Q) | |
157 | + | if ($isInstanceOf(l, "(Boolean, Int, Int, String, String, Int, String)")) | |
158 | + | then { | |
159 | + | let R = l | |
160 | + | let S = R | |
161 | + | let T = S._1 | |
162 | + | let U = S._2 | |
163 | + | let I = S._3 | |
164 | + | let V = S._4 | |
165 | + | let W = S._5 | |
166 | + | let B = S._6 | |
167 | + | let X = S._7 | |
168 | + | if (T) | |
169 | + | then G(U, Q, W, I, addressFromStringValue(V), B) | |
170 | + | else nil | |
171 | + | } | |
172 | + | else throw("BRR") | |
173 | + | } | |
201 | 174 | ||
202 | 175 |
github/deemru/w8io/026f985 50.52 ms ◑