@enzymefinance/testutils 4.0.0-next.1 → 4.0.0-next.6

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 (80) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/declarations/src/assertions.d.ts +2 -2
  3. package/dist/declarations/src/deployment.d.ts +168 -64
  4. package/dist/declarations/src/gasRelayer.d.ts +14 -12
  5. package/dist/declarations/src/helpers.d.ts +5 -4
  6. package/dist/declarations/src/scaffolding/assets.d.ts +3 -3
  7. package/dist/declarations/src/scaffolding/chainlink.d.ts +2 -2
  8. package/dist/declarations/src/scaffolding/common.d.ts +1 -1
  9. package/dist/declarations/src/scaffolding/core.d.ts +4 -3
  10. package/dist/declarations/src/scaffolding/extensions/common.d.ts +4 -4
  11. package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +14 -5
  12. package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +22 -22
  13. package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +1 -0
  14. package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +40 -7
  15. package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +99 -0
  16. package/dist/declarations/src/scaffolding/extensions/fees.d.ts +1 -1
  17. package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +4 -3
  18. package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +5 -5
  19. package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +108 -33
  20. package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +3 -3
  21. package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +3 -0
  22. package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +4 -4
  23. package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +17 -0
  24. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +6 -5
  25. package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +23 -0
  26. package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +29 -0
  27. package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +11 -3
  28. package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +3 -3
  29. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +10 -10
  30. package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +4 -4
  31. package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +3 -3
  32. package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +3 -3
  33. package/dist/declarations/src/scaffolding/extensions/policies.d.ts +1 -1
  34. package/dist/declarations/src/scaffolding/setup.d.ts +11 -9
  35. package/dist/declarations/src/scaffolding/shares.d.ts +4 -4
  36. package/dist/declarations/src/scaffolding/vaultCalls.d.ts +15 -6
  37. package/dist/declarations/src/whales.d.ts +20 -18
  38. package/dist/enzymefinance-testutils.browser.cjs.js +1783 -763
  39. package/dist/enzymefinance-testutils.browser.esm.js +1746 -757
  40. package/dist/enzymefinance-testutils.cjs.dev.js +1783 -763
  41. package/dist/enzymefinance-testutils.cjs.prod.js +1783 -763
  42. package/dist/enzymefinance-testutils.esm.js +1746 -757
  43. package/package.json +5 -5
  44. package/src/assertions.ts +5 -2
  45. package/src/deployment.ts +215 -111
  46. package/src/gasRelayer.ts +17 -18
  47. package/src/helpers.ts +6 -4
  48. package/src/scaffolding/assets.ts +7 -6
  49. package/src/scaffolding/chainlink.ts +2 -2
  50. package/src/scaffolding/common.ts +1 -1
  51. package/src/scaffolding/core.ts +30 -12
  52. package/src/scaffolding/extensions/common.ts +4 -4
  53. package/src/scaffolding/extensions/external-positions/actions.ts +33 -6
  54. package/src/scaffolding/extensions/external-positions/compound.ts +76 -96
  55. package/src/scaffolding/extensions/external-positions/index.ts +1 -0
  56. package/src/scaffolding/extensions/external-positions/mocks.ts +132 -10
  57. package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +290 -0
  58. package/src/scaffolding/extensions/fees.ts +1 -1
  59. package/src/scaffolding/extensions/integrations/aave.ts +6 -8
  60. package/src/scaffolding/extensions/integrations/compound.ts +10 -11
  61. package/src/scaffolding/extensions/integrations/curve.ts +333 -68
  62. package/src/scaffolding/extensions/integrations/idle.ts +9 -11
  63. package/src/scaffolding/extensions/integrations/index.ts +3 -0
  64. package/src/scaffolding/extensions/integrations/mock.ts +11 -13
  65. package/src/scaffolding/extensions/integrations/olympusV2.ts +71 -0
  66. package/src/scaffolding/extensions/integrations/paraSwapV4.ts +16 -11
  67. package/src/scaffolding/extensions/integrations/paraSwapV5.ts +73 -0
  68. package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +117 -0
  69. package/src/scaffolding/extensions/integrations/synthetix.ts +45 -12
  70. package/src/scaffolding/extensions/integrations/trackedAssets.ts +3 -4
  71. package/src/scaffolding/extensions/integrations/uniswapV2.ts +31 -27
  72. package/src/scaffolding/extensions/integrations/uniswapV3.ts +9 -10
  73. package/src/scaffolding/extensions/integrations/yearn.ts +9 -11
  74. package/src/scaffolding/extensions/integrations/zeroExV2.ts +9 -7
  75. package/src/scaffolding/extensions/policies.ts +2 -1
  76. package/src/scaffolding/setup.ts +27 -13
  77. package/src/scaffolding/shares.ts +5 -4
  78. package/src/scaffolding/vaultCalls.ts +32 -2
  79. package/src/whales.ts +30 -17
  80. package/tsconfig.json +2 -1
