tx · yCF76BJoP4mm32Qo72RAvd1v1b3Eg8iqe1WKcL4HWZg

3N4revPn12feiSAyC78tAZEJfsyprVYPzsL:  -0.05000000 Waves

2022.02.10 11:21 [1917282] smart account 3N4revPn12feiSAyC78tAZEJfsyprVYPzsL > SELF 0.00000000 Waves

{ "type": 13, "id": "yCF76BJoP4mm32Qo72RAvd1v1b3Eg8iqe1WKcL4HWZg", "fee": 5000000, "feeAssetId": null, "timestamp": 1644481328165, "version": 2, "chainId": 84, "sender": "3N4revPn12feiSAyC78tAZEJfsyprVYPzsL", "senderPublicKey": "5smGxL7bfeRokaN53Z31Y72dF2Lkr5Cg1kuWRV3gniNe", "proofs": [ "VkmHEK7hYtq3TSmBGxrhCUwdcztGHXXhzLMBMeJafWb6LDm6oYHbLzH5uSH1yCEANyaR6GAm9S9MUxxPyaGdDtZ" ], "script": "base64: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aXZlQW1vdW50BAAAAAlpbnZhcmlhbnQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgUAAAAIYmFsYW5jZUEFAAAACGJhbGFuY2VCBAAAAAxpbnZhcmlhbnROZXcDCQAAAAAAAAIFAAAAB3Rva2VuSWQFAAAAC3N0ckFzc2V0SWRBCQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAAAXgJAABlAAAAAgUAAAAIYmFsYW5jZUIFAAAAFWFtb3VudFRvU2VuZEVzdGltYXRlZAMJAAAAAAAAAgUAAAAHdG9rZW5JZAUAAAALc3RyQXNzZXRJZEIJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgkAAGUAAAACBQAAAAhiYWxhbmNlQQUAAAAVYW1vdW50VG9TZW5kRXN0aW1hdGVkBQAAAAF5CQAAAgAAAAECAAAAFldyb25nIGFzc2V0IGluIHBheW1lbnQEAAAAF2ludmFyaWFudEVzdGltYXRlZFJhdGlvCQAAawAAAAMFAAAABnNjYWxlOAUAAAAJaW52YXJpYW50BQAAAAxpbnZhcmlhbnROZXcKAQAAAA1nZXRTdGVwQW1vdW50AAAAAgAAAANhY2MAAAAEc3RlcAMJAAAAAAAAAgUAAAADYWNjAP//////////BAAAAAxhbW91bnRUb1NlbmQJAABlAAAAAgUAAAAVYW1vdW50VG9TZW5kRXN0aW1hdGVkCQAAaQAAAAIJAABoAAAAAgUAAAAEc3RlcAUAAAAeZGVsdGFCZXR3ZWVuTWF4QW5kTWluU2VuZFZhbHVlAAAAAAAAAAAFBAAAAA1zdGVwSW52YXJpYW50AwkAAAAAAAACBQAAAAd0b2tlbklkBQAAAAtzdHJBc3NldElkQQkBAAAADWludmFyaWFudENhbGMAAAACBQAAAAF4CQAAZQAAAAIFAAAACGJhbGFuY2VCBQAAAAxhbW91bnRUb1NlbmQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgkAAGUAAAACBQAAAAhiYWxhbmNlQQUAAAAMYW1vdW50VG9TZW5kBQAAAAF5AwkAAGYAAAACBQAAAA1zdGVwSW52YXJpYW50BQAAAAlpbnZhcmlhbnQFAAAADGFtb3VudFRvU2VuZAD//////////wUAAAADYWNjBAAAAApzdGVwQW1vdW50CgAAAAACJGwJ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MTIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACWludmFyaWFudAUAAAAJaW52YXJpYW50BQAAAANuaWwAAAABaQEAAAAIZXhjaGFuZ2UAAAAGAAAACGJhbGFuY2VBAAAACGJhbGFuY2VCAAAACXBtdEFtb3VudAAAAApwbXRBc3NldElkAAAAGGVzdGltYXRlZEFtb3VudFRvUmVjZWl2ZQAAABJtaW5BbW91bnRUb1JlY2VpdmUEAAAABmFtb3VudAkBAAAAE2NhbGN1bGF0ZVNlbmRBbW91bnQAAAAGBQAAAAhiYWxhbmNlQQUAAAAIYmFsYW5jZUIFAAAAGGVzdGltYXRlZEFtb3VudFRvUmVjZWl2ZQUAAAASbWluQW1vdW50VG9SZWNlaXZlBQAAAAlwbXRBbW91bnQFAAAACnBtdEFzc2V0SWQEAAAAEGdvdmVybmFuY2VSZXdhcmQJAABrAAAAAwUAAAAGYW1vdW50BQAAAA1mZWVHb3Zlcm5hbmNlBQAAAAlmZWVTY2FsZTYEAAAADmFtb3VudE1pbnVzRmVlCQAAawAAAAMFAAAABmFtb3VudAkAAGUAAAACBQAAAAlmZWVTY2FsZTYFAAAAA2ZlZQUAAAAJZmVlU2NhbGU2CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAApzZW5kQW1vdW50BQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAF3NlbmRBbW91bnRXaXRoQ29taXNzaW9uBQAAAA5hbW91bnRNaW51c0ZlZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDoA/6", "height": 1917282, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CRADEVKw3TwcL7KE6fXyQFgLCnRDAmuAX2s38vjFCNi2 Next: GvkGdywtQqPmjxF2o3ji34u5RT16ejy6bS72yRLYbL6q Diff:
OldNewDifferences
4545
4646 let t = 46000000
4747
48-func u (v,w) = (((fraction(j, v, w) + fraction(j, w, v)) / 2) / 10000)
48+let u = 460000000000
49+
50+func v (w,x) = (((fraction(j, w, x) + fraction(j, x, w)) / 2) / 10000)
4951
5052
51-func x (v,w) = {
52- let y = u(v, w)
53- let z = (v + w)
54- let A = pow(y, l, r, s, l, CEILING)
55- let B = pow(fraction(v, w, i), 0, 5, 1, (l / 2), DOWN)
56- let C = pow((y - t), l, r, s, l, DOWN)
57- (fraction(z, i, A) + (2 * fraction(B, C, i)))
53+func y (w,x) = {
54+ let z = v(w, x)
55+ let A = (w + x)
56+ let B = pow(z, l, r, s, l, CEILING)
57+ let C = pow(fraction(w, x, i), 0, 5, 1, (l / 2), DOWN)
58+ let D = pow((z - t), l, r, s, l, DOWN)
59+ (fraction(A, i, B) + (2 * fraction(C, D, i)))
5860 }
5961
6062
61-func D (E,F,G,H,I,J) = {
62- let K = (i - ((i * 1) / 10000000))
63- let L = (G - H)
64- let v = (E + I)
65- let w = (F + I)
66- let M = x(E, F)
67- let N = if ((J == a))
68- then x(v, (F - G))
69- else if ((J == b))
70- then x((E - G), w)
63+func E (F,G,H,I,J,K) = {
64+ let L = (i - ((i * 1) / 10000000))
65+ let M = (H - I)
66+ let w = (F + J)
67+ let x = (G + J)
68+ let N = y(F, G)
69+ let O = if ((K == a))
70+ then y(w, (G - H))
71+ else if ((K == b))
72+ then y((F - H), x)
7173 else throw("Wrong asset in payment")
72- let O = fraction(i, M, N)
73- func P (Q,R) = if ((Q == -1))
74+ let P = fraction(i, N, O)
75+ func Q (R,S) = if ((R == -1))
7476 then {
75- let S = (G - ((R * L) / 5))
76- let T = if ((J == a))
77- then x(v, (F - S))
78- else x((E - S), w)
79- if ((T > M))
80- then S
77+ let T = (H - ((S * M) / 5))
78+ let U = if ((K == a))
79+ then y(w, (G - T))
80+ else y((F - T), x)
81+ if ((U > N))
82+ then T
8183 else -1
8284 }
83- else Q
85+ else R
8486
85- let U = {
86- let V = [1, 2, 3, 4, 5]
87- let W = size(V)
88- let X = -1
89- func Y (Z,aa) = if ((aa >= W))
90- then Z
91- else P(Z, V[aa])
87+ let V = {
88+ let W = [1, 2, 3, 4, 5]
89+ let X = size(W)
90+ let Y = -1
91+ func Z (aa,ab) = if ((ab >= X))
92+ then aa
93+ else Q(aa, W[ab])
9294
93- func ab (Z,aa) = if ((aa >= W))
94- then Z
95+ func ac (aa,ab) = if ((ab >= X))
96+ then aa
9597 else throw("List size exceeds 5")
9698
97- ab(Y(Y(Y(Y(Y(X, 0), 1), 2), 3), 4), 5)
99+ ac(Z(Z(Z(Z(Z(Y, 0), 1), 2), 3), 4), 5)
98100 }
99- if ((0 > U))
101+ if ((0 > V))
100102 then throw("something went wrong while working with amountToSend")
101- else if (if ((O > K))
102- then (N > M)
103+ else if (if ((P > L))
104+ then (O > N)
103105 else false)
104- then G
105- else U
106+ then H
107+ else V
106108 }
107109
108110
109-@Callable(ac)
110-func invariantCalcc (v,w) = {
111- let y = u(v, w)
112- let M = (fraction((v + w), i, pow(y, l, r, s, l, CEILING)) + (2 * fraction(pow(fraction(v, w, i), 0, 5, 1, (l / 2), DOWN), pow((y - t), l, r, s, l, DOWN), i)))
113-[IntegerEntry("invariant", M)]
111+@Callable(ad)
112+func invariantCalcc (w,x) = {
113+ let z = v(w, x)
114+ let N = (fraction((w + x), i, pow(z, l, r, s, l, CEILING)) + (2 * fraction(pow(fraction(w, x, i), 0, 5, 1, (l / 2), DOWN), pow((z - t), l, r, s, l, DOWN), i)))
115+[IntegerEntry("invariant", N)]
114116 }
115117
116118
117119
118-@Callable(ac)
119-func invariantCalccBigInt (v,w) = {
120- let y = u(v, w)
121- let M = (toInt(fraction(toBigInt((v + w)), toBigInt(j), pow(toBigInt(y), m, toBigInt(r), s, m, CEILING))) + (2 * toInt(fraction(pow(fraction(toBigInt(v), toBigInt(w), toBigInt(i)), 0, toBigInt(5), 1, (l / 2), DOWN), pow(toBigInt((y - t)), m, toBigInt(r), s, m, DOWN), toBigInt(j)))))
122-[IntegerEntry("invariant", M)]
120+@Callable(ad)
121+func invariantCalccBigInt (w,x) = {
122+ let z = v(w, x)
123+ let N = (toInt(fraction(toBigInt((w + x)), toBigInt(j), pow(toBigInt(z), m, toBigInt(r), s, m, CEILING))) + (2 * toInt(fraction(pow(fraction(toBigInt(w), toBigInt(x), toBigInt(i)), 0, toBigInt(5), 1, (l / 2), DOWN), pow(toBigInt((z - u)), m, toBigInt(r), s, m, DOWN), toBigInt(j)))))
124+[IntegerEntry("invariant", N)]
123125 }
124126
125127
126128
127-@Callable(ac)
128-func exchange (E,F,ad,ae,af,ag) = {
129- let ah = D(E, F, af, ag, ad, ae)
130- let ai = fraction(ah, f, g)
131- let aj = fraction(ah, (g - e), g)
132-[IntegerEntry("sendAmount", ah), IntegerEntry("sendAmountWithComission", aj)]
129+@Callable(ad)
130+func exchange (F,G,ae,af,ag,ah) = {
131+ let ai = E(F, G, ag, ah, ae, af)
132+ let aj = fraction(ai, f, g)
133+ let ak = fraction(ai, (g - e), g)
134+[IntegerEntry("sendAmount", ai), IntegerEntry("sendAmountWithComission", ak)]
133135 }
134136
135137
136-@Verifier(ak)
137-func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
138+@Verifier(al)
139+func am () = sigVerify(al.bodyBytes, al.proofs[0], al.senderPublicKey)
138140
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
55
66 let b = "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p"
77
88 let c = if ((a == "WAVES"))
99 then unit
1010 else fromBase58String(a)
1111
1212 let d = if ((b == "WAVES"))
1313 then unit
1414 else fromBase58String(b)
1515
1616 let e = 500
1717
1818 let f = 200
1919
2020 let g = 1000000
2121
2222 let h = 1000
2323
2424 let i = 100000000
2525
2626 let j = 1000000000000
2727
2828 let k = 1000
2929
3030 let l = 8
3131
3232 let m = 12
3333
3434 let n = 50
3535
3636 let o = 100
3737
3838 let p = 90000000
3939
4040 let q = 110000000
4141
4242 let r = 50
4343
4444 let s = 2
4545
4646 let t = 46000000
4747
48-func u (v,w) = (((fraction(j, v, w) + fraction(j, w, v)) / 2) / 10000)
48+let u = 460000000000
49+
50+func v (w,x) = (((fraction(j, w, x) + fraction(j, x, w)) / 2) / 10000)
4951
5052
51-func x (v,w) = {
52- let y = u(v, w)
53- let z = (v + w)
54- let A = pow(y, l, r, s, l, CEILING)
55- let B = pow(fraction(v, w, i), 0, 5, 1, (l / 2), DOWN)
56- let C = pow((y - t), l, r, s, l, DOWN)
57- (fraction(z, i, A) + (2 * fraction(B, C, i)))
53+func y (w,x) = {
54+ let z = v(w, x)
55+ let A = (w + x)
56+ let B = pow(z, l, r, s, l, CEILING)
57+ let C = pow(fraction(w, x, i), 0, 5, 1, (l / 2), DOWN)
58+ let D = pow((z - t), l, r, s, l, DOWN)
59+ (fraction(A, i, B) + (2 * fraction(C, D, i)))
5860 }
5961
6062
61-func D (E,F,G,H,I,J) = {
62- let K = (i - ((i * 1) / 10000000))
63- let L = (G - H)
64- let v = (E + I)
65- let w = (F + I)
66- let M = x(E, F)
67- let N = if ((J == a))
68- then x(v, (F - G))
69- else if ((J == b))
70- then x((E - G), w)
63+func E (F,G,H,I,J,K) = {
64+ let L = (i - ((i * 1) / 10000000))
65+ let M = (H - I)
66+ let w = (F + J)
67+ let x = (G + J)
68+ let N = y(F, G)
69+ let O = if ((K == a))
70+ then y(w, (G - H))
71+ else if ((K == b))
72+ then y((F - H), x)
7173 else throw("Wrong asset in payment")
72- let O = fraction(i, M, N)
73- func P (Q,R) = if ((Q == -1))
74+ let P = fraction(i, N, O)
75+ func Q (R,S) = if ((R == -1))
7476 then {
75- let S = (G - ((R * L) / 5))
76- let T = if ((J == a))
77- then x(v, (F - S))
78- else x((E - S), w)
79- if ((T > M))
80- then S
77+ let T = (H - ((S * M) / 5))
78+ let U = if ((K == a))
79+ then y(w, (G - T))
80+ else y((F - T), x)
81+ if ((U > N))
82+ then T
8183 else -1
8284 }
83- else Q
85+ else R
8486
85- let U = {
86- let V = [1, 2, 3, 4, 5]
87- let W = size(V)
88- let X = -1
89- func Y (Z,aa) = if ((aa >= W))
90- then Z
91- else P(Z, V[aa])
87+ let V = {
88+ let W = [1, 2, 3, 4, 5]
89+ let X = size(W)
90+ let Y = -1
91+ func Z (aa,ab) = if ((ab >= X))
92+ then aa
93+ else Q(aa, W[ab])
9294
93- func ab (Z,aa) = if ((aa >= W))
94- then Z
95+ func ac (aa,ab) = if ((ab >= X))
96+ then aa
9597 else throw("List size exceeds 5")
9698
97- ab(Y(Y(Y(Y(Y(X, 0), 1), 2), 3), 4), 5)
99+ ac(Z(Z(Z(Z(Z(Y, 0), 1), 2), 3), 4), 5)
98100 }
99- if ((0 > U))
101+ if ((0 > V))
100102 then throw("something went wrong while working with amountToSend")
101- else if (if ((O > K))
102- then (N > M)
103+ else if (if ((P > L))
104+ then (O > N)
103105 else false)
104- then G
105- else U
106+ then H
107+ else V
106108 }
107109
108110
109-@Callable(ac)
110-func invariantCalcc (v,w) = {
111- let y = u(v, w)
112- let M = (fraction((v + w), i, pow(y, l, r, s, l, CEILING)) + (2 * fraction(pow(fraction(v, w, i), 0, 5, 1, (l / 2), DOWN), pow((y - t), l, r, s, l, DOWN), i)))
113-[IntegerEntry("invariant", M)]
111+@Callable(ad)
112+func invariantCalcc (w,x) = {
113+ let z = v(w, x)
114+ let N = (fraction((w + x), i, pow(z, l, r, s, l, CEILING)) + (2 * fraction(pow(fraction(w, x, i), 0, 5, 1, (l / 2), DOWN), pow((z - t), l, r, s, l, DOWN), i)))
115+[IntegerEntry("invariant", N)]
114116 }
115117
116118
117119
118-@Callable(ac)
119-func invariantCalccBigInt (v,w) = {
120- let y = u(v, w)
121- let M = (toInt(fraction(toBigInt((v + w)), toBigInt(j), pow(toBigInt(y), m, toBigInt(r), s, m, CEILING))) + (2 * toInt(fraction(pow(fraction(toBigInt(v), toBigInt(w), toBigInt(i)), 0, toBigInt(5), 1, (l / 2), DOWN), pow(toBigInt((y - t)), m, toBigInt(r), s, m, DOWN), toBigInt(j)))))
122-[IntegerEntry("invariant", M)]
120+@Callable(ad)
121+func invariantCalccBigInt (w,x) = {
122+ let z = v(w, x)
123+ let N = (toInt(fraction(toBigInt((w + x)), toBigInt(j), pow(toBigInt(z), m, toBigInt(r), s, m, CEILING))) + (2 * toInt(fraction(pow(fraction(toBigInt(w), toBigInt(x), toBigInt(i)), 0, toBigInt(5), 1, (l / 2), DOWN), pow(toBigInt((z - u)), m, toBigInt(r), s, m, DOWN), toBigInt(j)))))
124+[IntegerEntry("invariant", N)]
123125 }
124126
125127
126128
127-@Callable(ac)
128-func exchange (E,F,ad,ae,af,ag) = {
129- let ah = D(E, F, af, ag, ad, ae)
130- let ai = fraction(ah, f, g)
131- let aj = fraction(ah, (g - e), g)
132-[IntegerEntry("sendAmount", ah), IntegerEntry("sendAmountWithComission", aj)]
129+@Callable(ad)
130+func exchange (F,G,ae,af,ag,ah) = {
131+ let ai = E(F, G, ag, ah, ae, af)
132+ let aj = fraction(ai, f, g)
133+ let ak = fraction(ai, (g - e), g)
134+[IntegerEntry("sendAmount", ai), IntegerEntry("sendAmountWithComission", ak)]
133135 }
134136
135137
136-@Verifier(ak)
137-func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
138+@Verifier(al)
139+func am () = sigVerify(al.bodyBytes, al.proofs[0], al.senderPublicKey)
138140

github/deemru/w8io/169f3d6 
59.26 ms