@defisaver/sdk 1.3.27-midnight-dev → 1.3.28-audit-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 +5 -23
  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 +2 -4
  7. package/esm/src/actions/flashloan/AaveV3FlashLoanCarryDebtAction.js +6 -12
  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 +1 -2
  11. package/esm/src/actions/index.js +1 -2
  12. package/esm/src/actions/uniswap/UniswapClaimAction.d.ts +16 -0
  13. package/esm/src/actions/uniswap/UniswapClaimAction.js +23 -0
  14. package/esm/src/actions/uniswap/index.d.ts +1 -0
  15. package/esm/src/actions/uniswap/index.js +1 -0
  16. package/esm/src/addresses.d.ts +14 -44
  17. package/esm/src/addresses.js +13 -10
  18. package/esm/src/index.d.ts +56 -176
  19. package/package.json +30 -4
  20. package/src/Action.ts +5 -21
  21. package/src/actions/aaveV3/AaveV3DelegateCredit.ts +1 -1
  22. package/src/actions/flashloan/AaveV3FlashLoanAction.ts +1 -1
  23. package/src/actions/flashloan/AaveV3FlashLoanCarryDebtAction.ts +7 -13
  24. package/src/actions/flashloan/AaveV3FlashLoanNoFeeAction.ts +1 -1
  25. package/src/actions/index.ts +0 -2
  26. package/src/actions/uniswap/UniswapClaimAction.ts +31 -0
  27. package/src/actions/uniswap/index.ts +2 -1
  28. package/src/addresses.ts +13 -11
  29. package/test/actions/uniswap/UniswapClaimAction.js +31 -0
  30. package/umd/index.js +1219 -1397
  31. package/esm/src/actions/midnight/MidnightBorrowFromOrdersAction.d.ts +0 -18
  32. package/esm/src/actions/midnight/MidnightBorrowFromOrdersAction.js +0 -28
  33. package/esm/src/actions/midnight/MidnightPaybackDirectAction.d.ts +0 -16
  34. package/esm/src/actions/midnight/MidnightPaybackDirectAction.js +0 -24
  35. package/esm/src/actions/midnight/MidnightPaybackFromOrdersAction.d.ts +0 -18
  36. package/esm/src/actions/midnight/MidnightPaybackFromOrdersAction.js +0 -28
  37. package/esm/src/actions/midnight/MidnightSupplyCollateralAction.d.ts +0 -17
  38. package/esm/src/actions/midnight/MidnightSupplyCollateralAction.js +0 -26
  39. package/esm/src/actions/midnight/MidnightWithdrawCollateralAction.d.ts +0 -17
  40. package/esm/src/actions/midnight/MidnightWithdrawCollateralAction.js +0 -26
  41. package/esm/src/actions/midnight/index.d.ts +0 -5
  42. package/esm/src/actions/midnight/index.js +0 -5
  43. package/src/actions/midnight/MidnightBorrowFromOrdersAction.ts +0 -44
  44. package/src/actions/midnight/MidnightPaybackDirectAction.ts +0 -36
  45. package/src/actions/midnight/MidnightPaybackFromOrdersAction.ts +0 -44
  46. package/src/actions/midnight/MidnightSupplyCollateralAction.ts +0 -39
  47. package/src/actions/midnight/MidnightWithdrawCollateralAction.ts +0 -39
  48. package/src/actions/midnight/index.ts +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/sdk",
3
- "version": "1.3.27-midnight-dev",
3
+ "version": "1.3.28-audit-dev",
4
4
  "description": "",
5
5
  "main": "./umd/index.js",
6
6
  "module": "./esm/src/index.js",
@@ -21,13 +21,39 @@
21
21
  "author": "DeFi Saver",
22
22
  "repository": "https://github.com/DecenterApps/defisaver-sdk",
23
23
  "license": "ISC",