@@ -1,15 +1,42 @@
1
- import { AddressLike, extractEvent } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import { extractEvent } from '@enzymefinance/ethers';
3
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
4
+ import type { ComptrollerLib, ExternalPositionManager } from '@enzymefinance/protocol';
3
5
  import {
4
- ComptrollerLib,
6
+ callOnExternalPositionArgs,
5
7
  encodeArgs,
6
- ExternalPositionManager,
7
8
  ExternalPositionManagerActionId,
8
9
  externalPositionReactivateArgs,
9
10
  externalPositionRemoveArgs,
10
11
  IExternalPositionProxy,
11
12
  } from '@enzymefinance/protocol';
12
- import { BigNumberish, BytesLike } from 'ethers';
13
+ import type { BigNumberish, BytesLike } from 'ethers';
14
+
15
+ export async function callOnExternalPosition({
16
+ signer,
17
+ comptrollerProxy,
18
+ externalPositionManager,
19
+ externalPositionProxy,
20
+ actionId,
21
+ actionArgs,
22
+ }: {
23
+ signer: SignerWithAddress;
24
+ comptrollerProxy: ComptrollerLib;
25
+ externalPositionManager: ExternalPositionManager;
26
+ externalPositionProxy: AddressLike;
27
+ actionId: BigNumberish;
28
+ actionArgs: BytesLike;
29
+ }) {
30
+ const callArgs = callOnExternalPositionArgs({
31
+ actionArgs,
32
+ actionId,
33
+ externalPositionProxy,
34
+ });
35
+
36
+ return comptrollerProxy
37
+ .connect(signer)
38
+ .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
39
+ }
13
40
 
