tx · 3A5wrTjG7USLDpspS3R512JZuvLNiA8cgRRWttNFbdGn 3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK: -0.01400000 Waves 2022.04.11 12:24 [3069039] smart account 3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK > SELF 0.00000000 Waves
{ "type": 13, "id": "3A5wrTjG7USLDpspS3R512JZuvLNiA8cgRRWttNFbdGn", "fee": 1400000, "feeAssetId": null, "timestamp": 1649669047615, "version": 2, "chainId": 87, "sender": "3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK", "senderPublicKey": "ibrKsGF9M8wvjvpmNGtwTNkoC1jk26QJQSzJr8pd2ZW", "proofs": [ "53tYBfQvxhDmj6xUnubtbrcbaU97oFVtnneACmCroxrAm3Mp6uUJ1JJwep5kAxkDhzCqEjZFSZM5tngM3Cjdsbp9" ], "script": "base64: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", "height": 3069039, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: D1Zo3r2d6i7rfdCXWpUqXouyAUUeKSptnNgJ85Pz6Ch7 Next: 5FUmPa8M3Jdw7ovWsqM8mUB6izAmoaPREyQGFoLjoVjw Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | ||
4 | + | let nsbtAssetId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g' | |
5 | 5 | ||
6 | + | let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
6 | 7 | ||
7 | - | let | |
8 | + | let bdmsSC = base58'3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP' | |
8 | 9 | ||
9 | - | let | |
10 | + | let swopFiNsbtUsdn = base58'3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m' | |
10 | 11 | ||
11 | - | let | |
12 | + | let swopFiUsdnWaves = base58'3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG' | |
12 | 13 | ||
13 | - | let | |
14 | + | let wavesAmount = 1000000000 | |
14 | 15 | ||
15 | - | let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S' | |
16 | - | ||
17 | - | let viresBtcAddress = base58'3PA7QMFyHMtHeP66SUQnwCgwKQHKpCyXWwd' | |
18 | - | ||
19 | - | let viresEthAddress = base58'3PPdeWwrzaxqgr6BuReoF3sWfxW8SYv743D' | |
20 | - | ||
21 | - | let viresEurnAddress = base58'3PBjqiMwwag72VWUtHNnVrxTBrNK8D7bVcN' | |
22 | - | ||
23 | - | func getSupply (wallet,vires) = { | |
24 | - | let key = (wallet + "_aTokenBalance") | |
25 | - | valueOrElse(getInteger(vires, key), 0) | |
16 | + | @Callable(i) | |
17 | + | func bdsm () = { | |
18 | + | let startWavesAmount = wavesBalance(this).regular | |
19 | + | if ((startWavesAmount == startWavesAmount)) | |
20 | + | then { | |
21 | + | let startUsdnAmount = assetBalance(this, usdnAssetId) | |
22 | + | if ((startUsdnAmount == startUsdnAmount)) | |
23 | + | then { | |
24 | + | let startNsbtAmount = assetBalance(this, nsbtAssetId) | |
25 | + | if ((startNsbtAmount == startNsbtAmount)) | |
26 | + | then { | |
27 | + | let r = invoke(Address(bdmsSC), "buyNsbt", nil, [AttachedPayment(unit, wavesAmount)]) | |
28 | + | if ((r == r)) | |
29 | + | then { | |
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 | + | } | |
48 | + | else throw("Strict value is not equal to itself.") | |
49 | + | } | |
50 | + | else throw("bad req") | |
51 | + | } | |
52 | + | else throw("Strict value is not equal to itself.") | |
53 | + | } | |
54 | + | else throw("Strict value is not equal to itself.") | |
55 | + | } | |
56 | + | else throw("Strict value is not equal to itself.") | |
26 | 57 | } | |
27 | - | ||
28 | - | ||
29 | - | func getBorrow (wallet,vires) = { | |
30 | - | let key = (wallet + "_debt") | |
31 | - | valueOrElse(getInteger(vires, key), 0) | |
32 | - | } | |
33 | - | ||
34 | - | ||
35 | - | func getViresInfo (wallet) = { | |
36 | - | let supplyWaves = getSupply(wallet, Address(viresWavesAddress)) | |
37 | - | let supplyUsdn = getSupply(wallet, Address(viresUsdnAddress)) | |
38 | - | let supplyUsdt = getSupply(wallet, Address(viresUsdtAddress)) | |
39 | - | let supplyUsdc = getSupply(wallet, Address(viresUsdcAddress)) | |
40 | - | let supplyBtc = getSupply(wallet, Address(viresBtcAddress)) | |
41 | - | let supplyEth = getSupply(wallet, Address(viresEthAddress)) | |
42 | - | let supplyEurn = getSupply(wallet, Address(viresEurnAddress)) | |
43 | - | let borrowWaves = getBorrow(wallet, Address(viresWavesAddress)) | |
44 | - | let borrowUsdn = getBorrow(wallet, Address(viresUsdnAddress)) | |
45 | - | let borrowUsdt = getBorrow(wallet, Address(viresUsdtAddress)) | |
46 | - | let borrowUsdc = getBorrow(wallet, Address(viresUsdcAddress)) | |
47 | - | let borrowBtc = getBorrow(wallet, Address(viresBtcAddress)) | |
48 | - | let borrowEth = getBorrow(wallet, Address(viresEthAddress)) | |
49 | - | let borrowEurn = getBorrow(wallet, Address(viresEurnAddress)) | |
50 | - | [supplyWaves, supplyUsdn, supplyUsdt, supplyUsdc, supplyBtc, supplyEth, supplyEurn, borrowWaves, borrowUsdn, borrowUsdt, borrowUsdc, borrowBtc, borrowEth, borrowEurn] | |
51 | - | } | |
52 | - | ||
53 | 58 | ||
54 | 59 |
github/deemru/w8io/6500d08 40.32 ms ◑