@defisaver/sdk 0.1.24 → 0.2.3

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 (127) hide show
  1. package/ACTIONS.md +379 -21
  2. package/DEV.md +0 -298
  3. package/index.js +2 -11
  4. package/package.json +1 -1
  5. package/src/Action.js +8 -22
  6. package/src/actions/aave/AaveBorrowAction.js +2 -11
  7. package/src/actions/aave/AaveClaimStkAaveAction.js +5 -5
  8. package/src/actions/aave/AaveCollateralSwitchAction.js +4 -5
  9. package/src/actions/aave/AavePaybackAction.js +2 -11
  10. package/src/actions/aave/AaveSupplyAction.js +6 -6
  11. package/src/actions/aave/AaveWithdrawAction.js +1 -8
  12. package/src/actions/balancer/BalancerV2ClaimAction.js +10 -12
  13. package/src/actions/balancer/BalancerV2SupplyAction.js +14 -16
  14. package/src/actions/balancer/BalancerV2WithdrawAction.js +15 -17
  15. package/src/actions/basic/AutomationV2Unsub.js +3 -3
  16. package/src/actions/basic/ChangeProxyOwnerAction.js +2 -4
  17. package/src/actions/basic/GasFeeAction.js +6 -6
  18. package/src/actions/basic/PullTokenAction.js +3 -9
  19. package/src/actions/basic/SellAction.js +5 -6
  20. package/src/actions/basic/SendTokenAction.js +3 -9
  21. package/src/actions/basic/SendTokenAndUnwrapAction.js +30 -0
  22. package/src/actions/basic/SubInputsAction.js +3 -8
  23. package/src/actions/basic/SumInputsAction.js +3 -8
  24. package/src/actions/basic/ToggleSubAction.js +19 -0
  25. package/src/actions/basic/TokenBalanceAction.js +3 -3
  26. package/src/actions/basic/UnwrapEthAction.js +3 -8
  27. package/src/actions/basic/UpdateSubAction.js +19 -0
  28. package/src/actions/basic/WrapEthAction.js +1 -5
  29. package/src/actions/basic/index.js +6 -0
  30. package/src/actions/checkers/MakerRatioCheckAction.js +5 -5
  31. package/src/actions/compound/CompoundBorrowAction.js +1 -7
  32. package/src/actions/compound/CompoundClaimAction.js +3 -3
  33. package/src/actions/compound/CompoundCollateralSwitchAction.js +2 -4
  34. package/src/actions/compound/CompoundGetDebtAction.js +3 -3
  35. package/src/actions/compound/CompoundPaybackAction.js +1 -7
  36. package/src/actions/compound/CompoundSupplyAction.js +4 -4
  37. package/src/actions/compound/CompoundWithdrawAction.js +1 -7
  38. package/src/actions/curve/CurveClaimFeesAction.js +4 -4
  39. package/src/actions/curve/CurveDepositAction.js +7 -7
  40. package/src/actions/curve/CurveGaugeDepositAction.js +6 -6
  41. package/src/actions/curve/CurveGaugeWithdrawAction.js +4 -4
  42. package/src/actions/curve/CurveMintCrvAction.js +3 -3
  43. package/src/actions/curve/CurveStethPoolDepositAction.js +9 -9
  44. package/src/actions/curve/CurveStethPoolWithdrawAction.js +11 -9
  45. package/src/actions/curve/CurveSwapAction.js +15 -15
  46. package/src/actions/curve/CurveWithdrawAction.js +7 -7
  47. package/src/actions/dydx/DyDxWithdrawAction.js +1 -7
  48. package/src/actions/flashloan/AaveV2FlashLoanAction.js +2 -2
  49. package/src/actions/flashloan/BalancerFlashLoanAction.js +2 -2
  50. package/src/actions/flashloan/DyDxFlashLoanAction.js +5 -1
  51. package/src/actions/flashloan/MakerFlashLoanAction.js +2 -2
  52. package/src/actions/guni/GUniDeposit.js +9 -9
  53. package/src/actions/guni/GUniWithdraw.js +5 -5
  54. package/src/actions/index.js +0 -2
  55. package/src/actions/insta/InstPullTokensAction.js +4 -4
  56. package/src/actions/lido/LidoStakeAction.js +2 -7
  57. package/src/actions/lido/LidoUnwrapAction.js +2 -7
  58. package/src/actions/lido/LidoWrapAction.js +7 -7
  59. package/src/actions/liquity/LiquityBorrowAction.js +5 -5
  60. package/src/actions/liquity/LiquityClaimAction.js +3 -3
  61. package/src/actions/liquity/LiquityCloseAction.js +4 -4
  62. package/src/actions/liquity/LiquityEthGainToTroveAction.js +3 -3
  63. package/src/actions/liquity/LiquityOpenAction.js +8 -8
  64. package/src/actions/liquity/LiquityPaybackAction.js +5 -5
  65. package/src/actions/liquity/LiquityRedeemAction.js +7 -7
  66. package/src/actions/liquity/LiquitySPDepositAction.js +7 -7
  67. package/src/actions/liquity/LiquitySPWithdrawAction.js +6 -6
  68. package/src/actions/liquity/LiquityStakeAction.js +7 -7
  69. package/src/actions/liquity/LiquitySupplyAction.js +5 -5
  70. package/src/actions/liquity/LiquityUnstakeAction.js +6 -6
  71. package/src/actions/liquity/LiquityWithdrawAction.js +4 -4
  72. package/src/actions/maker/MakerClaimAction.js +4 -4
  73. package/src/actions/maker/MakerGenerateAction.js +1 -8
  74. package/src/actions/maker/MakerGiveAction.js +4 -4
  75. package/src/actions/maker/MakerMergeAction.js +1 -7
  76. package/src/actions/maker/MakerOpenVaultAction.js +1 -6
  77. package/src/actions/maker/MakerPaybackAction.js +2 -9
  78. package/src/actions/maker/MakerRatioAction.js +1 -5
  79. package/src/actions/maker/MakerSupplyAction.js +1 -9
  80. package/src/actions/maker/MakerWithdrawAction.js +1 -9
  81. package/src/actions/mstable/MStableClaimAction.js +4 -4
  82. package/src/actions/mstable/MStableDepositAction.js +16 -16
  83. package/src/actions/mstable/MStableWithdrawAction.js +15 -15
  84. package/src/actions/rari/RariDepositAction.js +5 -5
  85. package/src/actions/rari/RariWithdrawAction.js +6 -6
  86. package/src/actions/reflexer/ReflexerGenerateAction.js +1 -7
  87. package/src/actions/reflexer/ReflexerNativeUniV2SaviourDepositAction.js +5 -5
  88. package/src/actions/reflexer/ReflexerNativeUniV2SaviourGetReservesAction.js +3 -8
  89. package/src/actions/reflexer/ReflexerNativeUniV2SaviourWithdrawAction.js +4 -9
  90. package/src/actions/reflexer/ReflexerOpenSafeAction.js +1 -5
  91. package/src/actions/reflexer/ReflexerPaybackAction.js +1 -7
  92. package/src/actions/reflexer/ReflexerSupplyAction.js +1 -8
  93. package/src/actions/reflexer/ReflexerWithdrawAction.js +1 -8
  94. package/src/actions/uniswap/UniswapSupplyAction.js +20 -22
  95. package/src/actions/uniswap/UniswapWithdrawAction.js +16 -18
  96. package/src/actions/uniswapV3/UniswapV3CollectAction.js +7 -9
  97. package/src/actions/uniswapV3/UniswapV3CreatePoolAction.js +20 -22
  98. package/src/actions/uniswapV3/UniswapV3MintAction.js +19 -21
  99. package/src/actions/uniswapV3/UniswapV3SupplyAction.js +17 -19
  100. package/src/actions/uniswapV3/UniswapV3WithdrawAction.js +12 -14
  101. package/src/actions/yearn/YearnSupplyAction.js +6 -6
  102. package/src/actions/yearn/YearnWithdrawAction.js +6 -6
  103. package/src/addresses.js +145 -179
  104. package/src/triggers/ChainLinkPriceTrigger.js +2 -2
  105. package/src/triggers/CompoundRatioTrigger.js +1 -1
  106. package/src/triggers/GasPriceTrigger.js +1 -1
  107. package/src/triggers/LiquityRatioTrigger.js +2 -2
  108. package/src/triggers/MakerRatioTrigger.js +1 -5
  109. package/src/triggers/ReflexerRatioTrigger.js +1 -1
  110. package/src/triggers/TimestampTrigger.js +1 -1
  111. package/src/triggers/UniV3CurrentTickTrigger.js +1 -1
  112. package/src/types.js +0 -33
  113. package/test/Action.js +2 -1
  114. package/test/Strategy.js +44 -0
  115. package/test/accessLists/access-lists.js +1 -2
  116. package/test/actions/maker/MakerPaybackAction.js +2 -2
  117. package/test/index.js +1 -4
  118. package/src/L2Action.js +0 -44
  119. package/src/actions/aaveV3/AaveV3ATokenPaybackAction.js +0 -53
  120. package/src/actions/aaveV3/AaveV3BorrowAction.js +0 -54
  121. package/src/actions/aaveV3/AaveV3CollateralSwitchAction.js +0 -41
  122. package/src/actions/aaveV3/AaveV3PaybackAction.js +0 -63
  123. package/src/actions/aaveV3/AaveV3SetEModeAction.js +0 -35
  124. package/src/actions/aaveV3/AaveV3SupplyAction.js +0 -64
  125. package/src/actions/aaveV3/AaveV3WithdrawAction.js +0 -41
  126. package/src/actions/aaveV3/index.js +0 -17
  127. package/src/config.js +0 -74
