@defisaver/sdk 1.3.17 → 1.3.18-aave-v4-dev

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.
Files changed (53) hide show
  1. package/esm/src/Recipe.js +1 -1
  2. package/esm/src/Strategy.d.ts +1 -0
  3. package/esm/src/Strategy.js +3 -0
  4. package/esm/src/actions/aavev4/AaveV4BorrowAction.d.ts +17 -0
  5. package/esm/src/actions/aavev4/AaveV4BorrowAction.js +26 -0
  6. package/esm/src/actions/aavev4/AaveV4CollateralSwitchAction.d.ts +16 -0
  7. package/esm/src/actions/aavev4/AaveV4CollateralSwitchAction.js +24 -0
  8. package/esm/src/actions/aavev4/AaveV4PaybackAction.d.ts +23 -0
  9. package/esm/src/actions/aavev4/AaveV4PaybackAction.js +46 -0
  10. package/esm/src/actions/aavev4/AaveV4StoreRatioAction.d.ts +14 -0
  11. package/esm/src/actions/aavev4/AaveV4StoreRatioAction.js +20 -0
  12. package/esm/src/actions/aavev4/AaveV4SupplyAction.d.ts +25 -0
  13. package/esm/src/actions/aavev4/AaveV4SupplyAction.js +49 -0
  14. package/esm/src/actions/aavev4/AaveV4WithdrawAction.d.ts +17 -0
  15. package/esm/src/actions/aavev4/AaveV4WithdrawAction.js +26 -0
  16. package/esm/src/actions/aavev4/index.d.ts +6 -0
  17. package/esm/src/actions/aavev4/index.js +6 -0
  18. package/esm/src/actions/checkers/AaveV4RatioCheckAction.d.ts +16 -0
  19. package/esm/src/actions/checkers/AaveV4RatioCheckAction.js +24 -0
  20. package/esm/src/actions/checkers/index.d.ts +1 -0
  21. package/esm/src/actions/checkers/index.js +1 -0
  22. package/esm/src/actions/index.d.ts +2 -1
  23. package/esm/src/actions/index.js +2 -1
  24. package/esm/src/addresses.d.ts +30 -5
  25. package/esm/src/addresses.js +6 -4
  26. package/esm/src/index.d.ts +120 -20
  27. package/esm/src/triggers/AaveV4QuotePriceRangeTrigger.d.ts +10 -0
  28. package/esm/src/triggers/AaveV4QuotePriceRangeTrigger.js +12 -0
  29. package/esm/src/triggers/AaveV4QuotePriceTrigger.d.ts +10 -0
  30. package/esm/src/triggers/AaveV4QuotePriceTrigger.js +12 -0
  31. package/esm/src/triggers/AaveV4RatioTrigger.d.ts +10 -0
  32. package/esm/src/triggers/AaveV4RatioTrigger.js +12 -0
  33. package/esm/src/triggers/index.d.ts +3 -0
  34. package/esm/src/triggers/index.js +3 -0
  35. package/package.json +1 -1
  36. package/src/Recipe.ts +1 -1
  37. package/src/Strategy.ts +4 -0
  38. package/src/actions/aavev4/AaveV4BorrowAction.ts +39 -0
  39. package/src/actions/aavev4/AaveV4CollateralSwitchAction.ts +36 -0
  40. package/src/actions/aavev4/AaveV4PaybackAction.ts +51 -0
  41. package/src/actions/aavev4/AaveV4StoreRatioAction.ts +30 -0
  42. package/src/actions/aavev4/AaveV4SupplyAction.ts +55 -0
  43. package/src/actions/aavev4/AaveV4WithdrawAction.ts +39 -0
  44. package/src/actions/aavev4/index.ts +6 -0
  45. package/src/actions/checkers/AaveV4RatioCheckAction.ts +36 -0
  46. package/src/actions/checkers/index.ts +2 -1
  47. package/src/actions/index.ts +2 -0
  48. package/src/addresses.ts +7 -5
  49. package/src/triggers/AaveV4QuotePriceRangeTrigger.ts +25 -0
  50. package/src/triggers/AaveV4QuotePriceTrigger.ts +25 -0
  51. package/src/triggers/AaveV4RatioTrigger.ts +24 -0
  52. package/src/triggers/index.ts +4 -1
  53. package/umd/index.js +960 -585
