@defisaver/sdk 0.2.9 → 0.2.12

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 (139) hide show
  1. package/ACTIONS.md +21 -379
  2. package/DEV.md +298 -0
  3. package/index.js +11 -2
  4. package/package.json +2 -2
  5. package/src/Action.js +20 -8
  6. package/src/ActionWithL2.js +36 -0
  7. package/src/actions/aave/AaveBorrowAction.js +11 -2
  8. package/src/actions/aave/AaveClaimStkAaveAction.js +5 -5
  9. package/src/actions/aave/AaveCollateralSwitchAction.js +5 -4
  10. package/src/actions/aave/AavePaybackAction.js +11 -2
  11. package/src/actions/aave/AaveSupplyAction.js +6 -6
  12. package/src/actions/aave/AaveWithdrawAction.js +8 -1
  13. package/src/actions/aaveV3/AaveV3ATokenPaybackAction.js +58 -0
  14. package/src/actions/aaveV3/AaveV3BorrowAction.js +59 -0
  15. package/src/actions/aaveV3/AaveV3ClaimRewardsAction.js +45 -0
  16. package/src/actions/aaveV3/AaveV3CollateralSwitchAction.js +45 -0
  17. package/src/actions/aaveV3/AaveV3PaybackAction.js +68 -0
  18. package/src/actions/aaveV3/AaveV3SetEModeAction.js +40 -0
  19. package/src/actions/aaveV3/AaveV3SupplyAction.js +69 -0
  20. package/src/actions/aaveV3/AaveV3SwapBorrowRateModeAction.js +43 -0
  21. package/src/actions/aaveV3/AaveV3WithdrawAction.js +46 -0
  22. package/src/actions/aaveV3/index.js +21 -0
  23. package/src/actions/balancer/BalancerV2ClaimAction.js +12 -10
  24. package/src/actions/balancer/BalancerV2SupplyAction.js +16 -14
  25. package/src/actions/balancer/BalancerV2WithdrawAction.js +17 -15
  26. package/src/actions/basic/AutomationV2Unsub.js +3 -3
  27. package/src/actions/basic/ChangeProxyOwnerAction.js +4 -2
  28. package/src/actions/basic/GasFeeAction.js +6 -6
  29. package/src/actions/basic/PullTokenAction.js +9 -3
  30. package/src/actions/basic/SellAction.js +17 -10
  31. package/src/actions/basic/SendTokenAction.js +9 -4
  32. package/src/actions/basic/SubInputsAction.js +8 -3
  33. package/src/actions/basic/SumInputsAction.js +8 -3
  34. package/src/actions/basic/TokenBalanceAction.js +3 -3
  35. package/src/actions/basic/UnwrapEthAction.js +18 -5
  36. package/src/actions/basic/WrapEthAction.js +15 -5
  37. package/src/actions/basic/index.js +0 -6
  38. package/src/actions/checkers/MakerRatioCheckAction.js +5 -5
  39. package/src/actions/compound/CompoundBorrowAction.js +7 -1
  40. package/src/actions/compound/CompoundClaimAction.js +3 -3
  41. package/src/actions/compound/CompoundCollateralSwitchAction.js +4 -2
  42. package/src/actions/compound/CompoundGetDebtAction.js +3 -3
  43. package/src/actions/compound/CompoundPaybackAction.js +7 -1
  44. package/src/actions/compound/CompoundSupplyAction.js +4 -4
  45. package/src/actions/compound/CompoundWithdrawAction.js +7 -1
  46. package/src/actions/curve/CurveClaimFeesAction.js +4 -4
  47. package/src/actions/curve/CurveDepositAction.js +7 -7
  48. package/src/actions/curve/CurveGaugeDepositAction.js +6 -6
  49. package/src/actions/curve/CurveGaugeWithdrawAction.js +4 -4
  50. package/src/actions/curve/CurveMintCrvAction.js +3 -3
  51. package/src/actions/curve/CurveStethPoolDepositAction.js +9 -9
  52. package/src/actions/curve/CurveStethPoolWithdrawAction.js +9 -11
  53. package/src/actions/curve/CurveSwapAction.js +15 -15
  54. package/src/actions/curve/CurveWithdrawAction.js +7 -7
  55. package/src/actions/dydx/DyDxWithdrawAction.js +7 -1
  56. package/src/actions/flashloan/AaveV2FlashLoanAction.js +2 -2
  57. package/src/actions/flashloan/AaveV3FlashLoanAction.js +26 -0
  58. package/src/actions/flashloan/AaveV3FlashLoanPaybackAction.js +17 -0
  59. package/src/actions/flashloan/BalancerFlashLoanAction.js +2 -2
  60. package/src/actions/flashloan/DyDxFlashLoanAction.js +1 -5
  61. package/src/actions/flashloan/MakerFlashLoanAction.js +2 -2
  62. package/src/actions/flashloan/index.js +4 -0
  63. package/src/actions/guni/GUniDeposit.js +9 -9
  64. package/src/actions/guni/GUniWithdraw.js +5 -5
  65. package/src/actions/index.js +2 -2
  66. package/src/actions/insta/InstPullTokensAction.js +4 -4
  67. package/src/actions/lido/LidoStakeAction.js +7 -2
  68. package/src/actions/lido/LidoUnwrapAction.js +7 -2
  69. package/src/actions/lido/LidoWrapAction.js +7 -7
  70. package/src/actions/liquity/LiquityBorrowAction.js +5 -5
  71. package/src/actions/liquity/LiquityClaimAction.js +3 -3
  72. package/src/actions/liquity/LiquityCloseAction.js +4 -4
  73. package/src/actions/liquity/LiquityEthGainToTroveAction.js +3 -3
  74. package/src/actions/liquity/LiquityOpenAction.js +8 -8
  75. package/src/actions/liquity/LiquityPaybackAction.js +5 -5
  76. package/src/actions/liquity/LiquityRedeemAction.js +7 -7
  77. package/src/actions/liquity/LiquitySPDepositAction.js +7 -7
  78. package/src/actions/liquity/LiquitySPWithdrawAction.js +6 -6
  79. package/src/actions/liquity/LiquityStakeAction.js +7 -7
  80. package/src/actions/liquity/LiquitySupplyAction.js +5 -5
  81. package/src/actions/liquity/LiquityUnstakeAction.js +6 -6
  82. package/src/actions/liquity/LiquityWithdrawAction.js +4 -4
  83. package/src/actions/maker/MakerClaimAction.js +4 -4
  84. package/src/actions/maker/MakerGenerateAction.js +8 -1
  85. package/src/actions/maker/MakerGiveAction.js +4 -4
  86. package/src/actions/maker/MakerMergeAction.js +7 -1
  87. package/src/actions/maker/MakerOpenVaultAction.js +6 -1
  88. package/src/actions/maker/MakerPaybackAction.js +9 -2
  89. package/src/actions/maker/MakerRatioAction.js +5 -1
  90. package/src/actions/maker/MakerSupplyAction.js +9 -1
  91. package/src/actions/maker/MakerWithdrawAction.js +9 -1
  92. package/src/actions/mstable/MStableClaimAction.js +4 -4
  93. package/src/actions/mstable/MStableDepositAction.js +16 -16
  94. package/src/actions/mstable/MStableWithdrawAction.js +15 -15
  95. package/src/actions/rari/RariDepositAction.js +5 -5
  96. package/src/actions/rari/RariWithdrawAction.js +6 -6
  97. package/src/actions/reflexer/ReflexerGenerateAction.js +7 -1
  98. package/src/actions/reflexer/ReflexerNativeUniV2SaviourDepositAction.js +5 -5
  99. package/src/actions/reflexer/ReflexerNativeUniV2SaviourGetReservesAction.js +8 -3
  100. package/src/actions/reflexer/ReflexerNativeUniV2SaviourWithdrawAction.js +9 -4
  101. package/src/actions/reflexer/ReflexerOpenSafeAction.js +5 -1
  102. package/src/actions/reflexer/ReflexerPaybackAction.js +7 -1
  103. package/src/actions/reflexer/ReflexerSupplyAction.js +8 -1
  104. package/src/actions/reflexer/ReflexerWithdrawAction.js +8 -1
  105. package/src/actions/uniswap/UniswapSupplyAction.js +22 -20
  106. package/src/actions/uniswap/UniswapWithdrawAction.js +18 -16
  107. package/src/actions/uniswapV3/UniswapV3CollectAction.js +9 -7
  108. package/src/actions/uniswapV3/UniswapV3CreatePoolAction.js +22 -20
  109. package/src/actions/uniswapV3/UniswapV3MintAction.js +21 -19
  110. package/src/actions/uniswapV3/UniswapV3SupplyAction.js +19 -17
  111. package/src/actions/uniswapV3/UniswapV3WithdrawAction.js +14 -12
  112. package/src/actions/yearn/YearnSupplyAction.js +6 -6
  113. package/src/actions/yearn/YearnWithdrawAction.js +6 -6
  114. package/src/addresses.js +217 -152
  115. package/src/config.js +83 -0
  116. package/src/triggers/ChainLinkPriceTrigger.js +2 -2
  117. package/src/triggers/CompoundRatioTrigger.js +1 -1
  118. package/src/triggers/GasPriceTrigger.js +1 -1
  119. package/src/triggers/LiquityRatioTrigger.js +2 -2
  120. package/src/triggers/MakerRatioTrigger.js +5 -1
  121. package/src/triggers/ReflexerRatioTrigger.js +1 -1
  122. package/src/triggers/TimestampTrigger.js +1 -1
  123. package/src/triggers/UniV3CurrentTickTrigger.js +1 -1
  124. package/src/types.js +33 -0
  125. package/src/utils/index.js +0 -2
  126. package/test/Action.js +1 -2
  127. package/test/accessLists/access-lists.js +2 -1
  128. package/test/actions/maker/MakerPaybackAction.js +2 -2
  129. package/test/index.js +4 -1
  130. package/src/actions/basic/SendTokenAndUnwrapAction.js +0 -30
  131. package/src/actions/basic/ToggleSubAction.js +0 -19
  132. package/src/actions/basic/UpdateSubAction.js +0 -19
  133. package/src/actions/convex/ConvexClaimAction.js +0 -60
  134. package/src/actions/convex/ConvexDepositAction.js +0 -67
  135. package/src/actions/convex/ConvexWithdrawAction.js +0 -65
  136. package/src/actions/convex/index.js +0 -9
  137. package/src/utils/convex-utils.js +0 -20
  138. package/src/utils/convexPoolInfo.json +0 -1039
  139. package/test/Strategy.js +0 -44
