tx · 8GBf7aAN1tV72MPELaMBeTzFDox4nm166Pdp8WiZXTtv

3N7AyMYR2ovan7TNvPE9jMRTejZyXPcV9NP:  -0.01000000 Waves

2021.08.23 18:55 [1671180] smart account 3N7AyMYR2ovan7TNvPE9jMRTejZyXPcV9NP > SELF 0.00000000 Waves

{ "type": 13, "id": "8GBf7aAN1tV72MPELaMBeTzFDox4nm166Pdp8WiZXTtv", "fee": 1000000, "feeAssetId": null, "timestamp": 1629734161612, "version": 2, "chainId": 84, "sender": "3N7AyMYR2ovan7TNvPE9jMRTejZyXPcV9NP", "senderPublicKey": "Go3xxijfukFnawU9Jyy1yX4dSyxKT9SYT6Tp3g6iTAjt", "proofs": [ "4twXWSD4F3WuS8Y9VGCaSMk1boA9d4m5vXQtQChaK1cmgT27TJgksmZMJb8QARxe2FUcPutS4c6o31PZ9KvLw5fX" ], "script": "base64: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", "height": 1671180, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: hEWtLEXeQjKyAjVE6wo4MHYo9zmzmRXYDkiVkyHSVyG Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let WU = addressFromStringValue(value("3NDD3ifAC17cLzxuYqsgXDRY9DTQ5BqmvwL"))
5+
6+let SW = addressFromStringValue(value("3NAzES7pSjfoHsKNumP5HRtSt3qadbqnHip"))
7+
8+let SU = addressFromStringValue(value("3MrBtdped4oUFs1BvLNu53Dm1AMGiTHkT9B"))
9+
10+let W = base58'3Tg4GRpKeek5wWAQRJKH1ucjMuKNom3f2h67WNNu6xVS'
11+
12+let U = base58'gAAmMoquySsX6q5EmzciFfB8RecAhZR9W1HKNntNekL'
13+
14+let S = base58'89G3XEYzMSztS6RPN5h2da7j43r4zgKufReZWn1MqX7g'
15+
16+let admin = addressFromStringValue("3N97G98bPF5ghnZ1iMmQ7tMH6MBsNZnS272")
17+
18+let scale8 = 100000000
19+
20+let commissionScaleDelimiter = 1000000
21+
22+let commission = 3000
23+
24+func fees (from,to,amnt) = {
25+ let amountWithoutFee = fraction(to, amnt, (amnt + from))
26+ let amountWithFee = fraction(amountWithoutFee, (commissionScaleDelimiter - commission), commissionScaleDelimiter)
27+ amountWithFee
28+ }
29+
30+
31+@Callable(i)
32+func call1 (amnt,min) = if ((i.caller != admin))
33+ then throw("only admin")
34+ else {
35+ let e1a = getIntegerValue(WU, "A_asset_balance")
36+ if ((e1a == e1a))
37+ then {
38+ let e1b = getIntegerValue(WU, "B_asset_balance")
39+ if ((e1b == e1b))
40+ then {
41+ let e2a = getIntegerValue(SW, "A_asset_balance")
42+ if ((e2a == e2a))
43+ then {
44+ let e2b = getIntegerValue(SW, "B_asset_balance")
45+ if ((e2b == e2b))
46+ then {
47+ let e3a = getIntegerValue(SU, "A_asset_balance")
48+ if ((e3a == e3a))
49+ then {
50+ let e3b = getIntegerValue(SU, "B_asset_balance")
51+ if ((e3b == e3b))
52+ then {
53+ let bbu = assetBalance(this, U)
54+ if ((bbu == bbu))
55+ then {
56+ let bbw = assetBalance(this, W)
57+ if ((bbw == bbw))
58+ then {
59+ let bbs = assetBalance(this, S)
60+ if ((bbs == bbs))
61+ then {
62+ let difu = fees(e1a, e1b, amnt)
63+ if ((difu == difu))
64+ then {
65+ let difs = fees(e2a, e2b, difu)
66+ if ((difs == difs))
67+ then {
68+ let difw = fees(e3a, e3b, difs)
69+ if ((difw == difw))
70+ then if ((difw > (amnt + min)))
71+ then {
72+ let swap1 = invoke(WU, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
73+ if ((swap1 == swap1))
74+ then {
75+ let diffu = (assetBalance(this, U) - bbu)
76+ if ((diffu == diffu))
77+ then {
78+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffu)])
79+ if ((swap2 == swap2))
80+ then {
81+ let diffs = (assetBalance(this, S) - bbs)
82+ if ((diffs == diffs))
83+ then {
84+ let swap3 = invoke(SW, "exchange", [1], [AttachedPayment(S, diffs)])
85+ if ((swap3 == swap3))
86+ then {
87+ let diffw = (assetBalance(this, W) - bbw)
88+ if ((diffw == diffw))
89+ then if ((diffw > min))
90+ then [IntegerEntry("debug", diffw)]
91+ else throw(("diffw" + toString(diffw)))
92+ else throw("Strict value is not equal to itself.")
93+ }
94+ else throw("Strict value is not equal to itself.")
95+ }
96+ else throw("Strict value is not equal to itself.")
97+ }
98+ else throw("Strict value is not equal to itself.")
99+ }
100+ else throw("Strict value is not equal to itself.")
101+ }
102+ else throw("Strict value is not equal to itself.")
103+ }
104+ else throw(("difw" + toString(difw)))
105+ else throw("Strict value is not equal to itself.")
106+ }
107+ else throw("Strict value is not equal to itself.")
108+ }
109+ else throw("Strict value is not equal to itself.")
110+ }
111+ else throw("Strict value is not equal to itself.")
112+ }
113+ else throw("Strict value is not equal to itself.")
114+ }
115+ else throw("Strict value is not equal to itself.")
116+ }
117+ else throw("Strict value is not equal to itself.")
118+ }
119+ else throw("Strict value is not equal to itself.")
120+ }
121+ else throw("Strict value is not equal to itself.")
122+ }
123+ else throw("Strict value is not equal to itself.")
124+ }
125+ else throw("Strict value is not equal to itself.")
126+ }
127+ else throw("Strict value is not equal to itself.")
128+ }
129+
130+
131+
132+@Callable(i)
133+func call2 (amnt,min) = if ((i.caller != admin))
134+ then throw("only admin")
135+ else {
136+ let bbu = assetBalance(this, U)
137+ let bbw = assetBalance(this, W)
138+ let bbs = assetBalance(this, S)
139+ if (if (if ((bbu == bbu))
140+ then (bbw == bbw)
141+ else false)
142+ then (bbs == bbs)
143+ else false)
144+ then {
145+ let swap1 = invoke(SW, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
146+ if ((swap1 == swap1))
147+ then {
148+ let diffs = (assetBalance(this, S) - bbs)
149+ if ((diffs == diffs))
150+ then {
151+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(S, diffs)])
152+ if ((swap2 == swap2))
153+ then {
154+ let diffu = (assetBalance(this, U) - bbu)
155+ if ((diffu == diffu))
156+ then {
157+ let swap3 = invoke(WU, "exchange", [1], [AttachedPayment(U, diffu)])
158+ if ((swap3 == swap3))
159+ then {
160+ let diffw = (assetBalance(this, W) - bbw)
161+ if ((diffw == diffw))
162+ then if ((diffw > min))
163+ then {
164+ let ok = "ok"
165+[IntegerEntry("debug", diffw)]
166+ }
167+ else throw(toString(diffw))
168+ else throw("strict")
169+ }
170+ else throw("strict")
171+ }
172+ else throw("strict")
173+ }
174+ else throw("strict")
175+ }
176+ else throw("strict")
177+ }
178+ else throw("strict")
179+ }
180+ else throw("Strict")
181+ }
182+
183+
184+@Verifier(tx)
185+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
186+

github/deemru/w8io/169f3d6 
25.99 ms