package/esm/src/Recipe.js CHANGED
@@ -119,7 +119,7 @@ export class Recipe {
119
119
  data.shouldTakeFeeFromPosition,
120
120
  ];
121
121
  return [
122
- getAddr('RecipeExecutorForTxSaver', CONFIG.chainId),
122
+ this.recipeExecutorAddress,
123
123
  // @ts-expect-error Interface of AbiCoder is wrong :(
124
124
  AbiCoder.encodeFunctionCall(executeTaskAbi, [encodedRecipe, encodedTxSaverData]),
125
125
  ];
@@ -13,6 +13,7 @@ export declare class Strategy {
13
13
  addSubSlot(name: string, type: string): void;
14
14
  addTrigger(newTrigger: Action): void;
15
15
  addAction(newAction: Action): void;
16
+ addActions(newActions: Array<Action>): void;
16
17
  print(): void;
17
18
  getSubSlots(): any;
18
19
  encodeForDsProxyCall(): (string | string[] | number[][])[];
@@ -20,6 +20,9 @@ export class Strategy {
20
20
  addAction(newAction) {
21
21
  this.actions.push(newAction);
22
22
  }
23
+ addActions(newActions) {
24
+ this.actions.push(...newActions);
25
+ }
23
26
  print() {
24
27
  console.log(`Name: ${this.name}`);
25
28
  console.log(`Slots: ${this.subSlots}`);
@@ -0,0 +1,17 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress, uint256 } from '../../types';
3
+ /**
4
+ * AaveV4BorrowAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export declare class AaveV4BorrowAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param onBehalf Address to borrow tokens on behalf of. Defaults to the user's wallet if not provided.
12
+ * @param to Address that will receive the borrowed tokens.
13
+ * @param reserveId Reserve id.
14
+ * @param amount Amount of tokens to borrow.
15
+ */
16
+ constructor(spoke: EthAddress, onBehalf: EthAddress, to: EthAddress, reserveId: uint256, amount: uint256);
17
+ }
@@ -0,0 +1,26 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ /**
4
+ * AaveV4BorrowAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export class AaveV4BorrowAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param onBehalf Address to borrow tokens on behalf of. Defaults to the user's wallet if not provided.
12
+ * @param to Address that will receive the borrowed tokens.
13
+ * @param reserveId Reserve id.
14
+ * @param amount Amount of tokens to borrow.
15
+ */
16
+ constructor(spoke, onBehalf, to, reserveId, amount) {
17
+ super('AaveV4Borrow', getAddr('AaveV4Borrow'), ['address', 'address', 'address', 'uint256', 'uint256'], [spoke, onBehalf, to, reserveId, amount]);
18
+ this.mappableArgs = [
19
+ this.args[0],
20
+ this.args[1],
21
+ this.args[2],
22
+ this.args[3],
23
+ this.args[4],
24
+ ];
25
+ }
26
+ }
@@ -0,0 +1,16 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress, uint256 } from '../../types';
3
+ /**
4
+ * AaveV4CollateralSwitchAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export declare class AaveV4CollateralSwitchAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param onBehalf Address to switch collateral on behalf of. Defaults to the user's wallet if not provided.
12
+ * @param reserveId Reserve id.
13
+ * @param useAsCollateral Whether to use the tokens as collateral.
14
+ */
15
+ constructor(spoke: EthAddress, onBehalf: EthAddress, reserveId: uint256, useAsCollateral: boolean);
16
+ }
@@ -0,0 +1,24 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ /**
4
+ * AaveV4CollateralSwitchAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export class AaveV4CollateralSwitchAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param onBehalf Address to switch collateral on behalf of. Defaults to the user's wallet if not provided.
12
+ * @param reserveId Reserve id.
13
+ * @param useAsCollateral Whether to use the tokens as collateral.
14
+ */
15
+ constructor(spoke, onBehalf, reserveId, useAsCollateral) {
16
+ super('AaveV4CollateralSwitch', getAddr('AaveV4CollateralSwitch'), ['address', 'address', 'uint256', 'bool'], [spoke, onBehalf, reserveId, useAsCollateral]);
17
+ this.mappableArgs = [
18
+ this.args[0],
19
+ this.args[1],
20
+ this.args[2],
21
+ this.args[3],
22
+ ];
23
+ }
24
+ }
@@ -0,0 +1,23 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress, uint256 } from '../../types';
3
+ /**
4
+ * AaveV4PaybackAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export declare class AaveV4PaybackAction extends Action {
9
+ tokenForApproval: EthAddress;
10
+ /**
11
+ * @param spoke Address of the spoke.
12
+ * @param onBehalf Address to payback tokens on behalf of. Defaults to the user's wallet if not provided.
13
+ * @param from Address from which to pull the payback tokens.
14
+ * @param reserveId Reserve id.
15
+ * @param amount Amount of tokens to payback. Send type(uint).max to payback whole amount.
16
+ * @param tokenAddress Address of the token to approve. Optional, as it is only used for token approval, not part of encoding.
17
+ */
18
+ constructor(spoke: EthAddress, onBehalf: EthAddress, from: EthAddress, reserveId: uint256, amount: uint256, tokenAddress?: EthAddress);
19
+ getAssetsToApprove(): Promise<{
20
+ asset: string;
21
+ owner: any;
22
+ }[]>;
23
+ }
@@ -0,0 +1,46 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getAssetInfoByAddress } from '@defisaver/tokens';
11
+ import { Action } from '../../Action';
12
+ import { getAddr } from '../../addresses';
13
+ /**
14
+ * AaveV4PaybackAction
15
+ *
16
+ * @category AaveV4
17
+ */
18
+ export class AaveV4PaybackAction extends Action {
19
+ /**
20
+ * @param spoke Address of the spoke.
21
+ * @param onBehalf Address to payback tokens on behalf of. Defaults to the user's wallet if not provided.
22
+ * @param from Address from which to pull the payback tokens.
23
+ * @param reserveId Reserve id.
24
+ * @param amount Amount of tokens to payback. Send type(uint).max to payback whole amount.
25
+ * @param tokenAddress Address of the token to approve. Optional, as it is only used for token approval, not part of encoding.
26
+ */
27
+ constructor(spoke, onBehalf, from, reserveId, amount, tokenAddress = getAddr('Empty')) {
28
+ super('AaveV4Payback', getAddr('AaveV4Payback'), ['address', 'address', 'address', 'uint256', 'uint256'], [spoke, onBehalf, from, reserveId, amount]);
29
+ this.mappableArgs = [
30
+ this.args[0],
31
+ this.args[1],
32
+ this.args[2],
33
+ this.args[3],
34
+ this.args[4],
35
+ ];
36
+ this.tokenForApproval = tokenAddress;
37
+ }
38
+ getAssetsToApprove() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const asset = getAssetInfoByAddress(this.tokenForApproval);
41
+ if (asset.symbol !== 'ETH')
42
+ return [{ asset: this.tokenForApproval, owner: this.args[2] }];
43
+ return [];
44
+ });
45
+ }
46
+ }
@@ -0,0 +1,14 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress } from '../../types';
3
+ /**
4
+ * AaveV4StoreRatioAction - Stores the ratio for a user in transient storage so it can be checked later after strategy execution.
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export declare class AaveV4StoreRatioAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param user Address of the user to store the ratio for.
12
+ */
13
+ constructor(spoke: EthAddress, user: EthAddress);
14
+ }
@@ -0,0 +1,20 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ /**
4
+ * AaveV4StoreRatioAction - Stores the ratio for a user in transient storage so it can be checked later after strategy execution.
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export class AaveV4StoreRatioAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param user Address of the user to store the ratio for.
12
+ */
13
+ constructor(spoke, user) {
14
+ super('AaveV4StoreRatio', getAddr('Empty'), ['address', 'address'], [spoke, user]);
15
+ this.mappableArgs = [
16
+ this.args[0],
17
+ this.args[1],
18
+ ];
19
+ }
20
+ }
@@ -0,0 +1,25 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress, uint256 } from '../../types';
3
+ /**
4
+ * AaveV4SupplyAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export declare class AaveV4SupplyAction extends Action {
9
+ tokenForApproval: EthAddress;
10
+ /**
11
+ * @param spoke Address of the spoke.
12
+ * @param onBehalf Address to supply tokens on behalf of. Defaults to the user's wallet if not provided.
13
+ * @param from Address from which to pull collateral asset.
14
+ * @param reserveId Reserve id.
15
+ * @param amount Amount of tokens to supply.
16
+ * @param useAsCollateral Whether to use the tokens as collateral.
17
+ * @param tokenAddress Address of the token to approve. Optional, as it is only used for token approval, not part of encoding.
18
+ *
19
+ */
20
+ constructor(spoke: EthAddress, onBehalf: EthAddress, from: EthAddress, reserveId: uint256, amount: uint256, useAsCollateral: boolean, tokenAddress?: EthAddress);
21
+ getAssetsToApprove(): Promise<{
22
+ asset: string;
23
+ owner: any;
24
+ }[]>;
25
+ }
@@ -0,0 +1,49 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { getAssetInfoByAddress } from '@defisaver/tokens';
11
+ import { Action } from '../../Action';
12
+ import { getAddr } from '../../addresses';
13
+ /**
14
+ * AaveV4SupplyAction
15
+ *
16
+ * @category AaveV4
17
+ */
18
+ export class AaveV4SupplyAction extends Action {
19
+ /**
20
+ * @param spoke Address of the spoke.
21
+ * @param onBehalf Address to supply tokens on behalf of. Defaults to the user's wallet if not provided.
22
+ * @param from Address from which to pull collateral asset.
23
+ * @param reserveId Reserve id.
24
+ * @param amount Amount of tokens to supply.
25
+ * @param useAsCollateral Whether to use the tokens as collateral.
26
+ * @param tokenAddress Address of the token to approve. Optional, as it is only used for token approval, not part of encoding.
27
+ *
28
+ */
29
+ constructor(spoke, onBehalf, from, reserveId, amount, useAsCollateral, tokenAddress = getAddr('Empty')) {
30
+ super('AaveV4Supply', getAddr('AaveV4Supply'), ['address', 'address', 'address', 'uint256', 'uint256', 'bool'], [spoke, onBehalf, from, reserveId, amount, useAsCollateral]);
31
+ this.mappableArgs = [
32
+ this.args[0],
33
+ this.args[1],
34
+ this.args[2],
35
+ this.args[3],
36
+ this.args[4],
37
+ this.args[5],
38
+ ];
39
+ this.tokenForApproval = tokenAddress;
40
+ }
41
+ getAssetsToApprove() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ const asset = getAssetInfoByAddress(this.tokenForApproval);
44
+ if (asset.symbol !== 'ETH')
45
+ return [{ asset: this.tokenForApproval, owner: this.args[2] }];
46
+ return [];
47
+ });
48
+ }
49
+ }
@@ -0,0 +1,17 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress, uint256 } from '../../types';
3
+ /**
4
+ * AaveV4WithdrawAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export declare class AaveV4WithdrawAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param onBehalf Address to withdraw tokens on behalf of. Defaults to the user's wallet if not provided.
12
+ * @param to Address that will receive the withdrawn tokens.
13
+ * @param reserveId Reserve id.
14
+ * @param amount Amount of tokens to withdraw. Send type(uint).max to withdraw whole amount.
15
+ */
16
+ constructor(spoke: EthAddress, onBehalf: EthAddress, to: EthAddress, reserveId: uint256, amount: uint256);
17
+ }
@@ -0,0 +1,26 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ /**
4
+ * AaveV4WithdrawAction
5
+ *
6
+ * @category AaveV4
7
+ */
8
+ export class AaveV4WithdrawAction extends Action {
9
+ /**
10
+ * @param spoke Address of the spoke.
11
+ * @param onBehalf Address to withdraw tokens on behalf of. Defaults to the user's wallet if not provided.
12
+ * @param to Address that will receive the withdrawn tokens.
13
+ * @param reserveId Reserve id.
14
+ * @param amount Amount of tokens to withdraw. Send type(uint).max to withdraw whole amount.
15
+ */
16
+ constructor(spoke, onBehalf, to, reserveId, amount) {
17
+ super('AaveV4Withdraw', getAddr('AaveV4Withdraw'), ['address', 'address', 'address', 'uint256', 'uint256'], [spoke, onBehalf, to, reserveId, amount]);
18
+ this.mappableArgs = [
19
+ this.args[0],
20
+ this.args[1],
21
+ this.args[2],
22
+ this.args[3],
23
+ this.args[4],
24
+ ];
25
+ }
26
+ }
@@ -0,0 +1,6 @@
1
+ export * from './AaveV4SupplyAction';
2
+ export * from './AaveV4WithdrawAction';
3
+ export * from './AaveV4BorrowAction';
4
+ export * from './AaveV4PaybackAction';
5
+ export * from './AaveV4CollateralSwitchAction';
6
+ export * from './AaveV4StoreRatioAction';
@@ -0,0 +1,6 @@
1
+ export * from './AaveV4SupplyAction';
2
+ export * from './AaveV4WithdrawAction';
3
+ export * from './AaveV4BorrowAction';
4
+ export * from './AaveV4PaybackAction';
5
+ export * from './AaveV4CollateralSwitchAction';
6
+ export * from './AaveV4StoreRatioAction';
@@ -0,0 +1,16 @@
1
+ import { Action } from '../../Action';
2
+ import { EthAddress, uint256, uint8 } from '../../types';
3
+ /**
4
+ * AaveV4RatioCheckAction - Checks aave V4 ratio for user position
5
+ *
6
+ * @category AaveV4RatioCheck
7
+ */
8
+ export declare class AaveV4RatioCheckAction extends Action {
9
+ /**
10
+ * @param ratioState State of the ratio (IN_BOOST or IN_REPAY)
11
+ * @param targetRatio Target ratio.
12
+ * @param spoke Aave V4 spoke address.
13
+ * @param user User address.
14
+ */
15
+ constructor(ratioState: uint8, targetRatio: uint256, spoke: EthAddress, user: EthAddress);
16
+ }
@@ -0,0 +1,24 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ /**
4
+ * AaveV4RatioCheckAction - Checks aave V4 ratio for user position
5
+ *
6
+ * @category AaveV4RatioCheck
7
+ */
8
+ export class AaveV4RatioCheckAction extends Action {
9
+ /**
10
+ * @param ratioState State of the ratio (IN_BOOST or IN_REPAY)
11
+ * @param targetRatio Target ratio.
12
+ * @param spoke Aave V4 spoke address.
13
+ * @param user User address.
14
+ */
15
+ constructor(ratioState, targetRatio, spoke, user) {
16
+ super('AaveV4RatioCheck', getAddr('Empty'), ['uint8', 'uint256', 'address', 'address'], [ratioState, targetRatio, spoke, user]);
17
+ this.mappableArgs = [
18
+ this.args[0],
19
+ this.args[1],
20
+ this.args[2],
21
+ this.args[3],
22
+ ];
23
+ }
24
+ }
@@ -15,3 +15,4 @@ export * from './LiquityV2RatioCheckAction';
15
15
  export * from './LiquityV2TargetRatioCheckAction';
