@defisaver/sdk 1.3.26 → 1.3.27-midnight-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 (48) hide show
  1. package/esm/src/Action.js +23 -5
  2. package/esm/src/actions/aaveV3/AaveV3DelegateCredit.d.ts +1 -1
  3. package/esm/src/actions/aaveV3/AaveV3DelegateCredit.js +1 -1
  4. package/esm/src/actions/flashloan/AaveV3FlashLoanAction.d.ts +1 -1
  5. package/esm/src/actions/flashloan/AaveV3FlashLoanAction.js +1 -1
  6. package/esm/src/actions/flashloan/AaveV3FlashLoanCarryDebtAction.d.ts +4 -2
  7. package/esm/src/actions/flashloan/AaveV3FlashLoanCarryDebtAction.js +12 -6
  8. package/esm/src/actions/flashloan/AaveV3FlashLoanNoFeeAction.d.ts +1 -1
  9. package/esm/src/actions/flashloan/AaveV3FlashLoanNoFeeAction.js +1 -1
  10. package/esm/src/actions/index.d.ts +2 -1
  11. package/esm/src/actions/index.js +2 -1
  12. package/esm/src/actions/midnight/MidnightBorrowFromOrdersAction.d.ts +18 -0
  13. package/esm/src/actions/midnight/MidnightBorrowFromOrdersAction.js +28 -0
  14. package/esm/src/actions/midnight/MidnightPaybackDirectAction.d.ts +16 -0
  15. package/esm/src/actions/midnight/MidnightPaybackDirectAction.js +24 -0
  16. package/esm/src/actions/midnight/MidnightPaybackFromOrdersAction.d.ts +18 -0
  17. package/esm/src/actions/midnight/MidnightPaybackFromOrdersAction.js +28 -0
  18. package/esm/src/actions/midnight/MidnightSupplyCollateralAction.d.ts +17 -0
  19. package/esm/src/actions/midnight/MidnightSupplyCollateralAction.js +26 -0
  20. package/esm/src/actions/midnight/MidnightWithdrawCollateralAction.d.ts +17 -0
  21. package/esm/src/actions/midnight/MidnightWithdrawCollateralAction.js +26 -0
  22. package/esm/src/actions/midnight/index.d.ts +5 -0
  23. package/esm/src/actions/midnight/index.js +5 -0
  24. package/esm/src/actions/uniswap/index.d.ts +0 -1
  25. package/esm/src/actions/uniswap/index.js +0 -1
  26. package/esm/src/addresses.d.ts +44 -14
  27. package/esm/src/addresses.js +10 -13
  28. package/esm/src/index.d.ts +176 -56
  29. package/package.json +1 -1
  30. package/src/Action.ts +21 -5
  31. package/src/actions/aaveV3/AaveV3DelegateCredit.ts +1 -1
  32. package/src/actions/flashloan/AaveV3FlashLoanAction.ts +1 -1
  33. package/src/actions/flashloan/AaveV3FlashLoanCarryDebtAction.ts +13 -7
  34. package/src/actions/flashloan/AaveV3FlashLoanNoFeeAction.ts +1 -1
  35. package/src/actions/index.ts +2 -0
  36. package/src/actions/midnight/MidnightBorrowFromOrdersAction.ts +44 -0
  37. package/src/actions/midnight/MidnightPaybackDirectAction.ts +36 -0
  38. package/src/actions/midnight/MidnightPaybackFromOrdersAction.ts +44 -0
  39. package/src/actions/midnight/MidnightSupplyCollateralAction.ts +39 -0
  40. package/src/actions/midnight/MidnightWithdrawCollateralAction.ts +39 -0
  41. package/src/actions/midnight/index.ts +5 -0
  42. package/src/actions/uniswap/index.ts +1 -2
  43. package/src/addresses.ts +11 -13
  44. package/umd/index.js +898 -727
  45. package/esm/src/actions/uniswap/UniswapClaimAction.d.ts +0 -16
  46. package/esm/src/actions/uniswap/UniswapClaimAction.js +0 -23
  47. package/src/actions/uniswap/UniswapClaimAction.ts +0 -31
  48. package/test/actions/uniswap/UniswapClaimAction.js +0 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/sdk",
3
- "version": "1.3.26",
3
+ "version": "1.3.27-midnight-dev",
4
4
  "description": "",
