2022.04.09 16:47 [3066441] smart account 3P8jiywkftibZ2ocUkXJ6PjHVTNXvUnKAvA > SELF 0.00000000 Waves
{
"type": 13,
"id": "DAHoruoFL6zpKZGMhJUWwK3XE1YMceMpxKmULqPTUSeK",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1649512116779,
"version": 2,
"chainId": 87,
"sender": "3P8jiywkftibZ2ocUkXJ6PjHVTNXvUnKAvA",
"senderPublicKey": "7iZ6aJsbhCNBroCgZUCmi6Vc2jkv2zpkTtB7o6wwjKuG",
"proofs": [
"2J87oYE843aq1qd8b7yfpAeDUKwSdjKiqpcYyNtovmxLaZosTMJt53ekcDtEWmshZLwRtVxHrTQ8Y2qqyABjfNqV"
],
"script": "base64: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",
"height": 3066441,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: DtBvkQxWdsewZdY8GdCiiHaSBwBo98c9FhZ27QGtxZBS
Next: 2DuS2ToERm6saR7Q8zCYQuN6cTrL2bxcqkis1ddBb9SJ
Diff:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let WU = addressFromStringValue(value("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")) |
---|
5 | | - | |
---|
6 | 4 | | let admin = addressFromStringValue("3P8jiywkftibZ2ocUkXJ6PjHVTNXvUnKAvA") |
---|
7 | 5 | | |
---|
8 | | - | let y = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR") |
---|
| 6 | + | let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S' |
---|
9 | 7 | | |
---|
10 | | - | let yy = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") |
---|
| 8 | + | let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR' |
---|
| 9 | + | |
---|
| 10 | + | let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT' |
---|
| 11 | + | |
---|
| 12 | + | let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' |
---|
| 13 | + | |
---|
| 14 | + | let USDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr' |
---|
11 | 15 | | |
---|
12 | 16 | | let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ' |
---|
13 | 17 | | |
---|
14 | | - | let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' |
---|
15 | | - | |
---|
16 | | - | let VUSDT = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ' |
---|
17 | | - | |
---|
18 | | - | let VUSDC = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr' |
---|
| 18 | + | let USDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ' |
---|
19 | 19 | | |
---|
20 | 20 | | @Callable(i) |
---|
21 | | - | func aUSDT () = if ((i.caller != admin)) |
---|
| 21 | + | func usdc () = if ((i.caller != admin)) |
---|
22 | 22 | | then throw("!") |
---|
23 | 23 | | else { |
---|
24 | | - | let b = assetBalance(y, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ') |
---|
25 | | - | if ((b == b)) |
---|
26 | | - | then if ((20000000 > b)) |
---|
27 | | - | then throw("!") |
---|
| 24 | + | let balance = assetBalance(Address(viresUsdcAddress), USDC) |
---|
| 25 | + | if ((balance == balance)) |
---|
| 26 | + | then if ((10000000 > balance)) |
---|
| 27 | + | then throw(("balance: " + toString(balance))) |
---|
28 | 28 | | else { |
---|
29 | | - | let c = assetBalance(admin, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ') |
---|
30 | | - | if ((c == c)) |
---|
| 29 | + | let lpAmount = assetBalance(this, USDC_LP) |
---|
| 30 | + | if ((lpAmount == lpAmount)) |
---|
31 | 31 | | then { |
---|
32 | | - | let swap1 = invoke(WU, "redeemAtokens", nil, [AttachedPayment(VUSDT, min([fraction(b, 100, 119), c]))]) |
---|
33 | | - | if ((swap1 == swap1)) |
---|
34 | | - | then nil |
---|
35 | | - | else throw("Strict value is not equal to itself.") |
---|
| 32 | + | let amount = min([fraction(balance, 100, 130), lpAmount]) |
---|
| 33 | + | if ((0 >= amount)) |
---|
| 34 | + | then throw("?") |
---|
| 35 | + | else { |
---|
| 36 | + | let swap1 = invoke(Address(viresMainAddress), "redeemAtokens", nil, [AttachedPayment(USDC_LP, amount)]) |
---|
| 37 | + | if ((swap1 == swap1)) |
---|
| 38 | + | then nil |
---|
| 39 | + | else throw("Strict value is not equal to itself.") |
---|
| 40 | + | } |
---|
36 | 41 | | } |
---|
37 | 42 | | else throw("Strict value is not equal to itself.") |
---|
38 | 43 | | } |
---|
|
42 | 47 | | |
---|
43 | 48 | | |
---|
44 | 49 | | @Callable(i) |
---|
45 | | - | func aUSDC () = if ((i.caller != admin)) |
---|
| 50 | + | func usdt () = if ((i.caller != admin)) |
---|
46 | 51 | | then throw("!") |
---|
47 | 52 | | else { |
---|
48 | | - | let b = assetBalance(yy, base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ') |
---|
49 | | - | if ((b == b)) |
---|
50 | | - | then if ((20000000 > b)) |
---|
| 53 | + | let balance = assetBalance(Address(viresUsdtAddress), USDT) |
---|
| 54 | + | if ((balance == balance)) |
---|
| 55 | + | then if ((10000000 > balance)) |
---|
51 | 56 | | then throw("!") |
---|
52 | 57 | | else { |
---|
53 | | - | let c = assetBalance(admin, VUSDC) |
---|
54 | | - | if ((c == c)) |
---|
| 58 | + | let lpAmount = assetBalance(this, USDT_LP) |
---|
| 59 | + | if ((lpAmount == lpAmount)) |
---|
55 | 60 | | then { |
---|
56 | | - | let swap1 = invoke(WU, "redeemAtokens", nil, [AttachedPayment(VUSDC, min([fraction(b, 100, 121), c]))]) |
---|
57 | | - | if ((swap1 == swap1)) |
---|
58 | | - | then nil |
---|
59 | | - | else throw("Strict value is not equal to itself.") |
---|
| 61 | + | let amount = min([fraction(balance, 100, 130), lpAmount]) |
---|
| 62 | + | if ((0 >= amount)) |
---|
| 63 | + | then throw("?") |
---|
| 64 | + | else { |
---|
| 65 | + | let swap1 = invoke(Address(viresMainAddress), "redeemAtokens", nil, [AttachedPayment(USDT_LP, amount)]) |
---|
| 66 | + | if ((swap1 == swap1)) |
---|
| 67 | + | then nil |
---|
| 68 | + | else throw("Strict value is not equal to itself.") |
---|
| 69 | + | } |
---|
60 | 70 | | } |
---|
61 | 71 | | else throw("Strict value is not equal to itself.") |
---|
62 | 72 | | } |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let WU = addressFromStringValue(value("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")) |
---|
5 | | - | |
---|
6 | 4 | | let admin = addressFromStringValue("3P8jiywkftibZ2ocUkXJ6PjHVTNXvUnKAvA") |
---|
7 | 5 | | |
---|
8 | | - | let y = addressFromStringValue("3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR") |
---|
| 6 | + | let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S' |
---|
9 | 7 | | |
---|
10 | | - | let yy = addressFromStringValue("3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S") |
---|
| 8 | + | let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR' |
---|
| 9 | + | |
---|
| 10 | + | let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT' |
---|
| 11 | + | |
---|
| 12 | + | let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' |
---|
| 13 | + | |
---|
| 14 | + | let USDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr' |
---|
11 | 15 | | |
---|
12 | 16 | | let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ' |
---|
13 | 17 | | |
---|
14 | | - | let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ' |
---|
15 | | - | |
---|
16 | | - | let VUSDT = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ' |
---|
17 | | - | |
---|
18 | | - | let VUSDC = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr' |
---|
| 18 | + | let USDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ' |
---|
19 | 19 | | |
---|
20 | 20 | | @Callable(i) |
---|
21 | | - | func aUSDT () = if ((i.caller != admin)) |
---|
| 21 | + | func usdc () = if ((i.caller != admin)) |
---|
22 | 22 | | then throw("!") |
---|
23 | 23 | | else { |
---|
24 | | - | let b = assetBalance(y, base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ') |
---|
25 | | - | if ((b == b)) |
---|
26 | | - | then if ((20000000 > b)) |
---|
27 | | - | then throw("!") |
---|
| 24 | + | let balance = assetBalance(Address(viresUsdcAddress), USDC) |
---|
| 25 | + | if ((balance == balance)) |
---|
| 26 | + | then if ((10000000 > balance)) |
---|
| 27 | + | then throw(("balance: " + toString(balance))) |
---|
28 | 28 | | else { |
---|
29 | | - | let c = assetBalance(admin, base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ') |
---|
30 | | - | if ((c == c)) |
---|
| 29 | + | let lpAmount = assetBalance(this, USDC_LP) |
---|
| 30 | + | if ((lpAmount == lpAmount)) |
---|
31 | 31 | | then { |
---|
32 | | - | let swap1 = invoke(WU, "redeemAtokens", nil, [AttachedPayment(VUSDT, min([fraction(b, 100, 119), c]))]) |
---|
33 | | - | if ((swap1 == swap1)) |
---|
34 | | - | then nil |
---|
35 | | - | else throw("Strict value is not equal to itself.") |
---|
| 32 | + | let amount = min([fraction(balance, 100, 130), lpAmount]) |
---|
| 33 | + | if ((0 >= amount)) |
---|
| 34 | + | then throw("?") |
---|
| 35 | + | else { |
---|
| 36 | + | let swap1 = invoke(Address(viresMainAddress), "redeemAtokens", nil, [AttachedPayment(USDC_LP, amount)]) |
---|
| 37 | + | if ((swap1 == swap1)) |
---|
| 38 | + | then nil |
---|
| 39 | + | else throw("Strict value is not equal to itself.") |
---|
| 40 | + | } |
---|
36 | 41 | | } |
---|
37 | 42 | | else throw("Strict value is not equal to itself.") |
---|
38 | 43 | | } |
---|
39 | 44 | | else throw("Strict value is not equal to itself.") |
---|
40 | 45 | | } |
---|
41 | 46 | | |
---|
42 | 47 | | |
---|
43 | 48 | | |
---|
44 | 49 | | @Callable(i) |
---|
45 | | - | func aUSDC () = if ((i.caller != admin)) |
---|
| 50 | + | func usdt () = if ((i.caller != admin)) |
---|
46 | 51 | | then throw("!") |
---|
47 | 52 | | else { |
---|
48 | | - | let b = assetBalance(yy, base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ') |
---|
49 | | - | if ((b == b)) |
---|
50 | | - | then if ((20000000 > b)) |
---|
| 53 | + | let balance = assetBalance(Address(viresUsdtAddress), USDT) |
---|
| 54 | + | if ((balance == balance)) |
---|
| 55 | + | then if ((10000000 > balance)) |
---|
51 | 56 | | then throw("!") |
---|
52 | 57 | | else { |
---|
53 | | - | let c = assetBalance(admin, VUSDC) |
---|
54 | | - | if ((c == c)) |
---|
| 58 | + | let lpAmount = assetBalance(this, USDT_LP) |
---|
| 59 | + | if ((lpAmount == lpAmount)) |
---|
55 | 60 | | then { |
---|
56 | | - | let swap1 = invoke(WU, "redeemAtokens", nil, [AttachedPayment(VUSDC, min([fraction(b, 100, 121), c]))]) |
---|
57 | | - | if ((swap1 == swap1)) |
---|
58 | | - | then nil |
---|
59 | | - | else throw("Strict value is not equal to itself.") |
---|
| 61 | + | let amount = min([fraction(balance, 100, 130), lpAmount]) |
---|
| 62 | + | if ((0 >= amount)) |
---|
| 63 | + | then throw("?") |
---|
| 64 | + | else { |
---|
| 65 | + | let swap1 = invoke(Address(viresMainAddress), "redeemAtokens", nil, [AttachedPayment(USDT_LP, amount)]) |
---|
| 66 | + | if ((swap1 == swap1)) |
---|
| 67 | + | then nil |
---|
| 68 | + | else throw("Strict value is not equal to itself.") |
---|
| 69 | + | } |
---|
60 | 70 | | } |
---|
61 | 71 | | else throw("Strict value is not equal to itself.") |
---|
62 | 72 | | } |
---|
63 | 73 | | else throw("Strict value is not equal to itself.") |
---|
64 | 74 | | } |
---|
65 | 75 | | |
---|
66 | 76 | | |
---|