@enzymefinance/testutils 4.0.0-next.1 → 4.0.0-next.6
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +32 -0
- package/dist/declarations/src/assertions.d.ts +2 -2
- package/dist/declarations/src/deployment.d.ts +168 -64
- package/dist/declarations/src/gasRelayer.d.ts +14 -12
- package/dist/declarations/src/helpers.d.ts +5 -4
- package/dist/declarations/src/scaffolding/assets.d.ts +3 -3
- package/dist/declarations/src/scaffolding/chainlink.d.ts +2 -2
- package/dist/declarations/src/scaffolding/common.d.ts +1 -1
- package/dist/declarations/src/scaffolding/core.d.ts +4 -3
- package/dist/declarations/src/scaffolding/extensions/common.d.ts +4 -4
- package/dist/declarations/src/scaffolding/extensions/external-positions/actions.d.ts +14 -5
- package/dist/declarations/src/scaffolding/extensions/external-positions/compound.d.ts +22 -22
- package/dist/declarations/src/scaffolding/extensions/external-positions/index.d.ts +1 -0
- package/dist/declarations/src/scaffolding/extensions/external-positions/mocks.d.ts +40 -7
- package/dist/declarations/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.d.ts +99 -0
- package/dist/declarations/src/scaffolding/extensions/fees.d.ts +1 -1
- package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +4 -3
- package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +5 -5
- package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +108 -33
- package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +3 -3
- package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +3 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +4 -4
- package/dist/declarations/src/scaffolding/extensions/integrations/olympusV2.d.ts +17 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +6 -5
- package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV5.d.ts +23 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/poolTogetherV4.d.ts +29 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +11 -3
- package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +3 -3
- package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +10 -10
- package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +4 -4
- package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +3 -3
- package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +3 -3
- package/dist/declarations/src/scaffolding/extensions/policies.d.ts +1 -1
- package/dist/declarations/src/scaffolding/setup.d.ts +11 -9
- package/dist/declarations/src/scaffolding/shares.d.ts +4 -4
- package/dist/declarations/src/scaffolding/vaultCalls.d.ts +15 -6
- package/dist/declarations/src/whales.d.ts +20 -18
- package/dist/enzymefinance-testutils.browser.cjs.js +1783 -763
- package/dist/enzymefinance-testutils.browser.esm.js +1746 -757
- package/dist/enzymefinance-testutils.cjs.dev.js +1783 -763
- package/dist/enzymefinance-testutils.cjs.prod.js +1783 -763
- package/dist/enzymefinance-testutils.esm.js +1746 -757
- package/package.json +5 -5
- package/src/assertions.ts +5 -2
- package/src/deployment.ts +215 -111
- package/src/gasRelayer.ts +17 -18
- package/src/helpers.ts +6 -4
- package/src/scaffolding/assets.ts +7 -6
- package/src/scaffolding/chainlink.ts +2 -2
- package/src/scaffolding/common.ts +1 -1
- package/src/scaffolding/core.ts +30 -12
- package/src/scaffolding/extensions/common.ts +4 -4
- package/src/scaffolding/extensions/external-positions/actions.ts +33 -6
- package/src/scaffolding/extensions/external-positions/compound.ts +76 -96
- package/src/scaffolding/extensions/external-positions/index.ts +1 -0
- package/src/scaffolding/extensions/external-positions/mocks.ts +132 -10
- package/src/scaffolding/extensions/external-positions/uniswap-v3-liquidity.ts +290 -0
- package/src/scaffolding/extensions/fees.ts +1 -1
- package/src/scaffolding/extensions/integrations/aave.ts +6 -8
- package/src/scaffolding/extensions/integrations/compound.ts +10 -11
- package/src/scaffolding/extensions/integrations/curve.ts +333 -68
- package/src/scaffolding/extensions/integrations/idle.ts +9 -11
- package/src/scaffolding/extensions/integrations/index.ts +3 -0
- package/src/scaffolding/extensions/integrations/mock.ts +11 -13
- package/src/scaffolding/extensions/integrations/olympusV2.ts +71 -0
- package/src/scaffolding/extensions/integrations/paraSwapV4.ts +16 -11
- package/src/scaffolding/extensions/integrations/paraSwapV5.ts +73 -0
- package/src/scaffolding/extensions/integrations/poolTogetherV4.ts +117 -0
- package/src/scaffolding/extensions/integrations/synthetix.ts +45 -12
- package/src/scaffolding/extensions/integrations/trackedAssets.ts +3 -4
- package/src/scaffolding/extensions/integrations/uniswapV2.ts +31 -27
- package/src/scaffolding/extensions/integrations/uniswapV3.ts +9 -10
- package/src/scaffolding/extensions/integrations/yearn.ts +9 -11
- package/src/scaffolding/extensions/integrations/zeroExV2.ts +9 -7
- package/src/scaffolding/extensions/policies.ts +2 -1
- package/src/scaffolding/setup.ts +27 -13
- package/src/scaffolding/shares.ts +5 -4
- package/src/scaffolding/vaultCalls.ts +32 -2
- package/src/whales.ts +30 -17
- package/tsconfig.json +2 -1
@@ -1,15 +1,42 @@
|
|
1
|
-
import { AddressLike
|
2
|
-
import {
|
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
|
-
|
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 {
|
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
|
-
|
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
|
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
|
-
|
60
|
-
|
37
|
+
return callOnExternalPosition({
|
38
|
+
actionArgs,
|
61
39
|
actionId: CompoundDebtPositionActionId.AddCollateralAssets,
|
62
|
-
|
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
|
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
|
-
|
71
|
+
return callOnExternalPosition({
|
72
|
+
actionArgs,
|
73
|
+
actionId: CompoundDebtPositionActionId.BorrowAsset,
|
74
|
+
comptrollerProxy,
|
75
|
+
externalPositionManager,
|
96
76
|
externalPositionProxy,
|
97
|
-
|
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
|
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
|
-
|
128
|
-
|
129
|
-
data:
|
94
|
+
amounts: [],
|
95
|
+
assets: [],
|
96
|
+
data: '0x',
|
130
97
|
});
|
131
98
|
|
132
|
-
|
99
|
+
return callOnExternalPosition({
|
100
|
+
actionArgs,
|
101
|
+
actionId: CompoundDebtPositionActionId.ClaimComp,
|
102
|
+
comptrollerProxy,
|
103
|
+
externalPositionManager,
|
133
104
|
externalPositionProxy,
|
134
|
-
|
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
|
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
|
-
|
159
|
-
|
160
|
-
data: '
|
127
|
+
amounts,
|
128
|
+
assets,
|
129
|
+
data: encodeArgs(['address[]'], [cTokens]),
|
161
130
|
});
|
162
131
|
|
163
|
-
|
132
|
+
return callOnExternalPosition({
|
133
|
+
actionArgs,
|
134
|
+
actionId: CompoundDebtPositionActionId.RemoveCollateralAssets,
|
135
|
+
comptrollerProxy,
|
136
|
+
externalPositionManager,
|
164
137
|
externalPositionProxy,
|
165
|
-
|
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
|
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
|
-
|
200
|
-
|
165
|
+
return callOnExternalPosition({
|
166
|
+
actionArgs,
|
201
167
|
actionId: CompoundDebtPositionActionId.RepayBorrowedAssets,
|
202
|
-
|
168
|
+
comptrollerProxy,
|
169
|
+
externalPositionManager,
|
170
|
+
externalPositionProxy,
|
171
|
+
signer: fundOwner,
|
203
172
|
});
|
173
|
+
}
|
204
174
|
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
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,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
|
-
|
6
|
-
|
7
|
+
mockGenericExternalPositionActionArgs,
|
8
|
+
MockGenericExternalPositionActionId,
|
7
9
|
MockGenericExternalPositionLib,
|
8
10
|
MockGenericExternalPositionParser,
|
9
11
|
VaultLib,
|
10
|
-
} from '@enzymefinance/protocol
|
11
|
-
import {
|
12
|
-
|
13
|
-
import {
|
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
|
+
}
|