tx · 41PXRGr3V5pYvwhBEiRqwE8ZcNyVWkbQCUekTdDGmNc9

3Mwm6wcc5SBiMzF2dMWpTJpFFobA236iAZ7:  -0.01000000 Waves

2022.03.14 22:06 [1964030] smart account 3Mwm6wcc5SBiMzF2dMWpTJpFFobA236iAZ7 > SELF 0.00000000 Waves

{ "type": 13, "id": "41PXRGr3V5pYvwhBEiRqwE8ZcNyVWkbQCUekTdDGmNc9", "fee": 1000000, "feeAssetId": null, "timestamp": 1647284793545, "version": 2, "chainId": 84, "sender": "3Mwm6wcc5SBiMzF2dMWpTJpFFobA236iAZ7", "senderPublicKey": "BpvXf9toCinzcKiB63evew28WyjAZX5mTYcnAcRGMAH6", "proofs": [ "5ozdLMJH4TMXMGjZ3x1oSqEUwYmn43Ce4VTjfVB9QiZjx24Pmck4QLkeH4EeUSWQYe3rX5mPabTNsw4vqxBVep2q" ], "script": "base64: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", "height": 1964030, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HVXSysLEHeHuWvNiyf7sUMQrtahcQHDKhpr23ozLR5nS Next: 3kKQa3X1twvpZtjrLc1EEWkcsLerQHrLjsoL8Ss65LQj Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = (9 / 100)
4+let a = 10
55
6-let b = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC'
6+let b = 10
77
8-let c = base58'WAVES'
8+let c = fraction(a, (100 - b), 100)
99
10-let d = Address(base58'3My9M3PdtDPdsvHwX4t1epYFJjhLDrQFP49')
10+let d = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC'
1111
12-let e = Address(base58'3NAAEeRUgAj7D4pTPGR7n4yPCX2JGF3vUXm')
12+let e = base58''
1313
14-let f = Address(base58'3Mty9tvj2nMt3mudiJFGKqKh8Mai1o8oGCA')
14+let f = 10
1515
16-@Callable(g)
17-func trade (h) = {
18- let i = if ((g.payments[0].assetId == b))
19- then g.payments[0].amount
16+let g = 10
17+
18+func h (i,j,k) = if ((j == e))
19+ then [ScriptTransfer(Address(k), (i / c), d)]
20+ else throw("Unexpected Token")
21+
22+
23+func l (i,j,k) = if ((j == d))
24+ then [ScriptTransfer(Address(k), (i * f), e)]
25+ else throw("Unexpected Token")
26+
27+
28+func m (n,i,j) = {
29+ let o = if ((j == d))
30+ then i
2031 else throw("Unexpected payment asset")
21- let j = assetBalance(this, c)
22- if ((j == j))
32+ let p = assetBalance(this, e)
33+ if ((p == p))
2334 then {
24- let k = invoke(d, "exchangeUSDNtoWAVES", nil, [AttachedPayment(b, i)])
25- if ((k == k))
35+ let q = l(i, j, n)
36+ if ((q == q))
2637 then {
27- let l = (assetBalance(this, c) - j)
28- if ((l == l))
38+ let r = (assetBalance(this, e) - p)
39+ if ((r == r))
2940 then {
30- let m = invoke(e, "exchangeWAVEStoUSDN", nil, [AttachedPayment(c, l)])
31- if ((m == m))
41+ let s = h(i, e, n)
42+ if ((s == s))
3243 then {
33- let n = fraction(i, (100 + a), 100)
34- let o = (assetBalance(this, b) - n)
35-[ScriptTransfer(Address(h), o, b), ScriptTransfer(f, n, b)]
44+ let t = fraction(o, (100 + g), 100)
45+ let u = (assetBalance(this, d) - t)
46+[ScriptTransfer(Address(n), u, d), ScriptTransfer(this, t, d)]
3647 }
3748 else throw("Strict value is not equal to itself.")
3849 }
4455 }
4556
4657
58+@Callable(v)
59+func flashloan (i,w) = {
60+ let x = assetBalance(this, d)
61+ if ((x == x))
62+ then {
63+ let n = w
64+ let y = m(fromBase58String(w), i, d)
65+ if ((y == y))
66+ then {
67+ let z = (assetBalance(this, d) - x)
68+ let u = fraction(i, g, 100)
69+ if ((u > z))
70+ then throw(((("Debt not paid, because diff = " + toString(z)) + ". Expected diff = ") + toString(u)))
71+ else nil
72+ }
73+ else throw("Strict value is not equal to itself.")
74+ }
75+ else throw("Strict value is not equal to itself.")
76+ }
77+
78+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = (9 / 100)
4+let a = 10
55
6-let b = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC'
6+let b = 10
77
8-let c = base58'WAVES'
8+let c = fraction(a, (100 - b), 100)
99
10-let d = Address(base58'3My9M3PdtDPdsvHwX4t1epYFJjhLDrQFP49')
10+let d = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC'
1111
12-let e = Address(base58'3NAAEeRUgAj7D4pTPGR7n4yPCX2JGF3vUXm')
12+let e = base58''
1313
14-let f = Address(base58'3Mty9tvj2nMt3mudiJFGKqKh8Mai1o8oGCA')
14+let f = 10
1515
16-@Callable(g)
17-func trade (h) = {
18- let i = if ((g.payments[0].assetId == b))
19- then g.payments[0].amount
16+let g = 10
17+
18+func h (i,j,k) = if ((j == e))
19+ then [ScriptTransfer(Address(k), (i / c), d)]
20+ else throw("Unexpected Token")
21+
22+
23+func l (i,j,k) = if ((j == d))
24+ then [ScriptTransfer(Address(k), (i * f), e)]
25+ else throw("Unexpected Token")
26+
27+
28+func m (n,i,j) = {
29+ let o = if ((j == d))
30+ then i
2031 else throw("Unexpected payment asset")
21- let j = assetBalance(this, c)
22- if ((j == j))
32+ let p = assetBalance(this, e)
33+ if ((p == p))
2334 then {
24- let k = invoke(d, "exchangeUSDNtoWAVES", nil, [AttachedPayment(b, i)])
25- if ((k == k))
35+ let q = l(i, j, n)
36+ if ((q == q))
2637 then {
27- let l = (assetBalance(this, c) - j)
28- if ((l == l))
38+ let r = (assetBalance(this, e) - p)
39+ if ((r == r))
2940 then {
30- let m = invoke(e, "exchangeWAVEStoUSDN", nil, [AttachedPayment(c, l)])
31- if ((m == m))
41+ let s = h(i, e, n)
42+ if ((s == s))
3243 then {
33- let n = fraction(i, (100 + a), 100)
34- let o = (assetBalance(this, b) - n)
35-[ScriptTransfer(Address(h), o, b), ScriptTransfer(f, n, b)]
44+ let t = fraction(o, (100 + g), 100)
45+ let u = (assetBalance(this, d) - t)
46+[ScriptTransfer(Address(n), u, d), ScriptTransfer(this, t, d)]
3647 }
3748 else throw("Strict value is not equal to itself.")
3849 }
3950 else throw("Strict value is not equal to itself.")
4051 }
4152 else throw("Strict value is not equal to itself.")
4253 }
4354 else throw("Strict value is not equal to itself.")
4455 }
4556
4657
58+@Callable(v)
59+func flashloan (i,w) = {
60+ let x = assetBalance(this, d)
61+ if ((x == x))
62+ then {
63+ let n = w
64+ let y = m(fromBase58String(w), i, d)
65+ if ((y == y))
66+ then {
67+ let z = (assetBalance(this, d) - x)
68+ let u = fraction(i, g, 100)
69+ if ((u > z))
70+ then throw(((("Debt not paid, because diff = " + toString(z)) + ". Expected diff = ") + toString(u)))
71+ else nil
72+ }
73+ else throw("Strict value is not equal to itself.")
74+ }
75+ else throw("Strict value is not equal to itself.")
76+ }
77+
78+

github/deemru/w8io/c3f4982 
42.92 ms