@enzymefinance/testutils 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +11 -0
- package/dist/declarations/src/assertions.d.ts +4 -0
- package/dist/declarations/src/deployment.d.ts +81 -0
- package/dist/declarations/src/helpers.d.ts +2 -0
- package/dist/declarations/src/index.d.ts +5 -0
- package/dist/declarations/src/scaffolding/assets.d.ts +12 -0
- package/dist/declarations/src/scaffolding/chainlink.d.ts +3 -0
- package/dist/declarations/src/scaffolding/common.d.ts +6 -0
- package/dist/declarations/src/scaffolding/core.d.ts +19 -0
- package/dist/declarations/src/scaffolding/extensions/common.d.ts +11 -0
- package/dist/declarations/src/scaffolding/extensions/fees.d.ts +14 -0
- package/dist/declarations/src/scaffolding/extensions/index.d.ts +4 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/aave.d.ts +19 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/alpha.d.ts +36 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/compound.d.ts +27 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/curve.d.ts +331 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/idle.d.ts +57 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/index.d.ts +14 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/kyber.d.ts +23 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/mock.d.ts +32 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/paraSwapV4.d.ts +22 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/synthetix.d.ts +25 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/trackedAssets.d.ts +17 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV2.d.ts +46 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/uniswapV3.d.ts +15 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/yearn.d.ts +22 -0
- package/dist/declarations/src/scaffolding/extensions/integrations/zeroExV2.d.ts +12 -0
- package/dist/declarations/src/scaffolding/extensions/policies.d.ts +15 -0
- package/dist/declarations/src/scaffolding/index.d.ts +9 -0
- package/dist/declarations/src/scaffolding/peripheral/index.d.ts +1 -0
- package/dist/declarations/src/scaffolding/peripheral/sharesRequestors.d.ts +19 -0
- package/dist/declarations/src/scaffolding/setup.d.ts +46 -0
- package/dist/declarations/src/scaffolding/shares.d.ts +30 -0
- package/dist/declarations/src/scaffolding/vaultCalls.d.ts +17 -0
- package/dist/declarations/src/whales.d.ts +43 -0
- package/dist/enzymefinance-testutils.browser.cjs.js +3160 -0
- package/dist/enzymefinance-testutils.browser.esm.js +3045 -0
- package/dist/enzymefinance-testutils.cjs.d.ts +1 -0
- package/dist/enzymefinance-testutils.cjs.dev.js +3160 -0
- package/dist/enzymefinance-testutils.cjs.js +7 -0
- package/dist/enzymefinance-testutils.cjs.prod.js +3160 -0
- package/dist/enzymefinance-testutils.esm.js +3045 -0
- package/package.json +18 -0
- package/src/assertions.ts +20 -0
- package/src/deployment.ts +169 -0
- package/src/helpers.ts +6 -0
- package/src/index.ts +5 -0
- package/src/scaffolding/assets.ts +39 -0
- package/src/scaffolding/chainlink.ts +8 -0
- package/src/scaffolding/common.ts +6 -0
- package/src/scaffolding/core.ts +77 -0
- package/src/scaffolding/extensions/common.ts +30 -0
- package/src/scaffolding/extensions/fees.ts +87 -0
- package/src/scaffolding/extensions/index.ts +4 -0
- package/src/scaffolding/extensions/integrations/aave.ts +80 -0
- package/src/scaffolding/extensions/integrations/alpha.ts +119 -0
- package/src/scaffolding/extensions/integrations/compound.ts +97 -0
- package/src/scaffolding/extensions/integrations/curve.ts +1207 -0
- package/src/scaffolding/extensions/integrations/idle.ts +215 -0
- package/src/scaffolding/extensions/integrations/index.ts +14 -0
- package/src/scaffolding/extensions/integrations/kyber.ts +69 -0
- package/src/scaffolding/extensions/integrations/mock.ts +118 -0
- package/src/scaffolding/extensions/integrations/paraSwapV4.ts +65 -0
- package/src/scaffolding/extensions/integrations/synthetix.ts +97 -0
- package/src/scaffolding/extensions/integrations/trackedAssets.ts +66 -0
- package/src/scaffolding/extensions/integrations/uniswapV2.ts +171 -0
- package/src/scaffolding/extensions/integrations/uniswapV3.ts +56 -0
- package/src/scaffolding/extensions/integrations/yearn.ts +81 -0
- package/src/scaffolding/extensions/integrations/zeroExV2.ts +45 -0
- package/src/scaffolding/extensions/policies.ts +85 -0
- package/src/scaffolding/index.ts +9 -0
- package/src/scaffolding/peripheral/index.ts +1 -0
- package/src/scaffolding/peripheral/sharesRequestors.ts +53 -0
- package/src/scaffolding/setup.ts +135 -0
- package/src/scaffolding/shares.ts +63 -0
- package/src/scaffolding/vaultCalls.ts +58 -0
- package/src/types.d.ts +1 -0
- package/src/whales.ts +63 -0
- package/tsconfig.json +4 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, IdleAdapter, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumberish } from 'ethers';
|
5
|
+
export declare function idleApproveAssets({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, assets, amounts, }: {
|
6
|
+
comptrollerProxy: ComptrollerLib;
|
7
|
+
integrationManager: IntegrationManager;
|
8
|
+
fundOwner: SignerWithAddress;
|
9
|
+
idleAdapter: IdleAdapter;
|
10
|
+
idleToken: StandardToken;
|
11
|
+
assets: AddressLike[];
|
12
|
+
amounts: BigNumberish[];
|
13
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
14
|
+
export declare function idleClaimRewards({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, }: {
|
15
|
+
comptrollerProxy: ComptrollerLib;
|
16
|
+
integrationManager: IntegrationManager;
|
17
|
+
fundOwner: SignerWithAddress;
|
18
|
+
idleAdapter: IdleAdapter;
|
19
|
+
idleToken: StandardToken;
|
20
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
21
|
+
export declare function idleClaimRewardsAndReinvest({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, minIncomingIdleTokenAmount, useFullBalances, }: {
|
22
|
+
comptrollerProxy: ComptrollerLib;
|
23
|
+
integrationManager: IntegrationManager;
|
24
|
+
fundOwner: SignerWithAddress;
|
25
|
+
idleAdapter: IdleAdapter;
|
26
|
+
idleToken: StandardToken;
|
27
|
+
minIncomingIdleTokenAmount?: BigNumberish;
|
28
|
+
useFullBalances: boolean;
|
29
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
30
|
+
export declare function idleClaimRewardsAndSwap({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, incomingAsset, minIncomingAssetAmount, useFullBalances, }: {
|
31
|
+
comptrollerProxy: ComptrollerLib;
|
32
|
+
integrationManager: IntegrationManager;
|
33
|
+
fundOwner: SignerWithAddress;
|
34
|
+
idleAdapter: IdleAdapter;
|
35
|
+
idleToken: StandardToken;
|
36
|
+
incomingAsset: AddressLike;
|
37
|
+
minIncomingAssetAmount?: BigNumberish;
|
38
|
+
useFullBalances: boolean;
|
39
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
40
|
+
export declare function idleLend({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingUnderlyingAmount, minIncomingIdleTokenAmount, }: {
|
41
|
+
comptrollerProxy: ComptrollerLib;
|
42
|
+
integrationManager: IntegrationManager;
|
43
|
+
fundOwner: SignerWithAddress;
|
44
|
+
idleAdapter: IdleAdapter;
|
45
|
+
idleToken: StandardToken;
|
46
|
+
outgoingUnderlyingAmount: BigNumberish;
|
47
|
+
minIncomingIdleTokenAmount?: BigNumberish;
|
48
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
49
|
+
export declare function idleRedeem({ comptrollerProxy, integrationManager, fundOwner, idleAdapter, idleToken, outgoingIdleTokenAmount, minIncomingUnderlyingAmount, }: {
|
50
|
+
comptrollerProxy: ComptrollerLib;
|
51
|
+
integrationManager: IntegrationManager;
|
52
|
+
fundOwner: SignerWithAddress;
|
53
|
+
idleAdapter: IdleAdapter;
|
54
|
+
idleToken: StandardToken;
|
55
|
+
outgoingIdleTokenAmount: BigNumberish;
|
56
|
+
minIncomingUnderlyingAmount?: BigNumberish;
|
57
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export * from './aave';
|
2
|
+
export * from './alpha';
|
3
|
+
export * from './compound';
|
4
|
+
export * from './curve';
|
5
|
+
export * from './idle';
|
6
|
+
export * from './kyber';
|
7
|
+
export * from './mock';
|
8
|
+
export * from './paraSwapV4';
|
9
|
+
export * from './synthetix';
|
10
|
+
export * from './trackedAssets';
|
11
|
+
export * from './uniswapV2';
|
12
|
+
export * from './uniswapV3';
|
13
|
+
export * from './yearn';
|
14
|
+
export * from './zeroExV2';
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { AddressLike, Call, Contract } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { StandardToken, ComptrollerLib, IntegrationManager, KyberAdapter, VaultLib } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumber, BigNumberish, utils } from 'ethers';
|
5
|
+
export interface KyberNetworkProxy extends Contract<KyberNetworkProxy> {
|
6
|
+
getExpectedRate: Call<(src: AddressLike, dest: AddressLike, srcQty: BigNumberish) => {
|
7
|
+
expectedRate: BigNumber;
|
8
|
+
worstRate: BigNumber;
|
9
|
+
}, KyberNetworkProxy>;
|
10
|
+
}
|
11
|
+
export declare const KyberNetworkProxy: import("@enzymefinance/ethers").ContractFactory<KyberNetworkProxy, never>;
|
12
|
+
export declare function kyberTakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, kyberAdapter, outgoingAsset, outgoingAssetAmount, incomingAsset, minIncomingAssetAmount, seedFund, }: {
|
13
|
+
comptrollerProxy: ComptrollerLib;
|
14
|
+
vaultProxy: VaultLib;
|
15
|
+
integrationManager: IntegrationManager;
|
16
|
+
fundOwner: SignerWithAddress;
|
17
|
+
kyberAdapter: KyberAdapter;
|
18
|
+
outgoingAsset: StandardToken;
|
19
|
+
outgoingAssetAmount?: BigNumberish;
|
20
|
+
incomingAsset: StandardToken;
|
21
|
+
minIncomingAssetAmount?: BigNumberish;
|
22
|
+
seedFund?: boolean;
|
23
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, IntegrationManager, VaultLib, MockGenericAdapter, StandardToken } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumberish, BytesLike } from 'ethers';
|
5
|
+
export declare const mockGenericRemoveOnlySelector: string;
|
6
|
+
export declare const mockGenericSwapASelector: string;
|
7
|
+
export declare const mockGenericSwapBSelector: string;
|
8
|
+
export declare const mockGenericSwapDirectFromVaultSelector: string;
|
9
|
+
export declare const mockGenericSwapViaApprovalSelector: string;
|
10
|
+
export declare function mockGenericSwapArgs({ spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, }: {
|
11
|
+
spendAssets?: AddressLike[];
|
12
|
+
maxSpendAssetAmounts?: BigNumberish[];
|
13
|
+
actualSpendAssetAmounts?: BigNumberish[];
|
14
|
+
incomingAssets?: AddressLike[];
|
15
|
+
minIncomingAssetAmounts?: BigNumberish[];
|
16
|
+
actualIncomingAssetAmounts?: BigNumberish[];
|
17
|
+
}): string;
|
18
|
+
export declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, }: {
|
19
|
+
comptrollerProxy: ComptrollerLib;
|
20
|
+
vaultProxy: VaultLib;
|
21
|
+
integrationManager: IntegrationManager;
|
22
|
+
fundOwner: SignerWithAddress;
|
23
|
+
mockGenericAdapter: MockGenericAdapter;
|
24
|
+
selector?: BytesLike;
|
25
|
+
spendAssets?: StandardToken[];
|
26
|
+
maxSpendAssetAmounts?: BigNumberish[];
|
27
|
+
actualSpendAssetAmounts?: BigNumberish[];
|
28
|
+
incomingAssets?: StandardToken[];
|
29
|
+
minIncomingAssetAmounts?: BigNumberish[];
|
30
|
+
actualIncomingAssetAmounts?: BigNumberish[];
|
31
|
+
seedFund?: boolean;
|
32
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, IntegrationManager, ParaSwapV4Adapter, ParaSwapV4Path, StandardToken } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumberish, utils } from 'ethers';
|
5
|
+
export declare function paraSwapV4GenerateDummyPaths({ toTokens }: {
|
6
|
+
toTokens: AddressLike[];
|
7
|
+
}): {
|
8
|
+
to: AddressLike;
|
9
|
+
totalNetworkFee: number;
|
10
|
+
routes: never[];
|
11
|
+
}[];
|
12
|
+
export declare function paraSwapV4TakeOrder({ comptrollerProxy, integrationManager, fundOwner, paraSwapV4Adapter, outgoingAsset, outgoingAssetAmount, minIncomingAssetAmount, expectedIncomingAssetAmount, paths, }: {
|
13
|
+
comptrollerProxy: ComptrollerLib;
|
14
|
+
integrationManager: IntegrationManager;
|
15
|
+
fundOwner: SignerWithAddress;
|
16
|
+
paraSwapV4Adapter: ParaSwapV4Adapter;
|
17
|
+
outgoingAsset: StandardToken;
|
18
|
+
outgoingAssetAmount?: BigNumberish;
|
19
|
+
minIncomingAssetAmount?: BigNumberish;
|
20
|
+
expectedIncomingAssetAmount?: BigNumberish;
|
21
|
+
paths: ParaSwapV4Path[];
|
22
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { ComptrollerLib, IntegrationManager, ISynthetixAddressResolver, StandardToken, SynthetixAdapter, VaultLib } from '@enzymefinance/protocol';
|
3
|
+
import { BigNumberish, Signer, utils } from 'ethers';
|
4
|
+
export declare function synthetixAssignExchangeDelegate({ comptrollerProxy, addressResolver, fundOwner, delegate, }: {
|
5
|
+
comptrollerProxy: ComptrollerLib;
|
6
|
+
addressResolver: ISynthetixAddressResolver;
|
7
|
+
fundOwner: Signer;
|
8
|
+
delegate: AddressLike;
|
9
|
+
}): Promise<void>;
|
10
|
+
export declare function synthetixResolveAddress({ addressResolver, name, }: {
|
11
|
+
addressResolver: ISynthetixAddressResolver;
|
12
|
+
name: string;
|
13
|
+
}): Promise<string>;
|
14
|
+
export declare function synthetixTakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, outgoingAssetAmount, incomingAsset, minIncomingAssetAmount, seedFund, }: {
|
15
|
+
comptrollerProxy: ComptrollerLib;
|
16
|
+
vaultProxy: VaultLib;
|
17
|
+
integrationManager: IntegrationManager;
|
18
|
+
fundOwner: Signer;
|
19
|
+
synthetixAdapter: SynthetixAdapter;
|
20
|
+
outgoingAsset: StandardToken;
|
21
|
+
outgoingAssetAmount?: BigNumberish;
|
22
|
+
incomingAsset: StandardToken;
|
23
|
+
minIncomingAssetAmount?: BigNumberish;
|
24
|
+
seedFund?: boolean;
|
25
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, IntegrationManager, TrackedAssetsAdapter } from '@enzymefinance/protocol';
|
4
|
+
export declare function addTrackedAssets({ comptrollerProxy, integrationManager, fundOwner, trackedAssetsAdapter, incomingAssets, }: {
|
5
|
+
comptrollerProxy: ComptrollerLib;
|
6
|
+
integrationManager: IntegrationManager;
|
7
|
+
fundOwner: SignerWithAddress;
|
8
|
+
trackedAssetsAdapter: TrackedAssetsAdapter;
|
9
|
+
incomingAssets: AddressLike[];
|
10
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: import("ethers").BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
11
|
+
export declare function removeTrackedAssets({ comptrollerProxy, integrationManager, fundOwner, trackedAssetsAdapter, spendAssets, }: {
|
12
|
+
comptrollerProxy: ComptrollerLib;
|
13
|
+
integrationManager: IntegrationManager;
|
14
|
+
fundOwner: SignerWithAddress;
|
15
|
+
trackedAssetsAdapter: TrackedAssetsAdapter;
|
16
|
+
spendAssets: AddressLike[];
|
17
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: import("ethers").BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { AddressLike, Call, Contract, Send } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, IntegrationManager, StandardToken, UniswapV2Adapter, VaultLib } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumberish } from 'ethers';
|
5
|
+
export interface UniswapV2Factory extends Contract<UniswapV2Factory> {
|
6
|
+
createPair: Send<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
|
7
|
+
getPair: Call<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
|
8
|
+
}
|
9
|
+
export declare const UniswapV2Factory: import("@enzymefinance/ethers").ContractFactory<UniswapV2Factory, never>;
|
10
|
+
export declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2Adapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, seedFund, }: {
|
11
|
+
comptrollerProxy: ComptrollerLib;
|
12
|
+
vaultProxy: VaultLib;
|
13
|
+
integrationManager: IntegrationManager;
|
14
|
+
fundOwner: SignerWithAddress;
|
15
|
+
uniswapV2Adapter: UniswapV2Adapter;
|
16
|
+
tokenA: StandardToken;
|
17
|
+
tokenB: StandardToken;
|
18
|
+
amountADesired: BigNumberish;
|
19
|
+
amountBDesired: BigNumberish;
|
20
|
+
amountAMin: BigNumberish;
|
21
|
+
amountBMin: BigNumberish;
|
22
|
+
minPoolTokenAmount: BigNumberish;
|
23
|
+
seedFund?: boolean;
|
24
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
25
|
+
export declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwner, uniswapV2Adapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, }: {
|
26
|
+
comptrollerProxy: ComptrollerLib;
|
27
|
+
integrationManager: IntegrationManager;
|
28
|
+
fundOwner: SignerWithAddress;
|
29
|
+
uniswapV2Adapter: UniswapV2Adapter;
|
30
|
+
poolTokenAmount: BigNumberish;
|
31
|
+
tokenA: AddressLike;
|
32
|
+
tokenB: AddressLike;
|
33
|
+
amountAMin: BigNumberish;
|
34
|
+
amountBMin: BigNumberish;
|
35
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
36
|
+
export declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2Adapter, path, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
|
37
|
+
comptrollerProxy: ComptrollerLib;
|
38
|
+
vaultProxy: VaultLib;
|
39
|
+
integrationManager: IntegrationManager;
|
40
|
+
fundOwner: SignerWithAddress;
|
41
|
+
uniswapV2Adapter: UniswapV2Adapter;
|
42
|
+
path: StandardToken[];
|
43
|
+
outgoingAssetAmount: BigNumberish;
|
44
|
+
minIncomingAssetAmount: BigNumberish;
|
45
|
+
seedFund?: boolean;
|
46
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, IntegrationManager, StandardToken } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumber, BigNumberish } from 'ethers';
|
5
|
+
export declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
|
6
|
+
comptrollerProxy: ComptrollerLib;
|
7
|
+
integrationManager: IntegrationManager;
|
8
|
+
fundOwner: SignerWithAddress;
|
9
|
+
uniswapV3Adapter: AddressLike;
|
10
|
+
pathAddresses: StandardToken[];
|
11
|
+
pathFees: BigNumber[];
|
12
|
+
outgoingAssetAmount: BigNumberish;
|
13
|
+
minIncomingAssetAmount?: BigNumberish;
|
14
|
+
seedFund?: boolean;
|
15
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
2
|
+
import { ComptrollerLib, IntegrationManager, StandardToken, YearnVaultV2Adapter } from '@enzymefinance/protocol';
|
3
|
+
import { BigNumberish } from 'ethers';
|
4
|
+
export declare function yearnVaultV2Lend({ signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, outgoingUnderlyingAmount, minIncomingYVaultSharesAmount, }: {
|
5
|
+
signer: SignerWithAddress;
|
6
|
+
comptrollerProxy: ComptrollerLib;
|
7
|
+
integrationManager: IntegrationManager;
|
8
|
+
yearnVaultV2Adapter: YearnVaultV2Adapter;
|
9
|
+
yVault: StandardToken;
|
10
|
+
outgoingUnderlyingAmount: BigNumberish;
|
11
|
+
minIncomingYVaultSharesAmount?: BigNumberish;
|
12
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
13
|
+
export declare function yearnVaultV2Redeem({ signer, comptrollerProxy, integrationManager, yearnVaultV2Adapter, yVault, maxOutgoingYVaultSharesAmount, minIncomingUnderlyingAmount, slippageToleranceBps, }: {
|
14
|
+
signer: SignerWithAddress;
|
15
|
+
comptrollerProxy: ComptrollerLib;
|
16
|
+
integrationManager: IntegrationManager;
|
17
|
+
yearnVaultV2Adapter: YearnVaultV2Adapter;
|
18
|
+
yVault: StandardToken;
|
19
|
+
maxOutgoingYVaultSharesAmount: BigNumberish;
|
20
|
+
minIncomingUnderlyingAmount?: BigNumberish;
|
21
|
+
slippageToleranceBps?: BigNumberish;
|
22
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
2
|
+
import { ComptrollerLib, IntegrationManager, ZeroExV2Adapter, VaultLib, SignedZeroExV2Order } from '@enzymefinance/protocol';
|
3
|
+
import { BigNumberish } from 'ethers';
|
4
|
+
export declare function zeroExV2TakeOrder({ comptrollerProxy, integrationManager, fundOwner, zeroExV2Adapter, signedOrder, takerAssetFillAmount, }: {
|
5
|
+
comptrollerProxy: ComptrollerLib;
|
6
|
+
vaultProxy: VaultLib;
|
7
|
+
integrationManager: IntegrationManager;
|
8
|
+
fundOwner: SignerWithAddress;
|
9
|
+
zeroExV2Adapter: ZeroExV2Adapter;
|
10
|
+
signedOrder: SignedZeroExV2Order;
|
11
|
+
takerAssetFillAmount: BigNumberish;
|
12
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_extension: import("@enzymefinance/ethers").AddressLike, _actionId: BigNumberish, _callArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { IPolicy, PolicyManager } from '@enzymefinance/protocol';
|
2
|
+
import { Signer } from 'ethers';
|
3
|
+
export declare function generatePolicyManagerConfigWithMockPolicies({ deployer, policyManager, }: {
|
4
|
+
deployer: Signer;
|
5
|
+
policyManager: PolicyManager;
|
6
|
+
}): Promise<string>;
|
7
|
+
export declare function generateRegisteredMockPolicies({ deployer, policyManager, }: {
|
8
|
+
deployer: Signer;
|
9
|
+
policyManager: PolicyManager;
|
10
|
+
}): Promise<{
|
11
|
+
mockPreBuySharesPolicy: import("@enzymefinance/ethers").MockContract<IPolicy>;
|
12
|
+
mockPostBuySharesPolicy: import("@enzymefinance/ethers").MockContract<IPolicy>;
|
13
|
+
mockPreCoIPolicy: import("@enzymefinance/ethers").MockContract<IPolicy>;
|
14
|
+
mockPostCoIPolicy: import("@enzymefinance/ethers").MockContract<IPolicy>;
|
15
|
+
}>;
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './sharesRequestors';
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { AuthUserExecutedSharesRequestorFactory, AuthUserExecutedSharesRequestorLib, StandardToken } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumberish } from 'ethers';
|
5
|
+
export declare function createAuthUserExecutedSharesRequestorProxy({ signer, authUserExecutedSharesRequestorFactory, comptrollerProxy, }: {
|
6
|
+
signer: SignerWithAddress;
|
7
|
+
authUserExecutedSharesRequestorFactory: AuthUserExecutedSharesRequestorFactory;
|
8
|
+
comptrollerProxy: AddressLike;
|
9
|
+
}): Promise<{
|
10
|
+
authUserExecutedSharesRequestorProxy: AuthUserExecutedSharesRequestorLib;
|
11
|
+
receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_comptrollerProxy: AddressLike], string, AuthUserExecutedSharesRequestorFactory>>;
|
12
|
+
}>;
|
13
|
+
export declare function createAuthUserExecutedSharesRequest({ buyer, authUserExecutedSharesRequestorProxy, denominationAsset, investmentAmount, minSharesQuantity, }: {
|
14
|
+
buyer: SignerWithAddress;
|
15
|
+
authUserExecutedSharesRequestorProxy: AuthUserExecutedSharesRequestorLib;
|
16
|
+
denominationAsset: StandardToken;
|
17
|
+
investmentAmount?: BigNumberish;
|
18
|
+
minSharesQuantity?: BigNumberish;
|
19
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish], void, AuthUserExecutedSharesRequestorLib>>>;
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib, ComptrollerProxy, FundDeployer, VaultLib } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumberish, BytesLike } from 'ethers';
|
5
|
+
import { BuySharesParams, DenominationAssetInterface } from './shares';
|
6
|
+
export declare type InitialInvestmentParams = Omit<BuySharesParams, 'comptrollerProxy' | 'denominationAsset'>;
|
7
|
+
export interface CreateMigratedFundConfigParams {
|
8
|
+
signer: SignerWithAddress;
|
9
|
+
fundDeployer: FundDeployer;
|
10
|
+
denominationAsset: DenominationAssetInterface;
|
11
|
+
sharesActionTimelock?: BigNumberish;
|
12
|
+
feeManagerConfigData?: BytesLike;
|
13
|
+
policyManagerConfigData?: BytesLike;
|
14
|
+
}
|
15
|
+
export interface CreateNewFundParams {
|
16
|
+
signer: SignerWithAddress;
|
17
|
+
fundDeployer: FundDeployer;
|
18
|
+
denominationAsset: DenominationAssetInterface;
|
19
|
+
sharesActionTimelock?: BigNumberish;
|
20
|
+
fundOwner?: AddressLike;
|
21
|
+
fundName?: string;
|
22
|
+
feeManagerConfig?: BytesLike;
|
23
|
+
policyManagerConfig?: BytesLike;
|
24
|
+
investment?: InitialInvestmentParams;
|
25
|
+
}
|
26
|
+
export declare function createComptrollerProxy({ signer, comptrollerLib, denominationAsset, sharesActionTimelock, }: {
|
27
|
+
signer: SignerWithAddress;
|
28
|
+
comptrollerLib: ComptrollerLib;
|
29
|
+
denominationAsset: AddressLike;
|
30
|
+
sharesActionTimelock?: BigNumberish;
|
31
|
+
}): Promise<{
|
32
|
+
comptrollerProxy: ComptrollerLib;
|
33
|
+
receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").ConstructorFunction<any, ComptrollerProxy>>;
|
34
|
+
}>;
|
35
|
+
export declare function createMigratedFundConfig({ signer, fundDeployer, denominationAsset, sharesActionTimelock, feeManagerConfigData, policyManagerConfigData, }: CreateMigratedFundConfigParams): Promise<{
|
36
|
+
receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike], string, FundDeployer>>;
|
37
|
+
comptrollerProxy: ComptrollerLib;
|
38
|
+
}>;
|
39
|
+
export declare function createNewFund({ signer, fundDeployer, denominationAsset, sharesActionTimelock, fundOwner, fundName, feeManagerConfig, policyManagerConfig, investment, }: CreateNewFundParams): Promise<{
|
40
|
+
comptrollerProxy: ComptrollerLib;
|
41
|
+
receipt: import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_fundOwner: AddressLike, _fundName: string, _denominationAsset: AddressLike, _sharesActionTimelock: BigNumberish, _feeManagerConfigData: BytesLike, _policyManagerConfigData: BytesLike], {
|
42
|
+
comptrollerProxy_: string;
|
43
|
+
vaultProxy_: string;
|
44
|
+
}, FundDeployer>>;
|
45
|
+
vaultProxy: VaultLib;
|
46
|
+
}>;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { AddressLike, Contract, Send } from '@enzymefinance/ethers';
|
2
|
+
import { SignerWithAddress } from '@enzymefinance/hardhat';
|
3
|
+
import { ComptrollerLib } from '@enzymefinance/protocol';
|
4
|
+
import { BigNumber, BigNumberish } from 'ethers';
|
5
|
+
export interface DenominationAssetInterface extends Contract<any> {
|
6
|
+
approve: Send<(spender: AddressLike, amount: BigNumberish) => boolean, any>;
|
7
|
+
}
|
8
|
+
export interface BuySharesParams {
|
9
|
+
comptrollerProxy: ComptrollerLib;
|
10
|
+
signer: SignerWithAddress;
|
11
|
+
buyers: AddressLike[];
|
12
|
+
denominationAsset: DenominationAssetInterface;
|
13
|
+
investmentAmounts?: BigNumberish[];
|
14
|
+
minSharesAmounts?: BigNumberish[];
|
15
|
+
}
|
16
|
+
export interface RedeemSharesParams {
|
17
|
+
comptrollerProxy: ComptrollerLib;
|
18
|
+
signer: SignerWithAddress;
|
19
|
+
quantity?: BigNumberish;
|
20
|
+
additionalAssets?: AddressLike[];
|
21
|
+
assetsToSkip?: AddressLike[];
|
22
|
+
}
|
23
|
+
export declare function buyShares({ comptrollerProxy, signer, buyers, denominationAsset, investmentAmounts, minSharesAmounts, }: BuySharesParams): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_buyers: AddressLike[], _investmentAmounts: BigNumberish[], _minSharesQuantities: BigNumberish[]], BigNumber[], ComptrollerLib>>>;
|
24
|
+
export declare function redeemShares({ comptrollerProxy, signer, quantity, additionalAssets, assetsToSkip, }: RedeemSharesParams): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[], {
|
25
|
+
payoutAssets_: string[];
|
26
|
+
payoutAmounts_: BigNumber[];
|
27
|
+
}, ComptrollerLib>> | import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_sharesQuantity: BigNumberish, _additionalAssets: AddressLike[], _assetsToSkip: AddressLike[]], {
|
28
|
+
payoutAssets_: string[];
|
29
|
+
payoutAmounts_: BigNumber[];
|
30
|
+
}, ComptrollerLib>>>;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { AddressLike } from '@enzymefinance/ethers';
|
2
|
+
import { ComptrollerLib } from '@enzymefinance/protocol';
|
3
|
+
export declare function vaultCallCurveMinterMint({ comptrollerProxy, minter, gauge, }: {
|
4
|
+
comptrollerProxy: ComptrollerLib;
|
5
|
+
minter: AddressLike;
|
6
|
+
gauge: AddressLike;
|
7
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_contract: AddressLike, _selector: import("ethers").BytesLike, _encodedArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
8
|
+
export declare function vaultCallCurveMinterMintMany({ comptrollerProxy, minter, gauges, }: {
|
9
|
+
comptrollerProxy: ComptrollerLib;
|
10
|
+
minter: AddressLike;
|
11
|
+
gauges: AddressLike[];
|
12
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_contract: AddressLike, _selector: import("ethers").BytesLike, _encodedArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|
13
|
+
export declare function vaultCallCurveMinterToggleApproveMint({ comptrollerProxy, minter, account, }: {
|
14
|
+
comptrollerProxy: ComptrollerLib;
|
15
|
+
minter: AddressLike;
|
16
|
+
account: AddressLike;
|
17
|
+
}): Promise<import("@enzymefinance/ethers").ContractReceipt<import("@enzymefinance/ethers").SendFunction<[_contract: AddressLike, _selector: import("ethers").BytesLike, _encodedArgs: import("ethers").BytesLike], void, ComptrollerLib>>>;
|