tx · 4v4KbbQQGMdkxqftNSbXqfUj698Bn88oYff48MXoZb5B 3PJvekm7EUm3x9BzZfgZNMDMwwjRpNN1zDW: -0.00300000 Waves 2022.11.24 07:37 [3396156] smart account 3PJvekm7EUm3x9BzZfgZNMDMwwjRpNN1zDW > SELF 0.00000000 Waves
{ "type": 13, "id": "4v4KbbQQGMdkxqftNSbXqfUj698Bn88oYff48MXoZb5B", "fee": 300000, "feeAssetId": null, "timestamp": 1669264721229, "version": 2, "chainId": 87, "sender": "3PJvekm7EUm3x9BzZfgZNMDMwwjRpNN1zDW", "senderPublicKey": "AfEE5FjxVEpQJtpwoKMRwRqbXo6qxcJSYPggWhTEMGQW", "proofs": [ "3zNH494X7p64k9e6g7ST9ZwxtZyZBZAjSJGMUK5yHU1npKTkrq8cXT43xC39JUtwmtUed3ye1i4pjAZxPobxYWT1" ], "script": "base64:BgIMCAISABIAEgASABIABQAMZGVzdFJlY2VpdmVyCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUFI5bmVQZEdhZUJvUjg5d1pYZU5RSzZzMzhKVDlSZWVUeAAHdmVzdGluZwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BDYnZQVlFmU3ZWdTg4aXA4Rm01WWp3SmhqRVlrMVR4aGsAB3Jld2FyZHMJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQS1prNVRkUENMUDJHWnZpaXBMRmZLNDZFeFRud2tSQ0JkAARVU0ROASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QALemVmdEFkZHJlc3MJAQdBZGRyZXNzAQEaAVf+uzjbp+STR+KqmmS7Pc6X+H83T1v4mpcFAWkBFXdpdGhkcmF3VmVzdGVkQWxsVVNETgAEAXIJAPwHBAUHdmVzdGluZwIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQFyBQFyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDGRlc3RSZWNlaXZlcgkA8AcCBQR0aGlzBQRVU0ROBQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMY2xhaW1SZXdhcmRzAAQBcgkA/AcEBQdyZXdhcmRzAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIFAXIFAXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUMZGVzdFJlY2VpdmVyCQDwBwIFBHRoaXMFBFVTRE4FBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARB3aXRoZHJhd0FuZENsYWltAAQCcjEJAPwHBAUHdmVzdGluZwIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQJyMQUCcjEEAnIyCQD8BwQFB3Jld2FyZHMCDGNsYWltUmV3YXJkcwUDbmlsBQNuaWwDCQAAAgUCcjIFAnIyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDGRlc3RSZWNlaXZlcgkA8AcCBQR0aGlzBQRVU0ROBQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIdXNkbl8xMDAABAVhZG1pbgIjM1BSOW5lUGRHYWVCb1I4OXdaWGVOUUs2czM4SlQ5UmVlVHgDCQECIT0CCQClCAEIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAhFvbmx5IGFkbWluIGNhbiBkbwQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULemVmdEFkZHJlc3MFF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFY2xhaW0ABAVhZG1pbgIjM1BSOW5lUGRHYWVCb1I4OXdaWGVOUUs2czM4SlQ5UmVlVHgDCQECIT0CCQClCAEIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAhFvbmx5IGFkbWluIGNhbiBkbwQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEtaazVUZFBDTFAyR1p2aWlwTEZmSzQ2RXhUbndrUkNCZAIMY2xhaW1SZXdhcmRzBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULemVmdEFkZHJlc3MFF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4A7c6CaA==", "height": 3396156, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5XnQnCdvA1ucmP8qDKHJ5zB6uo6ncuJpJ9PaEeN4Bk88 Next: Evxyt3wmvYKBtJ8dzJ8QEB8D37c1QvSKZo8EcGRZdVvd Diff:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let destReceiver = addressFromStringValue("3PR9nePdGaeBoR89wZXeNQK6s38JT9ReeTx") | |
5 | + | ||
6 | + | let vesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk") | |
7 | + | ||
8 | + | let rewards = addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd") | |
9 | + | ||
4 | 10 | let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
5 | 11 | ||
6 | 12 | let zeftAddress = Address(base58'3PR9nePdGaeBoR89wZXeNQK6s38JT9ReeTx') | |
13 | + | ||
14 | + | @Callable(i) | |
15 | + | func withdrawVestedAllUSDN () = { | |
16 | + | let r = invoke(vesting, "withdrawVestedAllUSDN", [false, true], nil) | |
17 | + | if ((r == r)) | |
18 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
19 | + | else throw("Strict value is not equal to itself.") | |
20 | + | } | |
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | @Callable(i) | |
25 | + | func claimRewards () = { | |
26 | + | let r = invoke(rewards, "claimRewards", nil, nil) | |
27 | + | if ((r == r)) | |
28 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
29 | + | else throw("Strict value is not equal to itself.") | |
30 | + | } | |
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | @Callable(i) | |
35 | + | func withdrawAndClaim () = { | |
36 | + | let r1 = invoke(vesting, "withdrawVestedAllUSDN", [false, true], nil) | |
37 | + | if ((r1 == r1)) | |
38 | + | then { | |
39 | + | let r2 = invoke(rewards, "claimRewards", nil, nil) | |
40 | + | if ((r2 == r2)) | |
41 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
42 | + | else throw("Strict value is not equal to itself.") | |
43 | + | } | |
44 | + | else throw("Strict value is not equal to itself.") | |
45 | + | } | |
46 | + | ||
47 | + | ||
7 | 48 | ||
8 | 49 | @Callable(i) | |
9 | 50 | func usdn_100 () = { |
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let destReceiver = addressFromStringValue("3PR9nePdGaeBoR89wZXeNQK6s38JT9ReeTx") | |
5 | + | ||
6 | + | let vesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk") | |
7 | + | ||
8 | + | let rewards = addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd") | |
9 | + | ||
4 | 10 | let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
5 | 11 | ||
6 | 12 | let zeftAddress = Address(base58'3PR9nePdGaeBoR89wZXeNQK6s38JT9ReeTx') | |
13 | + | ||
14 | + | @Callable(i) | |
15 | + | func withdrawVestedAllUSDN () = { | |
16 | + | let r = invoke(vesting, "withdrawVestedAllUSDN", [false, true], nil) | |
17 | + | if ((r == r)) | |
18 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
19 | + | else throw("Strict value is not equal to itself.") | |
20 | + | } | |
21 | + | ||
22 | + | ||
23 | + | ||
24 | + | @Callable(i) | |
25 | + | func claimRewards () = { | |
26 | + | let r = invoke(rewards, "claimRewards", nil, nil) | |
27 | + | if ((r == r)) | |
28 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
29 | + | else throw("Strict value is not equal to itself.") | |
30 | + | } | |
31 | + | ||
32 | + | ||
33 | + | ||
34 | + | @Callable(i) | |
35 | + | func withdrawAndClaim () = { | |
36 | + | let r1 = invoke(vesting, "withdrawVestedAllUSDN", [false, true], nil) | |
37 | + | if ((r1 == r1)) | |
38 | + | then { | |
39 | + | let r2 = invoke(rewards, "claimRewards", nil, nil) | |
40 | + | if ((r2 == r2)) | |
41 | + | then [ScriptTransfer(destReceiver, assetBalance(this, USDN), USDN)] | |
42 | + | else throw("Strict value is not equal to itself.") | |
43 | + | } | |
44 | + | else throw("Strict value is not equal to itself.") | |
45 | + | } | |
46 | + | ||
47 | + | ||
7 | 48 | ||
8 | 49 | @Callable(i) | |
9 | 50 | func usdn_100 () = { | |
10 | 51 | let admin = "3PR9nePdGaeBoR89wZXeNQK6s38JT9ReeTx" | |
11 | 52 | if ((toString(i.caller) != admin)) | |
12 | 53 | then throw("only admin can do") | |
13 | 54 | else { | |
14 | 55 | let usdnAmountOnStart = assetBalance(this, USDN) | |
15 | 56 | if ((usdnAmountOnStart == usdnAmountOnStart)) | |
16 | 57 | then { | |
17 | 58 | let inv = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "withdrawVestedAllUSDN", [false, true], nil) | |
18 | 59 | if ((inv == inv)) | |
19 | 60 | then { | |
20 | 61 | let usdnAmountAfterWithdraw = assetBalance(this, USDN) | |
21 | 62 | if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw)) | |
22 | 63 | then [ScriptTransfer(zeftAddress, usdnAmountAfterWithdraw, USDN)] | |
23 | 64 | else throw("Strict value is not equal to itself.") | |
24 | 65 | } | |
25 | 66 | else throw("Strict value is not equal to itself.") | |
26 | 67 | } | |
27 | 68 | else throw("Strict value is not equal to itself.") | |
28 | 69 | } | |
29 | 70 | } | |
30 | 71 | ||
31 | 72 | ||
32 | 73 | ||
33 | 74 | @Callable(i) | |
34 | 75 | func claim () = { | |
35 | 76 | let admin = "3PR9nePdGaeBoR89wZXeNQK6s38JT9ReeTx" | |
36 | 77 | if ((toString(i.caller) != admin)) | |
37 | 78 | then throw("only admin can do") | |
38 | 79 | else { | |
39 | 80 | let usdnAmountOnStart = assetBalance(this, USDN) | |
40 | 81 | if ((usdnAmountOnStart == usdnAmountOnStart)) | |
41 | 82 | then { | |
42 | 83 | let inv = invoke(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), "claimRewards", nil, nil) | |
43 | 84 | if ((inv == inv)) | |
44 | 85 | then { | |
45 | 86 | let usdnAmountAfterWithdraw = assetBalance(this, USDN) | |
46 | 87 | if ((usdnAmountAfterWithdraw == usdnAmountAfterWithdraw)) | |
47 | 88 | then [ScriptTransfer(zeftAddress, usdnAmountAfterWithdraw, USDN)] | |
48 | 89 | else throw("Strict value is not equal to itself.") | |
49 | 90 | } | |
50 | 91 | else throw("Strict value is not equal to itself.") | |
51 | 92 | } | |
52 | 93 | else throw("Strict value is not equal to itself.") | |
53 | 94 | } | |
54 | 95 | } | |
55 | 96 | ||
56 | 97 |
github/deemru/w8io/3ef1775 32.49 ms ◑