tx · BN14Vfd9aoDBtQospVDznCoZboQsFZ5bmmSTPvtknHZD
3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h: -0.05000000 Waves
2023.03.28 09:07 [2509419] smart account 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h > SELF 0.00000000 Waves
{
"type": 13,
"id": "BN14Vfd9aoDBtQospVDznCoZboQsFZ5bmmSTPvtknHZD",
"fee": 5000000,
"feeAssetId": null,
"timestamp": 1679983612490,
"version": 2,
"chainId": 84,
"sender": "3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h",
"senderPublicKey": "3z8Q6Zu3KppVmn6fJJvrLc1Wo3krVHSvfaNcerm82md2",
"proofs": [
"5AWvRHscQr9hd83x7AszE5T56am9E6RdBjE96bsZKw7odnAW7caDPQG5whqXXwSJ2sAV4hd5RqrnHHCxNvPHnKa1"
],
"script": "base64:BgIPCAISABIAEgASBQoDAQEBCwAMY29udHJhY3RGaWxlAglyZWJhbGFuY2UAD2tleXNUYXJnZXRSYXRpbwIPJXNfX3RhcmdldFJhdGlvABRrZXlBZGRpdGlvbmFsQmFsYW5jZQIaJXNfX2FkZGl0aW9uYWxXYXZlc0JhbGFuY2UAGmtleVNXYXZlc0FkZGl0aW9uYWxCYWxhbmNlAhElc19fc1dhdmVzQmFsYW5jZQAQa2V5U1dhdmVzQXNzZXRJZAIRJXNfX3NXYXZlc0Fzc2V0SWQAD2tleVByb3h5QWRkcmVzcwIQJXNfX3Byb3h5QWRkcmVzcwEQZ2V0SW50ZWdlck9yWmVybwEKaW50ZWdlcktleQQHJG1hdGNoMAkAmggCBQR0aGlzBQppbnRlZ2VyS2V5AwkAAQIFByRtYXRjaDACA0ludAQDdmFsBQckbWF0Y2gwBQN2YWwAAAEQZ2V0U3RyaW5nT3JUaHJvdwEJc3RyaW5nS2V5BAckbWF0Y2gwCQCdCAIFBHRoaXMFCXN0cmluZ0tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBCQCsAgIJAKwCAgIBWwUJc3RyaW5nS2V5AgpdIGlzIGVtcHR5ARRpbnRlcm5hbFdhdmVzQmFsYW5jZQAJAGQCCAkA7wcBBQR0aGlzB3JlZ3VsYXIJARBnZXRJbnRlZ2VyT3JaZXJvAQUUa2V5QWRkaXRpb25hbEJhbGFuY2UBC2N1cnJlbnRSYXRlAAQRYWRkaXRpb25hbEJhbGFuY2UJARBnZXRJbnRlZ2VyT3JaZXJvAQUUa2V5QWRkaXRpb25hbEJhbGFuY2UEDXNXYXZlc0JhbGFuY2UJARBnZXRJbnRlZ2VyT3JaZXJvAQUaa2V5U1dhdmVzQWRkaXRpb25hbEJhbGFuY2UDCQAAAgURYWRkaXRpb25hbEJhbGFuY2UAAAAACQBrAwCA0NvD9AIFEWFkZGl0aW9uYWxCYWxhbmNlBQ1zV2F2ZXNCYWxhbmNlAQdnZXRSYXRlAAQFcHJveHkJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARBnZXRTdHJpbmdPclRocm93AQUPa2V5UHJveHlBZGRyZXNzBANpbnYJAPwHBAUFcHJveHkCB2dldFJhdGUFA25pbAUDbmlsAwkAAAIFA2ludgUDaW52BAckbWF0Y2gwBQNpbnYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQENcGFyc2VJbnRWYWx1ZQEFAXMAAAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQBaQEScmV0dXJuV2F2ZXNCYWxhbmNlAAkAlAoCBQNuaWwJARRpbnRlcm5hbFdhdmVzQmFsYW5jZQABaQETcmV0dXJuU1dhdmVzQmFsYW5jZQAJAJQKAgUDbmlsCQEQZ2V0SW50ZWdlck9yWmVybwEFGmtleVNXYXZlc0FkZGl0aW9uYWxCYWxhbmNlAWkBCWNhbGNSYXRpbwAEE3JlZ3VsYXJXYXZlc0JhbGFuY2UICQDvBwEFBHRoaXMHcmVndWxhcgQKYWRkaXRpb25hbAkBEGdldEludGVnZXJPclplcm8BBRRrZXlBZGRpdGlvbmFsQmFsYW5jZQQFcmF0aW8JAGsDAGQFCmFkZGl0aW9uYWwJAGQCBQphZGRpdGlvbmFsBRNyZWd1bGFyV2F2ZXNCYWxhbmNlCQCUCgIFA25pbAUFcmF0aW8BaQENY2FsY1JhdGlvVGVzdAMOcmVndWxhckJhbGFuY2UKYWRkaXRpb25hbAt0YXJnZXRSYXRpbwQDc3VtCQBkAgUOcmVndWxhckJhbGFuY2UFCmFkZGl0aW9uYWwEF3RhcmdldEFkZGl0aW9uYWxCYWxhbmNlCQBrAwULdGFyZ2V0UmF0aW8FA3N1bQBkBAZjaGFuZ2UJAGUCBQphZGRpdGlvbmFsBRd0YXJnZXRBZGRpdGlvbmFsQmFsYW5jZQQGbmV3UmVnCQBkAgUOcmVndWxhckJhbGFuY2UFBmNoYW5nZQMJAGYCAAAFBmNoYW5nZQQKc2VuZEFtb3VudAkAaAIFBmNoYW5nZQD///////////8BCQCUCgIFA25pbAkAzAgCBQZuZXdSZWcJAMwIAgUXdGFyZ2V0QWRkaXRpb25hbEJhbGFuY2UJAMwIAgUGY2hhbmdlCQDMCAIJAKwCAgIJZGVwb3NpdDogCQCkAwEFCnNlbmRBbW91bnQFA25pbAQKc2VuZEFtb3VudAUGY2hhbmdlCQCUCgIFA25pbAkAzAgCBQZuZXdSZWcJAMwIAgUXdGFyZ2V0QWRkaXRpb25hbEJhbGFuY2UJAMwIAgUGY2hhbmdlCQDMCAIJAKwCAgIKd2l0aGRyYXc6IAkApAMBBQpzZW5kQW1vdW50BQNuaWwACqIZjw==",
"height": 2509419,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 6qZasWNEcJVm1eUmdNVzTegkBZVf4PBbf7BsRfchMfJB
Next: FQR71EwWYET2D37rV9cyPQy9c57AsVrLSPBFetrAPMsk
Diff:
Old | New | | Differences |
---|
43 | 43 | | let q = g(d) |
---|
44 | 44 | | if ((p == 0)) |
---|
45 | 45 | | then 0 |
---|
46 | | - | else fraction(10000000000, p, q) |
---|
| 46 | + | else fraction(100000000000, p, q) |
---|
47 | 47 | | } |
---|
48 | 48 | | |
---|
49 | 49 | | |
---|
50 | 50 | | func r () = { |
---|
51 | 51 | | let s = addressFromStringValue(k(f)) |
---|
52 | | - | invoke(s, "getRate", nil, nil) |
---|
| 52 | + | let t = invoke(s, "getRate", nil, nil) |
---|
| 53 | + | if ((t == t)) |
---|
| 54 | + | then { |
---|
| 55 | + | let i = t |
---|
| 56 | + | if ($isInstanceOf(i, "String")) |
---|
| 57 | + | then { |
---|
| 58 | + | let m = i |
---|
| 59 | + | parseIntValue(m) |
---|
| 60 | + | } |
---|
| 61 | + | else 0 |
---|
| 62 | + | } |
---|
| 63 | + | else throw("Strict value is not equal to itself.") |
---|
53 | 64 | | } |
---|
54 | 65 | | |
---|
55 | 66 | | |
---|
56 | | - | @Callable(t) |
---|
| 67 | + | @Callable(u) |
---|
57 | 68 | | func returnWavesBalance () = $Tuple2(nil, n()) |
---|
58 | 69 | | |
---|
59 | 70 | | |
---|
60 | 71 | | |
---|
61 | | - | @Callable(t) |
---|
| 72 | + | @Callable(u) |
---|
62 | 73 | | func returnSWavesBalance () = $Tuple2(nil, g(d)) |
---|
63 | 74 | | |
---|
64 | 75 | | |
---|
65 | 76 | | |
---|
66 | | - | @Callable(t) |
---|
| 77 | + | @Callable(u) |
---|
67 | 78 | | func calcRatio () = { |
---|
68 | | - | let u = wavesBalance(this).regular |
---|
69 | | - | let v = g(c) |
---|
70 | | - | let w = fraction(100, v, (v + u)) |
---|
71 | | - | $Tuple2(nil, w) |
---|
| 79 | + | let v = wavesBalance(this).regular |
---|
| 80 | + | let w = g(c) |
---|
| 81 | + | let x = fraction(100, w, (w + v)) |
---|
| 82 | + | $Tuple2(nil, x) |
---|
72 | 83 | | } |
---|
73 | 84 | | |
---|
74 | 85 | | |
---|
75 | 86 | | |
---|
76 | | - | @Callable(t) |
---|
77 | | - | func calcRatioTest (x,v,y) = { |
---|
78 | | - | let z = (x + v) |
---|
79 | | - | let A = fraction(y, z, 100) |
---|
80 | | - | let B = (v - A) |
---|
81 | | - | let C = (x + B) |
---|
82 | | - | if ((0 > B)) |
---|
| 87 | + | @Callable(u) |
---|
| 88 | + | func calcRatioTest (y,w,z) = { |
---|
| 89 | + | let A = (y + w) |
---|
| 90 | + | let B = fraction(z, A, 100) |
---|
| 91 | + | let C = (w - B) |
---|
| 92 | + | let D = (y + C) |
---|
| 93 | + | if ((0 > C)) |
---|
83 | 94 | | then { |
---|
84 | | - | let D = (B * -1) |
---|
85 | | - | $Tuple2(nil, [C, A, B, ("deposit: " + toString(D))]) |
---|
| 95 | + | let E = (C * -1) |
---|
| 96 | + | $Tuple2(nil, [D, B, C, ("deposit: " + toString(E))]) |
---|
86 | 97 | | } |
---|
87 | 98 | | else { |
---|
88 | | - | let D = B |
---|
89 | | - | $Tuple2(nil, [C, A, B, ("withdraw: " + toString(D))]) |
---|
| 99 | + | let E = C |
---|
| 100 | + | $Tuple2(nil, [D, B, C, ("withdraw: " + toString(E))]) |
---|
90 | 101 | | } |
---|
91 | 102 | | } |
---|
92 | 103 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "rebalance" |
---|
5 | 5 | | |
---|
6 | 6 | | let b = "%s__targetRatio" |
---|
7 | 7 | | |
---|
8 | 8 | | let c = "%s__additionalWavesBalance" |
---|
9 | 9 | | |
---|
10 | 10 | | let d = "%s__sWavesBalance" |
---|
11 | 11 | | |
---|
12 | 12 | | let e = "%s__sWavesAssetId" |
---|
13 | 13 | | |
---|
14 | 14 | | let f = "%s__proxyAddress" |
---|
15 | 15 | | |
---|
16 | 16 | | func g (h) = { |
---|
17 | 17 | | let i = getInteger(this, h) |
---|
18 | 18 | | if ($isInstanceOf(i, "Int")) |
---|
19 | 19 | | then { |
---|
20 | 20 | | let j = i |
---|
21 | 21 | | j |
---|
22 | 22 | | } |
---|
23 | 23 | | else 0 |
---|
24 | 24 | | } |
---|
25 | 25 | | |
---|
26 | 26 | | |
---|
27 | 27 | | func k (l) = { |
---|
28 | 28 | | let i = getString(this, l) |
---|
29 | 29 | | if ($isInstanceOf(i, "String")) |
---|
30 | 30 | | then { |
---|
31 | 31 | | let m = i |
---|
32 | 32 | | m |
---|
33 | 33 | | } |
---|
34 | 34 | | else throw((("[" + l) + "] is empty")) |
---|
35 | 35 | | } |
---|
36 | 36 | | |
---|
37 | 37 | | |
---|
38 | 38 | | func n () = (wavesBalance(this).regular + g(c)) |
---|
39 | 39 | | |
---|
40 | 40 | | |
---|
41 | 41 | | func o () = { |
---|
42 | 42 | | let p = g(c) |
---|
43 | 43 | | let q = g(d) |
---|
44 | 44 | | if ((p == 0)) |
---|
45 | 45 | | then 0 |
---|
46 | | - | else fraction(10000000000, p, q) |
---|
| 46 | + | else fraction(100000000000, p, q) |
---|
47 | 47 | | } |
---|
48 | 48 | | |
---|
49 | 49 | | |
---|
50 | 50 | | func r () = { |
---|
51 | 51 | | let s = addressFromStringValue(k(f)) |
---|
52 | | - | invoke(s, "getRate", nil, nil) |
---|
| 52 | + | let t = invoke(s, "getRate", nil, nil) |
---|
| 53 | + | if ((t == t)) |
---|
| 54 | + | then { |
---|
| 55 | + | let i = t |
---|
| 56 | + | if ($isInstanceOf(i, "String")) |
---|
| 57 | + | then { |
---|
| 58 | + | let m = i |
---|
| 59 | + | parseIntValue(m) |
---|
| 60 | + | } |
---|
| 61 | + | else 0 |
---|
| 62 | + | } |
---|
| 63 | + | else throw("Strict value is not equal to itself.") |
---|
53 | 64 | | } |
---|
54 | 65 | | |
---|
55 | 66 | | |
---|
56 | | - | @Callable(t) |
---|
| 67 | + | @Callable(u) |
---|
57 | 68 | | func returnWavesBalance () = $Tuple2(nil, n()) |
---|
58 | 69 | | |
---|
59 | 70 | | |
---|
60 | 71 | | |
---|
61 | | - | @Callable(t) |
---|
| 72 | + | @Callable(u) |
---|
62 | 73 | | func returnSWavesBalance () = $Tuple2(nil, g(d)) |
---|
63 | 74 | | |
---|
64 | 75 | | |
---|
65 | 76 | | |
---|
66 | | - | @Callable(t) |
---|
| 77 | + | @Callable(u) |
---|
67 | 78 | | func calcRatio () = { |
---|
68 | | - | let u = wavesBalance(this).regular |
---|
69 | | - | let v = g(c) |
---|
70 | | - | let w = fraction(100, v, (v + u)) |
---|
71 | | - | $Tuple2(nil, w) |
---|
| 79 | + | let v = wavesBalance(this).regular |
---|
| 80 | + | let w = g(c) |
---|
| 81 | + | let x = fraction(100, w, (w + v)) |
---|
| 82 | + | $Tuple2(nil, x) |
---|
72 | 83 | | } |
---|
73 | 84 | | |
---|
74 | 85 | | |
---|
75 | 86 | | |
---|
76 | | - | @Callable(t) |
---|
77 | | - | func calcRatioTest (x,v,y) = { |
---|
78 | | - | let z = (x + v) |
---|
79 | | - | let A = fraction(y, z, 100) |
---|
80 | | - | let B = (v - A) |
---|
81 | | - | let C = (x + B) |
---|
82 | | - | if ((0 > B)) |
---|
| 87 | + | @Callable(u) |
---|
| 88 | + | func calcRatioTest (y,w,z) = { |
---|
| 89 | + | let A = (y + w) |
---|
| 90 | + | let B = fraction(z, A, 100) |
---|
| 91 | + | let C = (w - B) |
---|
| 92 | + | let D = (y + C) |
---|
| 93 | + | if ((0 > C)) |
---|
83 | 94 | | then { |
---|
84 | | - | let D = (B * -1) |
---|
85 | | - | $Tuple2(nil, [C, A, B, ("deposit: " + toString(D))]) |
---|
| 95 | + | let E = (C * -1) |
---|
| 96 | + | $Tuple2(nil, [D, B, C, ("deposit: " + toString(E))]) |
---|
86 | 97 | | } |
---|
87 | 98 | | else { |
---|
88 | | - | let D = B |
---|
89 | | - | $Tuple2(nil, [C, A, B, ("withdraw: " + toString(D))]) |
---|
| 99 | + | let E = C |
---|
| 100 | + | $Tuple2(nil, [D, B, C, ("withdraw: " + toString(E))]) |
---|
90 | 101 | | } |
---|
91 | 102 | | } |
---|
92 | 103 | | |
---|
93 | 104 | | |
---|