2022.09.13 22:17 [3293243] smart account 3PButg7TXDQyUoTxatDTW2F33Nwxch6rG6V > SELF 0.00000000 Waves

{ "type": 13, "id": "4iwim7rdUqCPCYKe7VPJb8eTPVeZFsuK5XAVYiPFWp1X", "fee": 600000, "feeAssetId": null, "timestamp": 1663096630504, "version": 1, "sender": "3PButg7TXDQyUoTxatDTW2F33Nwxch6rG6V", "senderPublicKey": "82z2REdfiBcQD9ADq2ohQiA6XzFicy1BfxAxkM8yVi3X", "proofs": [ "5YVYBcc4Z9JAgZ17pZife79zBC53Da4Hv5N4BkNXYybnMjZz2a7SThxAynL6qZZJhm6Khpvz5aYVY86B528vh2HK" ], "script": "base64:AAIFAAAAAAAAAAcIAhIDCgEBAAAACQAAAAAQdmlyZXNNYWluQWRkcmVzcwEAAAAaAVdewZYZMMmiQ3hGadYm1vHmuEPQvfZMHrgAAAAABFVTREMBAAAAIFIz2eGXiCbl4h/C/eqINLiHdqOMsYPvyGAcfgoSVCYlAAAAAARVU0RUAQAAACAelAcTUnahJZX9yGGogl8Qf986Tym7/JpGP1r9Nk+fkQAAAAAEVVNETgEAAAAgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEAAAAAEHZpcmVzVXNkY0FkZHJlc3MBAAAAGgFXnJHW61bfY7G/f+SNMyTkHKjj+EDnO+0DAAAAABB2aXJlc1VzZHRBZGRyZXNzAQAAABoBV4wzfon//pTaHf7sOt6bBCYS88FfxG0ODAAAAAAJbWVBZGRyZXNzCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFXJqAMCkZONGXCherIE8gqRGALS8LL8ZtsAAAAAAxhZG1pbkFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVc0FN9xREbfMFTR97icc0UMqzorm02OJmEBAAAAGGdldEFtb3VudEZyb21Vc2VyQmFsYW5jZQAAAAEAAAABdgQAAAAHJG1hdGNoMAUAAAABdgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAiKEludCwgSW50LCBJbnQsIEludCwgSW50LCBCb29sZWFuKQQAAAABeAUAAAAHJG1hdGNoMAgFAAAAAXgAAAACXzIEAAAAAXQFAAAAByRtYXRjaDAJAAACAAAAAQIAAAAEI2VycgAAAAEAAAABaQEAAAAIdXNkbl8xMDAAAAABAAAABmFtb3VudAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMYWRtaW5BZGRyZXNzCQAAAgAAAAECAAAAEW9ubHkgYWRtaW4gY2FuIGRvBAAAABF1c2RuQW1vdW50T25TdGFydAkAA/AAAAACBQAAAAR0aGlzBQAAAARVU0ROAwkAAAAAAAACBQAAABF1c2RuQW1vdW50T25TdGFydAUAAAARdXNkbkFtb3VudE9uU3RhcnQEAAAAD2ludm9rZVRvVmVzdGluZwkAA/wAAAAECQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIAAAANY29udmVydFRvVVNETgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAD2ludm9rZVRvVmVzdGluZwUAAAAPaW52b2tlVG9WZXN0aW5nBAAAAANpbnYJAAP8AAAABAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BDYnZQVlFmU3ZWdTg4aXA4Rm01WWp3SmhqRVlrMVR4aGsCAAAAFXdpdGhkcmF3VmVzdGVkQWxsVVNETgkABEwAAAACBwkABEwAAAACBgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAA2ludgUAAAADaW52BAAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwkAA/AAAAACBQAAAAR0aGlzBQAAAARVU0ROAwkAAAAAAAACBQAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUAAAAXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAJbWVBZGRyZXNzBQAAABd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUAAAAEVVNETgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAD5qRqJ", "chainId": 87, "height": 3293243, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4Di1QLAbK6Pdfu2pge4BZWUC7arq7GFmbReyTRn3TAyy Next: 6HJisv8eu3bdQ5sLqg9nLsBkcHDJ9d5pe2DBpZXNHaRc Diff:
OldNewDifferences
55
66 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
77
8+let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
9+
10+let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
11+
812 let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
13+
14+let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR'
15+
16+let meAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
17+
18+let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
919
1020 func getAmountFromUserBalance (v) = match v {
1121 case x: (Int, Int, Int, Int, Int, Boolean) =>
1626
1727
1828 @Callable(i)
19-func usdc_1000 (amount) = {
20- let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
21- if ((toString(i.caller) != admin))
22- then throw("only admin can do")
23- else {
24- let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
25- if ((1 > userBalance))
26- then throw("bad request")
27- else {
28- let newamount = if ((amount > userBalance))
29- then userBalance
30- else amount
31- let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
32- if ((inv == inv))
33- then nil
34- else throw("Strict value is not equal to itself.")
35- }
36- }
37- }
29+func usdn_100 (amount) = if ((i.caller != adminAddress))
30+ then throw("only admin can do")
31+ else {
32+ let usdnAmountOnStart = assetBalance(this, USDN)
33+ if ((usdnAmountOnStart == usdnAmountOnStart))
34+ then {
35+ let invokeToVesting = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "convertToUSDN", nil, nil)
36+ if ((invokeToVesting == invokeToVesting))
37+ then {
38+ let inv = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
39+ if ((inv == inv))
40+ then {
41+ let usdnAmountAfterWithdraw = assetBalance(this, USDN)
42+ if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
43+ then [ScriptTransfer(meAddress, usdnAmountAfterWithdraw, USDN)]
44+ else throw("Strict value is not equal to itself.")
45+ }
46+ else throw("Strict value is not equal to itself.")
47+ }
48+ else throw("Strict value is not equal to itself.")
49+ }
50+ else throw("Strict value is not equal to itself.")
51+ }
3852
3953
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let viresMainAddress = base58'3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT'
55
66 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
77
8+let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
9+
10+let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
11+
812 let viresUsdcAddress = base58'3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S'
13+
14+let viresUsdtAddress = base58'3PEiD1zJWTMZNWSCyzhvBw9pxxAWeEwaghR'
15+
16+let meAddress = Address(base58'3P5T88oGg47FEsJcpC2o43BSF34Bs5dcFpP')
17+
18+let adminAddress = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC')
919
1020 func getAmountFromUserBalance (v) = match v {
1121 case x: (Int, Int, Int, Int, Int, Boolean) =>
1222 x._2
1323 case t =>
1424 throw("#err")
1525 }
1626
1727
1828 @Callable(i)
19-func usdc_1000 (amount) = {
20- let admin = "3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC"
21- if ((toString(i.caller) != admin))
22- then throw("only admin can do")
23- else {
24- let userBalance = getAmountFromUserBalance(invoke(Address(viresUsdcAddress), "userBalance", [toString(this)], nil))
25- if ((1 > userBalance))
26- then throw("bad request")
27- else {
28- let newamount = if ((amount > userBalance))
29- then userBalance
30- else amount
31- let inv = invoke(Address(viresMainAddress), "withdraw", [toBase58String(USDC), newamount], nil)
32- if ((inv == inv))
33- then nil
34- else throw("Strict value is not equal to itself.")
35- }
36- }
37- }
29+func usdn_100 (amount) = if ((i.caller != adminAddress))
30+ then throw("only admin can do")
31+ else {
32+ let usdnAmountOnStart = assetBalance(this, USDN)
33+ if ((usdnAmountOnStart == usdnAmountOnStart))
34+ then {
35+ let invokeToVesting = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "convertToUSDN", nil, nil)
36+ if ((invokeToVesting == invokeToVesting))
37+ then {
38+ let inv = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil)
39+ if ((inv == inv))
40+ then {
41+ let usdnAmountAfterWithdraw = assetBalance(this, USDN)
42+ if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw))
43+ then [ScriptTransfer(meAddress, usdnAmountAfterWithdraw, USDN)]
44+ else throw("Strict value is not equal to itself.")
45+ }
46+ else throw("Strict value is not equal to itself.")
47+ }
48+ else throw("Strict value is not equal to itself.")
49+ }
50+ else throw("Strict value is not equal to itself.")
51+ }
3852
3953

github/deemru/w8io/786bc32 
29.09 ms