tx · hJc2yCLUiTiqXXmM6Yfdxcx3mkVCU52bBFs721pry4S

3MvdzbvEZLHEE3EXHXxaRQjgpNqq28733ao:  -0.01000000 Waves

2021.12.22 17:30 [1845590] smart account 3MvdzbvEZLHEE3EXHXxaRQjgpNqq28733ao > SELF 0.00000000 Waves

{ "type": 13, "id": "hJc2yCLUiTiqXXmM6Yfdxcx3mkVCU52bBFs721pry4S", "fee": 1000000, "feeAssetId": null, "timestamp": 1640183415693, "version": 1, "sender": "3MvdzbvEZLHEE3EXHXxaRQjgpNqq28733ao", "senderPublicKey": "HQmnkZjA2Ehwb2iKXAadqRsrXsHGZChU6WfgmHRsMW8t", "proofs": [ "3NftwZr5wAeuDHSdiep2rtz2TKkghvhivh5Taf8rCWGdnKnst17uAimjPfSb2v8g2EBJj9dcGsoRSk32FAhXdQGb" ], "script": "base64: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", "chainId": 84, "height": 1845590, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9fj3ZmTGFxyvvQvRMp6zCJbStp2HExHRHauZGsuUG2MT Next: Fx4EaN274qJ7Y6v7kuJArMNcuzi1y1kfouCQeq7MzKCa Diff:
OldNewDifferences
9494 then M.payments[0]
9595 else throw("")
9696 let C = d(N)
97- let P = {
98- let Q = valueOrElse(indexOf(j, O.assetId), -1)
99- let R = valueOrElse(indexOf(j, C), -1)
100- (R > Q)
101- }
102- func S (T) = fraction(T, 1, 1000)
97+ func P (Q) = fraction(Q, 1, 1000)
10398
10499 if ((0 >= z))
105100 then throw("")
106101 else {
107- let U = if (P)
108- then AttachedPayment(O.assetId, S(O.amount))
109- else O
110- let V = {
102+ let R = {
111103 let h = v(w, O, N, z, A)
112104 if (if (if ($isInstanceOf(h._1, "Int"))
113105 then $isInstanceOf(h._2, "Int")
115107 then $isInstanceOf(h, "(Int, Int)")
116108 else false)
117109 then {
118- let W = h._1
119- let X = h._2
120- $Tuple2(W, X)
110+ let S = h._1
111+ let T = h._2
112+ $Tuple2(S, T)
121113 }
122114 else throw("")
123115 }
124- let D = V._1
125- let L = V._2
116+ let D = R._1
117+ let L = R._2
126118 if ((0 >= L))
127119 then throw("")
128- else if (P)
129- then [ScriptTransfer(M.caller, L, C), ScriptTransfer(a, (O.amount - U.amount), U.assetId)]
130- else {
131- let Y = S(L)
132-[ScriptTransfer(M.caller, (L - Y), C), ScriptTransfer(a, Y, C)]
133- }
120+ else {
121+ let U = P(L)
122+[ScriptTransfer(M.caller, (L - U), C), ScriptTransfer(a, U, C)]
123+ }
134124 }
135125 }
136126
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = Address(base58'')
55
66 let b = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, "oracle"), "")), "")
77
88 let c = split(valueOrErrorMessage(getString(b, "pools"), ""), ",")
99
1010 func d (e) = if ((e == "WAVES"))
1111 then unit
1212 else fromBase58String(e)
1313
1414
1515 func f (g) = {
1616 let h = g
1717 if ($isInstanceOf(h, "ByteVector"))
1818 then {
1919 let e = h
2020 assetBalance(this, e)
2121 }
2222 else if ($isInstanceOf(h, "Unit"))
2323 then {
2424 let i = h
2525 wavesBalance(this).available
2626 }
2727 else throw("Match error")
2828 }
2929
3030
3131 let j = {
3232 let k = split(valueOrErrorMessage(getString(this, "fee-assets"), ""), ",")
3333 func l (m,n) = (m :+ d(n))
3434
3535 let o = k
3636 let p = size(o)
3737 let q = nil
3838 func r (s,t) = if ((t >= p))
3939 then s
4040 else l(s, o[t])
4141
4242 func u (s,t) = if ((t >= p))
4343 then s
4444 else throw("List size exceeds 10")
4545
4646 u(r(r(r(r(r(r(r(r(r(r(q, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
4747 }
4848
4949 func v (w,x,y,z,A) = {
5050 let B = valueOrErrorMessage(addressFromString(w), "")
5151 let C = d(y)
5252 if ((0 >= z))
5353 then throw("")
5454 else if ((0 > A))
5555 then throw("")
5656 else {
5757 let D = f(C)
5858 if ((D == D))
5959 then {
6060 let E = if (!(containsElement(c, w)))
6161 then throw("")
6262 else {
6363 let F = valueOrErrorMessage(getString(B, "A_asset_id"), "")
6464 let G = valueOrErrorMessage(getString(B, "B_asset_id"), "")
6565 let H = d(F)
6666 let I = d(G)
6767 let J = valueOrErrorMessage(parseInt(split(valueOrErrorMessage(getString(B, "version"), ""), ".")[0]), "")
6868 let K = if ((J == 1))
6969 then [z]
7070 else if ((J == 2))
7171 then if ((0 >= A))
7272 then throw("")
7373 else [A, z]
7474 else throw("")
7575 invoke(B, "exchange", K, [x])
7676 }
7777 if ((E == E))
7878 then {
7979 let L = (f(C) - D)
8080 if ((L == L))
8181 then $Tuple2(D, L)
8282 else throw("Strict value is not equal to itself.")
8383 }
8484 else throw("Strict value is not equal to itself.")
8585 }
8686 else throw("Strict value is not equal to itself.")
8787 }
8888 }
8989
9090
9191 @Callable(M)
9292 func swap (w,N,z,A) = {
9393 let O = if ((size(M.payments) > 0))
9494 then M.payments[0]
9595 else throw("")
9696 let C = d(N)
97- let P = {
98- let Q = valueOrElse(indexOf(j, O.assetId), -1)
99- let R = valueOrElse(indexOf(j, C), -1)
100- (R > Q)
101- }
102- func S (T) = fraction(T, 1, 1000)
97+ func P (Q) = fraction(Q, 1, 1000)
10398
10499 if ((0 >= z))
105100 then throw("")
106101 else {
107- let U = if (P)
108- then AttachedPayment(O.assetId, S(O.amount))
109- else O
110- let V = {
102+ let R = {
111103 let h = v(w, O, N, z, A)
112104 if (if (if ($isInstanceOf(h._1, "Int"))
113105 then $isInstanceOf(h._2, "Int")
114106 else false)
115107 then $isInstanceOf(h, "(Int, Int)")
116108 else false)
117109 then {
118- let W = h._1
119- let X = h._2
120- $Tuple2(W, X)
110+ let S = h._1
111+ let T = h._2
112+ $Tuple2(S, T)
121113 }
122114 else throw("")
123115 }
124- let D = V._1
125- let L = V._2
116+ let D = R._1
117+ let L = R._2
126118 if ((0 >= L))
127119 then throw("")
128- else if (P)
129- then [ScriptTransfer(M.caller, L, C), ScriptTransfer(a, (O.amount - U.amount), U.assetId)]
130- else {
131- let Y = S(L)
132-[ScriptTransfer(M.caller, (L - Y), C), ScriptTransfer(a, Y, C)]
133- }
120+ else {
121+ let U = P(L)
122+[ScriptTransfer(M.caller, (L - U), C), ScriptTransfer(a, U, C)]
123+ }
134124 }
135125 }
136126
137127

github/deemru/w8io/169f3d6 
72.17 ms