24
+ "overrides": {
25
+ "tar": "^7.5.21",
26
+ "ws": "^8.18.3",
27
+ "form-data": "^4.0.4",
28
+ "tough-cookie": "^4.1.3",
29
+ "qs": "^6.14.0",
30
+ "serialize-javascript": "^7.1.0",
31
+ "eslint": {
32
+ "minimatch": "^3.1.5"
33
+ },
34
+ "@eslint/eslintrc": {
35
+ "minimatch": "^3.1.5"
36
+ },
37
+ "@humanwhocodes/config-array": {
38
+ "minimatch": "^3.1.5"
39
+ },
40
+ "eslint-plugin-import": {
41
+ "minimatch": "^3.1.5"
42
+ },
43
+ "eslint-plugin-jsx-a11y": {
44
+ "minimatch": "^3.1.5"
45
+ },
46
+ "eslint-plugin-react": {
47
+ "minimatch": "^3.1.5"
48
+ }
49
+ },
24
50
  "dependencies": {
25
51
  "@defisaver/eslint-config": "^1.0.0",
26
52
  "@defisaver/tokens": "^1.7.9",
27
53
  "@ethersproject/address": "^5.0.10",
28
54
  "@ethersproject/solidity": "^5.0.9",
29
55
  "@types/web3-eth-abi": "^1.2.2",
30
- "axios": "^0.21.1",
56
+ "axios": "^1.19.0",
31
57
  "decimal.js": "^10.2.1",
32
58
  "web3": "^1.10.1",
33
59
  "web3-eth-abi": "^1.8.0",
@@ -46,8 +72,8 @@
46
72
  "chai": "^4.2.0",
47
73
  "dotenv": "^10.0.0",
48
74
  "eslint": "^8.57.0",
49
- "jsdoc-to-markdown": "^6.0.1",
50
- "mocha": "^8.4.0",
75
+ "jsdoc-to-markdown": "^9.1.3",
76
+ "mocha": "^11.8.0",
51
77
  "ts-node": "^10.9.1",
52
78
  "typedoc": "^0.23.20",
53
79
  "typedoc-plugin-markdown": "^3.13.6",
package/src/Action.ts CHANGED
@@ -101,30 +101,14 @@ 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
+ }
104
109
  if (paramType.endsWith('[]')) {
105
110
  return Array.from(Array(arg.length).fill(paramType.replace('[]', '')));
106
111
  }
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
- }
128
112
  }
129
113
  return paramType;
130
114
  }
@@ -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 id of the underlying asset to be repaid
19
+ * @param delegatee The address of the delegatee to be credited
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 loanAmounts
16
15
  * @param tokens
16
+ * @param loanAmounts
17
17
  * @param modes
18
18
  * @param loanPayer
19
19
  * @param flParamGetterAddr
@@ -9,27 +9,21 @@ import { EthAddress, uint256, bytes } from '../../types';
9
9
  */
10
10
  export class AaveV3FlashLoanCarryDebtAction extends ActionWithL2 {
11
11
  /**
12
- * @param loanAmounts
13
12
  * @param tokens
14
- * @param modes
15
- * @param loanPayer
13
+ * @param loanAmounts
16
14
  * @param flParamGetterAddr
17
15
  * @param flParamGetterData
18
16
  */
19
- constructor(tokens:Array<EthAddress>, loanAmounts:Array<uint256>, modes:Array<uint256>, loanPayer:EthAddress, flParamGetterAddr:EthAddress = getAddr('Empty'), flParamGetterData:bytes = []) {
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
20
22
  super(
21
23
  'FLAaveV3CarryDebt',
22
24
  getAddr('FLAaveV3CarryDebt'),
23
25
  ['address[]', 'uint256[]', 'uint256[]', 'address', 'address', 'bytes', 'bytes'],
24
- [tokens, loanAmounts, modes, loanPayer, flParamGetterAddr, flParamGetterData, []],
26
+ [tokens, loanAmounts, modes, getAddr('Empty'), flParamGetterAddr, flParamGetterData, []],
25
27
  );
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
- });
34
28
  }
35
29
  }
@@ -9,8 +9,8 @@ import { EthAddress, uint256, bytes } from '../../types';
9
9
  */
