tx · 89S5uiMvoPbHjWknEVpmPcg3RDMERfhf4epR7BmmMdHM
3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8: -0.01000000 Waves
2022.03.28 14:55 [1983722] smart account 3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8 > SELF 0.00000000 Waves
{
"type": 13,
"id": "89S5uiMvoPbHjWknEVpmPcg3RDMERfhf4epR7BmmMdHM",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1648468564142,
"version": 2,
"chainId": 84,
"sender": "3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8",
"senderPublicKey": "7KdKmjfPuTXGRNZv4VEz9mZiC2qb9JPzuji5z6jszZyo",
"proofs": [
"64dsRRu4U4bXWMyWAFoHsWFrYufceGkZaLMW4d7viJqX4ezqk4Vc8nK7uWYxuX2gqSFbikH9Es9VkyNR6e1PQjo4"
],
"script": "base64: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",
"height": 1983722,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 2xG2imNGJjRJQiu8dATfAixAqMsGWVRTFohwkEkt756X
Next: 3aPKHCqnt7yAuukSK1wabvrXBGKqyaXYMmmTdDjV41gs
Diff:
Old | New | | Differences |
---|
15 | 15 | | |
---|
16 | 16 | | let g = 1 |
---|
17 | 17 | | |
---|
18 | | - | func h (i,j,k) = if ((j == e)) |
---|
| 18 | + | @Callable(h) |
---|
| 19 | + | func exchangeWAVEStoUSDN (i,j,k) = if ((j == e)) |
---|
19 | 20 | | then [ScriptTransfer(Address(k), (i / c), d), IntegerEntry("WAVEStoUSDN", i)] |
---|
20 | 21 | | else throw("Unexpected Token") |
---|
21 | 22 | | |
---|
22 | 23 | | |
---|
23 | | - | func l (i,j,k) = if ((j == d)) |
---|
| 24 | + | |
---|
| 25 | + | @Callable(h) |
---|
| 26 | + | func exchangeUSDNtoWAVES (i,j,k) = if ((j == d)) |
---|
24 | 27 | | then [ScriptTransfer(Address(k), (i * f), e), IntegerEntry("USDNtoWAVES", i)] |
---|
25 | 28 | | else throw("Unexpected Token") |
---|
26 | 29 | | |
---|
27 | 30 | | |
---|
28 | | - | @Callable(m) |
---|
29 | | - | func trade (n,i,j) = { |
---|
30 | | - | let o = if ((j == d)) |
---|
| 31 | + | |
---|
| 32 | + | @Callable(h) |
---|
| 33 | + | func trade (l,i,j) = { |
---|
| 34 | + | let m = if ((j == d)) |
---|
31 | 35 | | then i |
---|
32 | 36 | | else throw("Unexpected payment asset") |
---|
33 | | - | let p = assetBalance(this, e) |
---|
34 | | - | if ((p == p)) |
---|
| 37 | + | let n = assetBalance(this, e) |
---|
| 38 | + | if ((n == n)) |
---|
35 | 39 | | then { |
---|
36 | | - | let q = l(i, j, n) |
---|
37 | | - | if ((q == q)) |
---|
| 40 | + | let o = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "exchangeUSDNtoWAVES", [i, j, l], [AttachedPayment(d, m)]) |
---|
| 41 | + | if ((o == o)) |
---|
38 | 42 | | then { |
---|
39 | | - | let r = (assetBalance(this, e) - p) |
---|
40 | | - | if ((r == r)) |
---|
| 43 | + | let p = (assetBalance(this, e) - n) |
---|
| 44 | + | if ((p == p)) |
---|
41 | 45 | | then { |
---|
42 | | - | let s = h(i, e, n) |
---|
43 | | - | if ((s == s)) |
---|
| 46 | + | let q = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "exchangeWAVEStoUSDN", [i, j, l], [AttachedPayment(e, p)]) |
---|
| 47 | + | if ((q == q)) |
---|
44 | 48 | | then { |
---|
45 | | - | let t = fraction(o, (100 + g), 100) |
---|
46 | | - | let u = (assetBalance(this, d) - t) |
---|
47 | | - | [StringEntry("trade", ((toString(t) + " ") + toString(u))), ScriptTransfer(Address(n), u, d), ScriptTransfer(this, t, d)] |
---|
| 49 | + | let r = fraction(m, (100 + g), 100) |
---|
| 50 | + | let s = (assetBalance(this, d) - r) |
---|
| 51 | + | [StringEntry("trade", ((toString(r) + " ") + toString(s))), ScriptTransfer(Address(l), s, d), ScriptTransfer(this, r, d)] |
---|
48 | 52 | | } |
---|
49 | 53 | | else throw("Strict value is not equal to itself.") |
---|
50 | 54 | | } |
---|
|
57 | 61 | | |
---|
58 | 62 | | |
---|
59 | 63 | | |
---|
60 | | - | @Callable(m) |
---|
61 | | - | func flashloan (i,v) = { |
---|
62 | | - | let w = assetBalance(this, d) |
---|
63 | | - | if ((w == w)) |
---|
| 64 | + | @Callable(h) |
---|
| 65 | + | func flashloan (i,t) = { |
---|
| 66 | + | let u = assetBalance(this, d) |
---|
| 67 | + | if ((u == u)) |
---|
64 | 68 | | then { |
---|
65 | | - | let n = v |
---|
66 | | - | let x = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "trade", [fromBase58String(v), i, d], [AttachedPayment(unit, 900000)]) |
---|
67 | | - | if ((x == x)) |
---|
| 69 | + | let l = t |
---|
| 70 | + | let v = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "trade", [fromBase58String(t), i, d], [AttachedPayment(unit, 900000)]) |
---|
| 71 | + | if ((v == v)) |
---|
68 | 72 | | then { |
---|
69 | | - | let y = ((assetBalance(this, d) + 100000) - w) |
---|
70 | | - | let u = fraction(i, g, 100) |
---|
71 | | - | if ((u > y)) |
---|
72 | | - | then throw(((("Debt not paid, because diff = " + toString(y)) + ". Expected diff = ") + toString(u))) |
---|
| 73 | + | let w = ((assetBalance(this, d) + 100000) - u) |
---|
| 74 | + | let s = fraction(i, g, 100) |
---|
| 75 | + | if ((s > w)) |
---|
| 76 | + | then throw(((("Debt not paid, because diff = " + toString(w)) + ". Expected diff = ") + toString(s))) |
---|
73 | 77 | | else [StringEntry("test", "test")] |
---|
74 | 78 | | } |
---|
75 | 79 | | else throw("Strict value is not equal to itself.") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = 10 |
---|
5 | 5 | | |
---|
6 | 6 | | let b = 10 |
---|
7 | 7 | | |
---|
8 | 8 | | let c = fraction(a, (100 - b), 100) |
---|
9 | 9 | | |
---|
10 | 10 | | let d = base58'3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC' |
---|
11 | 11 | | |
---|
12 | 12 | | let e = base58'' |
---|
13 | 13 | | |
---|
14 | 14 | | let f = 10 |
---|
15 | 15 | | |
---|
16 | 16 | | let g = 1 |
---|
17 | 17 | | |
---|
18 | | - | func h (i,j,k) = if ((j == e)) |
---|
| 18 | + | @Callable(h) |
---|
| 19 | + | func exchangeWAVEStoUSDN (i,j,k) = if ((j == e)) |
---|
19 | 20 | | then [ScriptTransfer(Address(k), (i / c), d), IntegerEntry("WAVEStoUSDN", i)] |
---|
20 | 21 | | else throw("Unexpected Token") |
---|
21 | 22 | | |
---|
22 | 23 | | |
---|
23 | | - | func l (i,j,k) = if ((j == d)) |
---|
| 24 | + | |
---|
| 25 | + | @Callable(h) |
---|
| 26 | + | func exchangeUSDNtoWAVES (i,j,k) = if ((j == d)) |
---|
24 | 27 | | then [ScriptTransfer(Address(k), (i * f), e), IntegerEntry("USDNtoWAVES", i)] |
---|
25 | 28 | | else throw("Unexpected Token") |
---|
26 | 29 | | |
---|
27 | 30 | | |
---|
28 | | - | @Callable(m) |
---|
29 | | - | func trade (n,i,j) = { |
---|
30 | | - | let o = if ((j == d)) |
---|
| 31 | + | |
---|
| 32 | + | @Callable(h) |
---|
| 33 | + | func trade (l,i,j) = { |
---|
| 34 | + | let m = if ((j == d)) |
---|
31 | 35 | | then i |
---|
32 | 36 | | else throw("Unexpected payment asset") |
---|
33 | | - | let p = assetBalance(this, e) |
---|
34 | | - | if ((p == p)) |
---|
| 37 | + | let n = assetBalance(this, e) |
---|
| 38 | + | if ((n == n)) |
---|
35 | 39 | | then { |
---|
36 | | - | let q = l(i, j, n) |
---|
37 | | - | if ((q == q)) |
---|
| 40 | + | let o = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "exchangeUSDNtoWAVES", [i, j, l], [AttachedPayment(d, m)]) |
---|
| 41 | + | if ((o == o)) |
---|
38 | 42 | | then { |
---|
39 | | - | let r = (assetBalance(this, e) - p) |
---|
40 | | - | if ((r == r)) |
---|
| 43 | + | let p = (assetBalance(this, e) - n) |
---|
| 44 | + | if ((p == p)) |
---|
41 | 45 | | then { |
---|
42 | | - | let s = h(i, e, n) |
---|
43 | | - | if ((s == s)) |
---|
| 46 | + | let q = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "exchangeWAVEStoUSDN", [i, j, l], [AttachedPayment(e, p)]) |
---|
| 47 | + | if ((q == q)) |
---|
44 | 48 | | then { |
---|
45 | | - | let t = fraction(o, (100 + g), 100) |
---|
46 | | - | let u = (assetBalance(this, d) - t) |
---|
47 | | - | [StringEntry("trade", ((toString(t) + " ") + toString(u))), ScriptTransfer(Address(n), u, d), ScriptTransfer(this, t, d)] |
---|
| 49 | + | let r = fraction(m, (100 + g), 100) |
---|
| 50 | + | let s = (assetBalance(this, d) - r) |
---|
| 51 | + | [StringEntry("trade", ((toString(r) + " ") + toString(s))), ScriptTransfer(Address(l), s, d), ScriptTransfer(this, r, d)] |
---|
48 | 52 | | } |
---|
49 | 53 | | else throw("Strict value is not equal to itself.") |
---|
50 | 54 | | } |
---|
51 | 55 | | else throw("Strict value is not equal to itself.") |
---|
52 | 56 | | } |
---|
53 | 57 | | else throw("Strict value is not equal to itself.") |
---|
54 | 58 | | } |
---|
55 | 59 | | else throw("Strict value is not equal to itself.") |
---|
56 | 60 | | } |
---|
57 | 61 | | |
---|
58 | 62 | | |
---|
59 | 63 | | |
---|
60 | | - | @Callable(m) |
---|
61 | | - | func flashloan (i,v) = { |
---|
62 | | - | let w = assetBalance(this, d) |
---|
63 | | - | if ((w == w)) |
---|
| 64 | + | @Callable(h) |
---|
| 65 | + | func flashloan (i,t) = { |
---|
| 66 | + | let u = assetBalance(this, d) |
---|
| 67 | + | if ((u == u)) |
---|
64 | 68 | | then { |
---|
65 | | - | let n = v |
---|
66 | | - | let x = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "trade", [fromBase58String(v), i, d], [AttachedPayment(unit, 900000)]) |
---|
67 | | - | if ((x == x)) |
---|
| 69 | + | let l = t |
---|
| 70 | + | let v = invoke(Address(base58'3Mw2biLQi5ygMk7zexboNGrnMYuaSfrziY8'), "trade", [fromBase58String(t), i, d], [AttachedPayment(unit, 900000)]) |
---|
| 71 | + | if ((v == v)) |
---|
68 | 72 | | then { |
---|
69 | | - | let y = ((assetBalance(this, d) + 100000) - w) |
---|
70 | | - | let u = fraction(i, g, 100) |
---|
71 | | - | if ((u > y)) |
---|
72 | | - | then throw(((("Debt not paid, because diff = " + toString(y)) + ". Expected diff = ") + toString(u))) |
---|
| 73 | + | let w = ((assetBalance(this, d) + 100000) - u) |
---|
| 74 | + | let s = fraction(i, g, 100) |
---|
| 75 | + | if ((s > w)) |
---|
| 76 | + | then throw(((("Debt not paid, because diff = " + toString(w)) + ". Expected diff = ") + toString(s))) |
---|
73 | 77 | | else [StringEntry("test", "test")] |
---|
74 | 78 | | } |
---|
75 | 79 | | else throw("Strict value is not equal to itself.") |
---|
76 | 80 | | } |
---|
77 | 81 | | else throw("Strict value is not equal to itself.") |
---|
78 | 82 | | } |
---|
79 | 83 | | |
---|
80 | 84 | | |
---|