@@ -26,38 +26,36 @@ class UniswapV3MintAction extends Action {
26
26
  'UniMintV3',
27
27
  getAddr('UniMintV3'),
28
28
  [
29
- [
30
- "address",
31
- "address",
32
- "uint24",
33
- "int24",
34
- "int24",
35
- "uint256",
36
- "uint256",
37
- "uint256",
38
- "uint256",
39
- "address",
40
- "uint256",
41
- "address",
42
- ],
29
+ "address",
30
+ "address",
31
+ "uint24",
32
+ "int24",
33
+ "int24",
34
+ "uint256",
35
+ "uint256",
36
+ "uint256",
37
+ "uint256",
38
+ "address",
39
+ "uint256",
40
+ "address",
43
41
  ],
44
- [[...arguments]]
42
+ [...arguments]
45
43
  );
46
44
 
47
45
  this.mappableArgs = [
48
- this.args[0][5],
49
- this.args[0][6],
46
+ this.args[5],
47
+ this.args[6],
50
48
  ];
51
49
  }
52
50
 
53
51
  async getAssetsToApprove() {
54
- const assetA = getAssetInfoByAddress(this.args[0][0]);
55
- const assetB = getAssetInfoByAddress(this.args[0][1]);
52
+ const assetA = getAssetInfoByAddress(this.args[0]);
53
+ const assetB = getAssetInfoByAddress(this.args[1]);
56
54
 
57
55
  const approveArr = [];
58
56
 
59
- if (assetA.symbol !== 'ETH') approveArr.push({asset: this.args[0][0], owner: this.args[0][11], specialApproveLabel: 'uniswap v3'});
60
- if (assetB.symbol !== 'ETH') approveArr.push({asset: this.args[0][1], owner: this.args[0][11], specialApproveLabel: 'uniswap v3'});
57
+ if (assetA.symbol !== 'ETH') approveArr.push({asset: this.args[0], owner: this.args[11], specialApproveLabel: 'uniswap v3'});
58
+ if (assetB.symbol !== 'ETH') approveArr.push({asset: this.args[1], owner: this.args[11], specialApproveLabel: 'uniswap v3'});
61
59
 
62
60
  return approveArr;
63
61
  }