16
16
  export * from './LiquityV2NewInterestRateCheckerAction';
17
17
  export * from './FluidRatioCheckAction';
18
+ export * from './AaveV4RatioCheckAction';
@@ -15,3 +15,4 @@ export * from './LiquityV2RatioCheckAction';
15
15
  export * from './LiquityV2TargetRatioCheckAction';
16
16
  export * from './LiquityV2NewInterestRateCheckerAction';
17
17
  export * from './FluidRatioCheckAction';
18
+ export * from './AaveV4RatioCheckAction';
@@ -39,4 +39,5 @@ import * as etherfi from './etherfi';
39
39
  import * as fluid from './fluid';
40
40
  import * as pendle from './pendle';
41
41
  import * as umbrella from './umbrella';
42
- export { aave, maker, compound, basic, flashloan, uniswap, reflexer, dydx, uniswapV3, checkers, liquity, yearn, lido, insta, balancer, curve, guni, mstable, rari, aaveV3, convex, chickenBonds, compoundV3, morpho, bprotocol, lsv, spark, curveusd, morphoblue, summerfi, llamalend, merkl, eulerV2, sky, liquityV2, stkgho, renzo, etherfi, fluid, pendle, umbrella, };
42
+ import * as aaveV4 from './aavev4';
43
+ export { aave, maker, compound, basic, flashloan, uniswap, reflexer, dydx, uniswapV3, checkers, liquity, yearn, lido, insta, balancer, curve, guni, mstable, rari, aaveV3, convex, chickenBonds, compoundV3, morpho, bprotocol, lsv, spark, curveusd, morphoblue, summerfi, llamalend, merkl, eulerV2, sky, liquityV2, stkgho, renzo, etherfi, fluid, pendle, umbrella, aaveV4, };
@@ -39,4 +39,5 @@ import * as etherfi from './etherfi';
39
39
  import * as fluid from './fluid';
