tx · guvXxERjMUdfCFrLMWXCNCvXbr6yAgKRcJLuas22fGM

3PPA5NcetxMhUc62kXR9jk1o9RTLyTY3Wwu:  -0.01000000 Waves

2021.08.19 22:57 [2730545] smart account 3PPA5NcetxMhUc62kXR9jk1o9RTLyTY3Wwu > SELF 0.00000000 Waves

{ "type": 13, "id": "guvXxERjMUdfCFrLMWXCNCvXbr6yAgKRcJLuas22fGM", "fee": 1000000, "feeAssetId": null, "timestamp": 1629403031104, "version": 2, "chainId": 87, "sender": "3PPA5NcetxMhUc62kXR9jk1o9RTLyTY3Wwu", "senderPublicKey": "2DGVqu5Zc9JvbWLUjiM4KuZbbZ1Vv5EfgMNvvFQEAjgQ", "proofs": [ "5XFBsUfcuykmodvAr6gfnrMtKEe9DvmhPd7ATnxX14m74w9ixrfxYS9Xh2VE9vieSitW1YjkTdy6qmBE7w8pkYmn" ], "script": "base64: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", "height": 2730545, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let WU = addressFromStringValue(value("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG"))
5+
6+let SW = addressFromStringValue(value("3PNVFWopwCD9CgGXkpYWEY94oQ5XCAEXBmQ"))
7+
8+let SU = addressFromStringValue(value("3PEeJQRJT4v4XvSUBPmxhdWKz439nae7KtQ"))
9+
10+let W = unit
11+
12+let U = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
13+
14+let S = base58'JCGDtrVy64cCJ1wCKfCaiNQMnyYwii71TbE5QeAHfxgF'
15+
16+let admin = addressFromStringValue("3P8aVZUaDcrnSMA3Ui2ji7pPJrx3kmW44AM")
17+
18+let scale8 = 100000000
19+
20+@Callable(i)
21+func call1 (amnt,min) = if ((i.caller != admin))
22+ then throw("only admin")
23+ else {
24+ let bbu = assetBalance(this, U)
25+ let bbw = wavesBalance(this).available
26+ let bbs = assetBalance(this, S)
27+ if (if (if ((bbu == bbu))
28+ then (bbw == bbw)
29+ else false)
30+ then (bbs == bbs)
31+ else false)
32+ then {
33+ let swap1 = invoke(WU, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
34+ if ((swap1 == swap1))
35+ then {
36+ let diffu = (assetBalance(this, U) - bbu)
37+ if ((diffu == diffu))
38+ then {
39+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(U, diffu)])
40+ if ((swap2 == swap2))
41+ then {
42+ let diffs = (assetBalance(this, S) - bbs)
43+ if ((diffs == diffs))
44+ then {
45+ let swap3 = invoke(SW, "exchange", [1], [AttachedPayment(S, diffs)])
46+ if ((swap3 == swap3))
47+ then {
48+ let diffw = (wavesBalance(this).available - bbw)
49+ if ((diffw == diffw))
50+ then if ((diffw > min))
51+ then nil
52+ else throw(toString(diffw))
53+ else throw("strict value what the fuck")
54+ }
55+ else throw("strict value what the fuck")
56+ }
57+ else throw("strict value what the fuck")
58+ }
59+ else throw("strict value what the fuck")
60+ }
61+ else throw("strict value what the fuck")
62+ }
63+ else throw("strict value what the fuck")
64+ }
65+ else throw("Strict value is not equal to itself")
66+ }
67+
68+
69+
70+@Callable(i)
71+func call2 (amnt,min) = if ((i.caller != admin))
72+ then throw("only admin")
73+ else {
74+ let bbu = assetBalance(this, U)
75+ let bbw = wavesBalance(this).available
76+ let bbs = assetBalance(this, S)
77+ if (if (if ((bbu == bbu))
78+ then (bbw == bbw)
79+ else false)
80+ then (bbs == bbs)
81+ else false)
82+ then {
83+ let swap1 = invoke(SW, "exchange", [1], [AttachedPayment(W, (amnt * scale8))])
84+ if ((swap1 == swap1))
85+ then {
86+ let diffs = (assetBalance(this, S) - bbs)
87+ if ((diffs == diffs))
88+ then {
89+ let swap2 = invoke(SU, "exchange", [1], [AttachedPayment(S, diffs)])
90+ if ((swap2 == swap2))
91+ then {
92+ let diffu = (assetBalance(this, U) - bbu)
93+ if ((diffu == diffu))
94+ then {
95+ let swap3 = invoke(WU, "exchange", [1], [AttachedPayment(U, diffu)])
96+ if ((swap3 == swap3))
97+ then {
98+ let diffw = (wavesBalance(this).available - bbw)
99+ if ((diffw == diffw))
100+ then if ((diffw > min))
101+ then nil
102+ else throw(toString(diffw))
103+ else throw("strict")
104+ }
105+ else throw("strict")
106+ }
107+ else throw("strict")
108+ }
109+ else throw("strict")
110+ }
111+ else throw("strict")
112+ }
113+ else throw("strict")
114+ }
115+ else throw("Strict")
116+ }
117+
118+
119+@Verifier(tx)
120+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
121+

github/deemru/w8io/6500d08 
22.55 ms