@@ -22,36 +22,34 @@ class UniswapV3SupplyAction extends Action {
22
22
  'UniSupplyV3',
23
23
  getAddr('UniSupplyV3'),
24
24
  [
25
- [
26
- "uint256",
27
- "uint256",
28
- "uint256",
29
- "uint256",
30
- "uint256",
31
- "uint256",
32
- "address",
33
- "address",
34
- "address",
35
- ],
25
+ "uint256",
26
+ "uint256",
27
+ "uint256",
28
+ "uint256",
29
+ "uint256",
30
+ "uint256",
31
+ "address",
32
+ "address",
33
+ "address",
36
34
  ],
37
- [[...arguments]]
35
+ [...arguments]
38
36
  );
39
37
 
40
38
  this.mappableArgs = [
41
- this.args[0][0],
42
- this.args[0][1],
43
- this.args[0][2],
39
+ this.args[0],
40
+ this.args[1],
41
+ this.args[2],
44
42
  ];
45
43
  }
46
44
 
47
45
  async getAssetsToApprove() {
48
- const assetA = getAssetInfoByAddress(this.args[0][7]);
49
- const assetB = getAssetInfoByAddress(this.args[0][8]);
46
+ const assetA = getAssetInfoByAddress(this.args[7]);
47
+ const assetB = getAssetInfoByAddress(this.args[8]);
50
48
 
51
49
  const approveArr = [];
52
50
 
53
- if (assetA.symbol !== 'ETH') approveArr.push({asset: this.args[0][7], owner: this.args[0][6], specialApproveLabel: 'uniswap v3'});
54
- if (assetB.symbol !== 'ETH') approveArr.push({asset: this.args[0][8], owner: this.args[0][6], specialApproveLabel: 'uniswap v3'});
51
+ if (assetA.symbol !== 'ETH') approveArr.push({asset: this.args[7], owner: this.args[6], specialApproveLabel: 'uniswap v3'});
52
+ if (assetB.symbol !== 'ETH') approveArr.push({asset: this.args[8], owner: this.args[6], specialApproveLabel: 'uniswap v3'});
55
53
 
56
54
  return approveArr;
57
55
  }
@@ -21,32 +21,30 @@ class UniswapV3WithdrawAction extends Action {
21
21
  'UniWithdrawV3',
22
22
  getAddr('UniWithdrawV3'),
23
23
  [
24
- [
25
- "uint256",
26
- "uint128",
27
- "uint256",
28
- "uint256",
29
- "uint256",
30
- "address",
31
- "uint128",
32
- "uint128",
33
- ],
24
+ "uint256",
25
+ "uint128",
26
+ "uint256",
27
+ "uint256",
28
+ "uint256",
29
+ "address",
30
+ "uint128",
31
+ "uint128",
34
32
  ],
35
- [[tokenId, liquidity, amount0Min, amount1Min, deadline, recipient, amount0Max, amount1Max]]
33
+ [tokenId, liquidity, amount0Min, amount1Min, deadline, recipient, amount0Max, amount1Max]
36
34
  );
37
35
 
38
36
  this.from = from;
39
37
 
40
38
  this.mappableArgs = [
41
- this.args[0][0],
42
- this.args[0][1],
39
+ this.args[0],
40
+ this.args[1],
43
41
  ];
44
42
  }
45
43
 