40
40
  import * as pendle from './pendle';
41
41
  import * as umbrella from './umbrella';
42
- export { aave, maker, compound, basic, flashloan, uniswap, reflexer, dydx, uniswapV3, checkers, liquity, yearn, lido, insta, balancer, curve, guni, mstable, rari, aaveV3, convex, chickenBonds, compoundV3, morpho, bprotocol, lsv, spark, curveusd, morphoblue, summerfi, llamalend, merkl, eulerV2, sky, liquityV2, stkgho, renzo, etherfi, fluid, pendle, umbrella, };
42
+ import * as aaveV4 from './aavev4';
43
+ export { aave, maker, compound, basic, flashloan, uniswap, reflexer, dydx, uniswapV3, checkers, liquity, yearn, lido, insta, balancer, curve, guni, mstable, rari, aaveV3, convex, chickenBonds, compoundV3, morpho, bprotocol, lsv, spark, curveusd, morphoblue, summerfi, llamalend, merkl, eulerV2, sky, liquityV2, stkgho, renzo, etherfi, fluid, pendle, umbrella, aaveV4, };
@@ -277,6 +277,11 @@ export declare const actionAddresses: {
277
277
  SFApproveTokens: string;
278
278
  SummerfiUnsub: string;
279
279
  SummerfiUnsubV2: string;
280
+ AaveV4Supply: string;
281
+ AaveV4Withdraw: string;
282
+ AaveV4Borrow: string;
283
+ AaveV4Payback: string;
284
+ AaveV4CollateralSwitch: string;
280
285
  AaveV3DelegateCredit?: undefined;
281
286
  AaveV3RatioTrigger?: undefined;
282
287
  GasFeeTakerL2?: undefined;
@@ -563,6 +568,11 @@ export declare const actionAddresses: {
563
568
  UmbrellaClaimRewards?: undefined;
564
569
  UmbrellaStake?: undefined;
565
570
  UmbrellaUnstake?: undefined;
571
+ AaveV4Supply?: undefined;
572
+ AaveV4Withdraw?: undefined;
573
+ AaveV4Borrow?: undefined;
574
+ AaveV4Payback?: undefined;
575
+ AaveV4CollateralSwitch?: undefined;
566
576
  MorphoBlueView?: undefined;
567
577
  } | {
568
578
  DFSSell: string;
@@ -844,6 +854,11 @@ export declare const actionAddresses: {
844
854
  UmbrellaClaimRewards?: undefined;
845
855
  UmbrellaStake?: undefined;
846
856
  UmbrellaUnstake?: undefined;
857
+ AaveV4Supply?: undefined;
858
+ AaveV4Withdraw?: undefined;
859
+ AaveV4Borrow?: undefined;
860
+ AaveV4Payback?: undefined;
861
+ AaveV4CollateralSwitch?: undefined;
847
862
  AaveV3DelegateCredit?: undefined;
848
863
  AaveV3RatioTrigger?: undefined;
849
864
  } | {
@@ -1125,6 +1140,11 @@ export declare const actionAddresses: {
1125
1140
  UmbrellaClaimRewards?: undefined;
1126
1141
  UmbrellaStake?: undefined;
1127
1142
  UmbrellaUnstake?: undefined;
1143
+ AaveV4Supply?: undefined;
1144
+ AaveV4Withdraw?: undefined;
1145
+ AaveV4Borrow?: undefined;
1146
+ AaveV4Payback?: undefined;
1147
+ AaveV4CollateralSwitch?: undefined;
1128
1148
  AaveV3DelegateCredit?: undefined;
1129
1149
  AaveV3RatioTrigger?: undefined;
1130
1150
  AaveV3RatioCheck?: undefined;
@@ -1406,6 +1426,11 @@ export declare const actionAddresses: {
1406
1426
  SFApproveTokens?: undefined;
1407
1427
  SummerfiUnsub?: undefined;
1408
1428
  SummerfiUnsubV2?: undefined;
1429
+ AaveV4Supply?: undefined;
1430
+ AaveV4Withdraw?: undefined;
1431
+ AaveV4Borrow?: undefined;
1432
+ AaveV4Payback?: undefined;
1433
+ AaveV4CollateralSwitch?: undefined;
1409
1434
  AaveV3RatioTrigger?: undefined;
1410
1435
  GasFeeTakerL2?: undefined;
1411
1436
  AaveV3RatioCheck?: undefined;
@@ -1688,6 +1713,11 @@ export declare const actionAddresses: {
1688
1713
  SFApproveTokens?: undefined;
1689
1714
  SummerfiUnsub?: undefined;
1690
1715
  SummerfiUnsubV2?: undefined;
1716
+ AaveV4Supply?: undefined;
1717
+ AaveV4Withdraw?: undefined;
1718
+ AaveV4Borrow?: undefined;
1719
+ AaveV4Payback?: undefined;
1720
+ AaveV4CollateralSwitch?: undefined;
1691
1721
  AaveV3RatioTrigger?: undefined;
1692
1722
  GasFeeTakerL2?: undefined;
1693
1723
  AaveV3RatioCheck?: undefined;
@@ -1697,7 +1727,6 @@ export declare const actionAddresses: {
1697
1727
  export declare const otherAddresses: {
1698
1728
  [x: number]: {
1699
1729
  RecipeExecutor: string;
1700
- RecipeExecutorForTxSaver: string;
1701
1730
  DFSRegistry: string;
1702
1731
  DFSProxyRegistry: string;
1703
1732
  ProxyRegistry: string;
@@ -1720,7 +1749,6 @@ export declare const otherAddresses: {
1720
1749
  DefisaverLogger?: undefined;
1721
1750
  } | {
1722
1751
  RecipeExecutor: string;
1723
- RecipeExecutorForTxSaver: string;
1724
1752
  DFSRegistry: string;
1725
1753
  ProxyRegistry: string;
1726
1754
  SFProxyEntryPoint: string;
@@ -1743,7 +1771,6 @@ export declare const otherAddresses: {
1743
1771
  BLUSD?: undefined;
1744
1772
  } | {
1745
1773
  RecipeExecutor: string;
1746
- RecipeExecutorForTxSaver: string;
1747
1774
  DFSRegistry: string;
1748
1775
  ProxyRegistry: string;
1749
1776
  SFProxyEntryPoint: string;
@@ -1771,7 +1798,6 @@ export declare const otherAddresses: {
1771
1798
  AdminVault: string;
1772
1799
  DefisaverLogger: string;
1773
1800
  Empty: string;
1774
- RecipeExecutorForTxSaver?: undefined;
1775
1801
  DFSProxyRegistry?: undefined;
1776
1802
  ProxyRegistry?: undefined;
1777
1803
  SFProxyEntryPoint?: undefined;
@@ -1793,7 +1819,6 @@ export declare const otherAddresses: {
1793
1819
  AdminVault: string;
1794
1820
  DefisaverLogger: string;
1795
1821
  Empty: string;
1796
- RecipeExecutorForTxSaver?: undefined;
1797
1822
  DFSProxyRegistry?: undefined;
1798
1823
  ProxyRegistry?: undefined;
1799
1824
  SFProxyEntryPoint?: undefined;
@@ -318,6 +318,12 @@ export const actionAddresses = {
318
318
  SFApproveTokens: '0x0aC29D44eeC8e8f3b010c2e8FC960957db0c8298',
319
319
  SummerfiUnsub: '0x926405D69b77A514ED974901095AcFf9e5131366',
320
320
  SummerfiUnsubV2: '0x5E805eD9B7581a9f1398F75833f9663a459F5E30',
321
+ // AaveV4
322
+ AaveV4Supply: '0x30f333997eA08CA7Af95E32F4f90DACEf284D746',
323
+ AaveV4Withdraw: '0x8fc7F5dCeb5da1B0293A246ed6aeDc44EB37dB38',
324
+ AaveV4Borrow: '0x0a58710A67837E6d026B83c434519c5f0A0cD7a1',
325
+ AaveV4Payback: '0xCbcbD3b3e0D704Ad26b7dCfe1BdA6e85CDd8DBf0',
326
+ AaveV4CollateralSwitch: '0x19Ef19d6b8818103b8Cae086BB23e183EF7E433f',
321
327
  },
322
328
  [NETWORKS.optimism.chainId]: {
323
329
  DFSSell: '0x9f234af5c10c136863a20865ba00b26951ab8269',
@@ -645,7 +651,6 @@ export const actionAddresses = {
645
651
  export const otherAddresses = {
646
652
  [NETWORKS.ethereum.chainId]: {
647
653
  RecipeExecutor: '0xbc3Fc959FeF3F12a41738f406c02198cdeE7481F',
648
- RecipeExecutorForTxSaver: '0x2ee96cf53ae5fbd5309284704f978d0ca66cb963',
649
654
  DFSRegistry: '0x287778F121F134C66212FB16c9b53eC991D32f5b',
650
655
  DFSProxyRegistry: '0x29474FdaC7142f9aB7773B8e38264FA15E3805ed',
651
656
  ProxyRegistry: '0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4',
@@ -666,7 +671,6 @@ export const otherAddresses = {
666
671
  },
667
672
  [NETWORKS.optimism.chainId]: {
668
673
  RecipeExecutor: '0xEC891E6b5A93F5f29241De6B234a4e77A5456A1C',
669
- RecipeExecutorForTxSaver: '0x993A8c81142044E1CB0Cf0c3d84BEa235d842Fb0',
670
674
  DFSRegistry: '0xAf707Ee480204Ed6e2640B53cE86F680D28Afcbd',
671
675
  ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
672
676
  SFProxyEntryPoint: '0x06299D4A07E8C6D7C1aEc14Ab2F46DF05Dd9588E',
@@ -678,7 +682,6 @@ export const otherAddresses = {
678
682
  },
679
683
  [NETWORKS.arbitrum.chainId]: {
680
684
  RecipeExecutor: '0x667609f05DdC5E9Fb939eC376F07953403745cf3',
681
- RecipeExecutorForTxSaver: '0x7a25174229ea402d8ccd35fc6d55af079c399884',
682
685
  DFSRegistry: '0xBF1CaC12DB60819Bfa71A328282ecbc1D40443aA',
683
686
  ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
684
687
  SFProxyEntryPoint: '0x15D776C062bF292f8F70A81533E49adC7C06Cb69',
@@ -690,7 +693,6 @@ export const otherAddresses = {
690
693
  },
691
694
  [NETWORKS.base.chainId]: {
692
695
  RecipeExecutor: '0xc91305DdE651c899EF8eE1D0C33E7dab1B5ABF0D',
693
- RecipeExecutorForTxSaver: '0x7a87565b77dd65bbc153fe20e97743842f1a6e0c',
694
696
  DFSRegistry: '0x347FB634271F666353F23A3362f3935D96F97476',
695
697
  ProxyRegistry: '0x425fA97285965E01Cc5F951B62A51F6CDEA5cc0d',
696
698
  SFProxyEntryPoint: '0xab6e5cde983fF98Cdb0F61f5F99cb58D40D0c837',