@@ -22,34 +22,36 @@ class UniswapV3SupplyAction extends Action {
22
22
  'UniSupplyV3',
23
23
  getAddr('UniSupplyV3'),
24
24
  [
25
- "uint256",
26
- "uint256",
27
- "uint256",
28
- "uint256",
29
- "uint256",
30
- "uint256",
31
- "address",
32
- "address",
33
- "address",
25
+ [
26
+ "uint256",
27
+ "uint256",
28
+ "uint256",
29
+ "uint256",
30
+ "uint256",
31
+ "uint256",
32
+ "address",
33
+ "address",
34
+ "address",
35
+ ],
34
36
  ],
35
- [...arguments]
37
+ [[...arguments]]
36
38
  );
37
39
 
38
40
  this.mappableArgs = [
39
- this.args[0],
40
- this.args[1],
41
- this.args[2],
41
+ this.args[0][0],
42
+ this.args[0][1],
43
+ this.args[0][2],
42
44
  ];
43
45
  }
44
46
 
45
47
  async getAssetsToApprove() {
46
- const assetA = getAssetInfoByAddress(this.args[7]);
47
- const assetB = getAssetInfoByAddress(this.args[8]);
48
+ const assetA = getAssetInfoByAddress(this.args[0][7]);
49
+ const assetB = getAssetInfoByAddress(this.args[0][8]);
48
50
 
49
51
  const approveArr = [];
50
52
 
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'});
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'});
53
55
 
54
56
  return approveArr;
55
57
  }