14
41
  export async function createExternalPosition({
15
42
  signer,
@@ -36,7 +63,7 @@ export async function createExternalPosition({
36
63
 
37
64
  const externalPositionProxy = new IExternalPositionProxy(event[0].args.externalPosition, signer);
38
65
 
39
- return { receipt, externalPositionProxy };
66
+ return { externalPositionProxy, receipt };
40
67
  }
41
68
 
42
69
  export async function reactivateExternalPosition({
@@ -1,39 +1,17 @@
1
- import { AddressLike } from '@enzymefinance/ethers';
2
- import { SignerWithAddress } from '@enzymefinance/hardhat';
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib, ExternalPositionManager, VaultLib } from '@enzymefinance/protocol';
3
4
  import {
4
- ComptrollerLib,
5
- encodeArgs,
6
- ExternalPositionManager,
7
- VaultLib,
8
- callOnExternalPositionArgs,
9
- compoundExternalPositionActionArgs,
10
- ExternalPositionManagerActionId,
11
5
  CompoundDebtPositionActionId,
6
+ compoundExternalPositionActionArgs,
7
+ encodeArgs,
12
8
  ExternalPositionType,
13
9
  } from '@enzymefinance/protocol';
14
- import { BigNumberish } from 'ethers';
15
- import { createExternalPosition } from './actions';
10
+ import type { BigNumberish } from 'ethers';
16
11
 
17
- // TODO: re-namespace all functions with `CompoundDebtPosition`
18
-
19
- export async function createCompoundDebtPosition({
20
- signer,
21
- comptrollerProxy,
22
- externalPositionManager,
23
- }: {
24
- signer: SignerWithAddress;
25
- comptrollerProxy: ComptrollerLib;
26
- externalPositionManager: ExternalPositionManager;
27
- }) {
28
- return createExternalPosition({
29
- signer,
30
- comptrollerProxy,
31
- externalPositionManager,
32
- externalPositionTypeId: ExternalPositionType.CompoundDebtPosition,
33
- });
34
- }
12
+ import { callOnExternalPosition, createExternalPosition } from './actions';
35
13
 
36
- export async function addCollateral({
14
+ export async function compoundDebtPositionAddCollateral({
37
15
  comptrollerProxy,
38
16
  externalPositionManager,
39
17
  fundOwner,
@@ -51,129 +29,117 @@ export async function addCollateral({
51
29
  externalPositionProxy: AddressLike;
52
30
  }) {
53
31
  const actionArgs = compoundExternalPositionActionArgs({
54
- assets,
55
32
  amounts,
33
+ assets,
56
34
  data: encodeArgs(['address[]'], [cTokens]),
57
35
  });
58
36
 
59
- const callArgs = callOnExternalPositionArgs({
60
- externalPositionProxy,
37
+ return callOnExternalPosition({
38
+ actionArgs,
61
39
  actionId: CompoundDebtPositionActionId.AddCollateralAssets,
62
- encodedCallArgs: actionArgs,
40
+ comptrollerProxy,
41
+ externalPositionManager,
42
+ externalPositionProxy,
43
+ signer: fundOwner,
63
44
  });
64
-
65
- const addCollateralTx = comptrollerProxy
66
- .connect(fundOwner)
67
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
68
-
69
- return addCollateralTx;
70
45
  }
71
46
 
72
- export async function removeCollateral({
47
+ export async function compoundDebtPositionBorrow({
73
48
  comptrollerProxy,
74
49
  externalPositionManager,
75
50
  fundOwner,
51
+ externalPositionProxy,
76
52
  assets,
77
53
  amounts,
78
- externalPositionProxy,
79
54
  cTokens,
80
55
  }: {
81
56
  comptrollerProxy: ComptrollerLib;
57
+ vaultProxy: VaultLib;
82
58
  externalPositionManager: ExternalPositionManager;
83
59
  fundOwner: SignerWithAddress;
60
+ externalPositionProxy: AddressLike;
84
61
  assets: AddressLike[];
85
62
  amounts: BigNumberish[];
86
- externalPositionProxy: AddressLike;
87
63
  cTokens: AddressLike[];
88
64
  }) {
89
65
  const actionArgs = compoundExternalPositionActionArgs({
90
- assets,
91
66
  amounts,
67
+ assets,
92
68
  data: encodeArgs(['address[]'], [cTokens]),
93
69
  });
94
70
 
95
- const callArgs = callOnExternalPositionArgs({
71
+ return callOnExternalPosition({
72
+ actionArgs,
73
+ actionId: CompoundDebtPositionActionId.BorrowAsset,
74
+ comptrollerProxy,
75
+ externalPositionManager,
96
76
  externalPositionProxy,
97
- actionId: CompoundDebtPositionActionId.RemoveCollateralAssets,
98
- encodedCallArgs: actionArgs,
77
+ signer: fundOwner,
99
78
  });
100
-
101
- const removeCollateralTx = comptrollerProxy
102
- .connect(fundOwner)
103
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
104
-
105
- return removeCollateralTx;
106
79
  }
107
80
 
108
- export async function borrow({
81
+ export async function compoundDebtPositionClaimComp({
109
82
  comptrollerProxy,
110
83
  externalPositionManager,
111
84
  fundOwner,
112
85
  externalPositionProxy,
113
- assets,
114
- amounts,
115
- cTokens,
116
86
  }: {
117
87
  comptrollerProxy: ComptrollerLib;
118
88
  vaultProxy: VaultLib;
119
89
  externalPositionManager: ExternalPositionManager;
120
90
  fundOwner: SignerWithAddress;
121
91
  externalPositionProxy: AddressLike;
122
- assets: AddressLike[];
123
- amounts: BigNumberish[];
124
- cTokens: AddressLike[];
125
92
  }) {
126
93
  const actionArgs = compoundExternalPositionActionArgs({
127
- assets,
128
- amounts,
129
- data: encodeArgs(['address[]'], [cTokens]),
94
+ amounts: [],
95
+ assets: [],
96
+ data: '0x',
130
97
  });
131
98
 
132
- const callArgs = callOnExternalPositionArgs({
99
+ return callOnExternalPosition({
100
+ actionArgs,
101
+ actionId: CompoundDebtPositionActionId.ClaimComp,
102
+ comptrollerProxy,
103
+ externalPositionManager,
133
104
  externalPositionProxy,
134
- actionId: CompoundDebtPositionActionId.BorrowAsset,
135
- encodedCallArgs: actionArgs,
105
+ signer: fundOwner,
136
106
  });
137
-
138
- const borrowTx = comptrollerProxy
139
- .connect(fundOwner)
140
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
141
-
142
- return borrowTx;
143
107
  }
144
108
 
145
- export async function claimComp({
109
+ export async function compoundDebtPositionRemoveCollateral({
146
110
  comptrollerProxy,
147
111
  externalPositionManager,
148
112
  fundOwner,
113
+ assets,
114
+ amounts,
149
115
  externalPositionProxy,
116
+ cTokens,
150
117
  }: {
151
118
  comptrollerProxy: ComptrollerLib;
152
- vaultProxy: VaultLib;
153
119
  externalPositionManager: ExternalPositionManager;
154
120
  fundOwner: SignerWithAddress;
121
+ assets: AddressLike[];
122
+ amounts: BigNumberish[];
155
123
  externalPositionProxy: AddressLike;
124
+ cTokens: AddressLike[];
156
125
  }) {
157
126
  const actionArgs = compoundExternalPositionActionArgs({
158
- assets: [],
159
- amounts: [],
160
- data: '0x',
127
+ amounts,
128
+ assets,
129
+ data: encodeArgs(['address[]'], [cTokens]),
161
130
  });
162
131
 
163
- const callArgs = callOnExternalPositionArgs({
132
+ return callOnExternalPosition({
133
+ actionArgs,
134
+ actionId: CompoundDebtPositionActionId.RemoveCollateralAssets,
135
+ comptrollerProxy,
136
+ externalPositionManager,
164
137
  externalPositionProxy,
165
- actionId: CompoundDebtPositionActionId.ClaimComp,
166
- encodedCallArgs: actionArgs,
138
+ signer: fundOwner,
167
139
  });
168
-
169
- const claimCompTx = comptrollerProxy
170
- .connect(fundOwner)
171
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
172
-
173
- return claimCompTx;
174
140
  }
175
141
 
176
- export async function repayBorrow({
142
+ export async function compoundDebtPositionRepayBorrow({
177
143
  comptrollerProxy,
178
144
  externalPositionManager,
179
145
  fundOwner,
@@ -191,20 +157,34 @@ export async function repayBorrow({
191
157
  cTokens: AddressLike[];
192
158
  }) {
193
159
  const actionArgs = compoundExternalPositionActionArgs({
194
- assets,
195
160
  amounts,
161
+ assets,
196
162
  data: encodeArgs(['address[]'], [cTokens]),
197
163
  });
198
164
 
199
- const callArgs = callOnExternalPositionArgs({
200
- externalPositionProxy,
165
+ return callOnExternalPosition({
166
+ actionArgs,
201
167
  actionId: CompoundDebtPositionActionId.RepayBorrowedAssets,
202
- encodedCallArgs: actionArgs,
168
+ comptrollerProxy,
169
+ externalPositionManager,
170
+ externalPositionProxy,
171
+ signer: fundOwner,
203
172
  });
173
+ }
204
174
 
205
- const repayTx = comptrollerProxy
206
- .connect(fundOwner)
207
- .callOnExtension(externalPositionManager, ExternalPositionManagerActionId.CallOnExternalPosition, callArgs);
208
-
209
- return repayTx;
175
+ export async function createCompoundDebtPosition({
176
+ signer,
177
+ comptrollerProxy,
178
+ externalPositionManager,
179
+ }: {
180
+ signer: SignerWithAddress;
181
+ comptrollerProxy: ComptrollerLib;
182
+ externalPositionManager: ExternalPositionManager;
183
+ }) {
184
+ return createExternalPosition({
185
+ comptrollerProxy,
186
+ externalPositionManager,
187
+ externalPositionTypeId: ExternalPositionType.CompoundDebtPosition,
188
+ signer,
189
+ });
210
190
  }
@@ -1,3 +1,4 @@
1
1
  export * from './actions';
2
2
  export * from './compound';
3
3
  export * from './mocks';
4
+ export * from './uniswap-v3-liquidity';
@@ -1,16 +1,18 @@
1
+ import type { AddressLike } from '@enzymefinance/ethers';
2
+ import type { SignerWithAddress } from '@enzymefinance/hardhat';
3
+ import type { ComptrollerLib, ExternalPositionFactory, ExternalPositionManager } from '@enzymefinance/protocol';
1
4
  import {
2
- ComptrollerLib,
3
5
  encodeArgs,
4
6
  ExternalPositionManagerActionId,
5
- ExternalPositionFactory,
6
- ExternalPositionManager,
7
+ mockGenericExternalPositionActionArgs,
8
+ MockGenericExternalPositionActionId,
7
9
  MockGenericExternalPositionLib,
8
10
  MockGenericExternalPositionParser,
9
11
  VaultLib,
10
- } from '@enzymefinance/protocol/src';
11
- import { SignerWithAddress } from '@enzymefinance/hardhat';
12
- import { AddressLike } from '@enzymefinance/ethers';
13
- import { BigNumberish } from 'ethers';
12
+ } from '@enzymefinance/protocol';
13
+ import type { BigNumberish } from 'ethers';
14
+
15
+ import { callOnExternalPosition } from './actions';
14
16
 
15
17
  export async function createMockExternalPosition({
16
18
  comptrollerProxy,
@@ -63,10 +65,130 @@ export async function createMockExternalPosition({
63
65
  const externalPositionProxy = (await vaultProxy.getActiveExternalPositions())[0];
64
66
 
65
67
  return {
66
- typeId,
67
- mockGenericExternalPositionLib,
68
- mockExternalPositionParser,
69
68
  externalPositionProxy,
69
+ mockExternalPositionParser,
70
+ mockGenericExternalPositionLib,
70
71
  receipt,
72
+ typeId,
71
73
  };
72
74
  }
75
+
76
+ export async function mockExternalPositionAddDebtAssets({
77
+ signer,
78
+ comptrollerProxy,
79
+ externalPositionManager,
80
+ externalPositionProxy,
81
+ assets,
82
+ amounts,
83
+ }: {
84
+ signer: SignerWithAddress;
85
+ comptrollerProxy: ComptrollerLib;
86
+ externalPositionManager: ExternalPositionManager;
87
+ externalPositionProxy: AddressLike;
88
+ assets: AddressLike[];
89
+ amounts: BigNumberish[];
90
+ }) {
91
+ const actionArgs = mockGenericExternalPositionActionArgs({
92
+ amounts,
93
+ assets,
94
+ });
95
+
96
+ return callOnExternalPosition({
97
+ actionArgs,
98
+ actionId: MockGenericExternalPositionActionId.AddDebtAssets,
99
+ comptrollerProxy,
100
+ externalPositionManager,
101
+ externalPositionProxy,
102
+ signer,
103
+ });
104
+ }
105
+
106
+ export async function mockExternalPositionAddManagedAssets({
107
+ signer,
108
+ comptrollerProxy,
109
+ externalPositionManager,
110
+ externalPositionProxy,
111
+ assets,
112
+ amounts,
113
+ }: {
114
+ signer: SignerWithAddress;
115
+ comptrollerProxy: ComptrollerLib;
116
+ externalPositionManager: ExternalPositionManager;
117
+ externalPositionProxy: AddressLike;
118
+ assets: AddressLike[];
119
+ amounts: BigNumberish[];
120
+ }) {
121
+ const actionArgs = mockGenericExternalPositionActionArgs({
122
+ amounts,
123
+ assets,
124
+ });
125
+
126
+ return callOnExternalPosition({
127
+ actionArgs,
128
+ actionId: MockGenericExternalPositionActionId.AddManagedAssets,
129
+ comptrollerProxy,
130
+ externalPositionManager,
131
+ externalPositionProxy,
132
+ signer,
133
+ });
134
+ }
135
+
136
+ export async function mockExternalPositionRemoveDebtAssets({
137
+ signer,
138
+ comptrollerProxy,
139
+ externalPositionManager,
140
+ externalPositionProxy,
141
+ assets,
142
+ amounts,
143
+ }: {
144
+ signer: SignerWithAddress;
145
+ comptrollerProxy: ComptrollerLib;
146
+ externalPositionManager: ExternalPositionManager;
147
+ externalPositionProxy: AddressLike;
148
+ assets: AddressLike[];
149
+ amounts: BigNumberish[];
150
+ }) {
151
+ const actionArgs = mockGenericExternalPositionActionArgs({
152
+ amounts,
153
+ assets,
154
+ });
155
+
156
+ return callOnExternalPosition({
157
+ actionArgs,
158
+ actionId: MockGenericExternalPositionActionId.RemoveDebtAssets,
159
+ comptrollerProxy,
160
+ externalPositionManager,
161
+ externalPositionProxy,
162
+ signer,
163
+ });
164
+ }
165
+
166
+ export async function mockExternalPositionRemoveManagedAssets({
167
+ signer,
168
+ comptrollerProxy,
169
+ externalPositionManager,
170
+ externalPositionProxy,
171
+ assets,
172
+ amounts,
173
+ }: {
174
+ signer: SignerWithAddress;
175
+ comptrollerProxy: ComptrollerLib;
176
+ externalPositionManager: ExternalPositionManager;
177
+ externalPositionProxy: AddressLike;
178
+ assets: AddressLike[];
179
+ amounts: BigNumberish[];
180
+ }) {
181
+ const actionArgs = mockGenericExternalPositionActionArgs({
182
+ amounts,
183
+ assets,
184
+ });
185
+
186
+ return callOnExternalPosition({
187
+ actionArgs,
188
+ actionId: MockGenericExternalPositionActionId.RemoveManagedAssets,
189
+ comptrollerProxy,
190
+ externalPositionManager,
191
+ externalPositionProxy,
192
+ signer,
193
+ });
194
+ }