5
5
  "main": "./umd/index.js",
6
6
  "module": "./esm/src/index.js",
package/src/Action.ts CHANGED
@@ -101,14 +101,30 @@ export class Action {
101
101
 
102
102
  _parseParamType(paramType:string | ParamTypes, arg:Args) {
103
103
  if (typeof (paramType) === 'string') {
104
- if (paramType.startsWith('(')) {
105
- let _paramType = paramType.replace('(', '');
106
- _paramType = _paramType.replace(')', '');
107
- return _paramType.split(',');
108
- }
109
104
  if (paramType.endsWith('[]')) {
110
105
  return Array.from(Array(arg.length).fill(paramType.replace('[]', '')));
111
106
  }
107
+ if (paramType.startsWith('(') || paramType.startsWith('tuple(')) {
108
+ const tupleStart = paramType.indexOf('(');
109
+ const tupleEnd = paramType.lastIndexOf(')');
110
+ const tupleContents = paramType.slice(tupleStart + 1, tupleEnd);
111
+ const tupleTypes = [];
112
+ let currentType = '';
113
+ let nestingDepth = 0;
114
+
115
+ for (const character of tupleContents) {
116
+ if (character === ',' && nestingDepth === 0) {
117
+ tupleTypes.push(currentType);
118
+ currentType = '';
119
+ } else {
120
+ currentType += character;
121
+ if (character === '(') nestingDepth += 1;
122
+ if (character === ')') nestingDepth -= 1;
123
+ }
124
+ }
125
+ tupleTypes.push(currentType);
126
+ return tupleTypes;
127
+ }
112
128
  }
113
129
  return paramType;
114
130
  }
@@ -16,7 +16,7 @@ export class AaveV3DelegateCredit extends ActionWithL2 {
16
16
  * @param amount Amount of tokens to be payed back
17
17
  * @param rateMode Type of borrow debt [Stable: 1, Variable: 2]
18
18
  * @param assetId The id of the token to be borrowed
19
- * @param delegatee The address of the delegatee to be credited
19
+ * @param delegatee The id of the underlying asset to be repaid
20
20
  */
21
21
  constructor(useOnDefaultMarket: boolean, market:EthAddress, amount:uint256, rateMode:uint8, assetId:uint16, delegatee:EthAddress) {
22
22
  super('AaveV3DelegateCredit', getAddr('Empty'),
@@ -12,8 +12,8 @@ export class AaveV3FlashLoanAction extends ActionWithL2 implements FlashLoanId {
12
12
  public flashLoanId = 5;
13
13
 
14
14
  /**
15
- * @param tokens
16
15
  * @param loanAmounts
16
+ * @param tokens
17
17
  * @param modes
18
18
  * @param loanPayer
19
19
  * @param flParamGetterAddr
@@ -9,21 +9,27 @@ import { EthAddress, uint256, bytes } from '../../types';
9
9
  */
10
10
  export class AaveV3FlashLoanCarryDebtAction extends ActionWithL2 {
11
11
  /**
12
- * @param tokens
13
12
  * @param loanAmounts
13
+ * @param tokens
14
+ * @param modes
15
+ * @param loanPayer
14
16
  * @param flParamGetterAddr
15
17
  * @param flParamGetterData
16
18
  */
17
- constructor(tokens:Array<EthAddress>, loanAmounts:Array<uint256>, flParamGetterAddr:EthAddress = getAddr('Empty'), flParamGetterData:bytes = []) {
18
- if (tokens.length !== loanAmounts.length) {
19
- throw new Error('Tokens and loan amounts must be of the same length');
20
- }
21
- const modes: Array<uint256> = Array(tokens.length).fill(2); // always use variable borrow rate
19
+ constructor(tokens:Array<EthAddress>, loanAmounts:Array<uint256>, modes:Array<uint256>, loanPayer:EthAddress, flParamGetterAddr:EthAddress = getAddr('Empty'), flParamGetterData:bytes = []) {
22
20
  super(
23
21
  'FLAaveV3CarryDebt',
24
22
  getAddr('FLAaveV3CarryDebt'),
25
23
  ['address[]', 'uint256[]', 'uint256[]', 'address', 'address', 'bytes', 'bytes'],
26
- [tokens, loanAmounts, modes, getAddr('Empty'), flParamGetterAddr, flParamGetterData, []],
24
+ [tokens, loanAmounts, modes, loanPayer, flParamGetterAddr, flParamGetterData, []],
27
25
  );
26
+ if (tokens.length !== modes.length || tokens.length !== loanAmounts.length) {
27
+ throw new Error('Arrays must be of the same length');
28
+ }
29
+ modes.forEach((mode) => {
30
+ if (mode.toString() !== '1' && mode.toString() !== '2') {
31
+ throw new Error('Invalid borrow mode set');
32
+ }
33
+ });
28
34
  }
29
35
  }
@@ -9,8 +9,8 @@ import { EthAddress, uint256, bytes } from '../../types';
9
9
  */
10
10
  export class AaveV3FlashLoanNoFeeAction extends ActionWithL2 {
11
11
  /**
12
- * @param tokens
13
12
  * @param loanAmounts
13
+ * @param tokens
14
14
  * @param modes
15
15
  * @param loanPayer
16
16
  * @param flParamGetterAddr
@@ -40,6 +40,7 @@ import * as fluid from './fluid';
40
40
  import * as pendle from './pendle';
41
41
  import * as umbrella from './umbrella';
42
42
  import * as aaveV4 from './aavev4';
43
+ import * as midnight from './midnight';
43
44
 
44
45
  export {
45
46
  aave,
@@ -84,4 +85,5 @@ export {
84
85
  pendle,
85
86
  umbrella,
86
87
  aaveV4,
88
+ midnight,
87
89
  };
@@ -0,0 +1,44 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, bytes32, uint256 } from '../../types';
4
+
5
+ const offerFillsParamType = 'tuple(tuple(tuple(uint256,address,address,tuple(address,uint256,uint256,address)[],uint256,uint256,address,address),bool,address,uint256,uint256,uint256,bytes32,address,bytes,address,address,bool,uint128,uint128,uint256),bytes,uint256)[]';
6
+
7
+ /**
8
+ * MidnightBorrowFromOrdersAction - Borrow from one or more Midnight offers.
9
+ *
10
+ * @category MidnightBorrowFromOrders
11
+ */
12
+ export class MidnightBorrowFromOrdersAction extends Action {
13
+ /**
14
+ * @param marketId Market id.
15
+ * @param onBehalf Address to borrow tokens on behalf of. Defaults to the user's wallet if not provided.
16
+ * @param to Address to send the borrowed tokens to.
17
+ * @param amount Amount of tokens to borrow.
18
+ * @param maxUnits Maximum number of units to take from the orders (slippage protection).
19
+ * @param offerFills Array of offer fills to borrow from.
20
+ */
21
+ constructor(
22
+ marketId: bytes32,
23
+ onBehalf: EthAddress,
24
+ to: EthAddress,
25
+ amount: uint256,
26
+ maxUnits: uint256,
27
+ offerFills: Array<any>,
28
+ ) {
29
+ super(
30
+ 'MidnightBorrowFromOrders',
31
+ getAddr('MidnightBorrowFromOrders'),
32
+ ['bytes32', 'address', 'address', 'uint256', 'uint256', offerFillsParamType],
33
+ [marketId, onBehalf, to, amount, maxUnits, offerFills],
34
+ );
35
+
36
+ this.mappableArgs = [
37
+ this.args[0],
38
+ this.args[1],
39
+ this.args[2],
40
+ this.args[3],
41
+ this.args[4],
42
+ ];
43
+ }
44
+ }
@@ -0,0 +1,36 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, bytes32, uint256 } from '../../types';
4
+
5
+ /**
6
+ * MidnightPaybackDirectAction - Payback a debt directly to the Midnight protocol.
7
+ *
8
+ * @category MidnightPaybackDirect
9
+ */
10
+ export class MidnightPaybackDirectAction extends Action {
11
+ /**
12
+ * @param marketId Market id.
13
+ * @param onBehalf Address to payback tokens on behalf of.
14
+ * @param from Address from which to pull the payback tokens.
15
+ * @param amount Amount of tokens to payback. Send type(uint).max to payback whole amount.
16
+ */
17
+ constructor(
18
+ marketId: bytes32,
19
+ onBehalf: EthAddress,
20
+ from: EthAddress,
21
+ amount: uint256,
22
+ ) {
23
+ super(
24
+ 'MidnightPaybackDirect',
25
+ getAddr('MidnightPaybackDirect'),
26
+ ['bytes32', 'address', 'address', 'uint256'],
27
+ [marketId, onBehalf, from, amount],
28
+ );
29
+ this.mappableArgs = [
30
+ this.args[0],
31
+ this.args[1],
32
+ this.args[2],
33
+ this.args[3],
34
+ ];
35
+ }
36
+ }
@@ -0,0 +1,44 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, bytes32, uint256 } from '../../types';
4
+
5
+ const offerFillsParamType = 'tuple(tuple(tuple(uint256,address,address,tuple(address,uint256,uint256,address)[],uint256,uint256,address,address),bool,address,uint256,uint256,uint256,bytes32,address,bytes,address,address,bool,uint128,uint128,uint256),bytes,uint256)[]';
6
+
7
+ /**
8
+ * MidnightPaybackFromOrdersAction - Pay back debt through one or more Midnight offers.
9
+ *
10
+ * @category MidnightPaybackFromOrders
11
+ */
12
+ export class MidnightPaybackFromOrdersAction extends Action {
13
+ /**
14
+ * @param marketId Market id.
15
+ * @param onBehalf Address whose debt is repaid. Defaults to the user's wallet if not provided.
16
+ * @param from Address from which to pull the payback tokens.
17
+ * @param amount Amount of tokens to spend. Send type(uint).max to pay back the whole debt.
18
+ * @param minUnits Minimum number of debt units to repay (slippage protection).
19
+ * @param offerFills Array of offer fills to pay back from.
20
+ */
21
+ constructor(
22
+ marketId: bytes32,
23
+ onBehalf: EthAddress,
24
+ from: EthAddress,
25
+ amount: uint256,
26
+ minUnits: uint256,
27
+ offerFills: Array<any>,
28
+ ) {
29
+ super(
30
+ 'MidnightPaybackFromOrders',
31
+ getAddr('MidnightPaybackFromOrders'),
32
+ ['bytes32', 'address', 'address', 'uint256', 'uint256', offerFillsParamType],
33
+ [marketId, onBehalf, from, amount, minUnits, offerFills],
34
+ );
35
+
36
+ this.mappableArgs = [
37
+ this.args[0],
38
+ this.args[1],
39
+ this.args[2],
40
+ this.args[3],
41
+ this.args[4],
42
+ ];
43
+ }
44
+ }
@@ -0,0 +1,39 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, bytes32, uint256 } from '../../types';
4
+
5
+ /**
6
+ * MidnightSupplyCollateralAction
7
+ *
8
+ * @category MidnightSupplyCollateral
9
+ */
10
+ export class MidnightSupplyCollateralAction extends Action {
11
+ /**
12
+ * @param marketId Market id.
13
+ * @param onBehalf Address to supply tokens on behalf of.
14
+ * @param from Address from which to pull collateral asset.
15
+ * @param amount Amount of tokens to supply.
16
+ * @param collateralIndex Collateral index (0-based).
17
+ */
18
+ constructor(
19
+ marketId: bytes32,
20
+ onBehalf: EthAddress,
21
+ from: EthAddress,
22
+ amount: uint256,
23
+ collateralIndex: uint256,
24
+ ) {
25
+ super(
26
+ 'MidnightSupplyCollateral',
27
+ getAddr('MidnightSupplyCollateral'),
28
+ ['bytes32', 'address', 'address', 'uint256', 'uint256'],
29
+ [marketId, onBehalf, from, amount, collateralIndex],
30
+ );
31
+ this.mappableArgs = [
32
+ this.args[0],
33
+ this.args[1],
34
+ this.args[2],
35
+ this.args[3],
36
+ this.args[4],
37
+ ];
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, bytes32, uint256 } from '../../types';
4
+
5
+ /**
6
+ * MidnightWithdrawCollateralAction
7
+ *
8
+ * @category MidnightWithdrawCollateral
9
+ */
10
+ export class MidnightWithdrawCollateralAction extends Action {
11
+ /**
12
+ * @param marketId Market id.
13
+ * @param onBehalf Address to withdraw tokens on behalf of.
14
+ * @param to Address that will receive the withdrawn tokens.
15
+ * @param amount Amount of tokens to withdraw. Send type(uint).max to withdraw whole amount.
16
+ * @param collateralIndex Collateral index (0-based).
17
+ */
18
+ constructor(
19
+ marketId: bytes32,
20
+ onBehalf: EthAddress,
21
+ to: EthAddress,
22
+ amount: uint256,
23
+ collateralIndex: uint256,
24
+ ) {
25
+ super(
26
+ 'MidnightWithdrawCollateral',
27
+ getAddr('MidnightWithdrawCollateral'),
28
+ ['bytes32', 'address', 'address', 'uint256', 'uint256'],
29
+ [marketId, onBehalf, to, amount, collateralIndex],
30
+ );
31
+ this.mappableArgs = [
32
+ this.args[0],
33
+ this.args[1],
34
+ this.args[2],
35
+ this.args[3],
36
+ this.args[4],
37
+ ];
38
+ }
39
+ }
@@ -0,0 +1,5 @@
1
+ export * from './MidnightSupplyCollateralAction';
2
+ export * from './MidnightWithdrawCollateralAction';
3
+ export * from './MidnightPaybackDirectAction';
4
+ export * from './MidnightBorrowFromOrdersAction';
5
+ export * from './MidnightPaybackFromOrdersAction';
@@ -1,3 +1,2 @@
1
1
  export * from './UniswapSupplyAction';
2
- export * from './UniswapWithdrawAction';
3
- export * from './UniswapClaimAction';
2
+ export * from './UniswapWithdrawAction';
package/src/addresses.ts CHANGED
@@ -95,7 +95,6 @@ export const actionAddresses = {
95
95
  AaveV3ATokenPayback: '0xDe5c012cd1878D86E91309593764895a3adb380E',
96
96
  AaveV3View: '0x0CB0170F3413e54405F64d3C23BA3A1D8Bb96D99',
97
97
  AaveV3DelegateWithSig: '0x9253E22Ce4f0AeE541301CF8cC29843f9083a1F4',
98
- AaveV3DelegateCredit: '0xa7ab39edCb0a1b742DCd908EC6CFe178d8322580',
99
98
  GhoClaimAAVE: '0xA53060d822cB31AFd5B26D899130a14E8Efc5917',
100
99
  GhoUnstake: '0x3fD02e65B4fb12381946D03815Ff3FF8Ebe2fC63',
101
100
  GhoStake: '0x6cfBFd04702f3b7d4fc52D457eDf91D6E4A081bb',
@@ -148,7 +147,7 @@ export const actionAddresses = {
148
147
  // flashloan
149
148
  FLAaveV2: '0xEA55576383C96A69B3E8beD51Ce0d0294001bc5F',
150
149
  FLAaveV3NoFee: '0xd9D8e68717Ce24CCbf162868aaad7E38d81b05d1',
151
- FLAaveV3CarryDebt: '0x8225D3833D88BD1420E7d25e69A00F1A27aB9143',
150
+ FLAaveV3CarryDebt: '0x7BdD8ACE8a48B7032Df68B7f53E0D6D9Ea9411A7',
152
151
  FLAaveV3: '0x5021d70aB7D757D61E0230c472ff89b8B2B8705e',
153
152
  FLDyDx: '0x08AC78B418fCB0DDF1096533856A757C28d430d7',
154
153
  FLMaker: '0x0f8C3368cADF78167F5355D746Ed7b2A826A6e3b',
@@ -162,7 +161,6 @@ export const actionAddresses = {
162
161
  // uniswap
163
162
  UniSupply: '0x9935e12F0218E61c27D7f23eAC9A9D6881a078eC',
164
163
  UniWithdraw: '0xf8bb8F68b0A45DC315F3f7602a60cfb274B00951',
165
- UniswapClaim: '0x4Eed50e142BFaE83b2d05ce960C55F4c536d123f',
166
164
 
167
165
  // uniswap V3
168
166
  UniCollectV3: '0x331D7C3F6E710cB6cFE94c4Aa04AC3345AC00e00',
@@ -440,14 +438,13 @@ export const actionAddresses = {
440
438
  AaveV3Withdraw: '0xf19d045f6cFc04A5Ee5E0e8837b565b9f276e3F7',
441
439
  AaveV3ClaimRewards: '0xBE8e8cea67085F869C1C0040fD52F9F3115E962e',
442
440
  AaveV3DelegateWithSig: '0x8dd05d32fB05E8c3e8F37294e6f2d13e5823a712',
443
- AaveV3DelegateCredit: '0x11E7B19195a76D2E5A4863cf6cbE8030443c729A',
441
+ AaveV3DelegateCredit: '0x0000000000000000000000000000000000000000',
444
442
 
445
443
  // flashloan
446
444
  FLAaveV3NoFee: '0xfbcF23D2BeF8A2C491cfa4dD409D8dF12d431c85',
447
445
  FLAaveV3: '0x8A07E93d2B74A80D726eE4E4A0aC1F906aB5Cc63',
448
446
  FLBalancer: '0x79d6bf536b8DD65909a3174C87eA6395310d5c41',
449
447
  FLAction: '0xB57b666dAB46229e2b80113b5187F6DCD91AB159',
450
- FLAaveV3CarryDebt: '0x4ab7a392aF23215A9049A64F3B2d44726aD2D6fe',
451
448
 
452
449
  AaveV3RatioTrigger: '0xB76e3f7694589D0f34ba43b17AD0D15350Ab5f85',
453
450
  GasFeeTakerL2: '0xB3dB299622A9DB0E944ccda2Ef899d6fF365B082',
@@ -511,7 +508,6 @@ export const actionAddresses = {
511
508
  AaveV3Withdraw: '0xbf492F869DdB1A18BB4F41b6c3059D9f882Fe7ff',
512
509
  AaveV3ClaimRewards: '0x3a4d72Ed2a47a409a82ba61f0fca1C749Ea8aB66',
513
510
  AaveV3DelegateWithSig: '0xFF2CE05250d1880f0f45ea8fB453292CABA42F12',
514
- AaveV3DelegateCredit: '0x8C13353e3DA67d3171D6F73751E3caa791a3AACD',
515
511
 
516
512
  // CompV3
517
513
  CompV3Allow: '0x0380E8e13CdE0499c720999930CaA07A5744887c',
@@ -529,7 +525,6 @@ export const actionAddresses = {
529
525
  FLUniV3: '0xf041C72e201CD7d04a240fe06c5783E2Ee2D92b3', // @DEV - incorrect, same as FLAction
530
526
  FLAction: '0xf041C72e201CD7d04a240fe06c5783E2Ee2D92b3',
531
527
  FLMorphoBlue: '0xf041C72e201CD7d04a240fe06c5783E2Ee2D92b3',
532
- FLAaveV3CarryDebt: '0xEc6Db90d9EFa7cD75d5b716896A497e9d9103D5b',
533
528
 
534
529
  GasFeeTakerL2: '0x2F64f73B222B4978CAfd0295c0fa106cE5f34996',
535
530
  AaveV3RatioCheck: '0x4a5c2cbCFB921b596Dec049389899CC8Eb4678ED',
@@ -621,7 +616,6 @@ export const actionAddresses = {
621
616
  FLUniV3: '0x1bA6082D2ef1aB92a55B96264c72Eb8049C964Ce',
622
617
  FLAction: '0x87Af4769e4134379125A262408e1f3EC60d2Ab52', // fix temp
623
618
  FLMorphoBlue: '0x87Af4769e4134379125A262408e1f3EC60d2Ab52',
624
- FLAaveV3CarryDebt: '0x760e97862DD8652e5BB8b4D8ad9C99a74BBe7E7A',
625
619
 
626
620
  // AaveV3
627
621
  AaveV3Withdraw: '0x1d2Fa7dAcC660A9124c3685EE8a6E699d10409Eb',
@@ -636,7 +630,6 @@ export const actionAddresses = {
636
630
  AaveV3ATokenPayback: '0x3D57875885e3cEe9E56Cb65D21789893B6e67815',
637
631
  AaveV3View: '0xf140B2904beb743C2f17e0b5f766074212a7e243',
638
632
  AaveV3DelegateWithSig: '0x9e295AFaC75E7843b88a563D119FD953EDf441c2',
639
- AaveV3DelegateCredit: '0xF85aD63c513A76a1dc05B2AddC4777F17336c7e9',
640
633
 
641
634
  // CompV3
642
635
  CompV3Allow: '0x3Fe56B85BBcD759459408Bd8434c37bac93e26bF',
@@ -684,6 +677,13 @@ export const actionAddresses = {
684
677
  SFApproveTokens: '0x03EDC9A683f37BFB7516FF234223fFb6E38D5eb9',
685
678
  SummerfiUnsub: '0x0000000000000000000000000000000000000000', // Only exists for Maker on Mainnet
686
679
  SummerfiUnsubV2: '0x60587B8Fe62Fc149d285a611822263206b4138da',
680
+
681
+ MidnightPaybackDirect: '0xC1B049A038f9E9811dc1Ad1D335369844d4268D9',
682
+ MidnightBorrowFromOrders: '0x82F9dd7eA821463178A2c7bC4047057Bd338E5e5',
683
+ MidnightPaybackFromOrders: '0x4B0c242195B1C941A2e7a871Bfa242c40dbf032F',
684
+ MidnightSupplyCollateral: '0xC83C7Ca37203FC30636EDcd3Ef127194542504c5',
685
+ MidnightWithdrawCollateral: '0x4fA4DA5fDD813279409B4Bf0Bde5Fe9ca8006A9C',
686
+ MidnightView: '0x3aa272f329E8B562A3bA56Bb6979a44D23A28839',
687
687
  },
688
688
  [NETWORKS.linea.chainId]: {
689
689
  // Basic
@@ -707,7 +707,6 @@ export const actionAddresses = {
707
707
  // Flashloan
708
708
  FLAction: '0x04ce4b2a9F524d976a8eD8a49B9313C5a2C3ccAD', // fix temp
709
709
  FLAaveV3: '0x04ce4b2a9F524d976a8eD8a49B9313C5a2C3ccAD',
710
- FLAaveV3CarryDebt: '0x862E533198C9656B75bB6A5dDF0953F7ED5E8507',
711
710
 
712
711
  // AaveV3
713
712
  AaveV3Withdraw: '0xae56474aBe3C271579b513b6668864e39f65Ae15',
@@ -720,7 +719,7 @@ export const actionAddresses = {
720
719
  AaveV3ATokenPayback: '0xedfc68e2874b0afc0963e18ae4d68522aec7f97d',
721
720
  AaveV3View: '0xc9d6efa6e08b66a5cdc516bcd5807c2fa69e0f2a',
722
721
  AaveV3DelegateWithSig: '0x169D6E128238ebabF86032Ae9da65938eaD7F69e',
723
- AaveV3DelegateCredit: '0x1bA6082D2ef1aB92a55B96264c72Eb8049C964Ce',
722
+ AaveV3DelegateCredit: '0x2A588cBCBd5e6c6ba7ED0E260B8107F599017DDE',
724
723
  },
725
724
  [NETWORKS.plasma.chainId]: {
726
725
  // Basic
@@ -744,7 +743,6 @@ export const actionAddresses = {
744
743
  // Flashloan
745
744
  FLAction: '0x40C9ce603923AACD0b7407Ff0EE844c9C067cEB7', // fix temp
746
745
  FLAaveV3: '0x40C9ce603923AACD0b7407Ff0EE844c9C067cEB7',
747
- FLAaveV3CarryDebt: '0x6Dc6C0e38fBd066b89Ba7E6f711B4288246891b3',
748
746
 
749
747
  // AaveV3
750
748
  AaveV3Withdraw: '0x4839d021A24820e57C31D386d430e2e82694F73B',
@@ -757,7 +755,7 @@ export const actionAddresses = {
757
755
  AaveV3ATokenPayback: '0x425fA97285965E01Cc5F951B62A51F6CDEA5cc0d',
758
756
  AaveV3View: '0xD8E67968d8a0df4beCf2D50daE1e34d4d80C701C',
759
757
  AaveV3DelegateWithSig: '0x49658E0CF3883c338397C7257619B280dF581057',
760
- AaveV3DelegateCredit: '0x6F53fa9e7d1323d24515a51AB72Da3cf1E9883Bc',
758
+ AaveV3DelegateCredit: '0x0a9b2080C14DaF008AE87C977dFDf5f5D6D0937F',
761
759
 
762
760
  // Fluid
763
761
  FluidVaultT1Open: '0x491cc4AFbE0081C3464DeF1114ba27BE114b2401',