@@ -21,30 +21,32 @@ class UniswapV3WithdrawAction extends Action {
21
21
  'UniWithdrawV3',
22
22
  getAddr('UniWithdrawV3'),
23
23
  [
24
- "uint256",
25
- "uint128",
26
- "uint256",
27
- "uint256",
28
- "uint256",
29
- "address",
30
- "uint128",
31
- "uint128",
24
+ [
25
+ "uint256",
26
+ "uint128",
27
+ "uint256",
28
+ "uint256",
29
+ "uint256",
30
+ "address",
31
+ "uint128",
32
+ "uint128",
33
+ ],
32
34
  ],
33
- [tokenId, liquidity, amount0Min, amount1Min, deadline, recipient, amount0Max, amount1Max]
35
+ [[tokenId, liquidity, amount0Min, amount1Min, deadline, recipient, amount0Max, amount1Max]]
34
36
  );
35
37
 
36
38
  this.from = from;
37
39
 
38
40
  this.mappableArgs = [
39
- this.args[0],
40
- this.args[1],
41
+ this.args[0][0],
42
+ this.args[0][1],
41
43
  ];
42
44
  }
43
45
 
44
46
  async getAssetsToApprove() {
45
47
  return [{
46
48
  nft: getAddr('UniswapV3PositionManager'),
47
- tokenId: this.args[0],
49
+ tokenId: this.args[0][0],
48
50
  owner: this.from,
49
51
  specialApproveLabel: 'uniswap v3'
50
52
  }];
@@ -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[1],
19
- this.args[2],
20
- this.args[3],
18
+ this.args[0][1],
19
+ this.args[0][2],
20
+ this.args[0][3],
21
21
  ];
