tx · 3dyqRbzXRmN8CsDjUSPpSVHkgP6hz4ExWXWApMHcL3pZ 3PLQWbTFFbXahypoTe1HYXyx6HxWgbCXBn1: -0.00300000 Waves 2022.11.23 14:43 [3395150] smart account 3PLQWbTFFbXahypoTe1HYXyx6HxWgbCXBn1 > SELF 0.00000000 Waves
{ "type": 13, "id": "3dyqRbzXRmN8CsDjUSPpSVHkgP6hz4ExWXWApMHcL3pZ", "fee": 300000, "feeAssetId": null, "timestamp": 1669203793568, "version": 2, "chainId": 87, "sender": "3PLQWbTFFbXahypoTe1HYXyx6HxWgbCXBn1", "senderPublicKey": "2gZPTuNe2iuXxXzqV89gaSXxXdymaNfNSC7QvLCtVCcE", "proofs": [ "5t9bFjQoDeJ3hKyJHghUoE6P7wMej2c189KHtGiRGaSUUfaKMCLyaVRnPaPsBpJ21uMPgZAwpCD68cpdUMz7V4rb" ], "script": "base64:BgIMCAISABIAEgASABIABQAMZGVzdFJlY2VpdmVyCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUDNlVUtLb1hBcTFiMXdQTEdUNllqck02d1NMNW5jak1QdQAHdmVzdGluZwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BDYnZQVlFmU3ZWdTg4aXA4Rm01WWp3SmhqRVlrMVR4aGsAB3Jld2FyZHMJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQS1prNVRkUENMUDJHWnZpaXBMRmZLNDZFeFRud2tSQ0JkAARVU0ROASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QALemVmdEFkZHJlc3MJAQdBZGRyZXNzAQEaAVcS1Te7ZjoNoF+1YA5feSm/LhdtbdaYxmAFAWkBFXdpdGhkcmF3VmVzdGVkQWxsVVNETgAEAXIJAPwHBAUHdmVzdGluZwIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQFyBQFyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDGRlc3RSZWNlaXZlcgkA8AcCBQR0aGlzBQRVU0ROBQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMY2xhaW1SZXdhcmRzAAQBcgkA/AcEBQdyZXdhcmRzAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIFAXIFAXIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUMZGVzdFJlY2VpdmVyCQDwBwIFBHRoaXMFBFVTRE4FBFVTRE4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARB3aXRoZHJhd0FuZENsYWltAAQCcjEJAPwHBAUHdmVzdGluZwIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQJyMQUCcjEEAnIyCQD8BwQFB3Jld2FyZHMCDGNsYWltUmV3YXJkcwUDbmlsBQNuaWwDCQAAAgUCcjIFAnIyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDGRlc3RSZWNlaXZlcgkA8AcCBQR0aGlzBQRVU0ROBQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIdXNkbl8xMDAABAVhZG1pbgIjM1AzZVVLS29YQXExYjF3UExHVDZZanJNNndTTDVuY2pNUHUDCQECIT0CCQClCAEIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAhFvbmx5IGFkbWluIGNhbiBkbwQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULemVmdEFkZHJlc3MFF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEFY2xhaW0ABAVhZG1pbgIjM1AzZVVLS29YQXExYjF3UExHVDZZanJNNndTTDVuY2pNUHUDCQECIT0CCQClCAEIBQFpBmNhbGxlcgUFYWRtaW4JAAIBAhFvbmx5IGFkbWluIGNhbiBkbwQRdXNkbkFtb3VudE9uU3RhcnQJAPAHAgUEdGhpcwUEVVNETgMJAAACBRF1c2RuQW1vdW50T25TdGFydAURdXNkbkFtb3VudE9uU3RhcnQEA2ludgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUEtaazVUZFBDTFAyR1p2aWlwTEZmSzQ2RXhUbndrUkNCZAIMY2xhaW1SZXdhcmRzBQNuaWwFA25pbAMJAAACBQNpbnYFA2ludgQXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAPAHAgUEdGhpcwUEVVNETgMJAAACBRd1c2RuQW1vdW50QWZ0ZXJXaXRoZHJhdwUXdXNkbkFtb3VudEFmdGVyV2l0aGRyYXcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULemVmdEFkZHJlc3MFF3VzZG5BbW91bnRBZnRlcldpdGhkcmF3BQRVU0ROBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AK42xSQ==", "height": 3395150, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9YKrBV5T3kHmMALngCYtWB9YyuZkCrR1UWDH31ur7vFZ Next: none 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("3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu") | |
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'3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu') | |
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("3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu") | |
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'3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu') | |
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 = "3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu" | |
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 = "3P3eUKKoXAq1b1wPLGT6YjrM6wSL5ncjMPu" | |
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/0e76f2f 34.99 ms ◑