tx · BNksmBfsvFo3wKhqhpG7cR2v3R84wAddhAmrLbQo9QCR

3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8:  -0.01000000 Waves

2022.04.04 15:44 [1993858] smart account 3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8 > SELF 0.00000000 Waves

{ "type": 13, "id": "BNksmBfsvFo3wKhqhpG7cR2v3R84wAddhAmrLbQo9QCR", "fee": 1000000, "feeAssetId": null, "timestamp": 1649076246754, "version": 2, "chainId": 84, "sender": "3MqDf9VgoL9eqrCPx8F74Au6xBpvdTm9UP8", "senderPublicKey": "4ja2PX5eqM576zv9KGzu5Qe7M92Z3jbuSmkLPdGjK4ue", "proofs": [ "5H2KA39BePG55Qi4xAQbdnh6Tu2Wjy5uDH6pyJ2nBmbHFgqKJTcF2cJdbh9x4daa3ULbCrXaZrB7a7eKgUChu3w" ], "script": "base64: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b2tlblBheQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApleGNoYW5nZXJzAAAAAAAAAAABCQABkQAAAAIFAAAAEXJvdXRpbmdBc3NldHNLZXlzAAAAAAAAAAACBAAAAA1kQXBwMlRva2VuR2V0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQABkQAAAAIFAAAACmV4Y2hhbmdlcnMAAAAAAAAAAAEJAAGRAAAAAgUAAAARcm91dGluZ0Fzc2V0c0tleXMAAAAAAAAAAAMEAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlAAAAAAAAAAAAAgAAAARjcG1tBAAAABdnZXRGcm9tMVRyYWRlV2l0aG91dEZlZQkAAGsAAAADBQAAAA1kQXBwMVRva2VuR2V0BQAAAAlwbXRBbW91bnQJAABkAAAAAgUAAAAJcG10QW1vdW50BQAAAA1kQXBwMVRva2VuUGF5CQAAawAAAAMFAAAAF2dldEZyb20xVHJhZGVXaXRob3V0RmVlCQAAZQAAAAIFAAAAGGNvbW1pc3Npb25TY2FsZURlbGltaXRlcgUAAAAKY29tbWlzc2lvbgUAAAAYY29tbWlzc2lvblNjYWxlRGVsaW1pdGVyAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlAAAAAAAAAAAAAgAAAARmbGF0BAAAAAlpbnZhcmlhbnQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgUAAAANZEFwcDFUb2tlblBheQUAAAANZEFwcDFUb2tlbkdldAQAAAATbWluQW1vdW50VG9SZWNlaXZlMQkAAZEAAAACBQAAAAVhcmdzMgAAAAAAAAAAAAQAAAAMaW52YXJpYW50TmV3CQEAAAANaW52YXJpYW50Q2FsYwAAAAIJAABkAAAAAgUAAAANZEFwcDFUb2tlblBheQUAAAAJcG10QW1vdW50CQAAZQAAAAIFAAAADWRBcHAxVG9rZW5HZXQFAAAAE21pbkFtb3VudFRvUmVjZWl2ZTEDCQAAZwAAAAIFAAAADGludmFyaWFudE5ldwUAAAAJaW52YXJpYW50BQAAABNtaW5BbW91bnRUb1JlY2VpdmUxCQAAAgAAAAECAAAAJ0ZsYXQgY29udHJhY3Q6IGludmFyaWFudE5ldyA8IGludmFyaWFudAkAAAIAAAABAgAAABdJbmNvcnJlY3QgZXhjaGFuZ2UgdHlwZQQAAAAUZ2V0RnJvbTJUcmFkZVdpdGhGZWUDCQAAAAAAAAIJAAGRAAAAAgUAAAAOZXhjaGFuZ2Vyc1R5cGUAAAAAAAAAAAECAAAABGNwbW0EAAAAF2dldEZyb20yVHJhZGVXaXRob3V0RmVlCQAAawAAAAMFAAAADWRBcHAyVG9rZW5HZXQFAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlCQAAZAAAAAIFAAAAFGdldEZyb20xVHJhZGVXaXRoRmVlBQAAAA1kQXBwMlRva2VuUGF5CQAAawAAAAMFAAAAF2dldEZyb20yVHJhZGVXaXRob3V0RmVlCQAAZQAAAAIFAAAAGGNvbW1pc3Npb25TY2FsZURlbGltaXRlcgUAAAAKY29tbWlzc2lvbgUAAAAYY29tbWlzc2lvblNjYWxlRGVsaW1pdGVyAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNUeXBlAAAAAAAAAAABAgAAAARmbGF0BAAAAAlpbnZhcmlhbnQJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgUAAAANZEFwcDJUb2tlblBheQUAAAANZEFwcDJUb2tlbkdldAQAAAATbWluQW1vdW50VG9SZWNlaXZlMgkAAZEAAAACBQAAAAVhcmdzMgAAAAAAAAAAAQQAAAAMaW52YXJpYW50TmV3CQEAAAANaW52YXJpYW50Q2FsYwAAAAIJAABkAAAAAgUAAAANZEFwcDJUb2tlblBheQUAAAAUZ2V0RnJvbTFUcmFkZVdpdGhGZWUJAABlAAAAAgUAAAANZEFwcDJUb2tlbkdldAUAAAATbWluQW1vdW50VG9SZWNlaXZlMgMJAABnAAAAAgUAAAAMaW52YXJpYW50TmV3BQAAAAlpbnZhcmlhbnQFAAAAE21pbkFtb3VudFRvUmVjZWl2ZTIJAAACAAAAAQIAAAAnRmxhdCBjb250cmFjdDogaW52YXJpYW50TmV3IDwgaW52YXJpYW50CQAAAgAAAAECAAAAF0luY29ycmVjdCBleGNoYW5nZSB0eXBlCQAAZwAAAAIFAAAAFGdldEZyb20yVHJhZGVXaXRoRmVlBQAAABJtaW5BbW91bnRUb1JlY2VpdmUAAAADAAAAAWkBAAAADHJvdXRpbmdUcmFkZQAAAAYAAAAKZXhjaGFuZ2VycwAAAA5leGNoYW5nZXJzVHlwZQAAAAVhcmdzMQAAAAVhcmdzMgAAABFyb3V0aW5nQXNzZXRzS2V5cwAAABJtaW5BbW91bnRUb1JlY2VpdmUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAQAAAAhpc0FjdGl2ZQAAAAAEAAAACyR0MDUyODk1MzYzCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwNTI4OTUzNjMAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA1Mjg5NTM2MwAAAAJfMgMJAQAAAAEhAAAAAQkBAAAAEGNoZWNrUG9zc2liaWxpdHkAAAAHBQAAAAlwbXRBbW91bnQFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAKZXhjaGFuZ2VycwUAAAAOZXhjaGFuZ2Vyc1R5cGUFAAAAEXJvdXRpbmdBc3NldHNLZXlzBQAAAAVhcmdzMQUAAAAFYXJnczIJAAACAAAAAQIAAAAmQ2hlY2sgdHJhbnNhY3Rpb24gcG9zc2liaWx0eTogZGVjbGluZWQDAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAZvcmFjbGUJAAEsAAAAAgUAAAANa1Bvb2xJbk9yYWNsZQkAAZEAAAACBQAAAApleGNoYW5nZXJzAAAAAAAAAAAABgkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAZvcmFjbGUJAAEsAAAAAgUAAAANa1Bvb2xJbk9yYWNsZQkAAZEAAAACBQAAAApleGNoYW5nZXJzAAAAAAAAAAABCQAAAgAAAAECAAAAFVBvb2wgaXMgbm90IGluIG9yYWNsZQQAAAALcm91dGluZ1NpemUJAAGQAAAAAQUAAAAKZXhjaGFuZ2VycwoBAAAADGV4Y2hhbmdlRm9sZAAAAAIAAAALYWNjdW11bGF0ZWQAAAAJZXhjaGFuZ2VyBAAAAAskdDA1ODY3NTkzMgUAAAALYWNjdW11bGF0ZWQEAAAAD2V4Y2hhbmdlQ291bnRlcggFAAAACyR0MDU4Njc1OTMyAAAAAl8xBAAAAA5hbW91bnRzV2l0aEZlZQgFAAAACyR0MDU4Njc1OTMyAAAAAl8yBAAAAAxhc3NldHNJZFNlbmQIBQAAAAskdDA1ODY3NTkzMgAAAAJfMwQAAAALJHQwNTk0NTYxNDMDCQAAAAAAAAIFAAAAD2V4Y2hhbmdlQ291bnRlcgAAAAAAAAAAAAkABRQAAAACBQAAAApwbXRBc3NldElkBQAAAAlwbXRBbW91bnQJAAUUAAAAAgUAAAAMYXNzZXRzSWRTZW5kBQAAAA5hbW91bnRzV2l0aEZlZQQAAAAOcG10QXNzZXRJZFJvdXQIBQAAAAskdDA1OTQ1NjE0MwAAAAJfMQQAAAANcG10QW1vdW50Um91dAgFAAAACyR0MDU5NDU2MTQzAAAAAl8yAwkAAAAAAAACAwkAAGcAAAACBQAAAA9leGNoYW5nZUNvdW50ZXIAAAAAAAAAAAAJAABmAAAAAgUAAAALcm91dGluZ1NpemUFAAAAD2V4Y2hhbmdlQ291bnRlcgcGBAAAABBleGNoYW5nZXJBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAlleGNoYW5nZXIEAAAAA2ludgMJAAAAAAAAAgkAAZEAAAACBQAAAA5leGNoYW5nZXJzVHlwZQUAAAAPZXhjaGFuZ2VDb3VudGVyAgAAAARjcG1tCQAD/AAAAAQFAAAAEGV4Y2hhbmdlckFkZHJlc3MCAAAACGV4Y2hhbmdlCQAETAAAAAIJAAGRAAAAAgUAAAAFYXJnczEFAAAAD2V4Y2hhbmdlQ291bnRlcgUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAA5wbXRBc3NldElkUm91dAUAAAANcG10QW1vdW50Um91dAUAAAADbmlsAwkAAAAAAAACCQABkQAAAAIFAAAADmV4Y2hhbmdlcnNU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", "height": 1993858, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: AGf5gH31wVmghTYnEYRiYE8sxUGvwXCudkWSEQALvWqj Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "active"
5+
6+let b = "shutdown_cause"
7+
8+let c = "routing_fee"
9+
10+let d = "admin_pub_1"
11+
12+let e = "admin_pub_2"
13+
14+let f = "admin_pub_3"
15+
16+let g = "money_box_address"
17+
18+let h = "pool_"
19+
20+let i = 8
21+
22+let j = 100000000
23+
24+let k = 10000000000000000
25+
26+let l = 50
27+
28+let m = 2
29+
30+let n = 4600000000000000
31+
32+let o = 3000
33+
34+let p = 1000000
35+
36+let q = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
37+
38+func r (s) = {
39+ let t = getString(q, s)
40+ if ($isInstanceOf(t, "String"))
41+ then {
42+ let u = t
43+ fromBase58String(u)
44+ }
45+ else {
46+ let v = t
47+ throw((s + "is empty"))
48+ }
49+ }
50+
51+
52+let w = r(d)
53+
54+let x = r(e)
55+
56+let y = r(f)
57+
58+let z = Address(r(g))
59+
60+let A = valueOrElse(getBoolean(this, a), true)
61+
62+let B = valueOrErrorMessage(getInteger(q, c), "routing_fee is empty")
63+
64+let C = 1000000
65+
66+func D () = if (A)
67+ then unit
68+ else throw("DApp is inactive at this moment")
69+
70+
71+func E (F) = if (containsElement([w, x, y], F.callerPublicKey))
72+ then unit
73+ else throw("Only admin can call this function")
74+
75+
76+func G () = throw("DApp is already active")
77+
78+
79+func H (I) = [BooleanEntry(a, false), StringEntry(b, I)]
80+
81+
82+func J (K,L) = ((fraction(k, K, L) + fraction(k, L, K)) / 2)
83+
84+
85+func M (K,L) = {
86+ let N = J(K, L)
87+ (fraction((K + L), k, pow(N, i, l, m, i, CEILING)) + (2 * fraction(toInt(pow(fraction(toBigInt(K), toBigInt(L), toBigInt(j)), 0, toBigInt(5), 1, (i / 2), DOWN)), pow((N - n), i, l, m, i, DOWN), j)))
88+ }
89+
90+
91+func O (P,Q,R,S,T,U,V) = {
92+ let W = getIntegerValue(addressFromStringValue(R[0]), T[0])
93+ let X = getIntegerValue(addressFromStringValue(R[0]), T[1])
94+ let Y = getIntegerValue(addressFromStringValue(R[1]), T[2])
95+ let Z = getIntegerValue(addressFromStringValue(R[1]), T[3])
96+ let aa = if ((S[0] == "cpmm"))
97+ then {
98+ let ab = fraction(X, P, (P + W))
99+ fraction(ab, (p - o), p)
100+ }
101+ else if ((S[0] == "flat"))
102+ then {
103+ let ac = M(W, X)
104+ let ad = V[0]
105+ let ae = M((W + P), (X - ad))
106+ if ((ae >= ac))
107+ then ad
108+ else throw("Flat contract: invariantNew < invariant")
109+ }
110+ else throw("Incorrect exchange type")
111+ let af = if ((S[1] == "cpmm"))
112+ then {
113+ let ag = fraction(Z, aa, (aa + Y))
114+ fraction(ag, (p - o), p)
115+ }
116+ else if ((S[1] == "flat"))
117+ then {
118+ let ac = M(Y, Z)
119+ let ah = V[1]
120+ let ae = M((Y + aa), (Z - ah))
121+ if ((ae >= ac))
122+ then ah
123+ else throw("Flat contract: invariantNew < invariant")
124+ }
125+ else throw("Incorrect exchange type")
126+ (af >= Q)
127+ }
128+
129+
130+@Callable(F)
131+func routingTrade (R,S,U,V,T,Q) = valueOrElse(D(), {
132+ let ai = $Tuple2(F.payments[0].amount, F.payments[0].assetId)
133+ let P = ai._1
134+ let aj = ai._2
135+ if (!(O(P, Q, R, S, T, U, V)))
136+ then throw("Check transaction possibilty: declined")
137+ else if (if (!(isDefined(getString(q, (h + R[0])))))
138+ then true
139+ else !(isDefined(getString(q, (h + R[1])))))
140+ then throw("Pool is not in oracle")
141+ else {
142+ let ak = size(R)
143+ func al (am,an) = {
144+ let ao = am
145+ let ap = ao._1
146+ let aq = ao._2
147+ let ar = ao._3
148+ let as = if ((ap == 0))
149+ then $Tuple2(aj, P)
150+ else $Tuple2(ar, aq)
151+ let at = as._1
152+ let au = as._2
153+ if (((if ((ap >= 0))
154+ then (ak > ap)
155+ else false) == true))
156+ then {
157+ let av = addressFromStringValue(an)
158+ let aw = if ((S[ap] == "cpmm"))
159+ then invoke(av, "exchange", [U[ap]], [AttachedPayment(at, au)])
160+ else if ((S[ap] == "flat"))
161+ then invoke(av, "exchange", [U[ap], V[ap]], [AttachedPayment(at, au)])
162+ else throw("Incorrect exchange type")
163+ if ((aw == aw))
164+ then {
165+ let t = aw
166+ if ($isInstanceOf(t, "(Int, ByteVector)"))
167+ then {
168+ let aw = t
169+ let ax = aw
170+ let ay = ax._1
171+ let az = ax._2
172+ $Tuple3((ap + 1), ay, az)
173+ }
174+ else throw("Incorrect invoke result: expected amountWithFee and assetsIdSend")
175+ }
176+ else throw("Strict value is not equal to itself.")
177+ }
178+ else am
179+ }
180+
181+ let aA = {
182+ let aB = R
183+ let aC = size(aB)
184+ let aD = $Tuple3(0, 0, base58'')
185+ func aE (aF,aG) = if ((aG >= aC))
186+ then aF
187+ else al(aF, aB[aG])
188+
189+ func aH (aF,aG) = if ((aG >= aC))
190+ then aF
191+ else throw("List size exceeds 3")
192+
193+ aH(aE(aE(aE(aD, 0), 1), 2), 3)
194+ }
195+ let ap = aA._1
196+ let aI = aA._2
197+ let az = aA._3
198+ let ay = fraction(aI, (C - B), C)
199+ if (if ((ap == ak))
200+ then (ay >= Q)
201+ else false)
202+ then [ScriptTransfer(F.caller, ay, az), ScriptTransfer(z, (aI - ay), az)]
203+ else throw("routing != routingSize or amountToRecieve < minAmountToReceive")
204+ }
205+ })
206+
207+
208+
209+@Callable(F)
210+func shutdown () = valueOrElse(E(F), if (!(A))
211+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
212+ else H("Paused by admin"))
213+
214+
215+
216+@Callable(F)
217+func activate () = valueOrElse(E(F), if (A)
218+ then G()
219+ else [BooleanEntry(a, true), DeleteEntry(b)])
220+
221+
222+@Verifier(aJ)
223+func aK () = {
224+ let aL = {
225+ let aM = if (sigVerify(aJ.bodyBytes, aJ.proofs[0], w))
226+ then 1
227+ else 0
228+ let aN = if (sigVerify(aJ.bodyBytes, aJ.proofs[1], x))
229+ then 1
230+ else 0
231+ let aO = if (sigVerify(aJ.bodyBytes, aJ.proofs[2], y))
232+ then 1
233+ else 0
234+ (((aM + aN) + aO) >= 2)
235+ }
236+ let t = aJ
237+ aL
238+ }
239+

github/deemru/w8io/169f3d6 
24.87 ms