tx · BNRbu57NZDhYvStwy8kZGKj72nxZpVMgScEaiTRdAUPN

3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez:  -0.01000000 Waves

2023.04.17 05:39 [3603547] smart account 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez > SELF 0.00000000 Waves

{ "type": 13, "id": "BNRbu57NZDhYvStwy8kZGKj72nxZpVMgScEaiTRdAUPN", "fee": 1000000, "feeAssetId": null, "timestamp": 1681699211695, "version": 2, "chainId": 87, "sender": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez", "senderPublicKey": "3zaQerEjh4SK1xhin9zzs5qr337aLRFhz7z1ckjFGhMz", "proofs": [ "3saXf66poT3ckP3XDHfbzKxmx2LbR8kJEGx9n9hhz7p6rkGgJckSVH7a4Cr5qj3sYTgxNdTBtELgp1J9EXUk1cst" ], "script": "base64:BgKTBAgCEgMKAQESAwoBARIDCgEIIg5mcmVlX3RvX2JvcnJvbSINVVNETl9BU1NFVF9JRCIEYm9zcyIOYWRtaW5QdWJsaWNLZXkiDFdYX1NXQVBfREFQUCIKZ2V0QmFsYW5jZSIHYXNzZXRJZCIHJG1hdGNoMCIBYiIIZ2V0QmFzZTEiBGRhdGEiBnBfZGF0YSIBYSICYTIiB2Fzc2V0SW4iCGFtb3VudEluIghnZXRCYXNlMiICcDEiAXQiDWdldEFzc2V0Qnl0ZXMiB3N3YXBfd3giAXAiBWFzc2V0IgZhbW91bnQiACIEY2FsbCIJc3dhcF9zd29wIgRzd2FwIgtzd2FwX3B1enpsZSIIYXNzZXRPdXQiAWkiBGFtbnQiCmN1cnJlbnRCYWwiCmRhdGFfYXJyYXkiCyR0MDI0NjIyNTE4IgskdDAyNTIzMjU2MSICdDEiCyR0MDI1NjYyNjA0IgJwMiICdDIiCyR0MDI2MDkyNjQ3IgJwMyICdDMiEmFtb3VudF9iZWZfYXNzZXRJbiIMbmV3X2Ftb3VudEluIhFhbW91bnRfYmVmX2Fzc2V0MSIFc3dhcDEiAm5iIhFhbW91bnRfYmVmX2Fzc2V0MiIFc3dhcDIiA25iMiIVYW1vdW50X2JlZl9iYXNlX2Fzc2V0IgVzd2FwMyIDbmIzIgh0cmVzaG9sZCICdHgiBnZlcmlmeQwAAWEJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQRzdDSHZCYXRIcENod204cmVINzR3ZkV3azFQSGM4UnF5AAFiASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QABYwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BSRTVLSDlvUEdmRlBzN2ZHblFjSjR3TnNoRURVUEdqMXQAAWQBIK//Hnx2h59d/B6vn7HsXOeOPeI+WyGy4AZxTRb/mxVtAAFlCQEHQWRkcmVzcwEBGgFXLio1NbENt/F5PuG3RtCedFJNezHQg64GAQFmAQFnBAFoBQFnAwkAAQIFAWgCCkJ5dGVWZWN0b3IEAWkFAWgJAPAHAgUEdGhpcwUBaQgJAO8HAQUEdGhpcwlhdmFpbGFibGUBAWoBAWsEAWwJALUJAgUBawIBXwQBbQkAkQMCBQFsAAAEAW4JAJEDAgUBbAABBAFvCQCRAwIFAWwAAgQBcAkAkQMCBQFsAAMJAJYKBAUBbQUBbgUBbwUBcAEBcQEBawQBbAkAtQkCBQFrAgFfBAFyCQCRAwIFAWwAAAQBcwkAkQMCBQFsAAEJAJQKAgUBcgUBcwEBdAEBZwMJAAACBQFnAgVXQVZFUwUEdW5pdAkA2QQBBQFnAQF1BAF2AXcBeAFtBAF6CQD8BwQFAWUCBHN3YXAJAMwIAgABCQDMCAIFAW0JAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQF0AQUBdwUBeAUDbmlsAwkAAAIFAXoFAXoFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBQQMBdgF3AXgEAUIJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAXYCCGV4Y2hhbmdlCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEBdAEFAXcFAXgFA25pbAMJAAACBQFCBQFCBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAUMEAXYBdwF4AUQEAUIJAPwHBAkBB0FkZHJlc3MBCQDZBAEFAXYCBHN3YXAJAMwIAgUBRAkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBAXQBBQF3BQF4BQNuaWwDCQAAAgUBQgUBQgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwFFAQZib3Jyb3cBAUYDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFAWEJAMwIAgUBYwkAzAgCBQR0aGlzBQNuaWwIBQFFBmNhbGxlcgkAAgECHnlvdSBhcmUgbm90IGFsbG93ZWQgdG8gYm9ycm93IQQBRwkBAWYBBQFiAwkAZgIFAUYFAUcJAAIBAhxZb3UgY2Fubm5vdCBib3Jyb3cgdGhhdCBtdWNoCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFFBmNhbGxlcgUBRgUBYgUDbmlsAUUBC3NldFRyZXNob2xkAQFGAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQFhCQDMCAIFAWMJAMwIAgUEdGhpcwUDbmlsCAUBRQZjYWxsZXIJAAIBAh95b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGRvIHRoYXQhCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgh0cmVzaG9sZAUBRgUDbmlsAUUBAXkBAWsDAwkBAiE9AggFAUUGY2FsbGVyBQR0aGlzCQECIT0CCAUBRQZjYWxsZXIFAWMHCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBAFICQC8CQIFAWsCAXwEAUkJAQFqAQkAkQMCBQFIAAAEAW0IBQFJAl8xBAFuCAUBSQJfMgQBbwgFAUkCXzMEAXAIBQFJAl80BAFKCQEBcQEJAJEDAgUBSAABBAFyCAUBSgJfMQQBSwgFAUoCXzIEAUwJAQFxAQkAkQMCBQFIAAIEAU0IBQFMAl8xBAFOCAUBTAJfMgQBTwkBAXEBCQCRAwIFAUgAAwQBUAgFAU8CXzEEAVEIBQFPAl8yBAFSCQEBZgEJAQF0AQUBbwMJAAACBQFSBQFSBAFTAwkAZgIJAQV2YWx1ZQEJALYJAQUBcAUBUgUBUgkBBXZhbHVlAQkAtgkBBQFwAwkAAAIFAVMFAVMEAVQJAQFmAQkBAXQBBQFtAwkAAAIFAVQFAVQEAVUDCQAAAgUBSwIBVwkBAXUEBQFyBQFvBQFTBQFtAwkAAAIFAUsCAVMJAQFBAwUBcgUBbwUBUwkBAUMEBQFyBQFvBQFTBQFtAwkAAAIFAVUFAVUEAVYJAGUCCQEBZgEJAQF0AQUBbQUBVAMJAAACBQFWBQFWBAFXCQEBZgEJAQF0AQUBbgMJAAACBQFXBQFXBAFYAwkAAAIFAU4CAVcJAQF1BAUBTQUBbQUBVgUBbgMJAAACBQFOAgFTCQEBQQMFAU0FAW0FAVYJAQFDBAUBTQUBbQUBVgUBbgMJAAACBQFYBQFYBAFZCQBlAgkBAWYBCQEBdAEFAW4FAVcDCQAAAgUBWQUBWQQBWgkBAWYBCQEBdAEFAW8DCQAAAgUBWgUBWgQCYWEDCQAAAgUBUQIBVwkBAXUEBQFQBQFuBQFZBQFvAwkAAAIFAVECAVMJAQFBAwUBUAUBbgUBWQkBAUMEBQFQBQFuBQFZBQFvAwkAAAIFAmFhBQJhYQQCYWIJAGUCCQEBZgEJAQF0AQUBbwUBWgMJAAACBQJhYgUCYWIEAmFjCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMCCHRyZXNob2xkAPCTCQMJAGYCBQJhYgkAZAIFAVMFAmFjCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFFBmNhbGxlcgkAZQIFAmFiBQFTCQEBdAEFAW8FA25pbAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICEm9yaWdpbiBhbW91bnRJbiA9IAUBcAIRLCBuZXdfYW1vdW50SW4gPSAJAKQDAQUBUwIMLCBuZXdCYWxfMTogCQCkAwEFAVYCDCwgbmV3QmFsXzI6IAkApAMBBQFZAgwsIG5ld0JhbF8zOiAJAKQDAQUCYWIJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmFkAQJhZQADCQDIEwMIBQJhZAlib2R5Qnl0ZXMJAJEDAggFAmFkBnByb29mcwAACAUCYWQPc2VuZGVyUHVibGljS2V5BgkAyBMDCAUCYWQJYm9keUJ5dGVzCQCRAwIIBQJhZAZwcm9vZnMAAAUBZFsTaFk=", "height": 3603547, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EfqAvzJD6gvQa6vqES2afu2XHDgheh5c5ZZXXDqegiAW Next: Fu5xRrsrNyKZp4HjU3yNx828rpTJK2Wqjanbs53BbuiS Diff:
OldNewDifferences
99
1010 let d = base58'Cr1ybL2JGg9GwJHA2JwqxBPfSW6Q7Jg4HvNrsEiCsHu6'
1111
12-func e (f) = {
13- let g = if ((f == 1))
14- then "putOneTknV2"
15- else "putOneTkn"
16- let h = if ((f == 1))
17- then "getOneTknV2"
18- else "getOneTkn"
19- $Tuple2(g, h)
20- }
12+let e = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93')
2113
22-
23-func i (j) = {
24- let k = j
25- if ($isInstanceOf(k, "ByteVector"))
14+func f (g) = {
15+ let h = g
16+ if ($isInstanceOf(h, "ByteVector"))
2617 then {
27- let l = k
28- assetBalance(this, l)
18+ let i = h
19+ assetBalance(this, i)
2920 }
3021 else wavesBalance(this).available
3122 }
3223
3324
34-func m (n) = {
35- let o = split(n, "_")
36- let p = o[0]
37- let q = o[1]
38- let r = o[2]
39- let s = o[3]
40- $Tuple4(p, q, r, s)
25+func j (k) = {
26+ let l = split(k, "_")
27+ let m = l[0]
28+ let n = l[1]
29+ let o = l[2]
30+ let p = l[3]
31+ $Tuple4(m, n, o, p)
4132 }
4233
4334
44-func t (n) = {
45- let o = split(n, "_")
46- let u = o[0]
47- let v = o[1]
48- let w = o[2]
49- let x = o[3]
50- $Tuple4(u, v, w, x)
35+func q (k) = {
36+ let l = split(k, "_")
37+ let r = l[0]
38+ let s = l[1]
39+ $Tuple2(r, s)
5140 }
5241
5342
54-func z (j) = if ((j == "WAVES"))
43+func t (g) = if ((g == "WAVES"))
5544 then unit
56- else fromBase58String(j)
45+ else fromBase58String(g)
5746
5847
59-func A (B,C,D,E,F,G,p) = {
60- let H = invoke(Address(fromBase58String(B)), F, [1, false], [AttachedPayment(z(D), E)])
61- if ((H == H))
62- then {
63- let I = fromBase58String(C)
64- let J = i(I)
65- if ((J == J))
66- then {
67- let K = invoke(Address(fromBase58String(B)), G, [p, 1], [AttachedPayment(I, J)])
68- if ((K == K))
69- then nil
70- else throw("Strict value is not equal to itself.")
71- }
72- else throw("Strict value is not equal to itself.")
73- }
74- else throw("Strict value is not equal to itself.")
75- }
76-
77-
78-func L (B,D,E) = {
79- let M = invoke(Address(fromBase58String(B)), "exchange", [1], [AttachedPayment(z(D), E)])
80- if ((M == M))
48+func u (v,w,x,m) = {
49+ let z = invoke(e, "swap", [1, m, toString(this)], [AttachedPayment(t(w), x)])
50+ if ((z == z))
8151 then nil
8252 else throw("Strict value is not equal to itself.")
8353 }
8454
8555
86-func N (B,D,E,O) = {
87- let P = invoke(Address(fromBase58String(B)), "swap", [O, 1], [AttachedPayment(z(D), E)])
88- if ((P == P))
56+func A (v,w,x) = {
57+ let B = invoke(Address(fromBase58String(v)), "exchange", [1], [AttachedPayment(t(w), x)])
58+ if ((B == B))
8959 then nil
9060 else throw("Strict value is not equal to itself.")
9161 }
9262
9363
94-@Callable(Q)
95-func borrow (R) = if (!(containsElement([a, c, this], Q.caller)))
64+func C (v,w,x,D) = {
65+ let B = invoke(Address(fromBase58String(v)), "swap", [D, 1], [AttachedPayment(t(w), x)])
66+ if ((B == B))
67+ then nil
68+ else throw("Strict value is not equal to itself.")
69+ }
70+
71+
72+@Callable(E)
73+func borrow (F) = if (!(containsElement([a, c, this], E.caller)))
9674 then throw("you are not allowed to borrow!")
9775 else {
98- let S = i(b)
99- if ((R > S))
76+ let G = f(b)
77+ if ((F > G))
10078 then throw("You cannnot borrow that much")
101- else [ScriptTransfer(Q.caller, R, b)]
79+ else [ScriptTransfer(E.caller, F, b)]
10280 }
10381
10482
10583
106-@Callable(Q)
107-func setTreshold (R) = if (!(containsElement([a, c, this], Q.caller)))
84+@Callable(E)
85+func setTreshold (F) = if (!(containsElement([a, c, this], E.caller)))
10886 then throw("you are not allowed to do that!")
109- else [IntegerEntry("treshold", R)]
87+ else [IntegerEntry("treshold", F)]
11088
11189
11290
113-@Callable(Q)
114-func y (n) = if (if ((Q.caller != this))
115- then (Q.caller != c)
91+@Callable(E)
92+func y (k) = if (if ((E.caller != this))
93+ then (E.caller != c)
11694 else false)
11795 then throw("you are not allowed to arb!")
11896 else {
119- let T = split_4C(n, "|")
120- let U = m(T[0])
121- let p = U._1
122- let q = U._2
123- let r = U._3
124- let s = U._4
125- let V = t(T[1])
126- let u = V._1
127- let v = V._2
128- let w = V._3
129- let W = V._4
130- let X = t(T[2])
131- let Y = X._1
132- let Z = X._2
133- let aa = X._3
134- let ab = X._4
135- let ac = t(T[3])
136- let ad = ac._1
137- let ae = ac._2
138- let af = ac._3
139- let ag = ac._4
140- let ah = e(value(parseInt(w)))
141- let F = ah._1
142- let G = ah._2
143- let ai = e(value(parseInt(aa)))
144- let aj = ai._1
145- let ak = ai._2
146- let al = e(value(parseInt(af)))
147- let am = al._1
148- let an = al._2
149- let ao = i(z(r))
150- if ((ao == ao))
97+ let H = split_4C(k, "|")
98+ let I = j(H[0])
99+ let m = I._1
100+ let n = I._2
101+ let o = I._3
102+ let p = I._4
103+ let J = q(H[1])
104+ let r = J._1
105+ let K = J._2
106+ let L = q(H[2])
107+ let M = L._1
108+ let N = L._2
109+ let O = q(H[3])
110+ let P = O._1
111+ let Q = O._2
112+ let R = f(t(o))
113+ if ((R == R))
151114 then {
152- let ap = if ((value(parseInt(s)) > ao))
153- then ao
154- else value(parseInt(s))
155- if ((ap == ap))
115+ let S = if ((value(parseInt(p)) > R))
116+ then R
117+ else value(parseInt(p))
118+ if ((S == S))
156119 then {
157- let aq = i(z(p))
158- if ((aq == aq))
120+ let T = f(t(m))
121+ if ((T == T))
159122 then {
160- let ar = if ((W == "W"))
161- then A(u, v, r, ap, F, G, p)
162- else if ((W == "S"))
163- then L(u, r, ap)
164- else N(u, r, ap, p)
165- if ((ar == ar))
123+ let U = if ((K == "W"))
124+ then u(r, o, S, m)
125+ else if ((K == "S"))
126+ then A(r, o, S)
127+ else C(r, o, S, m)
128+ if ((U == U))
166129 then {
167- let as = (i(z(p)) - aq)
168- if ((as == as))
130+ let V = (f(t(m)) - T)
131+ if ((V == V))
169132 then {
170- let at = i(z(q))
171- if ((at == at))
133+ let W = f(t(n))
134+ if ((W == W))
172135 then {
173- let M = if ((ab == "W"))
174- then A(Y, Z, p, as, aj, ak, q)
175- else if ((ab == "S"))
176- then L(Y, p, as)
177- else N(Y, p, as, q)
178- if ((M == M))
136+ let X = if ((N == "W"))
137+ then u(M, m, V, n)
138+ else if ((N == "S"))
139+ then A(M, m, V)
140+ else C(M, m, V, n)
141+ if ((X == X))
179142 then {
180- let au = (i(z(q)) - at)
181- if ((au == au))
143+ let Y = (f(t(n)) - W)
144+ if ((Y == Y))
182145 then {
183- let av = i(z(r))
184- if ((av == av))
146+ let Z = f(t(o))
147+ if ((Z == Z))
185148 then {
186- let aw = if ((ag == "W"))
187- then A(ad, ae, q, au, am, an, r)
188- else if ((ag == "S"))
189- then L(ad, q, au)
190- else N(ad, q, au, r)
191- if ((aw == aw))
149+ let aa = if ((Q == "W"))
150+ then u(P, n, Y, o)
151+ else if ((Q == "S"))
152+ then A(P, n, Y)
153+ else C(P, n, Y, o)
154+ if ((aa == aa))
192155 then {
193- let ax = (i(z(r)) - av)
194- if ((ax == ax))
156+ let ab = (f(t(o)) - Z)
157+ if ((ab == ab))
195158 then {
196- let ay = valueOrElse(getInteger(this, "treshold"), 150000)
197- if ((ax > (ap + ay)))
198- then [ScriptTransfer(Q.caller, (ax - ap), z(r))]
199- else throw(((((((((("origin amountIn = " + s) + ", new_amountIn = ") + toString(ap)) + ", newBal_1: ") + toString(as)) + ", newBal_2: ") + toString(au)) + ", newBal_3: ") + toString(ax)))
159+ let ac = valueOrElse(getInteger(this, "treshold"), 150000)
160+ if ((ab > (S + ac)))
161+ then [ScriptTransfer(E.caller, (ab - S), t(o))]
162+ else throw(((((((((("origin amountIn = " + p) + ", new_amountIn = ") + toString(S)) + ", newBal_1: ") + toString(V)) + ", newBal_2: ") + toString(Y)) + ", newBal_3: ") + toString(ab)))
200163 }
201164 else throw("Strict value is not equal to itself.")
202165 }
222185 }
223186
224187
225-@Verifier(az)
226-func aA () = if (sigVerify_128Kb(az.bodyBytes, az.proofs[0], az.senderPublicKey))
188+@Verifier(ad)
189+func ae () = if (sigVerify_128Kb(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey))
227190 then true
228- else sigVerify_128Kb(az.bodyBytes, az.proofs[0], d)
191+ else sigVerify_128Kb(ad.bodyBytes, ad.proofs[0], d)
229192
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = addressFromStringValue("3PG7CHvBatHpChwm8reH74wfEwk1PHc8Rqy")
55
66 let b = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
77
88 let c = addressFromStringValue("3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t")
99
1010 let d = base58'Cr1ybL2JGg9GwJHA2JwqxBPfSW6Q7Jg4HvNrsEiCsHu6'
1111
12-func e (f) = {
13- let g = if ((f == 1))
14- then "putOneTknV2"
15- else "putOneTkn"
16- let h = if ((f == 1))
17- then "getOneTknV2"
18- else "getOneTkn"
19- $Tuple2(g, h)
20- }
12+let e = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93')
2113
22-
23-func i (j) = {
24- let k = j
25- if ($isInstanceOf(k, "ByteVector"))
14+func f (g) = {
15+ let h = g
16+ if ($isInstanceOf(h, "ByteVector"))
2617 then {
27- let l = k
28- assetBalance(this, l)
18+ let i = h
19+ assetBalance(this, i)
2920 }
3021 else wavesBalance(this).available
3122 }
3223
3324
34-func m (n) = {
35- let o = split(n, "_")
36- let p = o[0]
37- let q = o[1]
38- let r = o[2]
39- let s = o[3]
40- $Tuple4(p, q, r, s)
25+func j (k) = {
26+ let l = split(k, "_")
27+ let m = l[0]
28+ let n = l[1]
29+ let o = l[2]
30+ let p = l[3]
31+ $Tuple4(m, n, o, p)
4132 }
4233
4334
44-func t (n) = {
45- let o = split(n, "_")
46- let u = o[0]
47- let v = o[1]
48- let w = o[2]
49- let x = o[3]
50- $Tuple4(u, v, w, x)
35+func q (k) = {
36+ let l = split(k, "_")
37+ let r = l[0]
38+ let s = l[1]
39+ $Tuple2(r, s)
5140 }
5241
5342
54-func z (j) = if ((j == "WAVES"))
43+func t (g) = if ((g == "WAVES"))
5544 then unit
56- else fromBase58String(j)
45+ else fromBase58String(g)
5746
5847
59-func A (B,C,D,E,F,G,p) = {
60- let H = invoke(Address(fromBase58String(B)), F, [1, false], [AttachedPayment(z(D), E)])
61- if ((H == H))
62- then {
63- let I = fromBase58String(C)
64- let J = i(I)
65- if ((J == J))
66- then {
67- let K = invoke(Address(fromBase58String(B)), G, [p, 1], [AttachedPayment(I, J)])
68- if ((K == K))
69- then nil
70- else throw("Strict value is not equal to itself.")
71- }
72- else throw("Strict value is not equal to itself.")
73- }
74- else throw("Strict value is not equal to itself.")
75- }
76-
77-
78-func L (B,D,E) = {
79- let M = invoke(Address(fromBase58String(B)), "exchange", [1], [AttachedPayment(z(D), E)])
80- if ((M == M))
48+func u (v,w,x,m) = {
49+ let z = invoke(e, "swap", [1, m, toString(this)], [AttachedPayment(t(w), x)])
50+ if ((z == z))
8151 then nil
8252 else throw("Strict value is not equal to itself.")
8353 }
8454
8555
86-func N (B,D,E,O) = {
87- let P = invoke(Address(fromBase58String(B)), "swap", [O, 1], [AttachedPayment(z(D), E)])
88- if ((P == P))
56+func A (v,w,x) = {
57+ let B = invoke(Address(fromBase58String(v)), "exchange", [1], [AttachedPayment(t(w), x)])
58+ if ((B == B))
8959 then nil
9060 else throw("Strict value is not equal to itself.")
9161 }
9262
9363
94-@Callable(Q)
95-func borrow (R) = if (!(containsElement([a, c, this], Q.caller)))
64+func C (v,w,x,D) = {
65+ let B = invoke(Address(fromBase58String(v)), "swap", [D, 1], [AttachedPayment(t(w), x)])
66+ if ((B == B))
67+ then nil
68+ else throw("Strict value is not equal to itself.")
69+ }
70+
71+
72+@Callable(E)
73+func borrow (F) = if (!(containsElement([a, c, this], E.caller)))
9674 then throw("you are not allowed to borrow!")
9775 else {
98- let S = i(b)
99- if ((R > S))
76+ let G = f(b)
77+ if ((F > G))
10078 then throw("You cannnot borrow that much")
101- else [ScriptTransfer(Q.caller, R, b)]
79+ else [ScriptTransfer(E.caller, F, b)]
10280 }
10381
10482
10583
106-@Callable(Q)
107-func setTreshold (R) = if (!(containsElement([a, c, this], Q.caller)))
84+@Callable(E)
85+func setTreshold (F) = if (!(containsElement([a, c, this], E.caller)))
10886 then throw("you are not allowed to do that!")
109- else [IntegerEntry("treshold", R)]
87+ else [IntegerEntry("treshold", F)]
11088
11189
11290
113-@Callable(Q)
114-func y (n) = if (if ((Q.caller != this))
115- then (Q.caller != c)
91+@Callable(E)
92+func y (k) = if (if ((E.caller != this))
93+ then (E.caller != c)
11694 else false)
11795 then throw("you are not allowed to arb!")
11896 else {
119- let T = split_4C(n, "|")
120- let U = m(T[0])
121- let p = U._1
122- let q = U._2
123- let r = U._3
124- let s = U._4
125- let V = t(T[1])
126- let u = V._1
127- let v = V._2
128- let w = V._3
129- let W = V._4
130- let X = t(T[2])
131- let Y = X._1
132- let Z = X._2
133- let aa = X._3
134- let ab = X._4
135- let ac = t(T[3])
136- let ad = ac._1
137- let ae = ac._2
138- let af = ac._3
139- let ag = ac._4
140- let ah = e(value(parseInt(w)))
141- let F = ah._1
142- let G = ah._2
143- let ai = e(value(parseInt(aa)))
144- let aj = ai._1
145- let ak = ai._2
146- let al = e(value(parseInt(af)))
147- let am = al._1
148- let an = al._2
149- let ao = i(z(r))
150- if ((ao == ao))
97+ let H = split_4C(k, "|")
98+ let I = j(H[0])
99+ let m = I._1
100+ let n = I._2
101+ let o = I._3
102+ let p = I._4
103+ let J = q(H[1])
104+ let r = J._1
105+ let K = J._2
106+ let L = q(H[2])
107+ let M = L._1
108+ let N = L._2
109+ let O = q(H[3])
110+ let P = O._1
111+ let Q = O._2
112+ let R = f(t(o))
113+ if ((R == R))
151114 then {
152- let ap = if ((value(parseInt(s)) > ao))
153- then ao
154- else value(parseInt(s))
155- if ((ap == ap))
115+ let S = if ((value(parseInt(p)) > R))
116+ then R
117+ else value(parseInt(p))
118+ if ((S == S))
156119 then {
157- let aq = i(z(p))
158- if ((aq == aq))
120+ let T = f(t(m))
121+ if ((T == T))
159122 then {
160- let ar = if ((W == "W"))
161- then A(u, v, r, ap, F, G, p)
162- else if ((W == "S"))
163- then L(u, r, ap)
164- else N(u, r, ap, p)
165- if ((ar == ar))
123+ let U = if ((K == "W"))
124+ then u(r, o, S, m)
125+ else if ((K == "S"))
126+ then A(r, o, S)
127+ else C(r, o, S, m)
128+ if ((U == U))
166129 then {
167- let as = (i(z(p)) - aq)
168- if ((as == as))
130+ let V = (f(t(m)) - T)
131+ if ((V == V))
169132 then {
170- let at = i(z(q))
171- if ((at == at))
133+ let W = f(t(n))
134+ if ((W == W))
172135 then {
173- let M = if ((ab == "W"))
174- then A(Y, Z, p, as, aj, ak, q)
175- else if ((ab == "S"))
176- then L(Y, p, as)
177- else N(Y, p, as, q)
178- if ((M == M))
136+ let X = if ((N == "W"))
137+ then u(M, m, V, n)
138+ else if ((N == "S"))
139+ then A(M, m, V)
140+ else C(M, m, V, n)
141+ if ((X == X))
179142 then {
180- let au = (i(z(q)) - at)
181- if ((au == au))
143+ let Y = (f(t(n)) - W)
144+ if ((Y == Y))
182145 then {
183- let av = i(z(r))
184- if ((av == av))
146+ let Z = f(t(o))
147+ if ((Z == Z))
185148 then {
186- let aw = if ((ag == "W"))
187- then A(ad, ae, q, au, am, an, r)
188- else if ((ag == "S"))
189- then L(ad, q, au)
190- else N(ad, q, au, r)
191- if ((aw == aw))
149+ let aa = if ((Q == "W"))
150+ then u(P, n, Y, o)
151+ else if ((Q == "S"))
152+ then A(P, n, Y)
153+ else C(P, n, Y, o)
154+ if ((aa == aa))
192155 then {
193- let ax = (i(z(r)) - av)
194- if ((ax == ax))
156+ let ab = (f(t(o)) - Z)
157+ if ((ab == ab))
195158 then {
196- let ay = valueOrElse(getInteger(this, "treshold"), 150000)
197- if ((ax > (ap + ay)))
198- then [ScriptTransfer(Q.caller, (ax - ap), z(r))]
199- else throw(((((((((("origin amountIn = " + s) + ", new_amountIn = ") + toString(ap)) + ", newBal_1: ") + toString(as)) + ", newBal_2: ") + toString(au)) + ", newBal_3: ") + toString(ax)))
159+ let ac = valueOrElse(getInteger(this, "treshold"), 150000)
160+ if ((ab > (S + ac)))
161+ then [ScriptTransfer(E.caller, (ab - S), t(o))]
162+ else throw(((((((((("origin amountIn = " + p) + ", new_amountIn = ") + toString(S)) + ", newBal_1: ") + toString(V)) + ", newBal_2: ") + toString(Y)) + ", newBal_3: ") + toString(ab)))
200163 }
201164 else throw("Strict value is not equal to itself.")
202165 }
203166 else throw("Strict value is not equal to itself.")
204167 }
205168 else throw("Strict value is not equal to itself.")
206169 }
207170 else throw("Strict value is not equal to itself.")
208171 }
209172 else throw("Strict value is not equal to itself.")
210173 }
211174 else throw("Strict value is not equal to itself.")
212175 }
213176 else throw("Strict value is not equal to itself.")
214177 }
215178 else throw("Strict value is not equal to itself.")
216179 }
217180 else throw("Strict value is not equal to itself.")
218181 }
219182 else throw("Strict value is not equal to itself.")
220183 }
221184 else throw("Strict value is not equal to itself.")
222185 }
223186
224187
225-@Verifier(az)
226-func aA () = if (sigVerify_128Kb(az.bodyBytes, az.proofs[0], az.senderPublicKey))
188+@Verifier(ad)
189+func ae () = if (sigVerify_128Kb(ad.bodyBytes, ad.proofs[0], ad.senderPublicKey))
227190 then true
228- else sigVerify_128Kb(az.bodyBytes, az.proofs[0], d)
191+ else sigVerify_128Kb(ad.bodyBytes, ad.proofs[0], d)
229192

github/deemru/w8io/6500d08 
103.69 ms