22
22
  }
23
23
 
24
24
  async getAssetsToApprove() {
25
- const asset = getAssetInfoByAddress(this.args[0]);
26
- if (asset.symbol !== 'ETH') return [{asset: this.args[0], owner: this.args[2], specialApproveLabel: 'yearn'}];
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'}];
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[1],
19
- this.args[2],
20
- this.args[3],
18
+ this.args[0][1],
19
+ this.args[0][2],
20
+ this.args[0][3],
21
21
  ];
22
22
  }
23
23
 
24
24
  async getAssetsToApprove() {
25
- const asset = getAssetInfoByAddress(this.args[0]);
26
- if (asset.symbol !== 'ETH') return [{asset: this.args[0], owner: this.args[2], specialApproveLabel: 'yearn'}];
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'}];
27
27
  return [];
28
28
  }
29
29
  }
package/src/addresses.js CHANGED
@@ -1,163 +1,228 @@
1
-
1
+ const { CONFIG, NETWORKS } = require('./config');
2
2
 
3
3
  const actionAddresses = {
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
- 'CompPaybackNew': '0xa2Fa682f44BE40a11d69Eb738CBB91148f0D9742',
58
- 'CompSupply': '0xB4CEDe40b249b756Ce0EAa3e14F6af89f25f9a3d',
59
- 'CompWithdraw': '0x3792F83D6A82091cb53052458038CC86e206463F',
60
- 'CompGetDebt': '0xc2B8f8423bc8Fe2e9A44cA9d364d835D1751b725',
61
- 'CompCollateralSwitch': '0xC3d89139508A3883775D3d1E62E2A0fea363b448',
62
-
63
- // flashloan
64
- 'FLAaveV2': '0xa4d52ED15018a5be4adE5796899e5d75cc8759C1',
65
- 'FLDyDx': '0x08AC78B418fCB0DDF1096533856A757C28d430d7',
66
- 'FLMaker': '0xd393582bE148A45585aB202Fa7Cc789Fa5127223',
67
- 'FLBalancer': '0x5C7a9f4635AE4F95da2e45317311AAe255FB71B3',
68
-
69
- // uniswap
70
- 'UniSupply': '0x9935e12F0218E61c27D7f23eAC9A9D6881a078eC',
71
- 'UniWithdraw': '0xf8bb8F68b0A45DC315F3f7602a60cfb274B00951',
72
-
73
- // uniswap V3
74
- 'UniCollectV3': '0x331D7C3F6E710cB6cFE94c4Aa04AC3345AC00e00',
75
- 'UniMintV3': '0x3dF75BE8Fb0a6186BE9705cACaa6dD2a4Ec3e40C',
76
- 'UniSupplyV3': '0x0CA4255b37DD083dBD48Ca74d575F46037992520',
77
- 'UniWithdrawV3': '0xe06224593D9c860B2fBF39eEA3b9B8A85b77Fbc4',
78
- 'UniCreatePoolV3': '0x9058aAbEdEfe652b1d85DBBAB48Dfa78db613C44',
79
-
80
- // dydx
81
- 'DyDxWithdraw': '0x827089C5Fc7653655c4080c660Cd8f755F818443',
82
-
83
- // yearn
84
- 'YearnSupply': '0x837D6E7F469b3cC820B0a6Da25415D5aE0A861c4',
85
- 'YearnWithdraw': '0x563eF9b1075628E62aDc657702517dEA72ca08d6',
86
-
87
- // liquity
88
- 'LiquityClose': '0x4B2d174129789a88e92D46342201F207132144b7',
89
- 'LiquityBorrow': '0xF978d6C5c8af80a059AdB85EEb64F14C9c436D68',
90
- 'LiquityOpen': '0x4EFF392cc69B31Ad159EcfA10305251b2d8E40E0',
91
- 'LiquityPayback': '0x8fc7D24414e9740ed9841d9205D458e3677e71f7',
92
- 'LiquityWithdraw': '0x733F53579bEcdd3Ed07e745A55Ee9af8B9669048',
93
- 'LiquitySupply': '0xD539943e080C2a29e3f1DB2d45Ea7240d7ddDEE2',
94
- 'LiquitySPDeposit': '0x5aB0244a00a733f16E6b238B462bdF3538C698E1',
95
- 'LiquitySPWithdraw': '0xa71817957eaF993fAA9a1F4B5c2402c0aeFCd9C6',
96
- 'LiquityStake': '0x671280800B540cbF073561d84A297a2c4c5D529F',
97
- 'LiquityUnstake': '0x86FDD4A6438D448a794A44ABBe47D57590b3350d',
98
- 'LiquityEthGainToTrove': '0x65e19f967B3F3cB6466110aD238039F5423E3177',
99
- 'LiquityClaim': '0x526735aDcBe5c9059275c5ED2E0574b4a24b875e',
100
- 'LiquityRedeem': '0x20B78854658011394C931EF2BF3cEEA2Fe62E7f0',
101
-
102
- // lido
103
- 'LidoStake': '0x4a7dd38D2BcA817fb68165155F869ca4179d8060',
104
- 'LidoWrap': '0xE637544390db79EdDE0a9CAF352ED0FfF7451bDB',
105
- 'LidoUnwrap': '0x910F73Fb8C0Bd15423c0D0BaD9F1ed95187a48fD',
106
-
107
- // insta
108
- 'InstPullTokens': '0xf2c87782D6Eff0511e82007119BAC40e9ba86F69',
109
-
110
- // balancer
111
- 'BalancerV2Supply': '0xE48123018Db5e9075841C61EA702cEca51621191',
112
- 'BalancerV2Withdraw': '0xbED38692438b90AF738F8A7A3142C217DE8fB069',
113
- 'BalancerV2Claim': '0xEac7c5bEFaA6E17f1A2e86947eEd6419c74A7C03',
114
-
115
- // GUni
116
- 'GUniWithdraw': '0x6F7cD7C0Dd3634E14bAB91FDF3bCE0a4315b3C59',
117
- 'GUniDeposit': '0xb247cD4cab056800cCDa7cE1AFB781a8bFA9b57A',
118
-
119
- // Rari
120
- 'RariDeposit': '0x77A05c15f62F1fA6471D466001E21C1B189fcA9F',
121
- 'RariWithdraw': '0xa052eD427EFa63B5bb87c409449a47e7C50317e3',
122
-
123
- // mStable
124
- 'MStableDeposit': '0xdf24ed1250fbfa274316b50Bc9A009aFA8F61E16',
125
- 'MStableWithdraw': '0xa4d5d3e56012C1eD8aba4bE246964962DC3F735f',
126
-
127
- 'MStableClaim': '0xD56F0EC66267958e08c91547c259cCAC006BF118',
128
-
129
- 'McdRatioCheck': '0x3f09773e5e945C6Aa1bc8a8B3492f507620DE1e1',
130
- 'GasFeeTaker': '0x431F1E1A9859EF99953801dbdeB31d2846ADcc0d',
131
-
132
- 'CurveStethPoolDeposit': '0x5Ae5870dC0C780e9eb68bE7a223eCd7F3BDad12B',
133
- 'CurveStethPoolWithdraw': '0x4089731d843Ce52699Fe64F68556aBbD95D70D00',
134
-
135
- // Convex
136
- 'ConvexDeposit': '0x3Ecc4F1FD5aA09D2E13Ec9ebFdF102063d66F458',
137
- 'ConvexWithdraw': '0x2B2c235F9e27A121947c34A39d447bD4C585aA15',
138
- 'ConvexClaim': '0xA012afAA97B48894b8FCB2ECC007045Be7a8E8B6',
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: '0xa4d52ED15018a5be4adE5796899e5d75cc8759C1',
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: '0xfA015aD97E25247c2144F1C89AeD449cc3Fd1FCB',
131
+
132
+ // basic
133
+ WrapEth: '0x6D735db054AC4a1F10f96b99f8550E9eefbC2AC5',
134
+ UnwrapEth: '0x1Fa75B00A05C2EbBd0EDF253a63c209966337A0d',
135
+ SendToken: '0xEbA499702856f1EFda2546e9fEFC1319A3b40538',
136
+
137
+ // aave v3
138
+ AaveV3ATokenPayback: '0x71B27114D1777298bD46c3770C42F9f807C49847',
139
+ AaveV3Borrow: '0x4d3F58460aE2bC71fFaeb33838BFA3b5610083Db',
140
+ AaveV3CollateralSwitch: '0x20D1388Ffa0A2D6ff6328AD014C67051542ca3a8',
141
+ AaveV3Payback: '0x09DC201A6380882752bCdC7bC721D384f716A5a4',
142
+ AaveV3SetEMode: '0x7F264737066b9b7D9729Fe9715abB97423D8b35B',
143
+ AaveV3Supply: '0xe431c1C673Be123045c8635b0196d51a5bFE55c1',
144
+ AaveV3SwapBorrowRateMode: '0xB8f0243b492f0e80feF5315Ba8692e7635481845',
145
+ AaveV3Withdraw: '0xD0130ecB810C6F8d58e60DC417357F6048Ea32e7',
146
+
147
+ FLAaveV3: '0x352D4a1622f2DC34c738F542934372855f219F05',
148
+ },
149
+ [NETWORKS.arbitrum.chainId]: {
150
+ DFSSell: '0x49E1574Ba6b8134c29B1EbC010784A01D91b794F',
151
+
152
+ // basic
153
+ WrapEth: '0x35136b25bFA7CCC8f5b94E3181a16B61c06980F0',
154
+ UnwrapEth: '0x2B69d494536098700910D167902D1d397dcA2B61',
155
+ SendToken: '0xb022BaFfcEdc0ceA15aF6B2B744795A12D21F2a9',
156
+
157
+ // aave v3
158
+ AaveV3ATokenPayback: '0x261906e5E0D0D38D9cBb5c10dB9c4031aabdf8C1',
159
+ AaveV3Borrow: '0xe729954e40546557Fa547ecd163644457Da28A04',
160
+ AaveV3CollateralSwitch: '0x7AcdD66C13f87b1cBcE7B106a8C34E426475BADd',
161
+ AaveV3Payback: '0x05dD6025d4075bBCA3260C5eDBeFcF7574d4AF70',
162
+ AaveV3SetEMode: '0x99D5068d9520316e8D3B5136c0B6EA33C5E0c27e',
163
+ AaveV3Supply: '0xd4AE9d95faca89B235B8A71F410501104fF16E56',
164
+ AaveV3SwapBorrowRateMode: '0x738042389A8d6B0F6D6ab009c42dfF84ebB737C0',
165
+ AaveV3Withdraw: '0x204ae0d3f7cB0db44A297DC4aD433298ed2042F3',
166
+
167
+ FLAaveV3: '0x3Cc0d5DAE1B94e294152C3150aA732b97af603E1',
168
+ }
139
169
  };
