@defisaver/sdk 1.0.67 → 1.0.69-dev-1

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 (47) hide show
  1. package/esm/src/actions/basic/ExecuteSafeTxAction.d.ts +23 -0
  2. package/esm/src/actions/basic/ExecuteSafeTxAction.js +60 -0
  3. package/esm/src/actions/basic/LimitSellAction.d.ts +24 -0
  4. package/esm/src/actions/basic/LimitSellAction.js +63 -0
  5. package/esm/src/actions/basic/RemoveTokenApprovalAction.d.ts +15 -0
  6. package/esm/src/actions/basic/RemoveTokenApprovalAction.js +42 -0
  7. package/esm/src/actions/basic/SellAction.js +1 -1
  8. package/esm/src/actions/basic/index.d.ts +3 -0
  9. package/esm/src/actions/basic/index.js +3 -0
  10. package/esm/src/actions/flashloan/FLAction.js +1 -1
  11. package/esm/src/actions/flashloan/FLPaybackAction.d.ts +14 -0
  12. package/esm/src/actions/flashloan/FLPaybackAction.js +16 -0
  13. package/esm/src/actions/flashloan/index.d.ts +1 -0
  14. package/esm/src/actions/flashloan/index.js +1 -0
  15. package/esm/src/actions/index.d.ts +2 -1
  16. package/esm/src/actions/index.js +2 -1
  17. package/esm/src/actions/merkl/MerklClaimAction.d.ts +19 -0
  18. package/esm/src/actions/merkl/MerklClaimAction.js +21 -0
  19. package/esm/src/actions/merkl/index.d.ts +1 -0
  20. package/esm/src/actions/merkl/index.js +1 -0
  21. package/esm/src/addresses.d.ts +19 -7
  22. package/esm/src/addresses.js +38 -22
  23. package/esm/src/index.d.ts +76 -28
  24. package/esm/src/triggers/CurveUsdHealthRatioTrigger.d.ts +10 -0
  25. package/esm/src/triggers/CurveUsdHealthRatioTrigger.js +12 -0
  26. package/esm/src/triggers/OffchainPriceTrigger.d.ts +10 -0
  27. package/esm/src/triggers/OffchainPriceTrigger.js +12 -0
  28. package/esm/src/triggers/index.d.ts +2 -0
  29. package/esm/src/triggers/index.js +2 -0
  30. package/package.json +1 -1
  31. package/src/actions/basic/ExecuteSafeTxAction.ts +85 -0
  32. package/src/actions/basic/LimitSellAction.ts +63 -0
  33. package/src/actions/basic/RemoveTokenApprovalAction.ts +39 -0
  34. package/src/actions/basic/SellAction.ts +2 -2
  35. package/src/actions/basic/index.ts +3 -0
  36. package/src/actions/flashloan/FLAction.ts +2 -2
  37. package/src/actions/flashloan/FLPaybackAction.ts +18 -0
  38. package/src/actions/flashloan/index.ts +2 -1
  39. package/src/actions/index.ts +2 -0
  40. package/src/actions/maker/MakerGiveAction.ts +1 -1
  41. package/src/actions/merkl/MerklClaimAction.ts +36 -0
  42. package/src/actions/merkl/index.ts +1 -0
  43. package/src/addresses.ts +39 -22
  44. package/src/triggers/CurveUsdHealthRatioTrigger.ts +14 -0
  45. package/src/triggers/OffchainPriceTrigger.ts +14 -0
  46. package/src/triggers/index.ts +2 -0
  47. package/umd/index.js +816 -510
