tx · 5FUmPa8M3Jdw7ovWsqM8mUB6izAmoaPREyQGFoLjoVjw

3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK:  -0.00100000 Waves

2022.08.30 11:21 [3272450] smart account 3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK > SELF 0.00000000 Waves

{ "type": 13, "id": "5FUmPa8M3Jdw7ovWsqM8mUB6izAmoaPREyQGFoLjoVjw", "fee": 100000, "feeAssetId": null, "timestamp": 1661847803193, "version": 2, "chainId": 87, "sender": "3P4x6kpsu63wHbqAVxB6DWN5CzSqNSrtQaK", "senderPublicKey": "ibrKsGF9M8wvjvpmNGtwTNkoC1jk26QJQSzJr8pd2ZW", "proofs": [ "53xqfbb3JX4a8WXSLnDVozvPtF46422eiRymoMHEqpA3dgsaeFY5GX3bxNw3mHfV6BLAnp2rKo1pSp7BnEFXKEec" ], "script": "base64:BgIICAISBAoCCAECAARVU0RDASBSM9nhl4gm5eIfwv3qiDS4h3ajjLGD78hgHH4KElQmJQAQdmlyZXNNYWluQWRkcmVzcwkBB0FkZHJlc3MBARoBV17BlhkwyaJDeEZp1ibW8ea4Q9C99kweuAEBaQECd2QCBGRlc3QGYW1vdW50AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRb25seSBhZG1pbiBjYW4gZG8EC2Rlc3RBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBQRkZXN0AwkAAAIFC2Rlc3RBZGRyZXNzBQR0aGlzCQACAQILYmFkIGFkZHJlc3MECmludkRlcG9zaXQJAPwHBAULZGVzdEFkZHJlc3MCAWQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEVVNEQwUGYW1vdW50BQNuaWwDCQAAAgUKaW52RGVwb3NpdAUKaW52RGVwb3NpdAQLaW52V2l0aGRyYXcJAPwHBAUQdmlyZXNNYWluQWRkcmVzcwIId2l0aGRyYXcJAMwIAgkA2AQBBQRVU0RDCQDMCAIFBmFtb3VudAUDbmlsBQNuaWwDCQAAAgULaW52V2l0aGRyYXcFC2ludldpdGhkcmF3BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AYBKArA==", "height": 3272450, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3A5wrTjG7USLDpspS3R512JZuvLNiA8cgRRWttNFbdGn Next: FYs5DExCeJpz8FRhLg1BppbUMfXNNCwWn15qgvuc2KaE Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let nsbtAssetId = base58'6nSpVyNH7yM69eg446wrQR94ipbbcmZMU1ENPwanC97g'
4+let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
55
6-let usdnAssetId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
7-
8-let bdmsSC = base58'3PG2vMhK5CPqsCDodvLGzQ84QkoHXCJ3oNP'
9-
10-let swopFiNsbtUsdn = base58'3P2V63Xd6BviDkeMzxhUw2SJyojByRz8a8m'
11-
12-let swopFiUsdnWaves = base58'3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG'
13-
14-let wavesAmount = 1000000000
6+let viresMainAddress = Address(base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT')
157
168 @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.")
57- }
9+func wd (dest,amount) = if ((i.caller != this))
10+ then throw("only admin can do")
11+ else {
12+ let destAddress = addressFromStringValue(dest)
13+ if ((destAddress == this))
14+ then throw("bad address")
15+ else {
16+ let invDeposit = invoke(destAddress, "d", nil, [AttachedPayment(USDC, amount)])
17+ if ((invDeposit == invDeposit))
18+ then {
19+ let invWithdraw = invoke(viresMainAddress, "withdraw", [toBase58String(USDC), amount], nil)
20+ if ((invWithdraw == invWithdraw))
21+ then nil
22+ else throw("Strict value is not equal to itself.")
23+ }
24+ else throw("Strict value is not equal to itself.")
25+ }
26+ }
5827
5928

github/deemru/w8io/6500d08 
30.71 ms