2022.11.24 13:28 [3396505] smart account 3P28iJCof7QDW5aB6MaaASe2BkECbPvW8Ho > SELF 0.00000000 Waves
{ "type": 13, "id": "9KEjq5WPKsbYjj9oaxZ2TJ7fXF1Aaegs44V86zbJuQNN", "fee": 1000000, "feeAssetId": null, "timestamp": 1669285702531, "version": 2, "chainId": 87, "sender": "3P28iJCof7QDW5aB6MaaASe2BkECbPvW8Ho", "senderPublicKey": "ANVMXH6RRF6sNVqBrT7yYvbAXhoVRCj4fmDE3pyTzAe", "proofs": [ "3S9UyLtD8zXpovtbipVAiMhWhpQKx4AWbhAX2gSk3oden6iYfx2im2HrZaTBf9oyPRJAPSqzE1DH31kkxSBeULiF" ], "script": "base64:BgIICAISABIAEgAEAAxkZXN0UmVjZWl2ZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQTjJhSzVlWGlSOUZlOUtRTXdrWlB6OVdTVTJRSFR4Z1dVAAd2ZXN0aW5nCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawAHcmV3YXJkcwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BLWms1VGRQQ0xQMkdadmlpcExGZks0NkV4VG53a1JDQmQABFVTRE4BILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAwFpARV3aXRoZHJhd1Zlc3RlZEFsbFVTRE4ABAFyCQD8BwQFB3Zlc3RpbmcCFXdpdGhkcmF3VmVzdGVkQWxsVVNETgkAzAgCBwkAzAgCBgUDbmlsBQNuaWwDCQAAAgUBcgUBcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQxkZXN0UmVjZWl2ZXIJAPAHAgUEdGhpcwUEVVNETgUEVVNETgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDGNsYWltUmV3YXJkcwAEAXIJAPwHBAUHcmV3YXJkcwIMY2xhaW1SZXdhcmRzBQNuaWwFA25pbAMJAAACBQFyBQFyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDGRlc3RSZWNlaXZlcgkA8AcCBQR0aGlzBQRVU0ROBQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQd2l0aGRyYXdBbmRDbGFpbQAEAnIxCQD8BwQFB3Zlc3RpbmcCFXdpdGhkcmF3VmVzdGVkQWxsVVNETgkAzAgCBwkAzAgCBgUDbmlsBQNuaWwDCQAAAgUCcjEFAnIxBAJyMgkA/AcEBQdyZXdhcmRzAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIFAnIyBQJyMgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQxkZXN0UmVjZWl2ZXIJAPAHAgUEdGhpcwUEVVNETgUEVVNETgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAFtg4xw=", "height": 3396505, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4egQXNSiSAVj1KYSkFc7kA1V4pyADEJLhSG7g2Wqtqoz Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let destReceiver = addressFromStringValue("3PN2aK5eXiR9Fe9KQMwkZPz9WSU2QHTxgWU") | |
5 | 5 | ||
6 | - | let | |
6 | + | let vesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk") | |
7 | 7 | ||
8 | - | let | |
8 | + | let rewards = addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd") | |
9 | 9 | ||
10 | - | let | |
10 | + | let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
11 | 11 | ||
12 | - | let assetStringUSDC = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" | |
13 | - | ||
14 | - | let reserveStringUSDC = "3PGCkrHBxFMi7tz1xqnxgBpeNvn5E4M4g8S" | |
15 | - | ||
16 | - | let reserveUSDC = addressFromStringValue(reserveStringUSDC) | |
17 | - | ||
18 | - | let limiter = addressFromStringValue("3PRBVq52csUvTx77NYwLTULrt2e9jdsHfRB") | |
19 | - | ||
20 | - | func _withdrawTo (toAddressString,assetString,reserveString,amount) = { | |
21 | - | let toAddress = addressFromStringValue(toAddressString) | |
22 | - | if ((toAddress == this)) | |
23 | - | then throw("toAddress == this") | |
24 | - | else { | |
25 | - | let transferAmount = if ((amount > 0)) | |
26 | - | then amount | |
27 | - | else 1000000000 | |
28 | - | if ((0 >= transferAmount)) | |
29 | - | then throw("invalid amount") | |
30 | - | else { | |
31 | - | let payment = AttachedPayment(fromBase58String(assetString), transferAmount) | |
32 | - | let invokeDeposit = invoke(toAddress, "deposit", [reserveString], [payment]) | |
33 | - | if ((invokeDeposit == invokeDeposit)) | |
34 | - | then { | |
35 | - | let invokeWithdraw = invoke(viresAddress, "withdraw", [assetString, transferAmount], nil) | |
36 | - | if ((invokeWithdraw == invokeWithdraw)) | |
37 | - | then nil | |
38 | - | else throw("Strict value is not equal to itself.") | |
39 | - | } | |
40 | - | else throw("Strict value is not equal to itself.") | |
41 | - | } | |
42 | - | } | |
12 | + | @Callable(i) | |
13 | + | func withdrawVestedAllUSDN () = { | |
14 | + | let r = invoke(vesting, "withdrawVestedAllUSDN", [false, true], nil) | |
15 | + | if ((r == r)) | |
16 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
17 | + | else throw("Strict value is not equal to itself.") | |
43 | 18 | } | |
44 | 19 | ||
45 | 20 | ||
21 | + | ||
46 | 22 | @Callable(i) | |
47 | - | func withdrawTo (toAddressString,amount) = if ((i.caller != this)) | |
48 | - | then throw("admin") | |
49 | - | else _withdrawTo(toAddressString, assetStringUSDC, reserveStringUSDC, amount) | |
23 | + | func claimRewards () = { | |
24 | + | let r = invoke(rewards, "claimRewards", nil, nil) | |
25 | + | if ((r == r)) | |
26 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
27 | + | else throw("Strict value is not equal to itself.") | |
28 | + | } | |
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | @Callable(i) | |
33 | + | func withdrawAndClaim () = { | |
34 | + | let r1 = invoke(vesting, "withdrawVestedAllUSDN", [false, true], nil) | |
35 | + | if ((r1 == r1)) | |
36 | + | then { | |
37 | + | let r2 = invoke(rewards, "claimRewards", nil, nil) | |
38 | + | if ((r2 == r2)) | |
39 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
40 | + | else throw("Strict value is not equal to itself.") | |
41 | + | } | |
42 | + | else throw("Strict value is not equal to itself.") | |
43 | + | } | |
50 | 44 | ||
51 | 45 |
github/deemru/w8io/786bc32 134.16 ms ◑