46
44
  async getAssetsToApprove() {
47
45
  return [{
48
46
  nft: getAddr('UniswapV3PositionManager'),
49
- tokenId: this.args[0][0],
47
+ tokenId: this.args[0],
50
48
  owner: this.from,
51
49
  specialApproveLabel: 'uniswap v3'
52
50
  }];
@@ -13,17 +13,17 @@ class YearnSupplyAction extends Action {
13
13
  * @param to {ETHAddress} yTokens will be sent to this address
14
14
  */
15
15
  constructor(tokenAddr, amount, from, to) {
16
- super('YearnSupply', getAddr('YearnSupply'), [['address','uint256','address', 'address']], [[tokenAddr, amount, from, to]]);
16
+ super('YearnSupply', getAddr('YearnSupply'), ['address','uint256','address', 'address'], [tokenAddr, amount, from, to]);
17
17
  this.mappableArgs = [
18
- this.args[0][1],
19
- this.args[0][2],
20
- this.args[0][3],
18
+ this.args[1],
19
+ this.args[2],
20
+ this.args[3],
21
21
  ];
22
22
  }
23
23
 
24
24
  async getAssetsToApprove() {
25
- const asset = getAssetInfoByAddress(this.args[0][0]);
26
- if (asset.symbol !== 'ETH') return [{asset: this.args[0][0], owner: this.args[0][2], specialApproveLabel: 'yearn'}];
25
+ const asset = getAssetInfoByAddress(this.args[0]);
26
+ if (asset.symbol !== 'ETH') return [{asset: this.args[0], owner: this.args[2], specialApproveLabel: 'yearn'}];
27
27
  return [];
28
28
  }
29
29
  }
@@ -13,17 +13,17 @@ class YearnWithdrawAction extends Action {
13
13
  * @param to {ETHAddress} underlying tokens will be sent to this address
14
14
  */
15
15
  constructor(tokenAddr, amount, from, to) {
16
- super('YearnWithdraw', getAddr('YearnWithdraw'), [['address','uint256','address', 'address']], [[tokenAddr, amount, from, to]]);
16
+ super('YearnWithdraw', getAddr('YearnWithdraw'), ['address','uint256','address', 'address'], [tokenAddr, amount, from, to]);
17
17
  this.mappableArgs = [
18
- this.args[0][1],
19
- this.args[0][2],
20
- this.args[0][3],
18
+ this.args[1],
19
+ this.args[2],
20
+ this.args[3],
21
21
  ];
22
22
  }
23
23
 
24
24
  async getAssetsToApprove() {
25
- const asset = getAssetInfoByAddress(this.args[0][0]);
26
- if (asset.symbol !== 'ETH') return [{asset: this.args[0][0], owner: this.args[0][2], specialApproveLabel: 'yearn'}];
25
+ const asset = getAssetInfoByAddress(this.args[0]);
26
+ if (asset.symbol !== 'ETH') return [{asset: this.args[0], owner: this.args[2], specialApproveLabel: 'yearn'}];
27
27
  return [];
28
28
  }
29
29
  }
package/src/addresses.js CHANGED
@@ -1,190 +1,156 @@
1
- const { CONFIG, NETWORKS } = require('./config');
1
+
2
2
 
3
3
  const actionAddresses = {
4
- [NETWORKS.ethereum.chainId]: {
5
- // utils
6
- WrapEth: '0x8EbBd35f84D7f0DFCBEf08fD30CD09176133251A',
7
- UnwrapEth: '0xDB6C8cFDd7c1C0F8895CDBC01Dbf4A6D4B6d2a29',
8
- PullToken: '0x254cA89a00d53ab61de2Ba5641DBDC01aE48aed4',
9
- SendToken: '0x5612e490c9549486dF16b34EBfD0E8b6cF6a1717',
10
- SumInputs: '0x70907d840aBBc984Fd949311d2f005e6aC4a4D7a',
11
- SubInputs: '0xe1804b756188F63f723d2FECc02988D0Cc1aB823',
12
- ChangeProxyOwner: '0x81cA52CfE66421d0ceF82d5F33230e43b5F23D2B',
13
- TokenBalance: '0xa92B177950F1460119940436515FD857C24494BC',
14
- AutomationV2Unsub: '0xe35Fb12fE9796847751076aCf5ee7d124108612C',
15
-
16
- // exchange
17
- DFSSell: '0x1abDDCae131ce200e66140d9fBd0C37F7a40e642',
18
-
19
- // maker
20
- McdGenerate: '0x2bF4586636329Ae930cFe085a1e57BAb4a8f741b',
21
- McdGive: '0xD2dc5DA4172a3901C9f26c7cd29eFE656Fc20332',
22
- McdMerge: '0x66c7f4C7e59b6e780142aaD5c9f427FA5F8dfFc6',
23
- McdOpen: '0x72AFC60B90c976397C37B5c64DDc067Ea521D388',
24
- McdPayback: '0xb7C2c78846493Bed18fa07B51fcc5EAFAc9d629C',
25
- McdSupply: '0x91c3167aC51F92c2f720C6A8418FDF46060698A1',
26
- McdWithdraw: '0x3c232F0ae183C3e2eb421e8e317318Dfe85a7b10',
27
- McdClaim: '0xd78783b50227A84d43604843065494e2666182Ab',
28
-
29
- // reflexer
30
- ReflexerSupply: '0xd7a36CD4ce7CCc2F1376Dc5C48BaC84380A4f698',
31
- ReflexerWithdraw: '0xD8a14d447AB6789F3bf1Eb763b6306db3FC3d666',
32
- ReflexerPayback: '0xcC6838d8a61a4b29Ea565d39C38b830f1491cb29',
33
- ReflexerGenerate: '0x8e8Fd178A5FAE3A29F9CB1A06aBBBCFd5B83beb7',
34
- ReflexerOpen: '0x4704a7cBd4d913d1233765B70531D601b4384011',
35
-
36
- // not deployed as currently not used
37
- ReflexerNativeUniV2SaviourDeposit: '0x0000000000000000000000000000000000000000',
38
- ReflexerNativeUniV2SaviourGetReserves: '0x0000000000000000000000000000000000000000',
39
- ReflexerNativeUniV2SaviourWithdraw: '0x0000000000000000000000000000000000000000',
40
-
41
- // aave
42
- AaveBorrow: '0x1B95E800a869bc3F89914470a7901D93D1401cD1',
43
- AavePayback: '0x066225964999F1D07C888c5Ac4a6C885bDa88b9A',
44
- AaveSupply: '0xEbB200a529058B561B42Eab510DA157a63243CEc',
45
- AaveWithdraw: '0x754C58fA92246414a448c1ed44ea3D1AD446d482',
46
- AaveCollateralSwitch: '0xFf5dfF1B90bd5Aa6E12768AB497dB90cc9DE6F5d',
47
-
48
- // compound
49
- CompBorrow: '0x8495579BF6Ae848f7E59686536F834f1d2CCd79C',
50
- CompClaim: '0x81F488cF7A0128A9DB5e7207042cCAB1CB0ac902',
51
- CompPayback: '0x2881590d5FfBd1e88BFc0Dc292f10e5377977f87',
52
- CompSupply: '0xB4CEDe40b249b756Ce0EAa3e14F6af89f25f9a3d',
53
- CompWithdraw: '0x3792F83D6A82091cb53052458038CC86e206463F',
54
- CompGetDebt: '0xc2B8f8423bc8Fe2e9A44cA9d364d835D1751b725',
55
- CompCollateralSwitch: '0xC3d89139508A3883775D3d1E62E2A0fea363b448',
56
-
57
- // flashloan
58
- FLAaveV2: '0x6fE6B0eeeeC7B05d663A99C0805E1A18FbdC6E59', // CHECK IF REDEPLOY
59
- FLDyDx: '0x08AC78B418fCB0DDF1096533856A757C28d430d7',
60
- FLMaker: '0xd393582bE148A45585aB202Fa7Cc789Fa5127223',
61
- FLBalancer: '0x5C7a9f4635AE4F95da2e45317311AAe255FB71B3',
62
-
63
- // uniswap
64
- UniSupply: '0x9935e12F0218E61c27D7f23eAC9A9D6881a078eC',
65
- UniWithdraw: '0xf8bb8F68b0A45DC315F3f7602a60cfb274B00951',
66
-
67
- // uniswap V3
68
- UniCollectV3: '0x331D7C3F6E710cB6cFE94c4Aa04AC3345AC00e00',
69
- UniMintV3: '0x3dF75BE8Fb0a6186BE9705cACaa6dD2a4Ec3e40C',
70
- UniSupplyV3: '0x0CA4255b37DD083dBD48Ca74d575F46037992520',
71
- UniWithdrawV3: '0xe06224593D9c860B2fBF39eEA3b9B8A85b77Fbc4',
72
- UniCreatePoolV3: '0x9058aAbEdEfe652b1d85DBBAB48Dfa78db613C44',
73
-
74
- // dydx
75
- DyDxWithdraw: '0x827089C5Fc7653655c4080c660Cd8f755F818443',
76
-
77
- // yearn
78
- YearnSupply: '0x837D6E7F469b3cC820B0a6Da25415D5aE0A861c4',
79
- YearnWithdraw: '0x563eF9b1075628E62aDc657702517dEA72ca08d6', // CHECK IF REDEPLOY
80
-
81
- // liquity
82
- LiquityClose: '0x4B2d174129789a88e92D46342201F207132144b7',
83
- LiquityBorrow: '0xF978d6C5c8af80a059AdB85EEb64F14C9c436D68',
84
- LiquityOpen: '0x4EFF392cc69B31Ad159EcfA10305251b2d8E40E0',
85
- LiquityPayback: '0x8fc7D24414e9740ed9841d9205D458e3677e71f7',
86
- LiquityWithdraw: '0x733F53579bEcdd3Ed07e745A55Ee9af8B9669048',
87
- LiquitySupply: '0xD539943e080C2a29e3f1DB2d45Ea7240d7ddDEE2',
88
- LiquitySPDeposit: '0x5aB0244a00a733f16E6b238B462bdF3538C698E1',
89
- LiquitySPWithdraw: '0xa71817957eaF993fAA9a1F4B5c2402c0aeFCd9C6',
90
- LiquityStake: '0x671280800B540cbF073561d84A297a2c4c5D529F',
91
- LiquityUnstake: '0x86FDD4A6438D448a794A44ABBe47D57590b3350d',
92
- LiquityEthGainToTrove: '0x65e19f967B3F3cB6466110aD238039F5423E3177',
93
- LiquityClaim: '0x526735aDcBe5c9059275c5ED2E0574b4a24b875e',
94
- LiquityRedeem: '0x20B78854658011394C931EF2BF3cEEA2Fe62E7f0',
95
-
96
- // lido
97
- LidoStake: '0x4a7dd38D2BcA817fb68165155F869ca4179d8060',
98
- LidoWrap: '0xE637544390db79EdDE0a9CAF352ED0FfF7451bDB',
99
- LidoUnwrap: '0x910F73Fb8C0Bd15423c0D0BaD9F1ed95187a48fD',
100
-
101
- // insta
102
- InstPullTokens: '0xf2c87782D6Eff0511e82007119BAC40e9ba86F69',
103
-
104
- // balancer
105
- BalancerV2Supply: '0xE48123018Db5e9075841C61EA702cEca51621191',
106
- BalancerV2Withdraw: '0xbED38692438b90AF738F8A7A3142C217DE8fB069',
107
- BalancerV2Claim: '0xEac7c5bEFaA6E17f1A2e86947eEd6419c74A7C03',
108
-
109
- // GUni
110
- GUniWithdraw: '0x6F7cD7C0Dd3634E14bAB91FDF3bCE0a4315b3C59',
111
- GUniDeposit: '0xb247cD4cab056800cCDa7cE1AFB781a8bFA9b57A',
112
-
113
- // Rari
114
- RariDeposit: '0x77A05c15f62F1fA6471D466001E21C1B189fcA9F',
115
- RariWithdraw: '0xa052eD427EFa63B5bb87c409449a47e7C50317e3',
116
-
117
- // mStable
118
- MStableDeposit: '0xdf24ed1250fbfa274316b50Bc9A009aFA8F61E16',
119
- MStableWithdraw: '0xa4d5d3e56012C1eD8aba4bE246964962DC3F735f',
120
-
121
- MStableClaim: '0xD56F0EC66267958e08c91547c259cCAC006BF118',
122
-
123
- McdRatioCheck: '0x3f09773e5e945C6Aa1bc8a8B3492f507620DE1e1',
124
- GasFeeTaker: '0x431F1E1A9859EF99953801dbdeB31d2846ADcc0d',
125
-
126
- CurveStethPoolDeposit: '0x0f042a5CC97C4cd8D8136c28F966839f195D08B9', // REDEPLOY
127
- CurveStethPoolWithdraw: '0x2F4ad71Bd8045d0633B304BD2d94ef349eB09105', // REDEPLOY
128
- },
129
- [NETWORKS.optimism.chainId]: {
130
- DFSSell: '0xf6814226b87303ad32567c1f02ea9fbc6b9c0288',
131
- //
132
- // // Deployed on fork id: 5ec01a9a-a2f0-49ad-8e90-0bfbeb760f69
133
- // AaveV3Supply: '0xe5f14fbaa7ad7fa471e5fc33272420343b2bed31',
134
- // AaveV3Borrow: '0x342af8144bfc01fbf7f64972fe7bc168d21e96ac',
135
- // AaveV3Withdraw: '0xcac76ef428f6c9285b0a2874bab781ca32b2c864',
136
- // AaveV3SetEMode: '0x3a37401d17f08651a513f02abf72b7d373aabb90',
137
- // AaveV3Payback: '0x5235e785c10022f8e56b78fe15e1732c32a0a09c',
138
- // AaveV3CollateralSwitch: '0xf0791f26bddcdc263f3d45e75d82fb6ffa62d85f',
139
- // AaveV3ATokenPayback: '0xbb42b1f9ecec45e85c268f2a0020948c282a6687',
140
- },
4
+ 'RecipeExecutor': '0xe822d76c2632FC52f3eaa686bDA9Cea3212579D8',
5
+ 'DFSRegistry': '0x287778F121F134C66212FB16c9b53eC991D32f5b',
6
+
7
+ // utils
8
+ 'WrapEth': '0x8EbBd35f84D7f0DFCBEf08fD30CD09176133251A',
9
+ 'UnwrapEth': '0xDB6C8cFDd7c1C0F8895CDBC01Dbf4A6D4B6d2a29',
10
+ 'PullToken': '0x254cA89a00d53ab61de2Ba5641DBDC01aE48aed4',
11
+ 'SendToken': '0x5612e490c9549486dF16b34EBfD0E8b6cF6a1717',
12
+ 'SumInputs': '0x70907d840aBBc984Fd949311d2f005e6aC4a4D7a',
13
+ 'SubInputs': '0xe1804b756188F63f723d2FECc02988D0Cc1aB823',
14
+ 'ChangeProxyOwner': '0x81cA52CfE66421d0ceF82d5F33230e43b5F23D2B',
15
+ 'TokenBalance': '0xa92B177950F1460119940436515FD857C24494BC',
16
+ 'AutomationV2Unsub': '0xe35Fb12fE9796847751076aCf5ee7d124108612C',
17
+ 'SendTokenAndUnwrap': '0xeecd376026335261c89faD40D89625391b1eFF6a',
18
+ 'ToggleSub': '0x9A78E9d6538cfDbA0242Ca5eC46771E6132E8085',
19
+ 'UpdateSub': '0x94D707f411B852082a5ce49C3f47c49c7757761f',
20
+
21
+ // exchange
22
+ 'DFSSell': '0x1abDDCae131ce200e66140d9fBd0C37F7a40e642',
23
+
24
+ // maker
25
+ 'McdGenerate': '0xCb50a91C0f12f439b8bf11E9474B9c1ED62Bf7a3',
26
+ 'McdGive': '0xf9556A87BF424834FDe7De0547b58E36Cb42EF01',
27
+ 'McdMerge': '0x6D06C6c2BCeaEC31b0F8Cd68C594120dDCcCC427',
28
+ 'McdOpen': '0x1b54e8b6073ac7382c42830BE715466aDA11Cf37',
29
+ 'McdPayback': '0xE68AeD979Af6f85516fF485D098804c0f9eD9A5b',
30
+ 'McdSupply': '0x84372e73e1A2E95510869D2D81A3ef1AEC9e0Da8',
31
+ 'McdWithdraw': '0xa704FBBe2f7ea8eF45a8280f6Bf96939eBC73252',
32
+ 'McdClaim': '0xc0FC0f5Ba156E16217F8C7f400AEc0a658419C13',
33
+
34
+ // reflexer
35
+ 'ReflexerSupply': '0xd7a36CD4ce7CCc2F1376Dc5C48BaC84380A4f698',
36
+ 'ReflexerWithdraw': '0xD8a14d447AB6789F3bf1Eb763b6306db3FC3d666',
37
+ 'ReflexerPayback': '0xcC6838d8a61a4b29Ea565d39C38b830f1491cb29',
38
+ 'ReflexerGenerate': '0x8e8Fd178A5FAE3A29F9CB1A06aBBBCFd5B83beb7',
39
+ 'ReflexerOpen': '0x4704a7cBd4d913d1233765B70531D601b4384011',
40
+
41
+ // not deployed as currently not used
42
+ 'ReflexerNativeUniV2SaviourDeposit':'0x0000000000000000000000000000000000000000',
43
+ 'ReflexerNativeUniV2SaviourGetReserves':'0x0000000000000000000000000000000000000000',
44
+ 'ReflexerNativeUniV2SaviourWithdraw':'0x0000000000000000000000000000000000000000',
45
+
46
+ // aave
47
+ 'AaveBorrow': '0x1B95E800a869bc3F89914470a7901D93D1401cD1',
48
+ 'AavePayback': '0x066225964999F1D07C888c5Ac4a6C885bDa88b9A',
49
+ 'AaveSupply': '0xEbB200a529058B561B42Eab510DA157a63243CEc',
50
+ 'AaveWithdraw': '0x754C58fA92246414a448c1ed44ea3D1AD446d482',
51
+ 'AaveCollateralSwitch': '0xFf5dfF1B90bd5Aa6E12768AB497dB90cc9DE6F5d',
52
+
53
+ // compound
54
+ 'CompBorrow': '0x8495579BF6Ae848f7E59686536F834f1d2CCd79C',
55
+ 'CompClaim': '0x81F488cF7A0128A9DB5e7207042cCAB1CB0ac902',
56
+ 'CompPayback': '0x2881590d5FfBd1e88BFc0Dc292f10e5377977f87',
57
+ 'CompSupply': '0xB4CEDe40b249b756Ce0EAa3e14F6af89f25f9a3d',
58
+ 'CompWithdraw': '0x3792F83D6A82091cb53052458038CC86e206463F',
59
+ 'CompGetDebt': '0xc2B8f8423bc8Fe2e9A44cA9d364d835D1751b725',
60
+ 'CompCollateralSwitch': '0xC3d89139508A3883775D3d1E62E2A0fea363b448',
61
+
62
+ // flashloan
63
+ 'FLAaveV2': '0xa4d52ED15018a5be4adE5796899e5d75cc8759C1',
64
+ 'FLDyDx': '0x08AC78B418fCB0DDF1096533856A757C28d430d7',
65
+ 'FLMaker': '0xd393582bE148A45585aB202Fa7Cc789Fa5127223',
66
+ 'FLBalancer': '0x5C7a9f4635AE4F95da2e45317311AAe255FB71B3',
67
+
68
+ // uniswap
69
+ 'UniSupply': '0x9935e12F0218E61c27D7f23eAC9A9D6881a078eC',
70
+ 'UniWithdraw': '0xf8bb8F68b0A45DC315F3f7602a60cfb274B00951',
71
+
72
+ // uniswap V3
73
+ 'UniCollectV3': '0x331D7C3F6E710cB6cFE94c4Aa04AC3345AC00e00',
74
+ 'UniMintV3': '0x3dF75BE8Fb0a6186BE9705cACaa6dD2a4Ec3e40C',
75
+ 'UniSupplyV3': '0x0CA4255b37DD083dBD48Ca74d575F46037992520',
76
+ 'UniWithdrawV3': '0xe06224593D9c860B2fBF39eEA3b9B8A85b77Fbc4',
77
+ 'UniCreatePoolV3': '0x9058aAbEdEfe652b1d85DBBAB48Dfa78db613C44',
78
+
79
+ // dydx
80
+ 'DyDxWithdraw': '0x827089C5Fc7653655c4080c660Cd8f755F818443',
81
+
82
+ // yearn
83
+ 'YearnSupply': '0x837D6E7F469b3cC820B0a6Da25415D5aE0A861c4',
84
+ 'YearnWithdraw': '0x563eF9b1075628E62aDc657702517dEA72ca08d6',
85
+
86
+ // liquity
87
+ 'LiquityClose': '0x4B2d174129789a88e92D46342201F207132144b7',
88
+ 'LiquityBorrow': '0xF978d6C5c8af80a059AdB85EEb64F14C9c436D68',
89
+ 'LiquityOpen': '0x4EFF392cc69B31Ad159EcfA10305251b2d8E40E0',
90
+ 'LiquityPayback': '0x8fc7D24414e9740ed9841d9205D458e3677e71f7',
91
+ 'LiquityWithdraw': '0x733F53579bEcdd3Ed07e745A55Ee9af8B9669048',
92
+ 'LiquitySupply': '0xD539943e080C2a29e3f1DB2d45Ea7240d7ddDEE2',
93
+ 'LiquitySPDeposit': '0x5aB0244a00a733f16E6b238B462bdF3538C698E1',
94
+ 'LiquitySPWithdraw': '0xa71817957eaF993fAA9a1F4B5c2402c0aeFCd9C6',
95
+ 'LiquityStake': '0x671280800B540cbF073561d84A297a2c4c5D529F',
96
+ 'LiquityUnstake': '0x86FDD4A6438D448a794A44ABBe47D57590b3350d',
97
+ 'LiquityEthGainToTrove': '0x65e19f967B3F3cB6466110aD238039F5423E3177',
98
+ 'LiquityClaim': '0x526735aDcBe5c9059275c5ED2E0574b4a24b875e',
99
+ 'LiquityRedeem': '0x20B78854658011394C931EF2BF3cEEA2Fe62E7f0',
100
+
101
+ // lido
102
+ 'LidoStake': '0x4a7dd38D2BcA817fb68165155F869ca4179d8060',
103
+ 'LidoWrap': '0xE637544390db79EdDE0a9CAF352ED0FfF7451bDB',
104
+ 'LidoUnwrap': '0x910F73Fb8C0Bd15423c0D0BaD9F1ed95187a48fD',
105
+
106
+ // insta
107
+ 'InstPullTokens': '0xf2c87782D6Eff0511e82007119BAC40e9ba86F69',
108
+
109
+ // balancer
110
+ 'BalancerV2Supply': '0xE48123018Db5e9075841C61EA702cEca51621191',
111
+ 'BalancerV2Withdraw': '0xbED38692438b90AF738F8A7A3142C217DE8fB069',
112
+ 'BalancerV2Claim': '0xEac7c5bEFaA6E17f1A2e86947eEd6419c74A7C03',
113
+
114
+ // GUni
115
+ 'GUniWithdraw': '0x6F7cD7C0Dd3634E14bAB91FDF3bCE0a4315b3C59',
116
+ 'GUniDeposit': '0xb247cD4cab056800cCDa7cE1AFB781a8bFA9b57A',
117
+
118
+ // Rari
119
+ 'RariDeposit': '0x77A05c15f62F1fA6471D466001E21C1B189fcA9F',
120
+ 'RariWithdraw': '0xa052eD427EFa63B5bb87c409449a47e7C50317e3',
121
+
122
+ // mStable
123
+ 'MStableDeposit': '0xdf24ed1250fbfa274316b50Bc9A009aFA8F61E16',
124
+ 'MStableWithdraw': '0xa4d5d3e56012C1eD8aba4bE246964962DC3F735f',
125
+
126
+ 'MStableClaim': '0xD56F0EC66267958e08c91547c259cCAC006BF118',
127
+
128
+ 'McdRatioCheck': '0x3f09773e5e945C6Aa1bc8a8B3492f507620DE1e1',
129
+ 'GasFeeTaker': '0x431F1E1A9859EF99953801dbdeB31d2846ADcc0d',
130
+
131
+ 'CurveStethPoolDeposit': '0x5Ae5870dC0C780e9eb68bE7a223eCd7F3BDad12B',
132
+ 'CurveStethPoolWithdraw': '0x4089731d843Ce52699Fe64F68556aBbD95D70D00',
141
133
  };
142
134
 
143
135
  const otherAddresses = {
144
- [NETWORKS.ethereum.chainId]: {
145
- RecipeExecutor: '0xe822d76c2632FC52f3eaa686bDA9Cea3212579D8',
146
- DFSRegistry: '0x287778F121F134C66212FB16c9b53eC991D32f5b',
147
- DFSProxyRegistry: '0x29474FdaC7142f9aB7773B8e38264FA15E3805ed',
148
- ProxyRegistry: '0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4',
149
-
150
- McdCdpManager: '0x5ef30b9986345249bc32d8928b7ee64de9435e39',
151
- BCdpManager: '0x3f30c2381CD8B917Dd96EB2f1A4F96D91324BBed',
152
- AaveDefaultMarket: '0xB53C1a33016B2DC2fF3653530bfF1848a515c8c5',
153
- UniswapV3PositionManager : '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
154
- RaiWethUniV2LPToken : '0x8aE720a71622e824F576b4A8C03031066548A3B1',
155
- BalancerToken : '0xba100000625a3754423978a60c9317c58a424e3D',
156
- CrvToken: '0xD533a949740bb3306d119CC777fa900bA034cd52',
157
- DAI: '0x6b175474e89094c44da98b954eedeac495271d0f',
158
- Empty: '0x0000000000000000000000000000000000000000',
159
- },
160
- [NETWORKS.optimism.chainId]: {
161
- RecipeExecutor: '0x5c1cFF487Bed642f27b4B931617A96f22A2Dc5dC',
162
- DFSRegistry: '0xA1A445d1d8F97cBf380E98759230FcC0f2E23fc1',
163
- ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
164
-
165
- DSGuardFactory: '0xc19d0F1E2b38AA283E226Ca4044766A43aA7B02b',
166
- AdminVault: '0xB64dB2153861ddDE62c8038C6A3c6199FCfBD094',
167
- DefisaverLogger: '0xC0986E9803a41542c5422dbe336F9B68C55E0a49',
168
- Empty: '0x0000000000000000000000000000000000000000',
169
- },
170
- };
171
-
172
- /**
173
- *
174
- * @param {string} name
175
- * @param {chainId} chainId
176
- * @returns {EthAddress}
177
- */
178
- const getAddr = (name, chainId) => {
179
- const _chainId = typeof chainId === 'undefined' ? CONFIG.chainId : chainId;
136
+ Empty: '0x0000000000000000000000000000000000000000',
137
+ McdCdpManager: '0x5ef30b9986345249bc32d8928b7ee64de9435e39',
138
+ BCdpManager: '0x3f30c2381CD8B917Dd96EB2f1A4F96D91324BBed',
139
+ AaveDefaultMarket: '0xB53C1a33016B2DC2fF3653530bfF1848a515c8c5',
140
+ ProxyRegistry: '0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4',
141
+ DFSProxyRegistry: '0x29474FdaC7142f9aB7773B8e38264FA15E3805ed',
142
+ UniswapV3PositionManager : '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
143
+ RaiWethUniV2LPToken : '0x8aE720a71622e824F576b4A8C03031066548A3B1',
144
+ BalancerToken : '0xba100000625a3754423978a60c9317c58a424e3D',
145
+ CrvToken: '0xD533a949740bb3306d119CC777fa900bA034cd52',
146
+ DAI: '0x6b175474e89094c44da98b954eedeac495271d0f',
147
+ }
180
148
 
181
- const actions = actionAddresses[_chainId];
182
- const other = otherAddresses[_chainId];
183
149
 
184
- if (!actions && !other) throw new Error(`Cannot find address for chainId: ${_chainId}.`);
185
- if (!actions[name] && !other[name]) throw new Error(`Cannot find address for name: ${name} (chainId: ${_chainId}).`);
150
+ const getAddr = (name) => {
151
+ if (!actionAddresses[name] && !otherAddresses[name]) return otherAddresses.Empty;
186
152
 
187
- return actions[name] || other[name];
153
+ return actionAddresses[name] || otherAddresses[name];
188
154
  };
189
155
 
190
156
  module.exports = {
@@ -4,9 +4,9 @@ const {getAddr} = require("../addresses.js");
4
4
  class ChainLinkPriceTrigger extends Action {
5
5
 
6
6
  constructor(tokenAddr, price, state) {
7
- super("ChainLinkPriceTrigger", getAddr("ChainLinkPriceTrigger"), [["address", "uint256", "uint8"]], [[...arguments]]);
7
+ super("ChainLinkPriceTrigger", getAddr("ChainLinkPriceTrigger"), ["address", "uint256", "uint8"], [...arguments]);
8
8
  }
9
9
 
10
10
  }
11
11
 
12
- module.exports = ChainLinkPriceTrigger;
12
+ module.exports = ChainLinkPriceTrigger;
@@ -4,7 +4,7 @@ const {getAddr} = require("../addresses.js");
4
4
  class CompoundRatioTrigger extends Action {
5
5
 
6
6
  constructor(user, ratio, state) {
7
- super("CompoundRatioTrigger", getAddr("CompoundRatioTrigger"), [["address", "uint256", "uint8"]], [[...arguments]]);
7
+ super("CompoundRatioTrigger", getAddr("CompoundRatioTrigger"), ["address", "uint256", "uint8"], [...arguments]);
8
8
  }
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ const {getAddr} = require("../addresses.js");
4
4
  class GasPriceTrigger extends Action {
5
5
 
6
6
  constructor(maxGasPrice) {
7
- super("GasPriceTrigger", getAddr("GasPriceTrigger"), [["uint256"]], [[...arguments]]);
7
+ super("GasPriceTrigger", getAddr("GasPriceTrigger"), ["uint256"], [...arguments]);
8
8
  }
9
9
  }
10
10
 
@@ -7,8 +7,8 @@ class LiquityRatioTrigger extends Action {
7
7
  super(
8
8
  "LiquityRatioTrigger",
9
9
  getAddr("LiquityRatioTrigger"),
10
- [["addresss", "uint256", "uint8"]],
11
- [[...arguments]]
10
+ ["addresss", "uint256", "uint8"],
11
+ [...arguments]
12
12
  );
13
13
  }
14
14
  }
@@ -4,11 +4,7 @@ const {getAddr} = require("../addresses.js");
4
4
  class MakerRatioTrigger extends Action {
5
5
 
6
6
  constructor(vaultId, ratio, state) {
7
- super("McdRatioTrigger", getAddr("McdRatioTrigger"), [["uint256", "uint256", "uint8"]], [[...arguments]]);
8
- }
9
-
10
- async getEthValue() {
11
- return this.args[0];
7
+ super("McdRatioTrigger", getAddr("McdRatioTrigger"), ["uint256", "uint256", "uint8"], [...arguments]);
12
8
  }
13
9
  }
14
10
 
@@ -4,7 +4,7 @@ const {getAddr} = require("../addresses");
4
4
  class ReflexerRatioTrigger extends Action {
5
5
 
6
6
  constructor(vaultId, ratio, state) {
7
- super("ReflexerRatioTrigger", getAddr("ReflexerRatioTrigger"), [["uint256", "uint256", "uint8"]], [[...arguments]]);
7
+ super("ReflexerRatioTrigger", getAddr("ReflexerRatioTrigger"), ["uint256", "uint256", "uint8"], [...arguments]);
8
8
  }
9
9
  }
10
10
 
@@ -4,7 +4,7 @@ const {getAddr} = require("../addresses.js");
4
4
  class TimestampTrigger extends Action {
5
5
 
6
6
  constructor(nextTimestamp) {
7
- super("TimestampTrigger", getAddr("TimestampTrigger"), [["uint256"]], [[...arguments]]);
7
+ super("TimestampTrigger", getAddr("TimestampTrigger"), ["uint256"], [...arguments]);
8
8
  }
9
9
  }
10
10