10
10
  export class AaveV3FlashLoanNoFeeAction extends ActionWithL2 {
11
11
  /**
12
- * @param loanAmounts
13
12
  * @param tokens
13
+ * @param loanAmounts
14
14
  * @param modes
15
15
  * @param loanPayer
16
16
  * @param flParamGetterAddr
@@ -40,7 +40,6 @@ 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';
44
43
 
45
44
  export {
46
45
  aave,
@@ -85,5 +84,4 @@ export {
85
84
  pendle,
86
85
  umbrella,
87
86
  aaveV4,
88
- midnight,
89
87
  };
@@ -0,0 +1,31 @@
1
+ import { Action } from '../../Action';
2
+ import { getAddr } from '../../addresses';
3
+ import { EthAddress, uint256, bytes32 } from '../../types';
4
+
5
+ /**
6
+ * UniswapClaimAction - Claims UNI tokens from the Uniswap merkle distributor
7
+ *
8
+ * @category Uniswap
9
+ */
10
+ export class UniswapClaimAction extends Action {
11
+ /**
12
+ * @param index - Index of the claim in the merkle tree
13
+ * @param to - Address where to send the claimed UNI
14
+ * @param amount - Amount of UNI allocated to the smart wallet in the merkle tree
15
+ * @param merkleProof - Merkle proof of the claim
16
+ */
17
+ constructor(index: uint256, to: EthAddress, amount: uint256, merkleProof: Array<bytes32>) {
18
+ super(
19
+ 'UniswapClaim',
20
+ getAddr('UniswapClaim'),
21
+ ['uint256', 'address', 'uint256', 'bytes32[]'],
22
+ [index, to, amount, merkleProof],
23
+ );
24
+
25
+ this.mappableArgs = [
26
+ this.args[0],
27
+ this.args[1],
28
+ this.args[2],
29
+ ];
30
+ }
31
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './UniswapSupplyAction';
2
- export * from './UniswapWithdrawAction';
2
+ export * from './UniswapWithdrawAction';
3
+ export * from './UniswapClaimAction';
package/src/addresses.ts CHANGED
@@ -95,6 +95,7 @@ export const actionAddresses = {
95
95
  AaveV3ATokenPayback: '0xDe5c012cd1878D86E91309593764895a3adb380E',
96
96
  AaveV3View: '0x0CB0170F3413e54405F64d3C23BA3A1D8Bb96D99',
97
97
  AaveV3DelegateWithSig: '0x9253E22Ce4f0AeE541301CF8cC29843f9083a1F4',
98
+ AaveV3DelegateCredit: '0xa7ab39edCb0a1b742DCd908EC6CFe178d8322580',
98
99
  GhoClaimAAVE: '0xA53060d822cB31AFd5B26D899130a14E8Efc5917',
99
100
  GhoUnstake: '0x3fD02e65B4fb12381946D03815Ff3FF8Ebe2fC63',
100
101
  GhoStake: '0x6cfBFd04702f3b7d4fc52D457eDf91D6E4A081bb',
@@ -147,7 +148,7 @@ export const actionAddresses = {
147
148
  // flashloan
148
149
  FLAaveV2: '0xEA55576383C96A69B3E8beD51Ce0d0294001bc5F',
149
150
  FLAaveV3NoFee: '0xd9D8e68717Ce24CCbf162868aaad7E38d81b05d1',
150
- FLAaveV3CarryDebt: '0x7BdD8ACE8a48B7032Df68B7f53E0D6D9Ea9411A7',
151
+ FLAaveV3CarryDebt: '0x8225D3833D88BD1420E7d25e69A00F1A27aB9143',
151
152
  FLAaveV3: '0x5021d70aB7D757D61E0230c472ff89b8B2B8705e',
152
153
  FLDyDx: '0x08AC78B418fCB0DDF1096533856A757C28d430d7',
153
154
  FLMaker: '0x0f8C3368cADF78167F5355D746Ed7b2A826A6e3b',
@@ -161,6 +162,7 @@ export const actionAddresses = {
161
162
  // uniswap
162
163
  UniSupply: '0x9935e12F0218E61c27D7f23eAC9A9D6881a078eC',
163
164
  UniWithdraw: '0xf8bb8F68b0A45DC315F3f7602a60cfb274B00951',
165
+ UniswapClaim: '0x4Eed50e142BFaE83b2d05ce960C55F4c536d123f',
164
166
 
165
167
  // uniswap V3
166
168
  UniCollectV3: '0x331D7C3F6E710cB6cFE94c4Aa04AC3345AC00e00',
@@ -438,13 +440,14 @@ export const actionAddresses = {
438
440
  AaveV3Withdraw: '0xf19d045f6cFc04A5Ee5E0e8837b565b9f276e3F7',
439
441
  AaveV3ClaimRewards: '0xBE8e8cea67085F869C1C0040fD52F9F3115E962e',
440
442
  AaveV3DelegateWithSig: '0x8dd05d32fB05E8c3e8F37294e6f2d13e5823a712',
441
- AaveV3DelegateCredit: '0x0000000000000000000000000000000000000000',
443
+ AaveV3DelegateCredit: '0x11E7B19195a76D2E5A4863cf6cbE8030443c729A',
442
444
 
443
445
  // flashloan
444
446
  FLAaveV3NoFee: '0xfbcF23D2BeF8A2C491cfa4dD409D8dF12d431c85',
445
447
  FLAaveV3: '0x8A07E93d2B74A80D726eE4E4A0aC1F906aB5Cc63',
446
448
  FLBalancer: '0x79d6bf536b8DD65909a3174C87eA6395310d5c41',
447
449
  FLAction: '0xB57b666dAB46229e2b80113b5187F6DCD91AB159',
450
+ FLAaveV3CarryDebt: '0x4ab7a392aF23215A9049A64F3B2d44726aD2D6fe',
448
451
 
449
452
  AaveV3RatioTrigger: '0xB76e3f7694589D0f34ba43b17AD0D15350Ab5f85',
450
453
  GasFeeTakerL2: '0xB3dB299622A9DB0E944ccda2Ef899d6fF365B082',
@@ -508,6 +511,7 @@ export const actionAddresses = {
508
511
  AaveV3Withdraw: '0xbf492F869DdB1A18BB4F41b6c3059D9f882Fe7ff',
509
512
  AaveV3ClaimRewards: '0x3a4d72Ed2a47a409a82ba61f0fca1C749Ea8aB66',
510
513
  AaveV3DelegateWithSig: '0xFF2CE05250d1880f0f45ea8fB453292CABA42F12',
514
+ AaveV3DelegateCredit: '0x8C13353e3DA67d3171D6F73751E3caa791a3AACD',
511
515
 
512
516
  // CompV3
513
517
  CompV3Allow: '0x0380E8e13CdE0499c720999930CaA07A5744887c',
@@ -525,6 +529,7 @@ export const actionAddresses = {
525
529
  FLUniV3: '0xf041C72e201CD7d04a240fe06c5783E2Ee2D92b3', // @DEV - incorrect, same as FLAction
526
530
  FLAction: '0xf041C72e201CD7d04a240fe06c5783E2Ee2D92b3',
527
531
  FLMorphoBlue: '0xf041C72e201CD7d04a240fe06c5783E2Ee2D92b3',
532
+ FLAaveV3CarryDebt: '0xEc6Db90d9EFa7cD75d5b716896A497e9d9103D5b',
528
533
 
529
534
  GasFeeTakerL2: '0x2F64f73B222B4978CAfd0295c0fa106cE5f34996',
530
535
  AaveV3RatioCheck: '0x4a5c2cbCFB921b596Dec049389899CC8Eb4678ED',
@@ -616,6 +621,7 @@ export const actionAddresses = {
616
621
  FLUniV3: '0x1bA6082D2ef1aB92a55B96264c72Eb8049C964Ce',
617
622
  FLAction: '0x87Af4769e4134379125A262408e1f3EC60d2Ab52', // fix temp
618
623
  FLMorphoBlue: '0x87Af4769e4134379125A262408e1f3EC60d2Ab52',
624
+ FLAaveV3CarryDebt: '0x760e97862DD8652e5BB8b4D8ad9C99a74BBe7E7A',
619
625
 
620
626
  // AaveV3
621
627
  AaveV3Withdraw: '0x1d2Fa7dAcC660A9124c3685EE8a6E699d10409Eb',
@@ -630,6 +636,7 @@ export const actionAddresses = {
630
636
  AaveV3ATokenPayback: '0x3D57875885e3cEe9E56Cb65D21789893B6e67815',
631
637
  AaveV3View: '0xf140B2904beb743C2f17e0b5f766074212a7e243',
632
638
  AaveV3DelegateWithSig: '0x9e295AFaC75E7843b88a563D119FD953EDf441c2',
639
+ AaveV3DelegateCredit: '0xF85aD63c513A76a1dc05B2AddC4777F17336c7e9',
633
640
 
634
641
  // CompV3
635
642
  CompV3Allow: '0x3Fe56B85BBcD759459408Bd8434c37bac93e26bF',
@@ -677,13 +684,6 @@ export const actionAddresses = {
677
684
  SFApproveTokens: '0x03EDC9A683f37BFB7516FF234223fFb6E38D5eb9',
678
685
  SummerfiUnsub: '0x0000000000000000000000000000000000000000', // Only exists for Maker on Mainnet
679
686
  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,6 +707,7 @@ export const actionAddresses = {
707
707
  // Flashloan
708
708
  FLAction: '0x04ce4b2a9F524d976a8eD8a49B9313C5a2C3ccAD', // fix temp
709
709
  FLAaveV3: '0x04ce4b2a9F524d976a8eD8a49B9313C5a2C3ccAD',
710
+ FLAaveV3CarryDebt: '0x862E533198C9656B75bB6A5dDF0953F7ED5E8507',
710
711
 
711
712
  // AaveV3
712
713
  AaveV3Withdraw: '0xae56474aBe3C271579b513b6668864e39f65Ae15',
@@ -719,7 +720,7 @@ export const actionAddresses = {
719
720
  AaveV3ATokenPayback: '0xedfc68e2874b0afc0963e18ae4d68522aec7f97d',
720
721
  AaveV3View: '0xc9d6efa6e08b66a5cdc516bcd5807c2fa69e0f2a',
721
722
  AaveV3DelegateWithSig: '0x169D6E128238ebabF86032Ae9da65938eaD7F69e',
722
- AaveV3DelegateCredit: '0x2A588cBCBd5e6c6ba7ED0E260B8107F599017DDE',
723
+ AaveV3DelegateCredit: '0x1bA6082D2ef1aB92a55B96264c72Eb8049C964Ce',
723
724
  },
724
725
  [NETWORKS.plasma.chainId]: {
725
726
  // Basic
@@ -743,6 +744,7 @@ export const actionAddresses = {
743
744
  // Flashloan
744
745
  FLAction: '0x40C9ce603923AACD0b7407Ff0EE844c9C067cEB7', // fix temp
745
746
  FLAaveV3: '0x40C9ce603923AACD0b7407Ff0EE844c9C067cEB7',
747
+ FLAaveV3CarryDebt: '0x6Dc6C0e38fBd066b89Ba7E6f711B4288246891b3',
746
748
 
747
749
  // AaveV3
748
750
  AaveV3Withdraw: '0x4839d021A24820e57C31D386d430e2e82694F73B',
@@ -755,7 +757,7 @@ export const actionAddresses = {
755
757
  AaveV3ATokenPayback: '0x425fA97285965E01Cc5F951B62A51F6CDEA5cc0d',
756
758
  AaveV3View: '0xD8E67968d8a0df4beCf2D50daE1e34d4d80C701C',
757
759
  AaveV3DelegateWithSig: '0x49658E0CF3883c338397C7257619B280dF581057',
758
- AaveV3DelegateCredit: '0x0a9b2080C14DaF008AE87C977dFDf5f5D6D0937F',
760
+ AaveV3DelegateCredit: '0x6F53fa9e7d1323d24515a51AB72Da3cf1E9883Bc',
759
761
 
760
762
  // Fluid
761
763
  FluidVaultT1Open: '0x491cc4AFbE0081C3464DeF1114ba27BE114b2401',
@@ -0,0 +1,31 @@
1
+ const dfs = require('../../../src');
2
+ const {encodeForDsProxyCall, encodeForRecipe} = require('../../_actionUtils');
3
+ const {assert} = require('chai');
4
+
5
+ describe('Action: UniswapClaimAction', () => {
6
+ let action;
7
+ context('Claim encoding', () => {
8
+ it('constructor', () => {
9
+ const index = '137';
10
+ const to = '0xC093dFcC2cBc4e9488589B7c2245a7F1DA043389';
11
+ const amount = '4809093062235489680';
12
+ const merkleProof = [
13
+ '0xd496d2a15cf30a2af545b0fd4ced50fb4224bb54e7c9add4885c7b7408c907a1',
14
+ '0x6a8fc6432934b1f2c9f9aed040f4389c0450dd94aff92b16864060e95fba4290',
15
+ '0xb7491e5e898e774e11c50044140df4c1c74bf9cd7855bac78f0709699ed0e6b7',
16
+ ];
17
+ action = new dfs.actions.uniswap.UniswapClaimAction(
18
+ index,
19
+ to,
20
+ amount,
21
+ merkleProof,
22
+ );
23
+ })
24
+ it('encodeForDsProxyCall', () => encodeForDsProxyCall(action));
25
+ it('encodeForRecipe', () => encodeForRecipe(action));
26
+ it('getEthValue', async () => {
27
+ const ethValue = await action.getEthValue();
28
+ assert.equal(ethValue, '0');
29
+ })
30
+ })
31
+ })