tx · 36UVQqSDA8X6FYQvznVGRyYbXPYZyp6AecqTJBzfp4u1

3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h:  -0.05000000 Waves

2023.03.29 09:15 [2510858] smart account 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h > SELF 0.00000000 Waves

{ "type": 13, "id": "36UVQqSDA8X6FYQvznVGRyYbXPYZyp6AecqTJBzfp4u1", "fee": 5000000, "feeAssetId": null, "timestamp": 1680070525118, "version": 2, "chainId": 84, "sender": "3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h", "senderPublicKey": "3z8Q6Zu3KppVmn6fJJvrLc1Wo3krVHSvfaNcerm82md2", "proofs": [ "5LpbuApt2WEanGtiP6MBA84ww6qHHrgi3Qj9bLqCFTQTuw35PmUfGcdpvyVPfEquwwAfcuYaxG8ZxA5soV4KveJj" ], "script": "base64:BgIHCAISAwoBAQ8ADGNvbnRyYWN0RmlsZQIJcmViYWxhbmNlAA9rZXlzVGFyZ2V0UmF0aW8CDyVzX190YXJnZXRSYXRpbwAUa2V5QWRkaXRpb25hbEJhbGFuY2UCGiVzX19hZGRpdGlvbmFsV2F2ZXNCYWxhbmNlABprZXlTV2F2ZXNBZGRpdGlvbmFsQmFsYW5jZQIRJXNfX3NXYXZlc0JhbGFuY2UAEGtleVNXYXZlc0Fzc2V0SWQCESVzX19zV2F2ZXNBc3NldElkAA9rZXlQcm94eUFkZHJlc3MCECVzX19wcm94eUFkZHJlc3MADWtleU1pbkJhbGFuY2UCEyVzX21pbldhdmVzQmFsYWxuY2UABk1VTFQxMgCAoJSljR0BEGdldEludGVnZXJPclplcm8BCmludGVnZXJLZXkEByRtYXRjaDAJAJoIAgUEdGhpcwUKaW50ZWdlcktleQMJAAECBQckbWF0Y2gwAgNJbnQEA3ZhbAUHJG1hdGNoMAUDdmFsAAABEGdldFN0cmluZ09yVGhyb3cBCXN0cmluZ0tleQQHJG1hdGNoMAkAnQgCBQR0aGlzBQlzdHJpbmdLZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzCQACAQkArAICCQCsAgICAVsFCXN0cmluZ0tleQIKXSBpcyBlbXB0eQEOZ2V0VGFyZ2V0UmF0aW8ABAckbWF0Y2gwCQCfCAEFD2tleXNUYXJnZXRSYXRpbwMJAAECBQckbWF0Y2gwAgNJbnQEBXJhdGlvBQckbWF0Y2gwCQCXAwEJAMwIAgBkCQDMCAIJAJYDAQkAzAgCAAAJAMwIAgUFcmF0aW8FA25pbAUDbmlsAFABDWdldE1pbkJhbGFuY2UABAckbWF0Y2gwCQCfCAEFDWtleU1pbkJhbGFuY2UDCQABAgUHJG1hdGNoMAIDSW50BAFpBQckbWF0Y2gwCQCWAwEJAMwIAgAACQDMCAIFAWkFA25pbAAAAQdnZXRSYXRlAAQFcHJveHkJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARBnZXRTdHJpbmdPclRocm93AQUPa2V5UHJveHlBZGRyZXNzBANpbnYJAPwHBAUFcHJveHkCB2dldFJhdGUFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BAckbWF0Y2gwBQNpbnYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQENcGFyc2VJbnRWYWx1ZQEFAXMJAAIBAglaRVJPIHJhdGUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BB2RlcG9zaXQBC3dhdmVzQW1vdW50BAVwcm94eQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEGdldFN0cmluZ09yVGhyb3cBBQ9rZXlQcm94eUFkZHJlc3MEGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQkBEGdldEludGVnZXJPclplcm8BBRRrZXlBZGRpdGlvbmFsQmFsYW5jZQMJAAACBRhjdXJyZW50QWRkaXRpb25hbEJhbGFuY2UFGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQQUY3VycmVudFNXYXZlc0JhbGFuY2UJARBnZXRJbnRlZ2VyT3JaZXJvAQUaa2V5U1dhdmVzQWRkaXRpb25hbEJhbGFuY2UDCQAAAgUUY3VycmVudFNXYXZlc0JhbGFuY2UFFGN1cnJlbnRTV2F2ZXNCYWxhbmNlAwkAZgIFC3dhdmVzQW1vdW50AAAEDWRlcG9zaXRJbnZva2UJAPwHBAUFcHJveHkCB2RlcG9zaXQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAULd2F2ZXNBbW91bnQFA25pbAMJAAACBQ1kZXBvc2l0SW52b2tlBQ1kZXBvc2l0SW52b2tlBAckbWF0Y2gwBQ1kZXBvc2l0SW52b2tlAwkAAQIFByRtYXRjaDACA0ludAQOcmVjZWl2ZWRTV2F2ZXMFByRtYXRjaDAEFG5ld0FkZGl0aW9uYWxCYWxhbmNlCQBkAgUYY3VycmVudEFkZGl0aW9uYWxCYWxhbmNlBQt3YXZlc0Ftb3VudAQQbmV3U1dhdmVzQmFsYW5jZQkAZAIFFGN1cnJlbnRTV2F2ZXNCYWxhbmNlBQ5yZWNlaXZlZFNXYXZlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgUUa2V5QWRkaXRpb25hbEJhbGFuY2UFFG5ld0FkZGl0aW9uYWxCYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRprZXlTV2F2ZXNBZGRpdGlvbmFsQmFsYW5jZQUQbmV3U1dhdmVzQmFsYW5jZQUDbmlsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEId2l0aGRyYXcBC3dhdmVzQW1vdW50BAVwcm94eQkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEGdldFN0cmluZ09yVGhyb3cBBQ9rZXlQcm94eUFkZHJlc3MECHNXYXZlc0lkCQDZBAEJARBnZXRTdHJpbmdPclRocm93AQUQa2V5U1dhdmVzQXNzZXRJZAMJAAACBQhzV2F2ZXNJZAUIc1dhdmVzSWQEGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQkBEGdldEludGVnZXJPclplcm8BBRRrZXlBZGRpdGlvbmFsQmFsYW5jZQMJAAACBRhjdXJyZW50QWRkaXRpb25hbEJhbGFuY2UFGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQQUY3VycmVudFNXYXZlc0JhbGFuY2UJARBnZXRJbnRlZ2VyT3JaZXJvAQUaa2V5U1dhdmVzQWRkaXRpb25hbEJhbGFuY2UDCQAAAgUUY3VycmVudFNXYXZlc0JhbGFuY2UFFGN1cnJlbnRTV2F2ZXNCYWxhbmNlBBBjdXJyZW50UHJveHlSYXRlCQEHZ2V0UmF0ZQADCQAAAgUQY3VycmVudFByb3h5UmF0ZQUQY3VycmVudFByb3h5UmF0ZQQQc2VuZFNXYXZlc0Ftb3VudAkAawMFBk1VTFQxMgULd2F2ZXNBbW91bnQFEGN1cnJlbnRQcm94eVJhdGUDCQBmAgUQc2VuZFNXYXZlc0Ftb3VudAAABA1kZXBvc2l0SW52b2tlCQD8BwQFBXByb3h5Agh3aXRoZHJhdwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQhzV2F2ZXNJZAUQc2VuZFNXYXZlc0Ftb3VudAUDbmlsAwkAAAIFDWRlcG9zaXRJbnZva2UFDWRlcG9zaXRJbnZva2UEByRtYXRjaDAFDWRlcG9zaXRJbnZva2UDCQABAgUHJG1hdGNoMAIDSW50BA1yZWNlaXZlZFdhdmVzBQckbWF0Y2gwBBRuZXdBZGRpdGlvbmFsQmFsYW5jZQkAZQIFGGN1cnJlbnRBZGRpdGlvbmFsQmFsYW5jZQUNcmVjZWl2ZWRXYXZlcwQQbmV3U1dhdmVzQmFsYW5jZQkAZQIFFGN1cnJlbnRTV2F2ZXNCYWxhbmNlBRBzZW5kU1dhdmVzQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRrZXlBZGRpdGlvbmFsQmFsYW5jZQUUbmV3QWRkaXRpb25hbEJhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQIFGmtleVNXYXZlc0FkZGl0aW9uYWxCYWxhbmNlBRBuZXdTV2F2ZXNCYWxhbmNlBQNuaWwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQFpAQ5yZWJhbGFuY2VSYXRpbwELdGFyZ2V0UmF0aW8EDnJlZ3VsYXJCYWxhbmNlCQCWAwEJAMwIAgAACQDMCAIJAGUCCAkA7wcBBQR0aGlzB3JlZ3VsYXIJAQ1nZXRNaW5CYWxhbmNlAAUDbmlsAwkAAAIFDnJlZ3VsYXJCYWxhbmNlBQ5yZWd1bGFyQmFsYW5jZQQRYWRkaXRpb25hbEJhbGFuY2UJARBnZXRJbnRlZ2VyT3JaZXJvAQUUa2V5QWRkaXRpb25hbEJhbGFuY2UDCQAAAgURYWRkaXRpb25hbEJhbGFuY2UFEWFkZGl0aW9uYWxCYWxhbmNlBAx3aG9sZUJhbGFuY2UJAGQCBQ5yZWd1bGFyQmFsYW5jZQURYWRkaXRpb25hbEJhbGFuY2UEF3RhcmdldEFkZGl0aW9uYWxCYWxhbmNlCQBrAwULdGFyZ2V0UmF0aW8FDHdob2xlQmFsYW5jZQBkBAZjaGFuZ2UJAGUCBRFhZGRpdGlvbmFsQmFsYW5jZQUXdGFyZ2V0QWRkaXRpb25hbEJhbGFuY2UDCQAAAgUGY2hhbmdlAAAFA25pbAMJAGYCAAAFBmNoYW5nZQQPc2VuZFdhdmVzQW1vdW50CQBoAgUGY2hhbmdlAP///////////wEJAQdkZXBvc2l0AQUPc2VuZFdhdmVzQW1vdW50BA5nZXRXYXZlc0Ftb3VudAUGY2hhbmdlCQEId2l0aGRyYXcBBQ5nZXRXYXZlc0Ftb3VudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBCZMAZ", "height": 2510858, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: A2saRMNi6Am5rvtqqKKFHBnS3rYLnNEtJS9CaAVKVhb2 Next: 9MZwQVHAHh1AvA8EFBRP3uYh6ZCx1UhD9yB7xCVDye2U Diff:
OldNewDifferences
1313
1414 let f = "%s__proxyAddress"
1515
16-func g (h) = {
17- let i = getInteger(this, h)
18- if ($isInstanceOf(i, "Int"))
16+let g = "%s_minWavesBalalnce"
17+
18+let h = 1000000000000
19+
20+func i (j) = {
21+ let k = getInteger(this, j)
22+ if ($isInstanceOf(k, "Int"))
1923 then {
20- let j = i
21- j
24+ let l = k
25+ l
2226 }
2327 else 0
2428 }
2529
2630
27-func k (l) = {
28- let i = getString(this, l)
29- if ($isInstanceOf(i, "String"))
31+func m (n) = {
32+ let k = getString(this, n)
33+ if ($isInstanceOf(k, "String"))
3034 then {
31- let m = i
32- m
35+ let o = k
36+ o
3337 }
34- else throw((("[" + l) + "] is empty"))
38+ else throw((("[" + n) + "] is empty"))
3539 }
3640
3741
38-func n () = {
39- let i = getInteger(b)
40- if ($isInstanceOf(i, "Int"))
42+func p () = {
43+ let k = getInteger(b)
44+ if ($isInstanceOf(k, "Int"))
4145 then {
42- let m = i
43- min([100, max([0, m])])
46+ let q = k
47+ min([100, max([0, q])])
4448 }
4549 else 80
4650 }
4751
4852
49-func o () = {
50- let p = addressFromStringValue(k(f))
51- let q = invoke(p, "getRate", nil, nil)
52- if ((q == q))
53+func r () = {
54+ let k = getInteger(g)
55+ if ($isInstanceOf(k, "Int"))
5356 then {
54- let i = q
55- if ($isInstanceOf(i, "String"))
57+ let s = k
58+ max([0, s])
59+ }
60+ else 0
61+ }
62+
63+
64+func t () = {
65+ let u = addressFromStringValue(m(f))
66+ let v = invoke(u, "getRate", nil, nil)
67+ if ((v == v))
68+ then {
69+ let k = v
70+ if ($isInstanceOf(k, "String"))
5671 then {
57- let m = i
58- parseIntValue(m)
72+ let o = k
73+ parseIntValue(o)
5974 }
6075 else throw("ZERO rate")
6176 }
6378 }
6479
6580
66-func r (s) = {
67- let p = addressFromStringValue(k(f))
68- let t = g(c)
69- if ((t == t))
81+func w (x) = {
82+ let u = addressFromStringValue(m(f))
83+ let y = i(c)
84+ if ((y == y))
7085 then {
71- let u = g(d)
72- if ((u == u))
73- then if ((s > 0))
86+ let z = i(d)
87+ if ((z == z))
88+ then if ((x > 0))
7489 then {
75- let v = invoke(p, "deposit", nil, [AttachedPayment(unit, s)])
76- if ((v == v))
90+ let A = invoke(u, "deposit", nil, [AttachedPayment(unit, x)])
91+ if ((A == A))
7792 then {
78- let i = v
79- if ($isInstanceOf(i, "Int"))
93+ let k = A
94+ if ($isInstanceOf(k, "Int"))
8095 then {
81- let w = i
82- let x = (t + s)
83- let y = (u + w)
84-[IntegerEntry(c, x), IntegerEntry(d, y)]
96+ let B = k
97+ let C = (y + x)
98+ let D = (z + B)
99+[IntegerEntry(c, C), IntegerEntry(d, D)]
85100 }
86101 else nil
87102 }
94109 }
95110
96111
97-func z (s) = {
98- let p = addressFromStringValue(k(f))
99- let A = fromBase58String(k(e))
100- if ((A == A))
112+func E (x) = {
113+ let u = addressFromStringValue(m(f))
114+ let F = fromBase58String(m(e))
115+ if ((F == F))
101116 then {
102- let t = g(c)
103- if ((t == t))
117+ let y = i(c)
118+ if ((y == y))
104119 then {
105- let u = g(d)
106- if ((u == u))
120+ let z = i(d)
121+ if ((z == z))
107122 then {
108- let B = o()
109- if ((B == B))
123+ let G = t()
124+ if ((G == G))
110125 then {
111- let C = fraction(1000000000000, s, B)
112- if ((C > 0))
126+ let H = fraction(h, x, G)
127+ if ((H > 0))
113128 then {
114- let v = invoke(p, "withdraw", nil, [AttachedPayment(A, C)])
115- if ((v == v))
129+ let A = invoke(u, "withdraw", nil, [AttachedPayment(F, H)])
130+ if ((A == A))
116131 then {
117- let i = v
118- if ($isInstanceOf(i, "Int"))
132+ let k = A
133+ if ($isInstanceOf(k, "Int"))
119134 then {
120- let D = i
121- let x = (t - D)
122- let y = (u - C)
123-[IntegerEntry(c, x), IntegerEntry(d, y)]
135+ let I = k
136+ let C = (y - I)
137+ let D = (z - H)
138+[IntegerEntry(c, C), IntegerEntry(d, D)]
124139 }
125140 else nil
126141 }
138153 }
139154
140155
141-@Callable(E)
142-func rebalanceRatio (F) = {
143- let G = wavesBalance(this).regular
144- if ((G == G))
156+@Callable(s)
157+func rebalanceRatio (J) = {
158+ let K = max([0, (wavesBalance(this).regular - r())])
159+ if ((K == K))
145160 then {
146- let H = g(c)
147- if ((H == H))
161+ let L = i(c)
162+ if ((L == L))
148163 then {
149- let I = (G + H)
150- let J = fraction(F, I, 100)
151- let K = (H - J)
152- let L = (G + K)
153- if ((K == 0))
164+ let M = (K + L)
165+ let N = fraction(J, M, 100)
166+ let O = (L - N)
167+ if ((O == 0))
154168 then nil
155- else if ((0 > K))
169+ else if ((0 > O))
156170 then {
157- let M = (K * -1)
158- r(M)
171+ let P = (O * -1)
172+ w(P)
159173 }
160174 else {
161- let N = K
162- z(N)
175+ let Q = O
176+ E(Q)
163177 }
164178 }
165179 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "rebalance"
55
66 let b = "%s__targetRatio"
77
88 let c = "%s__additionalWavesBalance"
99
1010 let d = "%s__sWavesBalance"
1111
1212 let e = "%s__sWavesAssetId"
1313
1414 let f = "%s__proxyAddress"
1515
16-func g (h) = {
17- let i = getInteger(this, h)
18- if ($isInstanceOf(i, "Int"))
16+let g = "%s_minWavesBalalnce"
17+
18+let h = 1000000000000
19+
20+func i (j) = {
21+ let k = getInteger(this, j)
22+ if ($isInstanceOf(k, "Int"))
1923 then {
20- let j = i
21- j
24+ let l = k
25+ l
2226 }
2327 else 0
2428 }
2529
2630
27-func k (l) = {
28- let i = getString(this, l)
29- if ($isInstanceOf(i, "String"))
31+func m (n) = {
32+ let k = getString(this, n)
33+ if ($isInstanceOf(k, "String"))
3034 then {
31- let m = i
32- m
35+ let o = k
36+ o
3337 }
34- else throw((("[" + l) + "] is empty"))
38+ else throw((("[" + n) + "] is empty"))
3539 }
3640
3741
38-func n () = {
39- let i = getInteger(b)
40- if ($isInstanceOf(i, "Int"))
42+func p () = {
43+ let k = getInteger(b)
44+ if ($isInstanceOf(k, "Int"))
4145 then {
42- let m = i
43- min([100, max([0, m])])
46+ let q = k
47+ min([100, max([0, q])])
4448 }
4549 else 80
4650 }
4751
4852
49-func o () = {
50- let p = addressFromStringValue(k(f))
51- let q = invoke(p, "getRate", nil, nil)
52- if ((q == q))
53+func r () = {
54+ let k = getInteger(g)
55+ if ($isInstanceOf(k, "Int"))
5356 then {
54- let i = q
55- if ($isInstanceOf(i, "String"))
57+ let s = k
58+ max([0, s])
59+ }
60+ else 0
61+ }
62+
63+
64+func t () = {
65+ let u = addressFromStringValue(m(f))
66+ let v = invoke(u, "getRate", nil, nil)
67+ if ((v == v))
68+ then {
69+ let k = v
70+ if ($isInstanceOf(k, "String"))
5671 then {
57- let m = i
58- parseIntValue(m)
72+ let o = k
73+ parseIntValue(o)
5974 }
6075 else throw("ZERO rate")
6176 }
6277 else throw("Strict value is not equal to itself.")
6378 }
6479
6580
66-func r (s) = {
67- let p = addressFromStringValue(k(f))
68- let t = g(c)
69- if ((t == t))
81+func w (x) = {
82+ let u = addressFromStringValue(m(f))
83+ let y = i(c)
84+ if ((y == y))
7085 then {
71- let u = g(d)
72- if ((u == u))
73- then if ((s > 0))
86+ let z = i(d)
87+ if ((z == z))
88+ then if ((x > 0))
7489 then {
75- let v = invoke(p, "deposit", nil, [AttachedPayment(unit, s)])
76- if ((v == v))
90+ let A = invoke(u, "deposit", nil, [AttachedPayment(unit, x)])
91+ if ((A == A))
7792 then {
78- let i = v
79- if ($isInstanceOf(i, "Int"))
93+ let k = A
94+ if ($isInstanceOf(k, "Int"))
8095 then {
81- let w = i
82- let x = (t + s)
83- let y = (u + w)
84-[IntegerEntry(c, x), IntegerEntry(d, y)]
96+ let B = k
97+ let C = (y + x)
98+ let D = (z + B)
99+[IntegerEntry(c, C), IntegerEntry(d, D)]
85100 }
86101 else nil
87102 }
88103 else throw("Strict value is not equal to itself.")
89104 }
90105 else nil
91106 else throw("Strict value is not equal to itself.")
92107 }
93108 else throw("Strict value is not equal to itself.")
94109 }
95110
96111
97-func z (s) = {
98- let p = addressFromStringValue(k(f))
99- let A = fromBase58String(k(e))
100- if ((A == A))
112+func E (x) = {
113+ let u = addressFromStringValue(m(f))
114+ let F = fromBase58String(m(e))
115+ if ((F == F))
101116 then {
102- let t = g(c)
103- if ((t == t))
117+ let y = i(c)
118+ if ((y == y))
104119 then {
105- let u = g(d)
106- if ((u == u))
120+ let z = i(d)
121+ if ((z == z))
107122 then {
108- let B = o()
109- if ((B == B))
123+ let G = t()
124+ if ((G == G))
110125 then {
111- let C = fraction(1000000000000, s, B)
112- if ((C > 0))
126+ let H = fraction(h, x, G)
127+ if ((H > 0))
113128 then {
114- let v = invoke(p, "withdraw", nil, [AttachedPayment(A, C)])
115- if ((v == v))
129+ let A = invoke(u, "withdraw", nil, [AttachedPayment(F, H)])
130+ if ((A == A))
116131 then {
117- let i = v
118- if ($isInstanceOf(i, "Int"))
132+ let k = A
133+ if ($isInstanceOf(k, "Int"))
119134 then {
120- let D = i
121- let x = (t - D)
122- let y = (u - C)
123-[IntegerEntry(c, x), IntegerEntry(d, y)]
135+ let I = k
136+ let C = (y - I)
137+ let D = (z - H)
138+[IntegerEntry(c, C), IntegerEntry(d, D)]
124139 }
125140 else nil
126141 }
127142 else throw("Strict value is not equal to itself.")
128143 }
129144 else nil
130145 }
131146 else throw("Strict value is not equal to itself.")
132147 }
133148 else throw("Strict value is not equal to itself.")
134149 }
135150 else throw("Strict value is not equal to itself.")
136151 }
137152 else throw("Strict value is not equal to itself.")
138153 }
139154
140155
141-@Callable(E)
142-func rebalanceRatio (F) = {
143- let G = wavesBalance(this).regular
144- if ((G == G))
156+@Callable(s)
157+func rebalanceRatio (J) = {
158+ let K = max([0, (wavesBalance(this).regular - r())])
159+ if ((K == K))
145160 then {
146- let H = g(c)
147- if ((H == H))
161+ let L = i(c)
162+ if ((L == L))
148163 then {
149- let I = (G + H)
150- let J = fraction(F, I, 100)
151- let K = (H - J)
152- let L = (G + K)
153- if ((K == 0))
164+ let M = (K + L)
165+ let N = fraction(J, M, 100)
166+ let O = (L - N)
167+ if ((O == 0))
154168 then nil
155- else if ((0 > K))
169+ else if ((0 > O))
156170 then {
157- let M = (K * -1)
158- r(M)
171+ let P = (O * -1)
172+ w(P)
159173 }
160174 else {
161- let N = K
162- z(N)
175+ let Q = O
176+ E(Q)
163177 }
164178 }
165179 else throw("Strict value is not equal to itself.")
166180 }
167181 else throw("Strict value is not equal to itself.")
168182 }
169183
170184

github/deemru/w8io/c3f4982 
66.65 ms