tx · 5NnCSDgh59H9XXqi2KbyXf4kSTnPTvnNkMSF6ESy6r4D

3PH9YPehfpn5HJJ51hyasW2FQZfYkbdZkjf:  -0.00200000 Waves

2022.11.08 15:33 [3373528] smart account 3PH9YPehfpn5HJJ51hyasW2FQZfYkbdZkjf > SELF 0.00000000 Waves

{ "type": 13, "id": "5NnCSDgh59H9XXqi2KbyXf4kSTnPTvnNkMSF6ESy6r4D", "fee": 200000, "feeAssetId": null, "timestamp": 1667910768195, "version": 1, "sender": "3PH9YPehfpn5HJJ51hyasW2FQZfYkbdZkjf", "senderPublicKey": "4Zobyq7yzxCuYDnZj43q6LKzNenV7tput8CcLQDzFSYm", "proofs": [ "5pW4AdLtwUfMXekLXfZoUjWeoXH6k9cNJ6q1qCAPmufCmfTaaMC47SSSEsYj4urAd5xtdwi97BBAUg2BK4WvWwrX" ], "script": "base64:BgKiAQgCEgASABIAEgASAwoBASIEVVNETiILVVNETlZlc3RpbmciC1VTRE5SZXdhcmRzIg9kZWxlZ2F0ZUFkZHJlc3MiAWkiB2NvbnZlcnQiDndpdGhkcmF3VmVzdGVkIgtVU0ROSW5pdGlhbCIJVVNETkZpbmFsIgZhbW91bnQiClVTRE5SZXdhcmQiAnR4IgZ2ZXJpZnkiByRtYXRjaDAiA2ludgQAAWEBILYmKcME9c5TkaQOS3UkL2SMUbH6369UKb1I0h0qsqrRAAFiCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUENidlBWUWZTdlZ1ODhpcDhGbTVZandKaGpFWWsxVHhoawABYwkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BDYnZQVlFmU3ZWdTg4aXA4Rm01WWp3SmhqRVlrMVR4aGsAAWQJAQdBZGRyZXNzAQEaAVfJ+Wl3PWVwnVchWpNLOI+X4TIwwNiaJXcFAWUBDWNvbnZlcnRUb1VTRE4AAwkBAiE9AggFAWUGY2FsbGVyBQR0aGlzCQACAQINQWNjZXNzIERlbmllZAQBZgkA/AcEBQFiAg1jb252ZXJ0VG9VU0ROBQNuaWwFA25pbAMJAAACBQFmBQFmBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BZQESd2l0aGRyYXdWZXN0ZWRVU0ROAAMJAQIhPQIIBQFlBmNhbGxlcgUEdGhpcwkAAgECDUFjY2VzcyBEZW5pZWQEAWcJAPwHBAUBYgIVd2l0aGRyYXdWZXN0ZWRBbGxVU0ROCQDMCAIHCQDMCAIGBQNuaWwFA25pbAMJAAACBQFnBQFnBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BZQEcd2l0aGRyYXdWZXN0ZWRVU0ROdG9EZWxlZ2F0ZQADCQECIT0CCAUBZQZjYWxsZXIFBHRoaXMJAAIBAg1BY2Nlc3MgRGVuaWVkBAFoCQDwBwIFBHRoaXMFAWEDCQAAAgUBaAUBaAQBZwkA/AcEBQFiAhV3aXRoZHJhd1Zlc3RlZEFsbFVTRE4JAMwIAgcJAMwIAgYFA25pbAUDbmlsAwkAAAIFAWcFAWcEAWkJAPAHAgUEdGhpcwUBYQMJAAACBQFpBQFpCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFAWQFAWkFAWEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFlARZ3aXRoZHJhd1VTRE50b0RlbGVnYXRlAAMJAQIhPQIIBQFlBmNhbGxlcgUEdGhpcwkAAgECDUFjY2VzcyBEZW5pZWQEAWkJAPAHAgUEdGhpcwUBYQMJAAACBQFpBQFpCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFAWQFAWkFAWEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFlARBDbGFpbVJld2FyZHNVU0ROAQFqAwkBAiE9AggFAWUGY2FsbGVyBQR0aGlzCQACAQINQWNjZXNzIERlbmllZAQBawkA/AcEBQFjAgxjbGFpbVJld2FyZHMFA25pbAUDbmlsAwkAAAIFAWsFAWsFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBbAEBbQAEAW4FAWwDCQABAgUBbgIXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EAW8FAW4DCQAAAgkApAgBCAUBbwRkQXBwBQR0aGlzBgkA9AMDCAUBbAlib2R5Qnl0ZXMJAJEDAggFAWwGcHJvb2ZzAAAIBQFsD3NlbmRlclB1YmxpY0tleQkA9AMDCAUBbAlib2R5Qnl0ZXMJAJEDAggFAWwGcHJvb2ZzAAAIBQFsD3NlbmRlclB1YmxpY0tleRZ/DWc=", "chainId": 87, "height": 3373528, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4zGUWZ7gzWDgWGGgrvhML4sBWpMD6EjXnvULqbjgonVi Next: BLn72wBx7KsRn4kPCtyVCHqVFJvKn3k1Kbg9Wkit4BR Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
6-let VIRES_USDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ'
6+let USDNVesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk")
77
8-let VIRES_USDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr'
9-
10-let VIRES = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
11-
12-let usdnVesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk")
13-
14-let viresMain = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
8+let USDNRewards = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk")
159
1610 let delegateAddress = Address(base58'3PLLqLFaJcsrLBQRVb52dCchNPP2JqVnoin')
1711
18-let adminAddress = Address(base58'3P8fm589ZDkYqg31SZ7RFdv6qN8csAJpKNW')
12+@Callable(i)
13+func convertToUSDN () = if ((i.caller != this))
14+ then throw("Access Denied")
15+ else {
16+ let convert = invoke(USDNVesting, "convertToUSDN", nil, nil)
17+ if ((convert == convert))
18+ then nil
19+ else throw("Strict value is not equal to itself.")
20+ }
21+
22+
1923
2024 @Callable(i)
21-func withdrawVestedUsdn (amount) = if ((i.caller != adminAddress))
22- then throw("only admin can do")
25+func withdrawVestedUSDN () = if ((i.caller != this))
26+ then throw("Access Denied")
2327 else {
24- let usdnInitial = assetBalance(this, USDN)
25- if ((usdnInitial == usdnInitial))
28+ let withdrawVested = invoke(USDNVesting, "withdrawVestedAllUSDN", [false, true], nil)
29+ if ((withdrawVested == withdrawVested))
30+ then nil
31+ else throw("Strict value is not equal to itself.")
32+ }
33+
34+
35+
36+@Callable(i)
37+func withdrawVestedUSDNtoDelegate () = if ((i.caller != this))
38+ then throw("Access Denied")
39+ else {
40+ let USDNInitial = assetBalance(this, USDN)
41+ if ((USDNInitial == USDNInitial))
2642 then {
27- let inv = invoke(usdnVesting, "withdrawVestedAllUSDN", [false, true], nil)
28- if ((inv == inv))
43+ let withdrawVested = invoke(USDNVesting, "withdrawVestedAllUSDN", [false, true], nil)
44+ if ((withdrawVested == withdrawVested))
2945 then {
30- let usdnFinal = assetBalance(this, USDN)
31- if ((usdnFinal == usdnFinal))
32- then [ScriptTransfer(delegateAddress, (usdnFinal - usdnInitial), USDN)]
46+ let USDNFinal = assetBalance(this, USDN)
47+ if ((USDNFinal == USDNFinal))
48+ then [ScriptTransfer(delegateAddress, USDNFinal, USDN)]
3349 else throw("Strict value is not equal to itself.")
3450 }
3551 else throw("Strict value is not equal to itself.")
4056
4157
4258 @Callable(i)
43-func claimAllRewardsVires () = if ((i.caller != adminAddress))
44- then throw("only admin can do")
59+func withdrawUSDNtoDelegate () = if ((i.caller != this))
60+ then throw("Access Denied")
4561 else {
46- let viresInitial = assetBalance(this, VIRES)
47- if ((viresInitial == viresInitial))
48- then {
49- let inv = invoke(viresMain, "claimAllRewardsAndAllEbAvailable2", [false, false], nil)
50- if ((inv == inv))
51- then {
52- let viresFinal = assetBalance(this, VIRES)
53- if ((viresFinal == viresFinal))
54- then [ScriptTransfer(delegateAddress, (viresFinal - viresInitial), VIRES)]
55- else throw("Strict value is not equal to itself.")
56- }
57- else throw("Strict value is not equal to itself.")
58- }
62+ let USDNFinal = assetBalance(this, USDN)
63+ if ((USDNFinal == USDNFinal))
64+ then [ScriptTransfer(delegateAddress, USDNFinal, USDN)]
5965 else throw("Strict value is not equal to itself.")
6066 }
6167
6268
6369
6470 @Callable(i)
65-func importATokenUSDT (amount) = if ((i.caller != adminAddress))
66- then throw("only admin can do")
71+func ClaimRewardsUSDN (amount) = if ((i.caller != this))
72+ then throw("Access Denied")
6773 else {
68- let inv = invoke(viresMain, "replenishWithAtoken", nil, [AttachedPayment(VIRES_USDT_LP, amount)])
69- if ((inv == inv))
74+ let USDNReward = invoke(USDNRewards, "claimRewards", nil, nil)
75+ if ((USDNReward == USDNReward))
7076 then nil
7177 else throw("Strict value is not equal to itself.")
7278 }
7379
7480
75-
76-@Callable(i)
77-func importATokenUSDC (amount) = if ((i.caller != adminAddress))
78- then throw("only admin can do")
79- else {
80- let inv = invoke(viresMain, "replenishWithAtoken", nil, [AttachedPayment(VIRES_USDC_LP, amount)])
81- if ((inv == inv))
82- then nil
83- else throw("Strict value is not equal to itself.")
84- }
85-
81+@Verifier(tx)
82+func verify () = match tx {
83+ case inv: InvokeScriptTransaction =>
84+ if ((addressFromRecipient(inv.dApp) == this))
85+ then true
86+ else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
87+ case _ =>
88+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
89+}
8690
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
55
6-let VIRES_USDT_LP = base58'2tVLdi5fQXk2JcuDAojhctnDp5B5PZhNMyj5GUpeC3tZ'
6+let USDNVesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk")
77
8-let VIRES_USDC_LP = base58'FSRHtSyXRXQjzQLRtmaqFpBDDCNjY8PU8KNtwoGXVBmr'
9-
10-let VIRES = base58'DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p'
11-
12-let usdnVesting = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk")
13-
14-let viresMain = addressFromStringValue("3PAZv9tgK1PX7dKR7b4kchq5qdpUS3G5sYT")
8+let USDNRewards = addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk")
159
1610 let delegateAddress = Address(base58'3PLLqLFaJcsrLBQRVb52dCchNPP2JqVnoin')
1711
18-let adminAddress = Address(base58'3P8fm589ZDkYqg31SZ7RFdv6qN8csAJpKNW')
12+@Callable(i)
13+func convertToUSDN () = if ((i.caller != this))
14+ then throw("Access Denied")
15+ else {
16+ let convert = invoke(USDNVesting, "convertToUSDN", nil, nil)
17+ if ((convert == convert))
18+ then nil
19+ else throw("Strict value is not equal to itself.")
20+ }
21+
22+
1923
2024 @Callable(i)
21-func withdrawVestedUsdn (amount) = if ((i.caller != adminAddress))
22- then throw("only admin can do")
25+func withdrawVestedUSDN () = if ((i.caller != this))
26+ then throw("Access Denied")
2327 else {
24- let usdnInitial = assetBalance(this, USDN)
25- if ((usdnInitial == usdnInitial))
28+ let withdrawVested = invoke(USDNVesting, "withdrawVestedAllUSDN", [false, true], nil)
29+ if ((withdrawVested == withdrawVested))
30+ then nil
31+ else throw("Strict value is not equal to itself.")
32+ }
33+
34+
35+
36+@Callable(i)
37+func withdrawVestedUSDNtoDelegate () = if ((i.caller != this))
38+ then throw("Access Denied")
39+ else {
40+ let USDNInitial = assetBalance(this, USDN)
41+ if ((USDNInitial == USDNInitial))
2642 then {
27- let inv = invoke(usdnVesting, "withdrawVestedAllUSDN", [false, true], nil)
28- if ((inv == inv))
43+ let withdrawVested = invoke(USDNVesting, "withdrawVestedAllUSDN", [false, true], nil)
44+ if ((withdrawVested == withdrawVested))
2945 then {
30- let usdnFinal = assetBalance(this, USDN)
31- if ((usdnFinal == usdnFinal))
32- then [ScriptTransfer(delegateAddress, (usdnFinal - usdnInitial), USDN)]
46+ let USDNFinal = assetBalance(this, USDN)
47+ if ((USDNFinal == USDNFinal))
48+ then [ScriptTransfer(delegateAddress, USDNFinal, USDN)]
3349 else throw("Strict value is not equal to itself.")
3450 }
3551 else throw("Strict value is not equal to itself.")
3652 }
3753 else throw("Strict value is not equal to itself.")
3854 }
3955
4056
4157
4258 @Callable(i)
43-func claimAllRewardsVires () = if ((i.caller != adminAddress))
44- then throw("only admin can do")
59+func withdrawUSDNtoDelegate () = if ((i.caller != this))
60+ then throw("Access Denied")
4561 else {
46- let viresInitial = assetBalance(this, VIRES)
47- if ((viresInitial == viresInitial))
48- then {
49- let inv = invoke(viresMain, "claimAllRewardsAndAllEbAvailable2", [false, false], nil)
50- if ((inv == inv))
51- then {
52- let viresFinal = assetBalance(this, VIRES)
53- if ((viresFinal == viresFinal))
54- then [ScriptTransfer(delegateAddress, (viresFinal - viresInitial), VIRES)]
55- else throw("Strict value is not equal to itself.")
56- }
57- else throw("Strict value is not equal to itself.")
58- }
62+ let USDNFinal = assetBalance(this, USDN)
63+ if ((USDNFinal == USDNFinal))
64+ then [ScriptTransfer(delegateAddress, USDNFinal, USDN)]
5965 else throw("Strict value is not equal to itself.")
6066 }
6167
6268
6369
6470 @Callable(i)
65-func importATokenUSDT (amount) = if ((i.caller != adminAddress))
66- then throw("only admin can do")
71+func ClaimRewardsUSDN (amount) = if ((i.caller != this))
72+ then throw("Access Denied")
6773 else {
68- let inv = invoke(viresMain, "replenishWithAtoken", nil, [AttachedPayment(VIRES_USDT_LP, amount)])
69- if ((inv == inv))
74+ let USDNReward = invoke(USDNRewards, "claimRewards", nil, nil)
75+ if ((USDNReward == USDNReward))
7076 then nil
7177 else throw("Strict value is not equal to itself.")
7278 }
7379
7480
75-
76-@Callable(i)
77-func importATokenUSDC (amount) = if ((i.caller != adminAddress))
78- then throw("only admin can do")
79- else {
80- let inv = invoke(viresMain, "replenishWithAtoken", nil, [AttachedPayment(VIRES_USDC_LP, amount)])
81- if ((inv == inv))
82- then nil
83- else throw("Strict value is not equal to itself.")
84- }
85-
81+@Verifier(tx)
82+func verify () = match tx {
83+ case inv: InvokeScriptTransaction =>
84+ if ((addressFromRecipient(inv.dApp) == this))
85+ then true
86+ else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
87+ case _ =>
88+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
89+}
8690

github/deemru/w8io/3ef1775 
35.69 ms