140
170
 
141
171
  const otherAddresses = {
142
- Empty: '0x0000000000000000000000000000000000000000',
143
- McdCdpManager: '0x5ef30b9986345249bc32d8928b7ee64de9435e39',
144
- BCdpManager: '0x3f30c2381CD8B917Dd96EB2f1A4F96D91324BBed',
145
- AaveDefaultMarket: '0xB53C1a33016B2DC2fF3653530bfF1848a515c8c5',
146
- ProxyRegistry: '0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4',
147
- DFSProxyRegistry: '0x29474FdaC7142f9aB7773B8e38264FA15E3805ed',
148
- UniswapV3PositionManager : '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
149
- RaiWethUniV2LPToken : '0x8aE720a71622e824F576b4A8C03031066548A3B1',
150
- BalancerToken : '0xba100000625a3754423978a60c9317c58a424e3D',
151
- CrvToken: '0xD533a949740bb3306d119CC777fa900bA034cd52',
152
- CvxToken: '0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B',
153
- DAI: '0x6b175474e89094c44da98b954eedeac495271d0f',
154
- }
172
+ [NETWORKS.ethereum.chainId]: {
173
+ RecipeExecutor: '0xe822d76c2632FC52f3eaa686bDA9Cea3212579D8',
174
+ DFSRegistry: '0x287778F121F134C66212FB16c9b53eC991D32f5b',
175
+ DFSProxyRegistry: '0x29474FdaC7142f9aB7773B8e38264FA15E3805ed',
176
+ ProxyRegistry: '0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4',
177
+
178
+ McdCdpManager: '0x5ef30b9986345249bc32d8928b7ee64de9435e39',
179
+ BCdpManager: '0x3f30c2381CD8B917Dd96EB2f1A4F96D91324BBed',
180
+ AaveDefaultMarket: '0xB53C1a33016B2DC2fF3653530bfF1848a515c8c5',
181
+ UniswapV3PositionManager : '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
182
+ RaiWethUniV2LPToken : '0x8aE720a71622e824F576b4A8C03031066548A3B1',
183
+ BalancerToken : '0xba100000625a3754423978a60c9317c58a424e3D',
184
+ CrvToken: '0xD533a949740bb3306d119CC777fa900bA034cd52',
185
+ DAI: '0x6b175474e89094c44da98b954eedeac495271d0f',
186
+ Empty: '0x0000000000000000000000000000000000000000',
187
+ },
188
+ [NETWORKS.optimism.chainId]: {
189
+ RecipeExecutor: '0xe91ff198bA6DFA97A7B4Fa43e5a606c915B0471f',
190
+ DFSRegistry: '0xAf707Ee480204Ed6e2640B53cE86F680D28Afcbd',
191
+ ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
192
+
193
+ DSGuardFactory: '0xc19d0F1E2b38AA283E226Ca4044766A43aA7B02b',
194
+ AdminVault: '0x136b1bEAfff362530F98f10E3D8C38f3a3F3d38C',
195
+ DefisaverLogger: '0xFc2f1355296ab7dd98a1260E3Ff5E906999d4Acb',
196
+ Empty: '0x0000000000000000000000000000000000000000',
197
+ },
198
+ [NETWORKS.arbitrum.chainId]: {
199
+ RecipeExecutor: '0xc1cB462033D8319016dF4e8A1810f1afB06b50bB',
200
+ DFSRegistry: '0xBF1CaC12DB60819Bfa71A328282ecbc1D40443aA',
201
+ ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
202
+
203
+ DSGuardFactory: '0x5261abC3a94a6475D0A1171daE94A5f84fbaEcD2',
204
+ AdminVault: '0xd47D8D97cAd12A866900eEc6Cde1962529F25351',
205
+ DefisaverLogger: '0xE6f9A5C850dbcD12bc64f40d692F537250aDEC38',
206
+ Empty: '0x0000000000000000000000000000000000000000',
207
+ },
208
+ };
209
+
210
+ /**
211
+ *
212
+ * @param {string} name
213
+ * @param {chainId} [chainId]
214
+ * @returns {EthAddress}
215
+ */
216
+ const getAddr = (name, chainId) => {
217
+ const _chainId = typeof chainId === 'undefined' ? CONFIG.chainId : chainId;
155
218
 
219
+ const actions = actionAddresses[_chainId];
220
+ const other = otherAddresses[_chainId];
156
221
 
157
- const getAddr = (name) => {
158
- if (!actionAddresses[name] && !otherAddresses[name]) return otherAddresses.Empty;
222
+ if (!actions && !other) throw new Error(`Cannot find address for chainId: ${_chainId}.`);
223
+ if (!actions[name] && !other[name]) throw new Error(`Cannot find address for name: ${name} (chainId: ${_chainId}).`);
159
224
 
160
- return actionAddresses[name] || otherAddresses[name];
225
+ return actions[name] || other[name];
161
226
  };
162
227
 
163
228
  module.exports = {
package/src/config.js ADDED
@@ -0,0 +1,83 @@
1
+ const Dec = require("decimal.js");
2
+ const dfsTokensSetConfig = require("@defisaver/tokens").set;
3
+
4
+ Dec.set({
5
+ rounding: Dec.ROUND_DOWN,
6
+ toExpPos: 9e15,
7
+ toExpNeg: -9e15,
8
+ precision: 100,
9
+ });
10
+
11
+ /**
12
+ *
13
+ * @type {Networks}
14
+ */
15
+ const NETWORKS = {
16
+ ethereum: {
17
+ chainId: 1,
18
+ chainName: 'Ethereum Mainnet',
19
+ blockExplorerUrls: ['https://etherscan.io/'],
20
+ iconUrls: [],
21
+ rpcUrls: [],
22
+ nativeCurrency: { name: 'Ethereum', decimals: 18, symbol: 'ETH' },
23
+ },
24
+ optimism: {
25
+ chainId: 10,
26
+ chainName: 'Optimism',
27
+ blockExplorerUrls: ['https://optimistic.etherscan.io/'],
28
+ iconUrls: ['https://gateway.optimism.io/favicon.ico'],
29
+ rpcUrls: ['https://mainnet.optimism.io'],
30
+ nativeCurrency: { name: 'Ethereum', decimals: 18, symbol: 'ETH' },
31
+ },
32
+ arbitrum: {
33
+ chainId: 42161,
34
+ chainName: 'Arbitrum One',
35
+ blockExplorerUrls: ['https://arbiscan.io/'],
36
+ iconUrls: ['https://bridge.arbitrum.io/logo.png'],
37
+ rpcUrls: ['https://arb1.arbitrum.io/rpc'],
38
+ nativeCurrency: { name: 'Ethereum', decimals: 18, symbol: 'ETH' },
39
+ },
40
+ };
41
+
42
+ /**
43
+ *
44
+ * @type {Config}
45
+ */
46
+ const CONFIG = {
47
+ chainId: NETWORKS.ethereum.chainId,
48
+ };
49
+
50
+ /**
51
+ *
52
+ * @param {chainId} chainId
53
+ * @returns {Network}
54
+ */
55
+ const getNetworkData = (chainId) => {
56
+ const networkData = Object.values(NETWORKS).find((network) => network.chainId === +chainId);
57
+
58
+ if (!networkData) throw new Error(`Cannot find network data for chainId: ${chainId}`);
59
+
60
+ return networkData;
61
+ }
62
+
63
+ /**
64
+ *
65
+ * @param {Config} config
66
+ */
67
+ const configure = (config) => {
68
+ if (!config || typeof config !== 'object') throw new Error('Object expected');
69
+
70
+ const newKeys = Object.keys(config);
71
+
72
+ newKeys.forEach((key) => {
73
+ CONFIG[key] = config[key]
74
+ if (key === 'chainId') dfsTokensSetConfig('network', config[key]);
75
+ });
76
+ };
77
+
78
+ module.exports = {
79
+ configure,
80
+ CONFIG,
81
+ NETWORKS,
82
+ getNetworkData,
83
+ }
@@ -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