@defisaver/sdk 0.2.5 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ACTIONS.md +379 -21
- package/DEV.md +0 -298
- package/index.js +2 -11
- package/package.json +2 -2
- package/src/Action.js +8 -20
- package/src/actions/aave/AaveBorrowAction.js +2 -11
- package/src/actions/aave/AaveClaimStkAaveAction.js +5 -5
- package/src/actions/aave/AaveCollateralSwitchAction.js +4 -5
- package/src/actions/aave/AavePaybackAction.js +2 -11
- package/src/actions/aave/AaveSupplyAction.js +6 -6
- package/src/actions/aave/AaveWithdrawAction.js +1 -8
- package/src/actions/balancer/BalancerV2ClaimAction.js +10 -12
- package/src/actions/balancer/BalancerV2SupplyAction.js +14 -16
- package/src/actions/balancer/BalancerV2WithdrawAction.js +15 -17
- package/src/actions/basic/AutomationV2Unsub.js +3 -3
- package/src/actions/basic/ChangeProxyOwnerAction.js +2 -4
- package/src/actions/basic/GasFeeAction.js +6 -6
- package/src/actions/basic/PullTokenAction.js +3 -9
- package/src/actions/basic/SellAction.js +5 -6
- package/src/actions/basic/SendTokenAction.js +4 -9
- package/src/actions/basic/SendTokenAndUnwrapAction.js +30 -0
- package/src/actions/basic/SubInputsAction.js +3 -8
- package/src/actions/basic/SumInputsAction.js +3 -8
- package/src/actions/basic/ToggleSubAction.js +19 -0
- package/src/actions/basic/TokenBalanceAction.js +3 -3
- package/src/actions/basic/UnwrapEthAction.js +5 -18
- package/src/actions/basic/UpdateSubAction.js +19 -0
- package/src/actions/basic/WrapEthAction.js +5 -15
- package/src/actions/basic/index.js +6 -0
- package/src/actions/checkers/MakerRatioCheckAction.js +5 -5
- package/src/actions/compound/CompoundBorrowAction.js +1 -7
- package/src/actions/compound/CompoundClaimAction.js +3 -3
- package/src/actions/compound/CompoundCollateralSwitchAction.js +2 -4
- package/src/actions/compound/CompoundGetDebtAction.js +3 -3
- package/src/actions/compound/CompoundPaybackAction.js +1 -7
- package/src/actions/compound/CompoundSupplyAction.js +4 -4
- package/src/actions/compound/CompoundWithdrawAction.js +1 -7
- package/src/actions/convex/ConvexClaimAction.js +60 -0
- package/src/actions/convex/ConvexDepositAction.js +67 -0
- package/src/actions/convex/ConvexWithdrawAction.js +65 -0
- package/src/actions/convex/index.js +9 -0
- package/src/actions/curve/CurveClaimFeesAction.js +4 -4
- package/src/actions/curve/CurveDepositAction.js +7 -7
- package/src/actions/curve/CurveGaugeDepositAction.js +6 -6
- package/src/actions/curve/CurveGaugeWithdrawAction.js +4 -4
- package/src/actions/curve/CurveMintCrvAction.js +3 -3
- package/src/actions/curve/CurveStethPoolDepositAction.js +9 -9
- package/src/actions/curve/CurveStethPoolWithdrawAction.js +11 -9
- package/src/actions/curve/CurveSwapAction.js +15 -15
- package/src/actions/curve/CurveWithdrawAction.js +7 -7
- package/src/actions/dydx/DyDxWithdrawAction.js +1 -7
- package/src/actions/flashloan/AaveV2FlashLoanAction.js +2 -2
- package/src/actions/flashloan/BalancerFlashLoanAction.js +2 -2
- package/src/actions/flashloan/DyDxFlashLoanAction.js +5 -1
- package/src/actions/flashloan/MakerFlashLoanAction.js +2 -2
- package/src/actions/flashloan/index.js +0 -4
- package/src/actions/guni/GUniDeposit.js +9 -9
- package/src/actions/guni/GUniWithdraw.js +5 -5
- package/src/actions/index.js +2 -2
- package/src/actions/insta/InstPullTokensAction.js +4 -4
- package/src/actions/lido/LidoStakeAction.js +2 -7
- package/src/actions/lido/LidoUnwrapAction.js +2 -7
- package/src/actions/lido/LidoWrapAction.js +7 -7
- package/src/actions/liquity/LiquityBorrowAction.js +5 -5
- package/src/actions/liquity/LiquityClaimAction.js +3 -3
- package/src/actions/liquity/LiquityCloseAction.js +4 -4
- package/src/actions/liquity/LiquityEthGainToTroveAction.js +3 -3
- package/src/actions/liquity/LiquityOpenAction.js +8 -8
- package/src/actions/liquity/LiquityPaybackAction.js +5 -5
- package/src/actions/liquity/LiquityRedeemAction.js +7 -7
- package/src/actions/liquity/LiquitySPDepositAction.js +7 -7
- package/src/actions/liquity/LiquitySPWithdrawAction.js +6 -6
- package/src/actions/liquity/LiquityStakeAction.js +7 -7
- package/src/actions/liquity/LiquitySupplyAction.js +5 -5
- package/src/actions/liquity/LiquityUnstakeAction.js +6 -6
- package/src/actions/liquity/LiquityWithdrawAction.js +4 -4
- package/src/actions/maker/MakerClaimAction.js +4 -4
- package/src/actions/maker/MakerGenerateAction.js +1 -8
- package/src/actions/maker/MakerGiveAction.js +4 -4
- package/src/actions/maker/MakerMergeAction.js +1 -7
- package/src/actions/maker/MakerOpenVaultAction.js +1 -6
- package/src/actions/maker/MakerPaybackAction.js +2 -9
- package/src/actions/maker/MakerRatioAction.js +1 -5
- package/src/actions/maker/MakerSupplyAction.js +1 -9
- package/src/actions/maker/MakerWithdrawAction.js +1 -9
- package/src/actions/mstable/MStableClaimAction.js +4 -4
- package/src/actions/mstable/MStableDepositAction.js +16 -16
- package/src/actions/mstable/MStableWithdrawAction.js +15 -15
- package/src/actions/rari/RariDepositAction.js +5 -5
- package/src/actions/rari/RariWithdrawAction.js +6 -6
- package/src/actions/reflexer/ReflexerGenerateAction.js +1 -7
- package/src/actions/reflexer/ReflexerNativeUniV2SaviourDepositAction.js +5 -5
- package/src/actions/reflexer/ReflexerNativeUniV2SaviourGetReservesAction.js +3 -8
- package/src/actions/reflexer/ReflexerNativeUniV2SaviourWithdrawAction.js +4 -9
- package/src/actions/reflexer/ReflexerOpenSafeAction.js +1 -5
- package/src/actions/reflexer/ReflexerPaybackAction.js +1 -7
- package/src/actions/reflexer/ReflexerSupplyAction.js +1 -8
- package/src/actions/reflexer/ReflexerWithdrawAction.js +1 -8
- package/src/actions/uniswap/UniswapSupplyAction.js +20 -22
- package/src/actions/uniswap/UniswapWithdrawAction.js +16 -18
- package/src/actions/uniswapV3/UniswapV3CollectAction.js +7 -9
- package/src/actions/uniswapV3/UniswapV3CreatePoolAction.js +20 -22
- package/src/actions/uniswapV3/UniswapV3MintAction.js +19 -21
- package/src/actions/uniswapV3/UniswapV3SupplyAction.js +17 -19
- package/src/actions/uniswapV3/UniswapV3WithdrawAction.js +12 -14
- package/src/actions/yearn/YearnSupplyAction.js +6 -6
- package/src/actions/yearn/YearnWithdrawAction.js +6 -6
- package/src/addresses.js +152 -187
- package/src/triggers/ChainLinkPriceTrigger.js +2 -2
- package/src/triggers/CompoundRatioTrigger.js +1 -1
- package/src/triggers/GasPriceTrigger.js +1 -1
- package/src/triggers/LiquityRatioTrigger.js +2 -2
- package/src/triggers/MakerRatioTrigger.js +1 -5
- package/src/triggers/ReflexerRatioTrigger.js +1 -1
- package/src/triggers/TimestampTrigger.js +1 -1
- package/src/triggers/UniV3CurrentTickTrigger.js +1 -1
- package/src/types.js +0 -33
- package/src/utils/convex-utils.js +20 -0
- package/src/utils/convexPoolInfo.json +1039 -0
- package/src/utils/index.js +2 -0
- package/test/Action.js +2 -1
- package/test/Strategy.js +44 -0
- package/test/accessLists/access-lists.js +1 -2
- package/test/actions/maker/MakerPaybackAction.js +2 -2
- package/test/index.js +1 -4
- package/src/ActionWithL2.js +0 -36
- package/src/actions/aaveV3/AaveV3ATokenPaybackAction.js +0 -58
- package/src/actions/aaveV3/AaveV3BorrowAction.js +0 -59
- package/src/actions/aaveV3/AaveV3ClaimRewardsAction.js +0 -45
- package/src/actions/aaveV3/AaveV3CollateralSwitchAction.js +0 -45
- package/src/actions/aaveV3/AaveV3PaybackAction.js +0 -68
- package/src/actions/aaveV3/AaveV3SetEModeAction.js +0 -40
- package/src/actions/aaveV3/AaveV3SupplyAction.js +0 -69
- package/src/actions/aaveV3/AaveV3SwapBorrowRateModeAction.js +0 -43
- package/src/actions/aaveV3/AaveV3WithdrawAction.js +0 -46
- package/src/actions/aaveV3/index.js +0 -21
- package/src/actions/flashloan/AaveV3FlashLoanAction.js +0 -26
- package/src/actions/flashloan/AaveV3FlashLoanPaybackAction.js +0 -17
- package/src/config.js +0 -83
|
@@ -6,10 +6,10 @@ class AutomationV2Unsub extends Action {
|
|
|
6
6
|
super(
|
|
7
7
|
'AutomationV2Unsub',
|
|
8
8
|
getAddr('AutomationV2Unsub'),
|
|
9
|
-
[
|
|
10
|
-
[
|
|
9
|
+
["uint256", "uint256"],
|
|
10
|
+
[cdpId, protocol]
|
|
11
11
|
);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
module.exports = AutomationV2Unsub;
|
|
15
|
+
module.exports = AutomationV2Unsub;
|
|
@@ -9,10 +9,8 @@ class ChangeProxyOwnerAction extends Action {
|
|
|
9
9
|
* @param newOwner {Address} Address of new owner
|
|
10
10
|
*/
|
|
11
11
|
constructor(newOwner) {
|
|
12
|
-
super("ChangeProxyOwner", getAddr("ChangeProxyOwner"), [
|
|
13
|
-
|
|
14
|
-
this.mappableArgs = [this.args[0][0]];
|
|
15
|
-
}
|
|
12
|
+
super("ChangeProxyOwner", getAddr("ChangeProxyOwner"), ["address"], [...arguments]);
|
|
13
|
+
}
|
|
16
14
|
}
|
|
17
15
|
|
|
18
16
|
module.exports = ChangeProxyOwnerAction;
|
|
@@ -11,17 +11,17 @@ class GasFeeAction extends Action {
|
|
|
11
11
|
constructor(gasStart, feeToken, availableAmount, dfsFeeDivider = 2000) {
|
|
12
12
|
super("GasFeeTaker",
|
|
13
13
|
getAddr("GasFeeTaker"),
|
|
14
|
-
[
|
|
15
|
-
[
|
|
14
|
+
["uint256", "address", "uint256", "uint256"],
|
|
15
|
+
[gasStart, feeToken, availableAmount, dfsFeeDivider],
|
|
16
16
|
);
|
|
17
17
|
|
|
18
18
|
this.mappableArgs = [
|
|
19
|
-
this.args[
|
|
20
|
-
this.args[
|
|
21
|
-
this.args[
|
|
19
|
+
this.args[1],
|
|
20
|
+
this.args[2],
|
|
21
|
+
this.args[3],
|
|
22
22
|
];
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
module.exports = GasFeeAction;
|
|
27
|
+
module.exports = GasFeeAction;
|
|
@@ -17,19 +17,13 @@ class PullTokenAction extends Action {
|
|
|
17
17
|
super(
|
|
18
18
|
'PullToken',
|
|
19
19
|
getAddr('PullToken'),
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
21
|
"address",
|
|
22
22
|
"address",
|
|
23
23
|
"uint",
|
|
24
|
-
]
|
|
25
|
-
[
|
|
24
|
+
],
|
|
25
|
+
[...arguments]
|
|
26
26
|
);
|
|
27
|
-
|
|
28
|
-
this.mappableArgs = [
|
|
29
|
-
this.args[0][0],
|
|
30
|
-
this.args[0][1],
|
|
31
|
-
this.args[0][2],
|
|
32
|
-
];
|
|
33
27
|
}
|
|
34
28
|
|
|
35
29
|
async getAssetsToApprove() {
|
|
@@ -19,23 +19,22 @@ class SellAction extends Action {
|
|
|
19
19
|
super(
|
|
20
20
|
'DFSSell',
|
|
21
21
|
getAddr('DFSSell'),
|
|
22
|
-
[
|
|
22
|
+
[
|
|
23
23
|
["address","address","uint256","uint256","uint256","uint256","address","address","bytes",["address","address","address","uint256","uint256","bytes"]],
|
|
24
24
|
"address",
|
|
25
25
|
"address",
|
|
26
|
-
]
|
|
27
26
|
],
|
|
28
|
-
[
|
|
27
|
+
[exchangeOrder, from, to]
|
|
29
28
|
);
|
|
30
29
|
|
|
31
30
|
this.protocolFee = protocolFee;
|
|
32
31
|
|
|
33
32
|
this.mappableArgs = [
|
|
34
|
-
this.args[0][0]
|
|
35
|
-
this.args[0][0][1],
|
|
36
|
-
this.args[0][0][2],
|
|
33
|
+
this.args[0][0],
|
|
37
34
|
this.args[0][1],
|
|
38
35
|
this.args[0][2],
|
|
36
|
+
this.args[1],
|
|
37
|
+
this.args[2],
|
|
39
38
|
];
|
|
40
39
|
}
|
|
41
40
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const Action = require("../../Action");
|
|
2
2
|
const {requireAddress} = require("../../utils/general");
|
|
3
|
+
const {getAssetInfoByAddress} = require("@defisaver/tokens");
|
|
3
4
|
const { getAddr } = require('../../addresses.js');
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -16,19 +17,13 @@ class SendTokenAction extends Action {
|
|
|
16
17
|
super(
|
|
17
18
|
'SendToken',
|
|
18
19
|
getAddr('SendToken'),
|
|
19
|
-
[
|
|
20
|
+
[
|
|
20
21
|
"address",
|
|
21
22
|
"address",
|
|
22
23
|
"uint",
|
|
23
|
-
]
|
|
24
|
-
[
|
|
24
|
+
],
|
|
25
|
+
[...arguments]
|
|
25
26
|
);
|
|
26
|
-
|
|
27
|
-
this.mappableArgs = [
|
|
28
|
-
this.args[0][0],
|
|
29
|
-
this.args[0][1],
|
|
30
|
-
this.args[0][2],
|
|
31
|
-
];
|
|
32
27
|
}
|
|
33
28
|
}
|
|
34
29
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const Action = require("../../Action");
|
|
2
|
+
const {requireAddress} = require("../../utils/general");
|
|
3
|
+
const {getAssetInfoByAddress} = require("@defisaver/tokens");
|
|
4
|
+
const { getAddr } = require('../../addresses.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Transfers specified token from recipe (DsProxy) to specified address unwraps if Weth address
|
|
8
|
+
*/
|
|
9
|
+
class SendTokenAndUnwrapAction extends Action {
|
|
10
|
+
/**
|
|
11
|
+
* @param token {string} Token address
|
|
12
|
+
* @param to {string} Transfer recipient
|
|
13
|
+
* @param amount {string} Transfer amount (-1 for whole Recipe (DsProxy) balance)
|
|
14
|
+
*/
|
|
15
|
+
constructor(token, to, amount) {
|
|
16
|
+
requireAddress(to);
|
|
17
|
+
super(
|
|
18
|
+
'SendTokenAndUnwrap',
|
|
19
|
+
getAddr('SendTokenAndUnwrap'),
|
|
20
|
+
[
|
|
21
|
+
"address",
|
|
22
|
+
"address",
|
|
23
|
+
"uint",
|
|
24
|
+
],
|
|
25
|
+
[...arguments]
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
module.exports = SendTokenAndUnwrapAction;
|
|
@@ -9,17 +9,12 @@ class SubInputsAction extends Action {
|
|
|
9
9
|
super(
|
|
10
10
|
'SubInputs',
|
|
11
11
|
getAddr('SubInputs'),
|
|
12
|
-
[
|
|
12
|
+
[
|
|
13
13
|
"uint",
|
|
14
14
|
"uint",
|
|
15
|
-
]
|
|
16
|
-
[
|
|
15
|
+
],
|
|
16
|
+
[...arguments]
|
|
17
17
|
);
|
|
18
|
-
|
|
19
|
-
this.mappableArgs = [
|
|
20
|
-
this.args[0][0],
|
|
21
|
-
this.args[0][1],
|
|
22
|
-
];
|
|
23
18
|
}
|
|
24
19
|
}
|
|
25
20
|
|
|
@@ -9,17 +9,12 @@ class SumInputsAction extends Action {
|
|
|
9
9
|
super(
|
|
10
10
|
'SumInputs',
|
|
11
11
|
getAddr('SumInputs'),
|
|
12
|
-
[
|
|
12
|
+
[
|
|
13
13
|
"uint",
|
|
14
14
|
"uint",
|
|
15
|
-
]
|
|
16
|
-
[
|
|
15
|
+
],
|
|
16
|
+
[...arguments]
|
|
17
17
|
);
|
|
18
|
-
|
|
19
|
-
this.mappableArgs = [
|
|
20
|
-
this.args[0][0],
|
|
21
|
-
this.args[0][1],
|
|
22
|
-
];
|
|
23
18
|
}
|
|
24
19
|
}
|
|
25
20
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const Action = require("../../Action");
|
|
2
|
+
const {getAddr} = require("../../addresses.js");
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Sets the state of the sub to active or deactivated
|
|
6
|
+
*/
|
|
7
|
+
class ToggleSubAction extends Action {
|
|
8
|
+
/**
|
|
9
|
+
* @param subId Id of the subscription in the SubStorage contract
|
|
10
|
+
* @param active Set to true to activate action, to false to deactivate
|
|
11
|
+
*/
|
|
12
|
+
constructor(subId, active) {
|
|
13
|
+
super("ToggleSub", getAddr("ToggleSub"), ["uint256", "bool"], [...arguments]);
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = ToggleSubAction;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const
|
|
1
|
+
const Action = require("../../Action");
|
|
2
2
|
const {requireAddress} = require("../../utils/general");
|
|
3
3
|
const {getAddr} = require('../../addresses.js');
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Unwraps a specified amount of WETH from the proxy
|
|
7
7
|
*/
|
|
8
|
-
class UnwrapEthAction extends
|
|
8
|
+
class UnwrapEthAction extends Action {
|
|
9
9
|
/**
|
|
10
10
|
* @param amount {string} Token address
|
|
11
11
|
* @param to {string} Transfer recipient
|
|
@@ -15,25 +15,12 @@ class UnwrapEthAction extends ActionWithL2 {
|
|
|
15
15
|
super(
|
|
16
16
|
'UnwrapEth',
|
|
17
17
|
getAddr('UnwrapEth'),
|
|
18
|
-
[
|
|
18
|
+
[
|
|
19
19
|
"uint256",
|
|
20
20
|
"address"
|
|
21
|
-
]
|
|
22
|
-
[
|
|
21
|
+
],
|
|
22
|
+
[...arguments]
|
|
23
23
|
);
|
|
24
|
-
|
|
25
|
-
this.mappableArgs = [
|
|
26
|
-
this.args[0][0],
|
|
27
|
-
this.args[0][1],
|
|
28
|
-
];
|
|
29
|
-
}
|
|
30
|
-
encodeInputs(){
|
|
31
|
-
// executeActionDirectL2
|
|
32
|
-
let encodedInput = "0x2895f3aa";
|
|
33
|
-
// amount
|
|
34
|
-
encodedInput = encodedInput.concat(this.numberToBytes32(this.args[0][0]));
|
|
35
|
-
// to
|
|
36
|
-
encodedInput = encodedInput.concat(this.addressToBytes20(this.args[0][1]));
|
|
37
24
|
}
|
|
38
25
|
}
|
|
39
26
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const Action = require("../../Action");
|
|
2
|
+
const {getAddr} = require("../../addresses.js");
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Action for updating sub data
|
|
6
|
+
*/
|
|
7
|
+
class UpdateSubAction extends Action {
|
|
8
|
+
/**
|
|
9
|
+
* @param subId id of the subscription in the SubStorage contract
|
|
10
|
+
* @param sub object that contains new sub information
|
|
11
|
+
*/
|
|
12
|
+
constructor(subId, sub) {
|
|
13
|
+
super("UpdateSub", getAddr("UpdateSub"), ["uint256", "(uint64,bool,bytes[],bytes32[])"], [...arguments]);
|
|
14
|
+
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = UpdateSubAction;
|
|
@@ -1,29 +1,19 @@
|
|
|
1
|
-
const
|
|
2
|
-
const {
|
|
1
|
+
const Action = require("../../Action");
|
|
2
|
+
const {getAddr} = require("../../addresses.js");
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Wraps a specified amount of ETH from the wallet to WETH on the recipe
|
|
6
6
|
*/
|
|
7
|
-
class WrapEthAction extends
|
|
7
|
+
class WrapEthAction extends Action {
|
|
8
8
|
/**
|
|
9
9
|
* @param amount {string} Transfer amount
|
|
10
10
|
*/
|
|
11
11
|
constructor(amount) {
|
|
12
|
-
super("WrapEth", getAddr("WrapEth"), [
|
|
13
|
-
|
|
14
|
-
this.mappableArgs = [
|
|
15
|
-
this.args[0][0],
|
|
16
|
-
];
|
|
12
|
+
super("WrapEth", getAddr("WrapEth"), ["uint256"], [...arguments]);
|
|
17
13
|
}
|
|
18
14
|
|
|
19
15
|
async getEthValue() {
|
|
20
|
-
return this.args[0]
|
|
21
|
-
}
|
|
22
|
-
encodeInputs(){
|
|
23
|
-
// executeActionDirectL2
|
|
24
|
-
let encodedInput = "0x2895f3aa";
|
|
25
|
-
// amount
|
|
26
|
-
encodedInput = encodedInput.concat(this.numberToBytes32(this.args[0][0]));
|
|
16
|
+
return this.args[0];
|
|
27
17
|
}
|
|
28
18
|
}
|
|
29
19
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const SellAction = require('./SellAction');
|
|
2
2
|
const SendTokenAction = require('./SendTokenAction');
|
|
3
|
+
const SendTokenAndUnwrapAction = require('./SendTokenAndUnwrapAction');
|
|
3
4
|
const PullTokenAction = require('./PullTokenAction');
|
|
4
5
|
const WrapEthAction = require('./WrapEthAction');
|
|
5
6
|
const UnwrapEthAction = require('./UnwrapEthAction');
|
|
@@ -9,6 +10,8 @@ const ChangeProxyOwnerAction = require('./ChangeProxyOwnerAction');
|
|
|
9
10
|
const TokenBalanceAction = require('./TokenBalanceAction');
|
|
10
11
|
const AutomationV2Unsub = require('./AutomationV2Unsub');
|
|
11
12
|
const GasFeeAction = require('./GasFeeAction');
|
|
13
|
+
const UpdateSubAction = require('./UpdateSubAction');
|
|
14
|
+
const ToggleSubAction = require('./ToggleSubAction');
|
|
12
15
|
|
|
13
16
|
module.exports = {
|
|
14
17
|
SellAction,
|
|
@@ -22,4 +25,7 @@ module.exports = {
|
|
|
22
25
|
TokenBalanceAction,
|
|
23
26
|
AutomationV2Unsub,
|
|
24
27
|
GasFeeAction,
|
|
28
|
+
UpdateSubAction,
|
|
29
|
+
SendTokenAndUnwrapAction,
|
|
30
|
+
ToggleSubAction,
|
|
25
31
|
};
|
|
@@ -13,13 +13,13 @@ class MakerRatioCheckAction extends Action {
|
|
|
13
13
|
* @param startRatioIndex {uint256} Index in returnValues where ratio before actions is stored
|
|
14
14
|
*/
|
|
15
15
|
constructor(ratioState, checkTarget, targetRatio, vaultId, startRatioIndex) {
|
|
16
|
-
super("McdRatioCheck", getAddr("McdRatioCheck"), [
|
|
16
|
+
super("McdRatioCheck", getAddr("McdRatioCheck"), ["uint8","bool","uint256","uint256","uint256"], [ratioState, checkTarget, targetRatio, vaultId, startRatioIndex]);
|
|
17
17
|
|
|
18
18
|
this.mappableArgs = [
|
|
19
|
-
this.args[0]
|
|
20
|
-
this.args[
|
|
21
|
-
this.args[
|
|
22
|
-
this.args[
|
|
19
|
+
this.args[0],
|
|
20
|
+
this.args[2],
|
|
21
|
+
this.args[3],
|
|
22
|
+
this.args[4],
|
|
23
23
|
];
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -13,13 +13,7 @@ class CompoundBorrowAction extends Action {
|
|
|
13
13
|
*/
|
|
14
14
|
constructor(cTokenAddr, amount, to) {
|
|
15
15
|
requireAddress(to);
|
|
16
|
-
super('CompBorrow', getAddr('CompBorrow'), [
|
|
17
|
-
|
|
18
|
-
this.mappableArgs = [
|
|
19
|
-
this.args[0][0],
|
|
20
|
-
this.args[0][1],
|
|
21
|
-
this.args[0][2],
|
|
22
|
-
];
|
|
16
|
+
super('CompBorrow', getAddr('CompBorrow'), ['address','uint256','address'], [...arguments]);
|
|
23
17
|
}
|
|
24
18
|
}
|
|
25
19
|
|
|
@@ -14,11 +14,11 @@ class CompoundClaimAction extends Action {
|
|
|
14
14
|
*/
|
|
15
15
|
constructor(cSupplyAddresses, cBorrowAddresses, from, to) {
|
|
16
16
|
requireAddress(to);
|
|
17
|
-
super('CompClaim', getAddr('CompClaim'), [
|
|
17
|
+
super('CompClaim', getAddr('CompClaim'), ["address[]", "address[]", "address", "address"], [...arguments]);
|
|
18
18
|
|
|
19
19
|
this.mappableArgs = [
|
|
20
|
-
this.args[
|
|
21
|
-
this.args[
|
|
20
|
+
this.args[2],
|
|
21
|
+
this.args[3],
|
|
22
22
|
];
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -10,11 +10,9 @@ class CompoundCollateralSwitchAction extends Action {
|
|
|
10
10
|
super(
|
|
11
11
|
'CompCollateralSwitch',
|
|
12
12
|
getAddr('CompCollateralSwitch'),
|
|
13
|
-
[
|
|
14
|
-
[
|
|
13
|
+
['address[]', 'bool[]'],
|
|
14
|
+
[...arguments],
|
|
15
15
|
);
|
|
16
|
-
this.mappableArgs = [
|
|
17
|
-
];
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
18
|
|
|
@@ -13,13 +13,7 @@ class CompoundPaybackAction extends Action {
|
|
|
13
13
|
* @param onBehalf {EthAddress} Defaults to DsProxy address if 0x0
|
|
14
14
|
*/
|
|
15
15
|
constructor(cTokenAddr, amount, from, onBehalf = getAddr('Empty')) {
|
|
16
|
-
super('
|
|
17
|
-
this.mappableArgs = [
|
|
18
|
-
this.args[0][0],
|
|
19
|
-
this.args[0][1],
|
|
20
|
-
this.args[0][2],
|
|
21
|
-
this.args[0][3],
|
|
22
|
-
];
|
|
16
|
+
super('CompPaybackNew', getAddr('CompPaybackNew'), ['address', 'uint256', 'address', 'address'], [cTokenAddr, amount, from, onBehalf]);
|
|
23
17
|
}
|
|
24
18
|
|
|
25
19
|
async getAssetsToApprove() {
|
|
@@ -13,12 +13,12 @@ class CompoundSupplyAction extends Action {
|
|
|
13
13
|
* @param enableAsColl {boolean} If we need to enable asset as collateral
|
|
14
14
|
*/
|
|
15
15
|
constructor(cTokenAddr, amount, from, enableAsColl = true) {
|
|
16
|
-
super('CompSupply', getAddr('CompSupply'), [
|
|
16
|
+
super('CompSupply', getAddr('CompSupply'), ['address','uint256','address','bool'], [cTokenAddr, amount, from, enableAsColl]);
|
|
17
17
|
|
|
18
18
|
this.mappableArgs = [
|
|
19
|
-
this.args[0]
|
|
20
|
-
this.args[
|
|
21
|
-
this.args[
|
|
19
|
+
this.args[0],
|
|
20
|
+
this.args[1],
|
|
21
|
+
this.args[2],
|
|
22
22
|
];
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -13,13 +13,7 @@ class CompoundWithdrawAction extends Action {
|
|
|
13
13
|
*/
|
|
14
14
|
constructor(cTokenAddr, amount, to) {
|
|
15
15
|
requireAddress(to);
|
|
16
|
-
super('CompWithdraw', getAddr('CompWithdraw'), [
|
|
17
|
-
|
|
18
|
-
this.mappableArgs = [
|
|
19
|
-
this.args[0][0],
|
|
20
|
-
this.args[0][1],
|
|
21
|
-
this.args[0][2],
|
|
22
|
-
];
|
|
16
|
+
super('CompWithdraw', getAddr('CompWithdraw'), ['address','uint256','address'], [...arguments]);
|
|
23
17
|
}
|
|
24
18
|
}
|
|
25
19
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { getAddr } = require('../../addresses');
|
|
3
|
+
const { getConvexPool } = require('../../utils/convex-utils');
|
|
4
|
+
const { requireAddress } = require('../../utils/general');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ConvexClaimAction - Claims convex rewards
|
|
8
|
+
*/
|
|
9
|
+
class ConvexClaimAction extends Action {
|
|
10
|
+
/**
|
|
11
|
+
* @param {address} from
|
|
12
|
+
* @param {address} to
|
|
13
|
+
* @param {address} curveLp
|
|
14
|
+
*/
|
|
15
|
+
constructor(
|
|
16
|
+
from,
|
|
17
|
+
to,
|
|
18
|
+
curveLp,
|
|
19
|
+
) {
|
|
20
|
+
requireAddress(to);
|
|
21
|
+
const { crvRewards } = getConvexPool(curveLp);
|
|
22
|
+
super(
|
|
23
|
+
'ConvexClaim',
|
|
24
|
+
getAddr('ConvexClaim'),
|
|
25
|
+
[
|
|
26
|
+
'address',
|
|
27
|
+
'address',
|
|
28
|
+
'address',
|
|
29
|
+
],
|
|
30
|
+
[
|
|
31
|
+
from,
|
|
32
|
+
to,
|
|
33
|
+
crvRewards,
|
|
34
|
+
],
|
|
35
|
+
).curveLp = curveLp;
|
|
36
|
+
|
|
37
|
+
this.mappableArgs = [
|
|
38
|
+
this.args[0],
|
|
39
|
+
this.args[1],
|
|
40
|
+
this.args[2],
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async getAssetsToApprove() {
|
|
45
|
+
const pool = getConvexPool(this.curveLp);
|
|
46
|
+
const owner = this.args[0];
|
|
47
|
+
|
|
48
|
+
return [
|
|
49
|
+
getAddr('CrvToken'),
|
|
50
|
+
getAddr('CvxToken'),
|
|
51
|
+
].concat(
|
|
52
|
+
pool.extraRewards.map((e) => e.token),
|
|
53
|
+
).reduce((acc, e) => {
|
|
54
|
+
if (!acc.includes(e.toLowerCase())) acc.push(e.toLowerCase());
|
|
55
|
+
return acc;
|
|
56
|
+
}, []).map((e) => Object({asset: e, owner}));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
module.exports = ConvexClaimAction;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { getAddr } = require('../../addresses');
|
|
3
|
+
const { DepositOption, getConvexPool } = require('../../utils/convex-utils');
|
|
4
|
+
const { requireAddress } = require('../../utils/general');
|
|
5
|
+
/**
|
|
6
|
+
* ConvexDepositAction - Deposits (wraps) Curve LP into convex, stakes wrapped LP, or does both
|
|
7
|
+
*/
|
|
8
|
+
class ConvexDepositAction extends Action {
|
|
9
|
+
/**
|
|
10
|
+
* @param {address} from
|
|
11
|
+
* @param {address} to
|
|
12
|
+
* @param {address} curveLp
|
|
13
|
+
* @param {uint256} amount
|
|
14
|
+
* @param {uint8} option
|
|
15
|
+
*/
|
|
16
|
+
constructor(
|
|
17
|
+
from,
|
|
18
|
+
to,
|
|
19
|
+
curveLp,
|
|
20
|
+
amount,
|
|
21
|
+
option,
|
|
22
|
+
) {
|
|
23
|
+
requireAddress(to);
|
|
24
|
+
const { pid } = getConvexPool(curveLp);
|
|
25
|
+
super(
|
|
26
|
+
'ConvexDeposit',
|
|
27
|
+
getAddr('ConvexDeposit'),
|
|
28
|
+
[
|
|
29
|
+
'address',
|
|
30
|
+
'address',
|
|
31
|
+
'uint256',
|
|
32
|
+
'uint256',
|
|
33
|
+
'uint8',
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
from,
|
|
37
|
+
to,
|
|
38
|
+
pid,
|
|
39
|
+
amount,
|
|
40
|
+
option,
|
|
41
|
+
],
|
|
42
|
+
).curveLp = curveLp;
|
|
43
|
+
|
|
44
|
+
this.mappableArgs = [
|
|
45
|
+
this.args[0],
|
|
46
|
+
this.args[1],
|
|
47
|
+
this.args[2],
|
|
48
|
+
this.args[3],
|
|
49
|
+
this.args[4],
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
async getAssetsToApprove() {
|
|
54
|
+
const pool = getConvexPool(this.curveLp);
|
|
55
|
+
const assetToPull = {
|
|
56
|
+
[DepositOption.WRAP]: pool.lpToken,
|
|
57
|
+
[DepositOption.STAKE]: pool.token,
|
|
58
|
+
[DepositOption.WRAP_AND_STAKE]: pool.lpToken,
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return [{
|
|
62
|
+
asset: assetToPull[this.args[4]], owner: this.args[0],
|
|
63
|
+
}];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
module.exports = ConvexDepositAction;
|