tx · EV4fhzdxWWa2DxAr6tFSwXubkZE73V25K1zQnVnQTijD 3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK: -0.01400000 Waves 2022.01.31 14:03 [2968071] smart account 3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK > SELF 0.00000000 Waves
{ "type": 13, "id": "EV4fhzdxWWa2DxAr6tFSwXubkZE73V25K1zQnVnQTijD", "fee": 1400000, "feeAssetId": null, "timestamp": 1643627037326, "version": 2, "chainId": 87, "sender": "3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK", "senderPublicKey": "ibrKsGF9M8wvjvpmNGtwTNkoC1jk26QJQSzJr8pd2ZW", "proofs": [ "QZhbtE4N2hRvkZJjvvySqSpuCgkbPTGVxBKBa46kG5f3RvYzu9Uo9HQdhG2bqudacesof4Yg3pJnN5zWTA7QXjz" ], "script": "base64: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", "height": 2968071, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FhAChjRraVA4u8nFHdgoG3zSipvqjVPkviqCbehjat2q Next: FezgGXQfC46pcwdrcEwp9R8Gvmo7yZHKnMf6Bqj8kJRw Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let bdsmAssetId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g' | |
4 | + | let nsbtAssetId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g' | |
5 | + | ||
6 | + | let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
5 | 7 | ||
6 | 8 | let bdmsSC = base58'3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP' | |
7 | 9 | ||
10 | + | let swopFiNsbtUsdn = base58'3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m' | |
11 | + | ||
12 | + | let swopFiUsdnWaves = base58'3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG' | |
13 | + | ||
14 | + | let wavesAmount = 1000000000 | |
15 | + | ||
8 | 16 | @Callable(i) | |
9 | 17 | func bdsm () = { | |
10 | - | let | |
11 | - | if (( | |
18 | + | let startWavesAmount = wavesBalance(this).regular | |
19 | + | if ((startWavesAmount == startWavesAmount)) | |
12 | 20 | then { | |
13 | - | let | |
14 | - | if (( | |
21 | + | let startUsdnAmount = assetBalance(this, usdnAssetId) | |
22 | + | if ((startUsdnAmount == startUsdnAmount)) | |
15 | 23 | then { | |
16 | - | let | |
17 | - | if (( | |
24 | + | let startNsbtAmount = assetBalance(this, nsbtAssetId) | |
25 | + | if ((startNsbtAmount == startNsbtAmount)) | |
18 | 26 | then { | |
19 | - | let | |
20 | - | if (( | |
27 | + | let r = invoke(Address(bdmsSC), "buyNsbt", nil, [AttachedPayment(unit, wavesAmount)]) | |
28 | + | if ((r == r)) | |
21 | 29 | then { | |
22 | - | let newBdsmAmount = assetBalance(this, bdsmAssetId) | |
23 | - | if ((newBdsmAmount == newBdsmAmount)) | |
24 | - | then if (((newBdsmAmount - bdsmAmount) > 10000000)) | |
25 | - | then nil | |
26 | - | else throw(((((((("w: " + toString(wavesAmount)) + ", b: ") + toString(bdsmAmount)) + "w new: ") + toString(newWavesAmount)) + ", b new: ") + toString(newBdsmAmount))) | |
30 | + | let swopNsbtAmount = (assetBalance(this, nsbtAssetId) - startNsbtAmount) | |
31 | + | if ((swopNsbtAmount == swopNsbtAmount)) | |
32 | + | then { | |
33 | + | let sbu = invoke(Address(swopFiNsbtUsdn), "exchange", [1000000], [AttachedPayment(nsbtAssetId, swopNsbtAmount)]) | |
34 | + | if ((sbu == sbu)) | |
35 | + | then { | |
36 | + | let swopUsdnAmount = (assetBalance(this, usdnAssetId) - startUsdnAmount) | |
37 | + | if ((swopUsdnAmount == swopUsdnAmount)) | |
38 | + | then { | |
39 | + | let suw = invoke(Address(swopFiUsdnWaves), "exchange", [(wavesAmount + 10000000)], [AttachedPayment(usdnAssetId, swopUsdnAmount)]) | |
40 | + | if ((suw == suw)) | |
41 | + | then nil | |
42 | + | else throw("swap usdn to waves error") | |
43 | + | } | |
44 | + | else throw("Strict value is not equal to itself.") | |
45 | + | } | |
46 | + | else throw("swap nsbt to usdn error") | |
47 | + | } | |
27 | 48 | else throw("Strict value is not equal to itself.") | |
28 | 49 | } | |
29 | - | else throw(" | |
50 | + | else throw("bad req") | |
30 | 51 | } | |
31 | - | else throw(" | |
52 | + | else throw("Strict value is not equal to itself.") | |
32 | 53 | } | |
33 | 54 | else throw("Strict value is not equal to itself.") | |
34 | 55 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let bdsmAssetId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g' | |
4 | + | let nsbtAssetId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g' | |
5 | + | ||
6 | + | let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
5 | 7 | ||
6 | 8 | let bdmsSC = base58'3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP' | |
7 | 9 | ||
10 | + | let swopFiNsbtUsdn = base58'3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m' | |
11 | + | ||
12 | + | let swopFiUsdnWaves = base58'3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG' | |
13 | + | ||
14 | + | let wavesAmount = 1000000000 | |
15 | + | ||
8 | 16 | @Callable(i) | |
9 | 17 | func bdsm () = { | |
10 | - | let | |
11 | - | if (( | |
18 | + | let startWavesAmount = wavesBalance(this).regular | |
19 | + | if ((startWavesAmount == startWavesAmount)) | |
12 | 20 | then { | |
13 | - | let | |
14 | - | if (( | |
21 | + | let startUsdnAmount = assetBalance(this, usdnAssetId) | |
22 | + | if ((startUsdnAmount == startUsdnAmount)) | |
15 | 23 | then { | |
16 | - | let | |
17 | - | if (( | |
24 | + | let startNsbtAmount = assetBalance(this, nsbtAssetId) | |
25 | + | if ((startNsbtAmount == startNsbtAmount)) | |
18 | 26 | then { | |
19 | - | let | |
20 | - | if (( | |
27 | + | let r = invoke(Address(bdmsSC), "buyNsbt", nil, [AttachedPayment(unit, wavesAmount)]) | |
28 | + | if ((r == r)) | |
21 | 29 | then { | |
22 | - | let newBdsmAmount = assetBalance(this, bdsmAssetId) | |
23 | - | if ((newBdsmAmount == newBdsmAmount)) | |
24 | - | then if (((newBdsmAmount - bdsmAmount) > 10000000)) | |
25 | - | then nil | |
26 | - | else throw(((((((("w: " + toString(wavesAmount)) + ", b: ") + toString(bdsmAmount)) + "w new: ") + toString(newWavesAmount)) + ", b new: ") + toString(newBdsmAmount))) | |
30 | + | let swopNsbtAmount = (assetBalance(this, nsbtAssetId) - startNsbtAmount) | |
31 | + | if ((swopNsbtAmount == swopNsbtAmount)) | |
32 | + | then { | |
33 | + | let sbu = invoke(Address(swopFiNsbtUsdn), "exchange", [1000000], [AttachedPayment(nsbtAssetId, swopNsbtAmount)]) | |
34 | + | if ((sbu == sbu)) | |
35 | + | then { | |
36 | + | let swopUsdnAmount = (assetBalance(this, usdnAssetId) - startUsdnAmount) | |
37 | + | if ((swopUsdnAmount == swopUsdnAmount)) | |
38 | + | then { | |
39 | + | let suw = invoke(Address(swopFiUsdnWaves), "exchange", [(wavesAmount + 10000000)], [AttachedPayment(usdnAssetId, swopUsdnAmount)]) | |
40 | + | if ((suw == suw)) | |
41 | + | then nil | |
42 | + | else throw("swap usdn to waves error") | |
43 | + | } | |
44 | + | else throw("Strict value is not equal to itself.") | |
45 | + | } | |
46 | + | else throw("swap nsbt to usdn error") | |
47 | + | } | |
27 | 48 | else throw("Strict value is not equal to itself.") | |
28 | 49 | } | |
29 | - | else throw(" | |
50 | + | else throw("bad req") | |
30 | 51 | } | |
31 | - | else throw(" | |
52 | + | else throw("Strict value is not equal to itself.") | |
32 | 53 | } | |
33 | 54 | else throw("Strict value is not equal to itself.") | |
34 | 55 | } | |
35 | 56 | else throw("Strict value is not equal to itself.") | |
36 | 57 | } | |
37 | 58 | ||
38 | 59 |
github/deemru/w8io/6500d08 47.61 ms ◑