@@ -0,0 +1,63 @@
1
+ import AbiCoder from 'web3-eth-abi';
2
+ import { getAssetInfoByAddress } from '@defisaver/tokens';
3
+ import ActionAbi from '../../abis/Action.json';
4
+ import { ActionWithL2 } from '../../ActionWithL2';
5
+ import { requireAddress } from '../../utils/general';
6
+ import { getAddr } from '../../addresses';
7
+ import { EthAddress, uint256 } from '../../types';
8
+
9
+ /**
10
+ * Limit sell action used as part of the LimitSell Strategy
11
+ *
12
+ * @category BasicActions
13
+ */
14
+ export class LimitSellAction extends ActionWithL2 {
15
+ protocolFee:string;
16
+
17
+ /**
18
+ * @param exchangeOrder Standard DFS Exchange data
19
+ * @param from Order sender
20
+ * @param to Order recipient
21
+ * @param gasUsed Amount of gas spent as part of the strategy
22
+ * @param protocolFee 0x fee (amount of ETH in Wei)
23
+ */
24
+ constructor(exchangeOrder:Array<any>, from:EthAddress, to:EthAddress, gasUsed: uint256, protocolFee = '0') {
25
+ requireAddress(to);
26
+ super(
27
+ 'LimitSell',
28
+ getAddr('LimitSell'),
29
+ [
30
+ ['address', 'address', 'uint256', 'uint256', 'uint256', 'uint256', 'address', 'address', 'bytes', ['address', 'address', 'address', 'uint256', 'uint256', 'bytes']],
31
+ 'address',
32
+ 'address',
33
+ 'uint256',
34
+ ],
35
+ [exchangeOrder, from, to, gasUsed],
36
+ );
37
+
38
+ this.protocolFee = protocolFee;
39
+
40
+ this.mappableArgs = [
41
+ this.args[0][0],
42
+ this.args[0][1],
43
+ this.args[0][2],
44
+ this.args[1],
45
+ this.args[2],
46
+ ];
47
+ }
48
+
49
+ encodeInputs() {
50
+ const executeActionDirectAbi: any = (ActionAbi.find(({ name }) => name === 'executeActionDirect'))!;
51
+ return AbiCoder.encodeFunctionCall(executeActionDirectAbi, this._encodeForCall());
52
+ }
53
+
54
+ async getAssetsToApprove() {
55
+ const asset = getAssetInfoByAddress(this.args[0][0]);
56
+ if (asset.symbol !== 'ETH') return [{ asset: this.args[0][0], owner: this.args[1] }];
57
+ return [];
58
+ }
59
+
60
+ async getEthValue() {
61
+ return this.protocolFee || '0';
62
+ }
63
+ }
@@ -0,0 +1,39 @@
1
+ import { requireAddress } from '../../utils/general';
2
+ import { Action } from '../../Action';
3
+ import { getAddr } from '../../addresses';
4
+ import { EthAddress, uint256 } from '../../types';
5
+
6
+ /**
7
+ * Remove approval for a spender to pull tokens from user wallet
8
+ *
9
+ * @category BasicActions
10
+ */
11
+ export class RemoveTokenApprovalAction extends Action {
12
+ /**
13
+ * @param token Token address
14
+ * @param spender Spender address
15
+ */
16
+ constructor(token:EthAddress, spender:EthAddress) {
17
+ requireAddress(spender);
18
+ super(
19
+ 'RemoveTokenApproval',
20
+ getAddr('RemoveTokenApproval'),
21
+ [
22
+ 'address',
23
+ 'address',
24
+ ],
25
+ [
26
+ token,
27
+ spender,
28
+ ],
29
+ );
30
+ this.mappableArgs = [
31
+ this.args[0],
32
+ this.args[1],
33
+ ];
34
+ }
35
+
36
+ async getAssetsToApprove() {
37
+ return [];
38
+ }
39
+ }
@@ -23,8 +23,8 @@ export class SellAction extends ActionWithL2 {
23
23
  constructor(exchangeOrder:Array<any>, from:EthAddress, to:EthAddress, protocolFee = '0') {
24
24
  requireAddress(to);
25
25
  super(
26
- 'DFSSell',
27
- getAddr('DFSSell'),
26
+ 'DFSSellTEMP',
27
+ getAddr('DFSSellTEMP'),
28
28
  [
29
29
  ['address', 'address', 'uint256', 'uint256', 'uint256', 'uint256', 'address', 'address', 'bytes', ['address', 'address', 'address', 'uint256', 'uint256', 'bytes']],
30
30
  'address',
@@ -24,3 +24,6 @@ export * from './TokenizedVaultAdapterDepositAction';
24
24
  export * from './TokenizedVaultAdapterMintAction';
25
25
  export * from './TokenizedVaultAdapterRedeemAction';
26
26
  export * from './TokenizedVaultAdapterWithdrawAction';
27
+ export * from './LimitSellAction';
28
+ export * from './ExecuteSafeTxAction';
29
+ export * from './RemoveTokenApprovalAction';
@@ -49,8 +49,8 @@ export class FLAction extends Action {
49
49
 
50
50
  constructor(specificFLAction: Action) {
51
51
  super(
52
- 'FLAction',
53
- getAddr('FLAction'),
52
+ 'FLActionTEMP',
53
+ getAddr('FLActionTEMP'),
54
54
  [],
55
55
  [],
56
56
  );
@@ -0,0 +1,18 @@
1
+ import { SendTokenAction } from '../basic';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, uint256 } from '../../types';
4
+
5
+ /**
6
+ * Generalized Flashloan Payback
7
+ *
8
+ * @category Flashloans
9
+ */
10
+ export class FLPaybackAction extends SendTokenAction {
11
+ /**
12
+ * @param loanAmount
13
+ * @param tokenAddr
14
+ */
15
+ constructor(loanAmount: uint256, tokenAddr: EthAddress) {
16
+ super(tokenAddr, getAddr('FLActionTEMP'), loanAmount);
17
+ }
18
+ }
@@ -21,4 +21,5 @@ export * from './UniV3FlashLoanPaybackAction';
21
21
  export * from './GhoFlashLoanAction';
22
22
  export * from './GhoFlashLoanPaybackAction';
23
23
  export * from './MorphoBlueFlashLoanAction';
24
- export * from './MorphoBlueFlashLoanPaybackAction';
24
+ export * from './MorphoBlueFlashLoanPaybackAction';
25
+ export * from './FLPaybackAction';
@@ -28,6 +28,7 @@ import * as curveusd from './curveusd';
28
28
  import * as spark from './spark';
29
29
  import * as morphoblue from './morpho-blue';
30
30
  import * as llamalend from './llamalend';
31
+ import * as merkl from './merkl';
31
32
 
32
33
  export {
33
34
  aave,
@@ -60,4 +61,5 @@ export {
60
61
  curveusd,
61
62
  morphoblue,
62
63
  llamalend,
64
+ merkl,
63
65
  };
@@ -25,4 +25,4 @@ export class MakerGiveAction extends Action {
25
25
  this.args[2],
26
26
  ];
27
27
  }
28
- }
28
+ }
@@ -0,0 +1,36 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, uint256, bytes32 } from '../../types';
4
+
5
+ /**
6
+ * MerklClaimAction - Claim Merkl rewards
7
+ *
8
+ * @category Merkl
9
+ */
10
+ export class MerklClaimAction extends Action {
11
+ /**
12
+ * @param users - Array filled with smart wallet addresses for each claim
13
+ * @param tokens - Token that is being claimed
14
+ * @param amounts - Amount that is being claimed
15
+ * @param proofs - Array of merkle proofs
16
+ * @param distinctTokens - Distinct tokens that are claimed inside one claim call
17
+ * @param amountsClaimedPerDistinctToken - Sum of amounts per distinct token being claimed
18
+ * @param to - Address which will receive claimed tokens
19
+ */
20
+ constructor(
21
+ users:Array<EthAddress>,
22
+ tokens:Array<EthAddress>,
23
+ amounts:Array<uint256>,
24
+ proofs:Array<Array<bytes32>>,
25
+ distinctTokens:Array<EthAddress>,
26
+ amountsClaimedPerDistinctToken:Array<uint256>,
27
+ to:EthAddress,
28
+ ) {
29
+ super(
30
+ 'MerklClaim',
31
+ getAddr('MerklClaim'),
32
+ ['address[]', 'address[]', 'uint256[]', 'bytes32[][]', 'address[]', 'uint256[]', 'address'],
33
+ [users, tokens, amounts, proofs, distinctTokens, amountsClaimedPerDistinctToken, to],
34
+ );
35
+ }
36
+ }
@@ -0,0 +1 @@
1
+ export * from './MerklClaimAction';
package/src/addresses.ts CHANGED
@@ -7,17 +7,17 @@ export const actionAddresses = {
7
7
  WrapEth: '0x8EbBd35f84D7f0DFCBEf08fD30CD09176133251A',
8
8
  UnwrapEth: '0xDB6C8cFDd7c1C0F8895CDBC01Dbf4A6D4B6d2a29',
9
9
  PullToken: '0x254cA89a00d53ab61de2Ba5641DBDC01aE48aed4',
10
- SendToken: '0x5612e490c9549486dF16b34EBfD0E8b6cF6a1717',
10
+ SendToken: '0x5c19aF6F5de91209c3bc2Ba447b1f5eb53c50759',
11
11
  SumInputs: '0x70907d840aBBc984Fd949311d2f005e6aC4a4D7a',
12
12
  SubInputs: '0xe1804b756188F63f723d2FECc02988D0Cc1aB823',
13
13
  ChangeProxyOwner: '0x81cA52CfE66421d0ceF82d5F33230e43b5F23D2B',
14
14
  TokenBalance: '0xa92B177950F1460119940436515FD857C24494BC',
15
15
  AutomationV2Unsub: '0xe35Fb12fE9796847751076aCf5ee7d124108612C',
16
- SendTokenAndUnwrap: '0xeecd376026335261c89faD40D89625391b1eFF6a',
16
+ SendTokenAndUnwrap: '0x4155537e6933E59a62deb68f6ad93d237d07242a',
17
17
  ToggleSub: '0x9A78E9d6538cfDbA0242Ca5eC46771E6132E8085',
18
18
  UpdateSub: '0xF6Cb8f7e61a64075ec8FAC3f298745605E543233',
19
19
  TransferNFT: '0x861e893E1796F81248e75F06C0b09Abdc8fe2f6F',
20
- CreateSub: '0x7308e88BB21B934478E75bB6A2143b8cfDFf2961',
20
+ CreateSub: '0xEB13C96257667cF0A037305A46092bf7C70A61e1',
21
21
  ApproveToken: '0xA4161cED7A29F0a3424e464a4a2dBf75888c5BF9',
22
22
  SDaiWrap: '0xac7Ac294F29d818D26Bd9DF86d36904B1Ed346Ae',
23
23
  SDaiUnwrap: '0xe8Cb536BB96075241c4bd8f1831A8577562F2B32',
@@ -25,6 +25,7 @@ export const actionAddresses = {
25
25
 
26
26
  // exchange
27
27
  DFSSell: '0x951D7B421f45FF0e4A8ddE0288aE3f9C2C69b784',
28
+ DFSSellTEMP: '0x8bfc99652358884AF965324e6A233014510F0CFc',
28
29
 
29
30
  // maker
30
31
  McdGenerate: '0xCb50a91C0f12f439b8bf11E9474B9c1ED62Bf7a3',
@@ -119,10 +120,11 @@ export const actionAddresses = {
119
120
  FLAaveV3CarryDebt: '0x7BdD8ACE8a48B7032Df68B7f53E0D6D9Ea9411A7',
120
121
  FLAaveV3: '0x5021d70aB7D757D61E0230c472ff89b8B2B8705e',
121
122
  FLDyDx: '0x08AC78B418fCB0DDF1096533856A757C28d430d7',
122
- FLMaker: '0x672DE08e36A1698fD5e9E34045F81558dB4c1AFE',
123
- FLBalancer: '0x540a83E36E5E6Aa916A6c591934d800e17115048',
123
+ FLMaker: '0x0f8C3368cADF78167F5355D746Ed7b2A826A6e3b',
124
+ FLBalancer: '0x93d333930c7f7260a1E6061B0a8C0CbdEC95F367',
124
125
  FLSpark: '0xe9Fe5a0f5e4B370Ae60d837da58744666D5C06F7',
125
- FLAction: '0x72915D41982DfCAf30b871290618E59C45Edba7F',
126
+ FLAction: '0xC2b92B6c69e5c3b6b29385C1a17FEe906e0CA910', // temp fixed
127
+ FLActionTEMP: '0xC2b92B6c69e5c3b6b29385C1a17FEe906e0CA910',
126
128
  FLUniV3: '0x9CAdAC8Be718572F82B672b950c53F0b58483A35',
127
129
  FLGho: '0xbb67b81dD080a406227A38965d0393f396ddECBc',
128
130
  FLMorphoBlue: '0x6206C96EAc5EAC546861438A9f953B6BEa50EBAB',
@@ -226,22 +228,22 @@ export const actionAddresses = {
226
228
  FetchBondId: '0xA3331A6aE1BC901b8136E6Fe622890B3Fa3dC80e',
227
229
  // CompV3
228
230
  CompV3Allow: '0xC4a80f22bf56E0dFa2CB378561B934F41E14bc9f',
229
- CompV3Borrow: '0x11e7b984299a771C92CD42A87358a32791A75CEA',
231
+ CompV3Borrow: '0xd3e87D6b69d09527624919d6d68868331Ae39Df6',
230
232
  CompV3Claim: '0x4CEa369B63daAc0dA3423c5038a57483c5150986',
231
- CompV3Payback: '0x6d14b9d69aADcb0d31a3e5d89fba75AB053fc9f0',
232
- CompV3Supply: '0xaF36Eca43bb26468078B8163fe5Bc1fCFc292095',
233
+ CompV3Payback: '0xC825e06333a1d0F72334d2D929Ef4D9eb928D691',
234
+ CompV3Supply: '0xcc073e12fE8d8035389954Bf2BF6C3AAcaDaDC39',
233
235
  CompV3Transfer: '0xeD7450e9C17146476137b77198DFfB17857906c4',
234
- CompV3Withdraw: '0x0b0F21EDE32DE4243D9145a899E97FC2366Aec46',
236
+ CompV3Withdraw: '0xf1406deC224750CEfA709e4bcA6a3a3f458F0f7B',
235
237
 
236
238
  // crvUSD
237
239
  CurveUsdBorrow: '0x2512A976227a82Ef0F6bDdb463cBcD5B732596BF',
238
240
  CurveUsdCreate: '0x715B40970dac1cfAf0bB85C4Fe64921b44b3f73e',
239
- CurveUsdPayback: '0xbcAd628159ab0f3d7F391dBb4c3553aFCD61CA80',
241
+ CurveUsdPayback: '0x3Aa0F8Ff9419Cd5f6e73F3274b8bF86965Cd282c',
240
242
  CurveUsdSupply: '0xa55B3CE5ae7E59002f53b2153ABe326823ccCDE2',
241
243
  CurveUsdAdjust: '0x6f69A7d0B1BE7602381d9cCE6B29F05B9D0b85e6',
242
244
  CurveUsdWithdraw: '0x54B8D984fc79B000D7B6F6E0f52CD054E965120f',
243
245
  CurveUsdLevCreate: '0xcbd9aFc2b7532b9eeB3A7EC4ea8Bb4320795d9Ad',
244
- CurveUsdRepay: '0xd12785e4834C1421fC7B64ca57d64E886e39b80F',
246
+ CurveUsdRepay: '0x6F91E8671d17ecEE3D3fb17DcCA87E86B8D83807',
245
247
  CurveUsdSwapper: '0xFA8c594b903651F97b27aCADEa83b720cfD7F80b',
246
248
  CurveUsdSelfLiquidate: '0xd90d8a4955DfE9D4f45F7f60595313B0925ee1da',
247
249
  CurveUsdSelfLiquidateWithColl: '0x7cE305FC2A18c6820a533AD418dC0A549aFeDcAF',
@@ -265,17 +267,22 @@ export const actionAddresses = {
265
267
  LlamaLendWithdraw: '0x2593Da3c4110C531541424e9e847cd7905894C52',
266
268
  LlamaLendPayback: '0x5b506b7a0117dbcd086632575da599bb603eb602',
267
269
  LlamaLendSelfLiquidate: '0xe4944e0e46177300fa4c351ef72b95b9655e8394',
270
+
271
+ MerklClaim: '0xE88036F3F0D7e216D63726356cA2bC334e305fe5',
268
272
  },
269
273
  [NETWORKS.optimism.chainId]: {
270
274
  DFSSell: '0xC6c601fcAa870efd26C624F8c65fbc54cBe533b1',
275
+ DFSSellTEMP: '0x01f7DB086076a16Cebd940A95919Af088C0662FD',
271
276
 
272
277
  // basic
273
278
  WrapEth: '0x6D735db054AC4a1F10f96b99f8550E9eefbC2AC5',
274
279
  UnwrapEth: '0x1Fa75B00A05C2EbBd0EDF253a63c209966337A0d',
275
- SendToken: '0xEbA499702856f1EFda2546e9fEFC1319A3b40538',
280
+ SendToken: '0xA9ae6D43C259697384AdAC38bA3c7b76Bff56408',
276
281
  PullToken: '0x392579E020a688068422A925c85f28bFD12a7EBB',
282
+ SumInputs: '0xd19C646Be027a7a04ea4201f116d43659b8b5f65',
283
+ SubInputs: '0x60d00020f12dd202eAfDba84e8F69E165a84c64D',
277
284
  ApproveToken: '0xA4161cED7A29F0a3424e464a4a2dBf75888c5BF9',
278
- SendTokenAndUnwrap: '0x8000174366066923D554cb466e190258A6FF3b1f',
285
+ SendTokenAndUnwrap: '0xd4f69250cb4d1f083Dd372FEace391A16ABbfBDc',
279
286
  ToggleSub: '0x988C5C24AE6348404196267e19962f36961CAc29',
280
287
  TokenBalance: '0xC6FF5b01f7c7b35b6e093fF70D2332B361C5Be5A',
281
288
  TokenizedVaultAdapter: '0xdf31669FEd440f5BfF658ca0bBF0D22B8abdeb73',
@@ -297,7 +304,8 @@ export const actionAddresses = {
297
304
  FLAaveV3NoFee: '0xfbcF23D2BeF8A2C491cfa4dD409D8dF12d431c85',
298
305
  FLAaveV3: '0x8A07E93d2B74A80D726eE4E4A0aC1F906aB5Cc63',
299
306
  FLBalancer: '0x79d6bf536b8DD65909a3174C87eA6395310d5c41',
300
- FLAction: '0xE668197A175E7A2143222a028470c6ABBBD183F6',
307
+ FLAction: '0x82d5eDeb005AfFbF381B5949C707a3305160F4A9', // temp fixed
308
+ FLActionTEMP: '0x82d5eDeb005AfFbF381B5949C707a3305160F4A9',
301
309
 
302
310
 
303
311
  AaveV3RatioTrigger: '0xB76e3f7694589D0f34ba43b17AD0D15350Ab5f85',
@@ -313,13 +321,16 @@ export const actionAddresses = {
313
321
  },
314
322
  [NETWORKS.arbitrum.chainId]: {
315
323
  DFSSell: '0x9109F34AB28D369cF894aF45C50E976B8E312a82',
324
+ DFSSellTEMP: '0xF940aE73cb01c81e657916D14e5699c73a22566c',
316
325
 
317
326
  // basic
318
327
  WrapEth: '0x35136b25bFA7CCC8f5b94E3181a16B61c06980F0',
319
328
  UnwrapEth: '0x2B69d494536098700910D167902D1d397dcA2B61',
320
- SendToken: '0xb022BaFfcEdc0ceA15aF6B2B744795A12D21F2a9',
329
+ SendToken: '0x57E4563D9fA4cbaA174ce7B918ccBb6A3F51665b',
321
330
  PullToken: '0xD8B3769f74bd9F196C3416a42a91E786948898e6',
322
- SendTokenAndUnwrap: '0x0fb867A5Ee1CA9426D3dAb95e613Be166218b977',
331
+ SumInputs: '0xc530f49c11e5946735df8bad41bc6a64d32b56bc',
332
+ SubInputs: '0x8ec14f9568e1d7cf73b68df899808abd7fe6fc8d',
333
+ SendTokenAndUnwrap: '0x009C5B1c7C844Bd662Da3991295b1B3Bd71a430c',
323
334
  ToggleSub: '0x71015226EADFd4aC887fB56556F64338e352439b',
324
335
  TokenBalance: '0x483B903E702F60698Dd8124558C6199922737f1F',
325
336
  TokenizedVaultAdapter: '0xD05C512bDFf6D3eAc5328807B3bC075F35271167',
@@ -348,7 +359,8 @@ export const actionAddresses = {
348
359
  FLAaveV3NoFee: '0x219ac6dA971dE6d943cffD1BD62abde71525d382',
349
360
  FLAaveV3: '0x53953aCEe438c083e4299F7976f03Ff3cb862161',
350
361
  FLBalancer: '0xdb28fE77709D88badC86868B27937428C3F48E73',
351
- FLAction: '0x1561EAF39c98d45C55C7dC605E627672F4406819',
362
+ FLAction: '0xab4AA2fcEA33205b44a556f8C48ceC3f21aFf0C3', // temp fixed
363
+ FLActionTEMP: '0xab4AA2fcEA33205b44a556f8C48ceC3f21aFf0C3',
352
364
 
353
365
  GasFeeTakerL2: '0x2F64f73B222B4978CAfd0295c0fa106cE5f34996',
354
366
  AaveV3RatioCheck: '0x4a5c2cbCFB921b596Dec049389899CC8Eb4678ED',
@@ -363,10 +375,13 @@ export const actionAddresses = {
363
375
  [NETWORKS.base.chainId]: {
364
376
  // Basic
365
377
  DFSSell: '0xCc0f04e8c34B670a1D06f4978C843952F690d3f4',
378
+ DFSSellTEMP: '0x76e5c4e10E36B2f7E8B7F8a570e8A485B86d0ac7',
366
379
  WrapEth: '0x491cc4AFbE0081C3464DeF1114ba27BE114b2401',
367
380
  UnwrapEth: '0xcF91546046F16B3c38b890CC508E280BEffa66b9',
368
381
  SendToken: '0x1420f4977E7B71AFddccBFc6F6e1505CefdF99F0',
369
382
  PullToken: '0x5B0B7E38C2a8e46CfAe13c360BC5927570BeEe94',
383
+ SumInputs: '0xC856ef8fe425B2EFe373e0e7038fAFF4a4f764fE',
384
+ SubInputs: '0xd244B1991Fcb8FC0f32FA55bce37714fc5929B95',
370
385
  TokenBalance: '0xc44bcE580B1b3339fE9272D3bC3d6566083ea59C',
371
386
  ChangeProxyOwner: '0x1947a44d3717a47556175d64fdc208619aa08874',
372
387
 
@@ -374,6 +389,8 @@ export const actionAddresses = {
374
389
  FLAaveV3: '0x79Eb9cEe432Cd3e7b09A9eFdB21A733A6d7b4c3A',
375
390
  FLBalancer: '0x862E533198C9656B75bB6A5dDF0953F7ED5E8507',
376
391
  FLUniV3: '0x1bA6082D2ef1aB92a55B96264c72Eb8049C964Ce',
392
+ FLAction: '0xAAbd4B0372240E319F9722c4Fd1e2FE0C8d422D2', // fix temp
393
+ FLActionTEMP: '0xAAbd4B0372240E319F9722c4Fd1e2FE0C8d422D2',
377
394
 
378
395
  // AaveV3
379
396
  AaveV3Withdraw: '0x1d2Fa7dAcC660A9124c3685EE8a6E699d10409Eb',
@@ -400,7 +417,7 @@ export const actionAddresses = {
400
417
 
401
418
  export const otherAddresses = {
402
419
  [NETWORKS.ethereum.chainId]: {
403
- RecipeExecutor: '0x1D6DEdb49AF91A11B5C5F34954FD3E8cC4f03A86',
420
+ RecipeExecutor: '0x5029336642814bC51a42bA80BF83a6322110035D',
404
421
  DFSRegistry: '0x287778F121F134C66212FB16c9b53eC991D32f5b',
405
422
  DFSProxyRegistry: '0x29474FdaC7142f9aB7773B8e38264FA15E3805ed',
406
423
  ProxyRegistry: '0x4678f0a6958e4D2Bc4F1BAF7Bc52E8F3564f3fE4',
@@ -420,7 +437,7 @@ export const otherAddresses = {
420
437
  Empty: '0x0000000000000000000000000000000000000000',
421
438
  },
422
439
  [NETWORKS.optimism.chainId]: {
423
- RecipeExecutor: '0x44FDe16DDCd7c02bE28de52CEc08997336051735',
440
+ RecipeExecutor: '0xA532771BD90dAf94b456A4acC9E9cbBdF1367572',
424
441
  DFSRegistry: '0xAf707Ee480204Ed6e2640B53cE86F680D28Afcbd',
425
442
  ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
426
443
 
@@ -432,7 +449,7 @@ export const otherAddresses = {
432
449
  UniswapV3PositionManager: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
433
450
  },
434
451
  [NETWORKS.arbitrum.chainId]: {
435
- RecipeExecutor: '0xe775c59e5662597bcE8aB4432C06380709554883',
452
+ RecipeExecutor: '0x4417bffFD5e3131069f62Fac07e40704EE234404',
436
453
  DFSRegistry: '0xBF1CaC12DB60819Bfa71A328282ecbc1D40443aA',
437
454
  ProxyRegistry: '0x283Cc5C26e53D66ed2Ea252D986F094B37E6e895',
438
455
 
@@ -444,7 +461,7 @@ export const otherAddresses = {
444
461
  UniswapV3PositionManager: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
445
462
  },
446
463
  [NETWORKS.base.chainId]: {
447
- RecipeExecutor: '0xdDFFd19564F9703800Da8a2FB9c2b4a7242bf01F',
464
+ RecipeExecutor: '0xd0Ae279e330f98C399375f80968C8bf860202766',
448
465
  DFSRegistry: '0x347FB634271F666353F23A3362f3935D96F97476',
449
466
  ProxyRegistry: '0x425fA97285965E01Cc5F951B62A51F6CDEA5cc0d',
450
467
 
@@ -0,0 +1,14 @@
1
+ import { Action } from '../Action';
2
+ import { getAddr } from '../addresses';
3
+ import { EthAddress, uint256 } from '../types';
4
+
5
+ /**
6
+ *
7
+ *
8
+ * @category Triggers
9
+ */
10
+ export class CurveUsdHealthRatioTrigger extends Action {
11
+ constructor(user:EthAddress, controller:EthAddress, ratio:uint256) {
12
+ super('CurveUsdHealthRatioTrigger', getAddr('CurveUsdHealthRatioTrigger'), [['address', 'address', 'uint256']], [[user, controller, ratio]]);
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ import { Action } from '../Action';
2
+ import { getAddr } from '../addresses';
3
+ import { uint256, uint8 } from '../types';
4
+
5
+ /**
6
+ *
7
+ *
8
+ * @category Triggers
9
+ */
10
+ export class OffchainPriceTrigger extends Action {
11
+ constructor(limitPrice:uint256, limitType: uint8) {
12
+ super('OffchainPriceTrigger', getAddr('OffchainPriceTrigger'), ['uint256', 'uint8'], [limitPrice, limitType]);
13
+ }
14
+ }
@@ -17,4 +17,6 @@ export * from './SparkRatioTrigger';
17
17
  export * from './SparkQuotePriceTrigger';
18
18
  export * from './LiquityDebtInFrontWithLimitTrigger';
19
19
  export * from './CurveUsdCollRatioTrigger';
20
+ export * from './CurveUsdHealthRatioTrigger';
20
21
  export * from './MorphoBlueRatioTrigger';
22
+ export * from './OffchainPriceTrigger';