@enzymefinance/testutils 4.0.2 → 4.0.5

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -3,9 +3,10 @@ import { AddressLike, ContractReceipt, Contract, Call, Send } from '@enzymefinan
3
3
  import * as _enzymefinance_hardhat from '@enzymefinance/hardhat';
4
4
  import { SignerWithAddress, EthereumTestnetProvider } from '@enzymefinance/hardhat';
5
5
  import * as ethers from 'ethers';
6
- import { utils, BigNumberish, BigNumber, Signer, BytesLike } from 'ethers';
6
+ import { BigNumberish, utils, BigNumber, Signer, BytesLike } from 'ethers';
7
+ import * as hardhat_deploy_dist_types from 'hardhat-deploy/dist/types';
7
8
  import * as _enzymefinance_protocol from '@enzymefinance/protocol';
8
- import { AaveAdapter, AaveDebtPositionLib, AaveDebtPositionParser, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, ConvexCurveLpStakingAdapter, ConvexCurveLpStakingWrapperFactory, ConvexCurveLpStakingWrapperPriceFeed, ConvexVotingPositionLib, ConvexVotingPositionParser, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, FuseAdapter, FusePriceFeed, GasRelayPaymasterFactory, GlobalConfigLib, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, LiquityDebtPositionLib, LiquityDebtPositionParser, ManagementFee, MapleLiquidityPositionLib, MapleLiquidityPositionParser, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, OlympusV2Adapter, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, SharesSplitterFactory, SynthetixAdapter, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, UsdEthSimulatedAggregator, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter, ChainlinkRateAsset, CreateSignedRelayRequestOptions, IGsnRelayHub, StandardToken, MockChainlinkPriceSource, IExternalPositionProxy, VotiumClaimParam, MockGenericExternalPositionParser, MockGenericExternalPositionLib, IFee, ICERC20, CurveRedeemType, MockGenericAdapter, ParaSwapV5Path, SignedZeroExV2Order, IPolicy, SharesSplitterLib, ComptrollerProxy, GasRelayPaymasterLib, AddressListUpdateType } from '@enzymefinance/protocol';
9
+ import { AaveAdapter, AaveDebtPositionLib, AaveDebtPositionParser, AavePriceFeed, AddressListRegistry, AllowedAdapterIncomingAssetsPolicy, AllowedAdaptersPerManagerPolicy, AllowedAdaptersPolicy, AllowedAssetsForRedemptionPolicy, AllowedDepositRecipientsPolicy, AllowedExternalPositionTypesPerManagerPolicy, AllowedExternalPositionTypesPolicy, AllowedSharesTransferRecipientsPolicy, ArbitraryLoanFixedInterestModule, ArbitraryLoanPositionLib, ArbitraryLoanPositionParser, ArbitraryLoanTotalNominalDeltaOracleModule, ArbitraryTokenPhasedSharesWrapperFactory, CompoundAdapter, CompoundDebtPositionLib, CompoundDebtPositionParser, CompoundPriceFeed, ComptrollerLib, ConvexCurveLpStakingAdapter, ConvexCurveLpStakingWrapperFactory, ConvexCurveLpStakingWrapperPriceFeed, ConvexVotingPositionLib, ConvexVotingPositionParser, CumulativeSlippageTolerancePolicy, CurveExchangeAdapter, CurveLiquidityAdapter, CurvePriceFeed, DepositWrapper, Dispatcher, EntranceRateBurnFee, EntranceRateDirectFee, ExitRateBurnFee, ExitRateDirectFee, ExternalPositionFactory, ExternalPositionManager, FeeManager, FiduPriceFeed, FundDeployer, FundValueCalculator, FundValueCalculatorRouter, FundValueCalculatorUsdWrapper, FuseAdapter, FusePriceFeed, GasRelayPaymasterFactory, GlobalConfigLib, IdleAdapter, IdlePriceFeed, IntegrationManager, LidoStethPriceFeed, LiquityDebtPositionLib, LiquityDebtPositionParser, ManagementFee, ManualValueOracleFactory, MapleLiquidityPositionLib, MapleLiquidityPositionParser, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, NotionalV2PositionLib, NotionalV2PositionParser, MinSharesSupplyFee, OlympusV2Adapter, OnlyRemoveDustExternalPositionPolicy, OnlyUntrackDustOrPricelessAssetsPolicy, ParaSwapV5Adapter, PerformanceFee, PolicyManager, PoolTogetherV4Adapter, PoolTogetherV4PriceFeed, ProtocolFeeReserveLib, ProtocolFeeTracker, RevertingPriceFeed, SharesSplitterFactory, SynthetixAdapter, UintListRegistry, UniswapV2ExchangeAdapter, UniswapV2LiquidityAdapter, UniswapV2PoolPriceFeed, UniswapV3Adapter, UnpermissionedActionsWrapper, UsdEthSimulatedAggregator, ValueInterpreter, VaultLib, YearnVaultV2Adapter, YearnVaultV2PriceFeed, ZeroExV2Adapter, ChainlinkRateAsset, CreateSignedRelayRequestOptions, IGsnRelayHub, StandardToken, MockChainlinkPriceSource, IExternalPositionProxy, VotiumClaimParam, MockGenericExternalPositionParser, MockGenericExternalPositionLib, IFee, ICERC20, CurveRedeemType, MockGenericAdapter, ParaSwapV5Path, SignedZeroExV2Order, IPolicy, ArbitraryTokenPhasedSharesWrapperLib, ManualValueOracleLib, SharesSplitterLib, ComptrollerProxy, GasRelayPaymasterLib, AddressListUpdateType } from '@enzymefinance/protocol';
9
10
  import { MerkleTree } from 'merkletreejs';
10
11
 
11
12
  declare function impersonateContractSigner({ contractAddress, ethSeeder, provider, }: {
@@ -17,6 +18,18 @@ declare function impersonateSigner({ signerAddress, provider, }: {
17
18
  signerAddress: AddressLike;
18
19
  provider: EthereumTestnetProvider;
19
20
  }): Promise<SignerWithAddress>;
21
+ declare function seedAccount({ account, amount, provider, token, }: {
22
+ account: AddressLike;
23
+ amount: BigNumberish;
24
+ provider: EthereumTestnetProvider;
25
+ token: AddressLike;
26
+ }): Promise<void>;
27
+ interface SlotInfo {
28
+ slot: number;
29
+ storageAddress?: string;
30
+ isVyper: boolean;
31
+ }
32
+ declare function findTokenBalanceStorageSlot(token: AddressLike, provider: EthereumTestnetProvider): Promise<SlotInfo | undefined>;
20
33
 
21
34
  declare function assertEvent<TResult = any>(receipt: ContractReceipt<any>, event: utils.EventFragment | string, match?: TResult): NonNullable<TResult>;
22
35
  declare function assertNoEvent(receipt: ContractReceipt<any>, event: utils.EventFragment | string): void;
@@ -34,11 +47,18 @@ declare function deployProtocolFixture(): Promise<{
34
47
  readonly aavePriceFeed: AavePriceFeed;
35
48
  readonly addressListRegistry: AddressListRegistry;
36
49
  readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
50
+ readonly allowedAdaptersPerManagerPolicy: AllowedAdaptersPerManagerPolicy;
37
51
  readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
38
52
  readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
39
53
  readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
54
+ readonly allowedExternalPositionTypesPerManagerPolicy: AllowedExternalPositionTypesPerManagerPolicy;
40
55
  readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
41
56
  readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
57
+ readonly arbitraryLoanFixedInterestModule: ArbitraryLoanFixedInterestModule;
58
+ readonly arbitraryLoanPositionLib: ArbitraryLoanPositionLib;
59
+ readonly arbitraryLoanPositionParser: ArbitraryLoanPositionParser;
60
+ readonly arbitraryLoanTotalNominalDeltaOracleModule: ArbitraryLoanTotalNominalDeltaOracleModule;
61
+ readonly arbitraryTokenPhasedSharesWrapperFactory: ArbitraryTokenPhasedSharesWrapperFactory;
42
62
  readonly compoundAdapter: CompoundAdapter;
43
63
  readonly compoundDebtPositionLib: CompoundDebtPositionLib;
44
64
  readonly compoundDebtPositionParser: CompoundDebtPositionParser;
@@ -62,6 +82,7 @@ declare function deployProtocolFixture(): Promise<{
62
82
  readonly externalPositionFactory: ExternalPositionFactory;
63
83
  readonly externalPositionManager: ExternalPositionManager;
64
84
  readonly feeManager: FeeManager;
85
+ readonly fiduPriceFeed: FiduPriceFeed;
65
86
  readonly fundDeployer: FundDeployer;
66
87
  readonly fundValueCalculator: FundValueCalculator;
67
88
  readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
@@ -78,10 +99,14 @@ declare function deployProtocolFixture(): Promise<{
78
99
  readonly liquityDebtPositionLib: LiquityDebtPositionLib;
79
100
  readonly liquityDebtPositionParser: LiquityDebtPositionParser;
80
101
  readonly managementFee: ManagementFee;
102
+ readonly manualValueOracleFactory: ManualValueOracleFactory;
81
103
  readonly mapleLiquidityPositionLib: MapleLiquidityPositionLib;
82
104
  readonly mapleLiquidityPositionParser: MapleLiquidityPositionParser;
83
105
  readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
84
106
  readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
107
+ readonly notionalV2Position: NotionalV2PositionLib;
108
+ readonly notionalV2PositionParser: NotionalV2PositionParser;
109
+ readonly minSharesSupplyFee: MinSharesSupplyFee;
85
110
  readonly olympusV2Adapter: OlympusV2Adapter;
86
111
  readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
87
112
  readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
@@ -96,6 +121,7 @@ declare function deployProtocolFixture(): Promise<{
96
121
  readonly revertingPriceFeed: RevertingPriceFeed;
97
122
  readonly sharesSplitterFactory: SharesSplitterFactory;
98
123
  readonly synthetixAdapter: SynthetixAdapter;
124
+ readonly uintListRegistry: UintListRegistry;
99
125
  readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
100
126
  readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
101
127
  readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
@@ -108,6 +134,9 @@ declare function deployProtocolFixture(): Promise<{
108
134
  readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
109
135
  readonly zeroExV2Adapter: ZeroExV2Adapter;
110
136
  };
137
+ readonly fixture: {
138
+ [name: string]: hardhat_deploy_dist_types.Deployment;
139
+ };
111
140
  }>;
112
141
  declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
113
142
  declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
@@ -178,6 +207,10 @@ interface DeploymentConfig {
178
207
  fetherTokens: Record<string, string>;
179
208
  ftokens: Record<string, string>;
180
209
  };
210
+ goldfinch: {
211
+ fidu: string;
212
+ seniorPool: string;
213
+ };
181
214
  idle: {
182
215
  bestYieldIdleDai: string;
183
216
  bestYieldIdleUsdc: string;
@@ -199,6 +232,9 @@ interface DeploymentConfig {
199
232
  mplRewardsFactory: string;
200
233
  poolFactory: string;
201
234
  };
235
+ notional: {
236
+ notionalContract: string;
237
+ };
202
238
  olympusV2: {
203
239
  stakingContract: string;
204
240
  };
@@ -215,6 +251,18 @@ interface DeploymentConfig {
215
251
  snapshot: {
216
252
  delegateRegistry: string;
217
253
  };
254
+ solvFinanceV2: {
255
+ convertibleMarket: string;
256
+ initialConvertibleOfferingMarket: string;
257
+ deployer: string;
258
+ priceOracleManager: string;
259
+ manualPriceOracle: string;
260
+ convertibles: Record<'perp' | 'usf', {
261
+ underlying: string;
262
+ voucher: string;
263
+ pool: string;
264
+ }>;
265
+ };
218
266
  theGraph: {
219
267
  stakingProxy: string;
220
268
  grt: string;
@@ -319,12 +367,13 @@ declare function sendEthBySelfDestruct({ signer, recipient, amount, }: {
319
367
  }): Promise<void>;
320
368
  declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
321
369
 
322
- declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, }: {
370
+ declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, provider, }: {
323
371
  signer: SignerWithAddress;
324
372
  comptrollerProxy: ComptrollerLib;
325
373
  integrationManager: IntegrationManager;
326
374
  assets: StandardToken[];
327
375
  amounts?: BigNumberish[];
376
+ provider: EthereumTestnetProvider;
328
377
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
329
378
 
330
379
  declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
@@ -437,6 +486,54 @@ declare function removeExternalPosition({ signer, comptrollerProxy, externalPosi
437
486
  externalPositionProxy: AddressLike;
438
487
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
439
488
 
489
+ declare function arbitraryLoanPositionCallOnAccountingModule({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
490
+ comptrollerProxy: ComptrollerLib;
491
+ externalPositionManager: ExternalPositionManager;
492
+ signer: SignerWithAddress;
493
+ externalPositionProxy: AddressLike;
494
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
495
+ declare function arbitraryLoanPositionCloseLoan({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, extraAssetsToSweep, }: {
496
+ comptrollerProxy: ComptrollerLib;
497
+ externalPositionManager: ExternalPositionManager;
498
+ signer: SignerWithAddress;
499
+ externalPositionProxy: AddressLike;
500
+ extraAssetsToSweep?: AddressLike[];
501
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
502
+ declare function arbitraryLoanPositionConfigureLoan({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, borrower, loanAsset, amount, accountingModule, accountingModuleConfigData, description, }: {
503
+ comptrollerProxy: ComptrollerLib;
504
+ externalPositionManager: ExternalPositionManager;
505
+ signer: SignerWithAddress;
506
+ externalPositionProxy: AddressLike;
507
+ borrower: AddressLike;
508
+ loanAsset: AddressLike;
509
+ amount: BigNumberish;
510
+ accountingModule: AddressLike;
511
+ accountingModuleConfigData: BytesLike;
512
+ description?: string;
513
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
514
+ declare function arbitraryLoanPositionReconcile({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, extraAssetsToSweep, }: {
515
+ comptrollerProxy: ComptrollerLib;
516
+ externalPositionManager: ExternalPositionManager;
517
+ signer: SignerWithAddress;
518
+ externalPositionProxy: AddressLike;
519
+ extraAssetsToSweep?: AddressLike[];
520
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
521
+ declare function arbitraryLoanPositionUpdateBorrowableAmount({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, amountDelta, }: {
522
+ comptrollerProxy: ComptrollerLib;
523
+ externalPositionManager: ExternalPositionManager;
524
+ signer: SignerWithAddress;
525
+ externalPositionProxy: AddressLike;
526
+ amountDelta: BigNumberish;
527
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
528
+ declare function createArbitraryLoanPosition({ signer, comptrollerProxy, externalPositionManager, }: {
529
+ signer: SignerWithAddress;
530
+ comptrollerProxy: ComptrollerLib;
531
+ externalPositionManager: ExternalPositionManager;
532
+ }): Promise<{
533
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
534
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
535
+ }>;
536
+
440
537
  declare function compoundDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
441
538
  comptrollerProxy: ComptrollerLib;
442
539
  externalPositionManager: ExternalPositionManager;
@@ -759,6 +856,220 @@ declare function mockExternalPositionRemoveManagedAssets({ signer, comptrollerPr
759
856
  amounts: BigNumberish[];
760
857
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
761
858
 
859
+ declare enum NotionalV2MarketIndex {
860
+ ThreeMonths = "1",
861
+ SixMonths = "2",
862
+ OneYear = "3",
863
+ TwoYears = "4",
864
+ FiveYears = "5",
865
+ TenYears = "6",
866
+ TwentyYears = "7"
867
+ }
868
+ declare enum NotionalV2CurrencyId {
869
+ Eth = "1",
870
+ Dai = "2",
871
+ Usdc = "3"
872
+ }
873
+ declare function createNotionalV2Position({ signer, comptrollerProxy, externalPositionManager, }: {
874
+ signer: SignerWithAddress;
875
+ comptrollerProxy: ComptrollerLib;
876
+ externalPositionManager: ExternalPositionManager;
877
+ }): Promise<{
878
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
879
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
880
+ }>;
881
+ declare function notionalV2GetActiveMarketArraySlot(index: NotionalV2MarketIndex): number;
882
+ declare function notionalV2PositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, currencyId, collateralAssetAmount, externalPositionProxy, }: {
883
+ comptrollerProxy: ComptrollerLib;
884
+ externalPositionManager: ExternalPositionManager;
885
+ signer: SignerWithAddress;
886
+ currencyId: BigNumberish;
887
+ collateralAssetAmount: BigNumberish;
888
+ externalPositionProxy: AddressLike;
889
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
890
+ declare function notionalV2PositionBorrow({ comptrollerProxy, externalPositionManager, signer, collateralCurrencyId, collateralAssetAmount, borrowCurrencyId, fCashAmount, marketIndex, minLendRate, externalPositionProxy, }: {
891
+ comptrollerProxy: ComptrollerLib;
892
+ externalPositionManager: ExternalPositionManager;
893
+ signer: SignerWithAddress;
894
+ collateralCurrencyId?: BigNumberish;
895
+ borrowCurrencyId: BigNumberish;
896
+ collateralAssetAmount?: BigNumberish;
897
+ fCashAmount: BigNumberish;
898
+ marketIndex: BigNumberish;
899
+ minLendRate: BigNumberish;
900
+ externalPositionProxy: AddressLike;
901
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
902
+ declare function notionalV2PositionLend({ comptrollerProxy, externalPositionManager, signer, currencyId, underlyingAssetAmount, fCashAmount, marketIndex, minLendRate, externalPositionProxy, }: {
903
+ comptrollerProxy: ComptrollerLib;
904
+ externalPositionManager: ExternalPositionManager;
905
+ signer: SignerWithAddress;
906
+ underlyingAssetAmount: BigNumberish;
907
+ currencyId: BigNumberish;
908
+ fCashAmount: BigNumberish;
909
+ marketIndex: BigNumberish;
910
+ minLendRate: BigNumberish;
911
+ externalPositionProxy: AddressLike;
912
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
913
+ declare function notionalV2PositionRedeem({ comptrollerProxy, externalPositionManager, signer, currencyId, yieldTokenAmount, externalPositionProxy, }: {
914
+ comptrollerProxy: ComptrollerLib;
915
+ externalPositionManager: ExternalPositionManager;
916
+ signer: SignerWithAddress;
917
+ currencyId: BigNumberish;
918
+ yieldTokenAmount: BigNumberish;
919
+ externalPositionProxy: AddressLike;
920
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
921
+
922
+ declare function solvV2ConvertibleBuyerPositionBuyOffering({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, offerId, units, voucher, }: {
923
+ comptrollerProxy: ComptrollerLib;
924
+ externalPositionManager: ExternalPositionManager;
925
+ signer: SignerWithAddress;
926
+ externalPositionProxy: AddressLike;
927
+ offerId: BigNumberish;
928
+ units: BigNumberish;
929
+ voucher: AddressLike;
930
+ }): Promise<{
931
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
932
+ tokenId: BigNumber;
933
+ }>;
934
+ declare function solvV2ConvertibleBuyerPositionBuySaleByAmount({ comptrollerProxy, externalPositionManager, signer, amount, externalPositionProxy, saleId, }: {
935
+ comptrollerProxy: ComptrollerLib;
936
+ externalPositionManager: ExternalPositionManager;
937
+ signer: SignerWithAddress;
938
+ amount: BigNumberish;
939
+ externalPositionProxy: AddressLike;
940
+ saleId: BigNumberish;
941
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
942
+ declare function solvV2ConvertibleBuyerPositionBuySaleByUnits({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, saleId, units, }: {
943
+ comptrollerProxy: ComptrollerLib;
944
+ externalPositionManager: ExternalPositionManager;
945
+ signer: SignerWithAddress;
946
+ externalPositionProxy: AddressLike;
947
+ saleId: BigNumberish;
948
+ units: BigNumberish;
949
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
950
+ declare function solvV2ConvertibleBuyerPositionClaim({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, tokenId, voucher, units, }: {
951
+ comptrollerProxy: ComptrollerLib;
952
+ externalPositionManager: ExternalPositionManager;
953
+ signer: SignerWithAddress;
954
+ externalPositionProxy: AddressLike;
955
+ tokenId: BigNumberish;
956
+ voucher: AddressLike;
957
+ units?: BigNumberish;
958
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
959
+ declare function solvV2ConvertibleBuyerPositionCreateSaleDecliningPrice({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, voucher, tokenId, currency, min, max, startTime, useAllowList, highest, lowest, duration, interval, }: {
960
+ comptrollerProxy: ComptrollerLib;
961
+ externalPositionManager: ExternalPositionManager;
962
+ signer: SignerWithAddress;
963
+ externalPositionProxy: AddressLike;
964
+ voucher: AddressLike;
965
+ tokenId: BigNumberish;
966
+ currency: AddressLike;
967
+ min: BigNumberish;
968
+ max: BigNumberish;
969
+ startTime: BigNumberish;
970
+ useAllowList: boolean;
971
+ highest: BigNumberish;
972
+ lowest: BigNumberish;
973
+ duration: BigNumberish;
974
+ interval: BigNumberish;
975
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
976
+ declare function solvV2ConvertibleBuyerPositionCreateSaleFixedPrice({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, voucher, tokenId, currency, min, max, startTime, useAllowList, price, }: {
977
+ comptrollerProxy: ComptrollerLib;
978
+ externalPositionManager: ExternalPositionManager;
979
+ signer: SignerWithAddress;
980
+ externalPositionProxy: AddressLike;
981
+ voucher: AddressLike;
982
+ tokenId: BigNumberish;
983
+ currency: AddressLike;
984
+ min: BigNumberish;
985
+ max: BigNumberish;
986
+ startTime: BigNumberish;
987
+ useAllowList: boolean;
988
+ price: BigNumberish;
989
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
990
+ declare function solvV2ConvertibleBuyerPositionReconcile({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
991
+ comptrollerProxy: ComptrollerLib;
992
+ externalPositionManager: ExternalPositionManager;
993
+ signer: SignerWithAddress;
994
+ externalPositionProxy: AddressLike;
995
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
996
+ declare function solvV2ConvertibleBuyerPositionRemoveSale({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, saleId, }: {
997
+ comptrollerProxy: ComptrollerLib;
998
+ externalPositionManager: ExternalPositionManager;
999
+ signer: SignerWithAddress;
1000
+ externalPositionProxy: AddressLike;
1001
+ saleId: BigNumberish;
1002
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1003
+ declare function createSolvV2ConvertibleBuyerPosition({ comptrollerProxy, externalPositionManager, signer, }: {
1004
+ comptrollerProxy: ComptrollerLib;
1005
+ externalPositionManager: ExternalPositionManager;
1006
+ signer: SignerWithAddress;
1007
+ }): Promise<{
1008
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
1009
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>;
1010
+ }>;
1011
+
1012
+ interface SolvV2ConvertibleIssuerPositionCreateOfferParams {
1013
+ comptrollerProxy: ComptrollerLib;
1014
+ externalPositionManager: ExternalPositionManager;
1015
+ signer: SignerWithAddress;
1016
+ externalPositionProxy: AddressLike;
1017
+ voucher: AddressLike;
1018
+ currency: AddressLike;
1019
+ min: BigNumberish;
1020
+ max: BigNumberish;
1021
+ startTime: BigNumberish;
1022
+ endTime: BigNumberish;
1023
+ useAllowList: boolean;
1024
+ priceType: BigNumberish;
1025
+ priceData: BytesLike;
1026
+ mintParameter: {
1027
+ lowestPrice: BigNumberish;
1028
+ highestPrice: BigNumberish;
1029
+ tokenInAmount: BigNumberish;
1030
+ effectiveTime: BigNumberish;
1031
+ maturity: BigNumberish;
1032
+ };
1033
+ }
1034
+ declare function solvV2ConvertibleIssuerPositionCreateOffer({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, voucher, currency, min, max, startTime, endTime, useAllowList, priceType, priceData, mintParameter, }: SolvV2ConvertibleIssuerPositionCreateOfferParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1035
+ declare function solvV2ConvertibleIssuerPositionReconcile({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
1036
+ comptrollerProxy: ComptrollerLib;
1037
+ externalPositionManager: ExternalPositionManager;
1038
+ signer: SignerWithAddress;
1039
+ externalPositionProxy: AddressLike;
1040
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1041
+ declare function solvV2ConvertibleIssuerPositionRefund({ comptrollerProxy, externalPositionManager, signer, voucher, slotId, externalPositionProxy, }: {
1042
+ comptrollerProxy: ComptrollerLib;
1043
+ externalPositionManager: ExternalPositionManager;
1044
+ signer: SignerWithAddress;
1045
+ voucher: AddressLike;
1046
+ slotId: BigNumberish;
1047
+ externalPositionProxy: AddressLike;
1048
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1049
+ declare function solvV2ConvertibleIssuerPositionRemoveOffer({ comptrollerProxy, externalPositionManager, signer, offerId, externalPositionProxy, }: {
1050
+ comptrollerProxy: ComptrollerLib;
1051
+ externalPositionManager: ExternalPositionManager;
1052
+ signer: SignerWithAddress;
1053
+ offerId: BigNumberish;
1054
+ externalPositionProxy: AddressLike;
1055
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1056
+ declare function solvV2ConvertibleIssuerPositionWithdraw({ comptrollerProxy, externalPositionManager, signer, voucher, slotId, externalPositionProxy, }: {
1057
+ comptrollerProxy: ComptrollerLib;
1058
+ externalPositionManager: ExternalPositionManager;
1059
+ signer: SignerWithAddress;
1060
+ voucher: AddressLike;
1061
+ slotId: BigNumberish;
1062
+ externalPositionProxy: AddressLike;
1063
+ }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
1064
+ declare function createSolvV2ConvertibleIssuerPosition({ signer, comptrollerProxy, externalPositionManager, }: {
1065
+ signer: SignerWithAddress;
1066
+ comptrollerProxy: ComptrollerLib;
1067
+ externalPositionManager: ExternalPositionManager;
1068
+ }): Promise<{
1069
+ externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
1070
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>;
1071
+ }>;
1072
+
762
1073
  declare function theGraphDelegationPositionDelegate({ comptrollerProxy, externalPositionManager, signer, indexer, tokens, externalPositionProxy, }: {
763
1074
  comptrollerProxy: ComptrollerLib;
764
1075
  externalPositionManager: ExternalPositionManager;
@@ -921,8 +1232,7 @@ interface ICompoundComptroller extends Contract<ICompoundComptroller> {
921
1232
  claimComp: Send<(_account: AddressLike) => void>;
922
1233
  }
923
1234
  declare const ICompoundComptroller: _enzymefinance_ethers.ContractFactory<ICompoundComptroller, never>;
924
- declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, }: {
925
- tokenWhale: SignerWithAddress;
1235
+ declare function assertCompoundLend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, provider, }: {
926
1236
  comptrollerProxy: ComptrollerLib;
927
1237
  vaultProxy: VaultLib;
928
1238
  integrationManager: IntegrationManager;
@@ -931,8 +1241,9 @@ declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy,
931
1241
  tokenAmount?: BigNumber;
932
1242
  cToken: ICERC20;
933
1243
  compoundPriceFeed: CompoundPriceFeed;
1244
+ provider: EthereumTestnetProvider;
934
1245
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
935
- declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, }: {
1246
+ declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, provider, }: {
936
1247
  comptrollerProxy: ComptrollerLib;
937
1248
  vaultProxy: VaultLib;
938
1249
  integrationManager: IntegrationManager;
@@ -940,6 +1251,7 @@ declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integratio
940
1251
  compoundAdapter: CompoundAdapter;
941
1252
  cToken: ICERC20;
942
1253
  compoundPriceFeed: CompoundPriceFeed;
1254
+ provider: EthereumTestnetProvider;
943
1255
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
944
1256
  declare function compoundClaim({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, }: {
945
1257
  comptrollerProxy: ComptrollerLib;
@@ -1110,12 +1422,13 @@ declare function mockGenericSwapArgs({ spendAssets, actualSpendAssetAmounts, max
1110
1422
  minIncomingAssetAmounts?: BigNumberish[];
1111
1423
  actualIncomingAssetAmounts?: BigNumberish[];
1112
1424
  }): string;
1113
- declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, }: {
1425
+ declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, signer, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, provider, }: {
1114
1426
  comptrollerProxy: ComptrollerLib;
1115
1427
  vaultProxy: VaultLib;
1116
1428
  integrationManager: IntegrationManager;
1117
- fundOwner: SignerWithAddress;
1429
+ signer: SignerWithAddress;
1118
1430
  mockGenericAdapter: MockGenericAdapter;
1431
+ provider: EthereumTestnetProvider;
1119
1432
  selector?: BytesLike;
1120
1433
  spendAssets?: StandardToken[];
1121
1434
  maxSpendAssetAmounts?: BigNumberish[];
@@ -1200,11 +1513,12 @@ declare function synthetixRedeem({ comptrollerProxy, integrationManager, signer,
1200
1513
  synthetixAdapter: SynthetixAdapter;
1201
1514
  synths: AddressLike[];
1202
1515
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
1203
- declare function synthetixTakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, outgoingAssetAmount, minIncomingSusdAmount, seedFund, }: {
1516
+ declare function synthetixTakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, synthetixAdapter, outgoingAsset, outgoingAssetAmount, minIncomingSusdAmount, provider, seedFund, }: {
1204
1517
  comptrollerProxy: ComptrollerLib;
1205
1518
  vaultProxy: VaultLib;
1206
1519
  integrationManager: IntegrationManager;
1207
1520
  fundOwner: Signer;
1521
+ provider: EthereumTestnetProvider;
1208
1522
  synthetixAdapter: SynthetixAdapter;
1209
1523
  outgoingAsset: StandardToken;
1210
1524
  outgoingAssetAmount?: BigNumberish;
@@ -1230,7 +1544,7 @@ interface UniswapV2Factory extends Contract<UniswapV2Factory> {
1230
1544
  getPair: Call<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
1231
1545
  }
1232
1546
  declare const UniswapV2Factory: _enzymefinance_ethers.ContractFactory<UniswapV2Factory, never>;
1233
- declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, seedFund, }: {
1547
+ declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, tokenA, tokenB, amountADesired, amountBDesired, amountAMin, amountBMin, minPoolTokenAmount, provider, seedFund, }: {
1234
1548
  comptrollerProxy: ComptrollerLib;
1235
1549
  vaultProxy: VaultLib;
1236
1550
  integrationManager: IntegrationManager;
@@ -1243,6 +1557,7 @@ declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManage
1243
1557
  amountAMin: BigNumberish;
1244
1558
  amountBMin: BigNumberish;
1245
1559
  minPoolTokenAmount: BigNumberish;
1560
+ provider: EthereumTestnetProvider;
1246
1561
  seedFund?: boolean;
1247
1562
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1248
1563
  declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, }: {
@@ -1256,7 +1571,7 @@ declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwn
1256
1571
  amountAMin: BigNumberish;
1257
1572
  amountBMin: BigNumberish;
1258
1573
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1259
- declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
1574
+ declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, uniswapV2ExchangeAdapter, path, outgoingAssetAmount, minIncomingAssetAmount, seedFund, provider, }: {
1260
1575
  comptrollerProxy: ComptrollerLib;
1261
1576
  vaultProxy: VaultLib;
1262
1577
  integrationManager: IntegrationManager;
@@ -1266,9 +1581,10 @@ declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationM
1266
1581
  outgoingAssetAmount: BigNumberish;
1267
1582
  minIncomingAssetAmount: BigNumberish;
1268
1583
  seedFund?: boolean;
1584
+ provider: EthereumTestnetProvider;
1269
1585
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1270
1586
 
1271
- declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, minIncomingAssetAmount, seedFund, }: {
1587
+ declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fundOwner, uniswapV3Adapter, pathAddresses, pathFees, outgoingAssetAmount, provider, minIncomingAssetAmount, seedFund, }: {
1272
1588
  comptrollerProxy: ComptrollerLib;
1273
1589
  integrationManager: IntegrationManager;
1274
1590
  fundOwner: SignerWithAddress;
@@ -1276,6 +1592,7 @@ declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fund
1276
1592
  pathAddresses: StandardToken[];
1277
1593
  pathFees: BigNumber[];
1278
1594
  outgoingAssetAmount: BigNumberish;
1595
+ provider: EthereumTestnetProvider;
1279
1596
  minIncomingAssetAmount?: BigNumberish;
1280
1597
  seedFund?: boolean;
1281
1598
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
@@ -1356,6 +1673,39 @@ interface IVotiumMultiMerkleStash extends Contract<IVotiumMultiMerkleStash> {
1356
1673
  }
1357
1674
  declare const IVotiumMultiMerkleStash: _enzymefinance_ethers.ContractFactory<IVotiumMultiMerkleStash, never>;
1358
1675
 
1676
+ declare enum ArbitraryTokenPhasedSharesWrapperState {
1677
+ Deposit = "0",
1678
+ Locked = "1",
1679
+ Redeem = "2"
1680
+ }
1681
+ declare function deployArbitraryTokenPhasedSharesWrapper({ signer, sharesWrapperFactory, vaultProxy, depositToken, allowedDepositorListId, transfersAllowed, totalDepositMax, feeRecipient, feeBps, feeExcludesDepositTokenPrincipal, manager, }: {
1682
+ signer: SignerWithAddress;
1683
+ sharesWrapperFactory: ArbitraryTokenPhasedSharesWrapperFactory;
1684
+ vaultProxy: AddressLike;
1685
+ depositToken: AddressLike;
1686
+ allowedDepositorListId: BigNumberish;
1687
+ transfersAllowed: boolean;
1688
+ totalDepositMax: BigNumberish;
1689
+ feeRecipient: AddressLike;
1690
+ feeBps: BigNumberish;
1691
+ feeExcludesDepositTokenPrincipal: boolean;
1692
+ manager: AddressLike;
1693
+ }): Promise<{
1694
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_vaultProxy: AddressLike, _depositToken: AddressLike, _allowedDepositorListId: BigNumberish, _transfersAllowed: boolean, _totalDepositMax: BigNumberish, _feeRecipient: AddressLike, _feeBps: BigNumberish, _feeExcludesDepositTokenPrincipal: boolean, _manager: AddressLike], string, ArbitraryTokenPhasedSharesWrapperFactory>>;
1695
+ sharesWrapper: ArbitraryTokenPhasedSharesWrapperLib;
1696
+ }>;
1697
+
1698
+ declare function deployManualValueOracle({ signer, manualValueOracleFactory, owner, updater, description, }: {
1699
+ signer: SignerWithAddress;
1700
+ manualValueOracleFactory: ManualValueOracleFactory;
1701
+ owner: AddressLike;
1702
+ updater: AddressLike;
1703
+ description?: string;
1704
+ }): Promise<{
1705
+ proxy: ManualValueOracleLib;
1706
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_owner: AddressLike, _updater: AddressLike, _description: string], string, ManualValueOracleFactory>>;
1707
+ }>;
1708
+
1359
1709
  declare function deploySharesSplitter({ signer, sharesSplitterFactory, splitUsers, splitPercentages, }: {
1360
1710
  signer: SignerWithAddress;
1361
1711
  sharesSplitterFactory: SharesSplitterFactory;
@@ -1373,6 +1723,7 @@ interface BuySharesParams {
1373
1723
  investmentAmount?: BigNumberish;
1374
1724
  minSharesQuantity?: BigNumberish;
1375
1725
  seedBuyer?: boolean;
1726
+ provider: EthereumTestnetProvider;
1376
1727
  }
1377
1728
  interface RedeemSharesForSpecificAssetsParams {
1378
1729
  comptrollerProxy: ComptrollerLib;
@@ -1391,7 +1742,7 @@ interface RedeemSharesInKindParams {
1391
1742
  assetsToSkip?: AddressLike[];
1392
1743
  }
1393
1744
  declare function buyShares(options: BuySharesParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish], ethers.BigNumber, ComptrollerLib>>>;
1394
- declare function buySharesFunction({ comptrollerProxy, denominationAsset, buyer, investmentAmount, minSharesQuantity, seedBuyer, }: BuySharesParams): Promise<_enzymefinance_ethers.Send<(_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish) => ethers.BigNumber, ComptrollerLib>>;
1745
+ declare function buySharesFunction({ comptrollerProxy, denominationAsset, buyer, investmentAmount, minSharesQuantity, seedBuyer, provider, }: BuySharesParams): Promise<_enzymefinance_ethers.Send<(_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish) => ethers.BigNumber, ComptrollerLib>>;
1395
1746
  declare function redeemSharesForSpecificAssets({ comptrollerProxy, signer, recipient, quantity, payoutAssets, payoutAssetPercentages, }: RedeemSharesForSpecificAssetsParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_recipient: AddressLike, _sharesQuantity: BigNumberish, _payoutAssets: AddressLike[], _payoutAssetPercentages: BigNumberish[]], ethers.BigNumber[], ComptrollerLib>>>;
1396
1747
  declare function redeemSharesInKind({ comptrollerProxy, signer, recipient, quantity, additionalAssets, assetsToSkip, }: RedeemSharesInKindParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_recipient: AddressLike, _sharesQuantity: BigNumberish, _additionalAssets: AddressLike[], _assetsToSkip: AddressLike[]], {
1397
1748
  payoutAssets_: string[];
@@ -1462,10 +1813,11 @@ declare function createVaultProxy({ signer, vaultLib, fundOwner, fundAccessor, f
1462
1813
  fundAccessor: SignerWithAddress;
1463
1814
  fundName?: string;
1464
1815
  }): Promise<VaultLib>;
1465
- declare function setupGasRelayerPaymaster({ signer, vaultProxy, fundAccessor, weth, startingBalance, }: {
1816
+ declare function setupGasRelayerPaymaster({ signer, vaultProxy, fundAccessor, provider, weth, startingBalance, }: {
1466
1817
  signer: SignerWithAddress;
1467
1818
  vaultProxy: AddressLike;
1468
1819
  fundAccessor: AddressLike;
1820
+ provider: EthereumTestnetProvider;
1469
1821
  weth: StandardToken;
1470
1822
  startingBalance?: BigNumberish;
1471
1823
  }): Promise<GasRelayPaymasterLib>;
@@ -1499,55 +1851,4 @@ declare function vaultCallStartAssetBypassTimelock({ comptrollerProxy, contract,
1499
1851
  asset: AddressLike;
1500
1852
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1501
1853
 
1502
- declare const whales: {
1503
- readonly bat: "0x12274c71304bc0e6b38a56b94d2949b118feb838";
1504
- readonly bnb: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1505
- readonly bnt: "0x7d1ed1601a12a172269436fa95fe156650603c1d";
1506
- readonly busd: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1507
- readonly comp: "0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e";
1508
- readonly crv: "0xf89501b77b2fa6329f94f5a05fe84cebb5c8b1a0";
1509
- readonly dai: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1510
- readonly grt: "0xf977814e90da44bfa03b6295a0616a897441acec";
1511
- readonly knc: "0x09d51654bd9efbfcb56da3491989cc1444095fff";
1512
- readonly ldo: "0x3dba737ccc50a32a1764b493285dd51c8af6c278";
1513
- readonly link: "0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6";
1514
- readonly lusd: "0x24cbbef882a77c5aaa9abd6558e68b4c648453c5";
1515
- readonly mana: "0xefb94ac00f1cee8a89d5c3f49faa799da6f03024";
1516
- readonly mln: "0xd8f8a53945bcfbbc19da162aa405e662ef71c40d";
1517
- readonly ohm: "0x2cfcbd233268c302996c767347eb45bec36fb08d";
1518
- readonly rep: "0xc6a043b07d33b6f30d8cb501026c391cfd25abe1";
1519
- readonly ren: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1520
- readonly susd: "0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b";
1521
- readonly sohm: "0x3d5c83351c872fdf07da498c84ca3275222f284c";
1522
- readonly uni: "0x47173b170c64d16393a52e6c480b3ad8c302ba1e";
1523
- readonly usdc: "0xae2d4617c862309a3d75a0ffb358c7a5009c673f";
1524
- readonly usdt: "0x5041ed759dd4afc3a72b8192c143f72f4724081a";
1525
- readonly weth: "0xe08A8b19e5722a201EaF20A6BC595eF655397bd5";
1526
- readonly zrx: "0x206376e8940e42538781cd94ef024df3c1e0fd43";
1527
- readonly ausdc: "0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296";
1528
- readonly ausdt: "0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4";
1529
- readonly ccomp: "0xd74f186194ab9219fafac5c2fe4b3270169666db";
1530
- readonly cdai: "0x22fa8cc33a42320385cbd3690ed60a021891cb32";
1531
- readonly ceth: "0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8";
1532
- readonly cuni: "0x39d8014b4f40d2cbc441137011d32023f4f1fd87";
1533
- readonly cusdc: "0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be";
1534
- readonly fdai7: "0xa993d62492f41703f6185881eae755b0966ea5b0";
1535
- readonly feth7: "0x05f284897641661fee9f1c1413a4f599a43a746f";
1536
- readonly fdai8: "0xd6bf9d9079139dbb3a4fdb84b07efc75ea77838f";
1537
- readonly ftribe8: "0xdb5ac83c137321da29a59a7592232bc4ed461730";
1538
- readonly ptUsdc: "0x8904ffc6aa039db5941de11309a42372f3f7d2fd";
1539
- readonly seth: "0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c";
1540
- readonly sxag: "0x40d68c490bf7262ec40048099aec23535f734be2";
1541
- readonly sxau: "0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7";
1542
- readonly cvx: "0x0aca67fa70b142a3b9bf2ed89a81b40ff85dacdc";
1543
- readonly lidoSteth: "0x06920c9fc643de77b99cb7670a944ad31eaaa260";
1544
- readonly ust: "0x738cf6903e6c4e699d1c2dd9ab8b67fcdb3121ea";
1545
- readonly stecrv: "0x56c915758ad3f76fd287fff7563ee313142fb663";
1546
- };
1547
- declare type Whale = keyof typeof whales;
1548
- declare type WhaleSigners<T extends Partial<Whale> = Whale> = Record<T, SignerWithAddress>;
1549
- declare function unlockWhale(token: Whale): Promise<SignerWithAddress>;
1550
- declare function unlockAllWhales(): Promise<WhaleSigners<"link" | "mln" | "weth" | "bat" | "bnb" | "bnt" | "busd" | "comp" | "crv" | "dai" | "grt" | "knc" | "ldo" | "lusd" | "mana" | "ohm" | "rep" | "ren" | "susd" | "sohm" | "uni" | "usdc" | "usdt" | "zrx" | "ausdc" | "ausdt" | "ccomp" | "cdai" | "ceth" | "cuni" | "cusdc" | "fdai7" | "feth7" | "fdai8" | "ftribe8" | "ptUsdc" | "seth" | "sxag" | "sxau" | "cvx" | "lidoSteth" | "ust" | "stecrv">>;
1551
- declare function unlockWhales<T extends Whale>(...tokens: T[]): Promise<WhaleSigners<T>>;
1552
-
1553
- export { BuySharesParams, CreateMigrationRequestParams, CreateNewFundParams, CreateReconfigurationRequestParams, CurveLiquidityGaugeV2, CurveMinter, CurveRegistry, CurveSwaps, DeploymentConfig, ICompoundComptroller, IConvexBaseRewardPool, IConvexCrvDepositor, IConvexCvxLocker, IConvexVlCvxExtraRewardDistribution, ILiquityHintHelper, ILiquitySortedTroves, ILiquityTroveManager, ISnapshotDelegateRegistry, IUniswapV3NonFungibleTokenManager, IVotiumMultiMerkleStash, InitialInvestmentParams, ProtocolDeployment, RedeemSharesForSpecificAssetsParams, RedeemSharesInKindParams, RelayTransactionOptions, UniswapV2Factory, UniswapV3FeeAmount, Whale, WhaleSigners, aaveDebtPositionAddCollateral, aaveDebtPositionBorrow, aaveDebtPositionClaimRewards, aaveDebtPositionRemoveCollateral, aaveDebtPositionRepayBorrow, aaveLend, aaveRedeem, addNewAssetsToFund, addTrackedAssetsToVault, assertCompoundLend, assertCompoundRedeem, assertDidRelay, assertDidRelaySuccessfully, assertDidRelayWithCharge, assertDidRelayWithError, assertEvent, assertNoEvent, assertPaymasterDidReject, assertPaymasterDidRejectForReason, buyShares, buySharesFunction, calcMlnValueAndBurnAmountForSharesBuyback, callOnExtension, callOnExternalPosition, compoundClaim, compoundDebtPositionAddCollateral, compoundDebtPositionBorrow, compoundDebtPositionClaimComp, compoundDebtPositionRemoveCollateral, compoundDebtPositionRepayBorrow, compoundLend, compoundRedeem, convexVotingPositionClaimRewards, convexVotingPositionDelegate, convexVotingPositionLock, convexVotingPositionRelock, convexVotingPositionWithdraw, createAaveDebtPosition, createCompoundDebtPosition, createComptrollerProxy, createConvexVotingPosition, createExternalPosition, createFundDeployer, createLiquityDebtPosition, createMapleLiquidityPosition, createMigrationRequest, createMockExternalPosition, createNewFund, createReconfigurationRequest, createTheGraphDelegationPosition, createUniswapV3LiquidityPosition, createVaultProxy, curveClaimRewards, curveLend, curveLendAndStake, curveRedeem, curveStake, curveTakeOrder, curveUnstake, curveUnstakeAndRedeem, deployProtocolFixture, deploySharesSplitter, generateFeeManagerConfigWithMockFees, generateMerkleTreeForContractProof, generateMockFees, generateMockPolicies, generatePolicyManagerConfigWithMockPolicies, getAssetBalances, getAssetUnit, getNamedSigner, getUnnamedSigners, idleClaimRewards, idleLend, idleRedeem, impersonateContractSigner, impersonateSigner, liquityCalcHints, liquityDebtPositionAddCollateral, liquityDebtPositionBorrow, liquityDebtPositionCloseTrove, liquityDebtPositionOpenTrove, liquityDebtPositionRemoveCollateral, liquityDebtPositionRepay, mapleLiquidityPositionClaimInterest, mapleLiquidityPositionClaimRewards, mapleLiquidityPositionIntendToRedeem, mapleLiquidityPositionLend, mapleLiquidityPositionLendAndStake, mapleLiquidityPositionRedeem, mapleLiquidityPositionStake, mapleLiquidityPositionUnstake, mapleLiquidityPositionUnstakeAndRedeem, mockExternalPositionAddDebtAssets, mockExternalPositionAddManagedAssets, mockExternalPositionRemoveDebtAssets, mockExternalPositionRemoveManagedAssets, mockGenericRemoveOnlySelector, mockGenericSwap, mockGenericSwapASelector, mockGenericSwapArgs, mockGenericSwapBSelector, mockGenericSwapDirectFromVaultSelector, mockGenericSwapViaApprovalSelector, olympusV2Stake, olympusV2Unstake, paraSwapV5GenerateDummyPaths, paraSwapV5TakeOrder, poolTogetherV4ClaimRewards, poolTogetherV4Lend, poolTogetherV4Redeem, reactivateExternalPosition, redeemSharesForSpecificAssets, redeemSharesInKind, relayTransaction, removeExternalPosition, removeTrackedAssetsFromVault, sendEthBySelfDestruct, setupGasRelayerPaymaster, synthetixAssignExchangeDelegate, synthetixRedeem, synthetixTakeOrder, theGraphDelegationPositionDelegate, theGraphDelegationPositionUndelegate, theGraphDelegationPositionWithdraw, transactionTimestamp, uniswapV2Lend, uniswapV2Redeem, uniswapV2TakeOrder, uniswapV3LiquidityPositionAddLiquidity, uniswapV3LiquidityPositionCollect, uniswapV3LiquidityPositionGetMaxTick, uniswapV3LiquidityPositionGetMinTick, uniswapV3LiquidityPositionMint, uniswapV3LiquidityPositionPurge, uniswapV3LiquidityPositionRemoveLiquidity, uniswapV3OrderTokenPair, uniswapV3TakeOrder, unlockAllWhales, unlockWhale, unlockWhales, updateChainlinkAggregator, vaultCallCreateNewList, vaultCallCurveMinterMint, vaultCallCurveMinterMintMany, vaultCallCurveMinterToggleApproveMint, vaultCallStartAssetBypassTimelock, yearnVaultV2Lend, yearnVaultV2Redeem, zeroExV2TakeOrder };
1854
+ export { ArbitraryTokenPhasedSharesWrapperState, BuySharesParams, CreateMigrationRequestParams, CreateNewFundParams, CreateReconfigurationRequestParams, CurveLiquidityGaugeV2, CurveMinter, CurveRegistry, CurveSwaps, DeploymentConfig, ICompoundComptroller, IConvexBaseRewardPool, IConvexCrvDepositor, IConvexCvxLocker, IConvexVlCvxExtraRewardDistribution, ILiquityHintHelper, ILiquitySortedTroves, ILiquityTroveManager, ISnapshotDelegateRegistry, IUniswapV3NonFungibleTokenManager, IVotiumMultiMerkleStash, InitialInvestmentParams, NotionalV2CurrencyId, NotionalV2MarketIndex, ProtocolDeployment, RedeemSharesForSpecificAssetsParams, RedeemSharesInKindParams, RelayTransactionOptions, SolvV2ConvertibleIssuerPositionCreateOfferParams, UniswapV2Factory, UniswapV3FeeAmount, aaveDebtPositionAddCollateral, aaveDebtPositionBorrow, aaveDebtPositionClaimRewards, aaveDebtPositionRemoveCollateral, aaveDebtPositionRepayBorrow, aaveLend, aaveRedeem, addNewAssetsToFund, addTrackedAssetsToVault, arbitraryLoanPositionCallOnAccountingModule, arbitraryLoanPositionCloseLoan, arbitraryLoanPositionConfigureLoan, arbitraryLoanPositionReconcile, arbitraryLoanPositionUpdateBorrowableAmount, assertCompoundLend, assertCompoundRedeem, assertDidRelay, assertDidRelaySuccessfully, assertDidRelayWithCharge, assertDidRelayWithError, assertEvent, assertNoEvent, assertPaymasterDidReject, assertPaymasterDidRejectForReason, buyShares, buySharesFunction, calcMlnValueAndBurnAmountForSharesBuyback, callOnExtension, callOnExternalPosition, compoundClaim, compoundDebtPositionAddCollateral, compoundDebtPositionBorrow, compoundDebtPositionClaimComp, compoundDebtPositionRemoveCollateral, compoundDebtPositionRepayBorrow, compoundLend, compoundRedeem, convexVotingPositionClaimRewards, convexVotingPositionDelegate, convexVotingPositionLock, convexVotingPositionRelock, convexVotingPositionWithdraw, createAaveDebtPosition, createArbitraryLoanPosition, createCompoundDebtPosition, createComptrollerProxy, createConvexVotingPosition, createExternalPosition, createFundDeployer, createLiquityDebtPosition, createMapleLiquidityPosition, createMigrationRequest, createMockExternalPosition, createNewFund, createNotionalV2Position, createReconfigurationRequest, createSolvV2ConvertibleBuyerPosition, createSolvV2ConvertibleIssuerPosition, createTheGraphDelegationPosition, createUniswapV3LiquidityPosition, createVaultProxy, curveClaimRewards, curveLend, curveLendAndStake, curveRedeem, curveStake, curveTakeOrder, curveUnstake, curveUnstakeAndRedeem, deployArbitraryTokenPhasedSharesWrapper, deployManualValueOracle, deployProtocolFixture, deploySharesSplitter, findTokenBalanceStorageSlot, generateFeeManagerConfigWithMockFees, generateMerkleTreeForContractProof, generateMockFees, generateMockPolicies, generatePolicyManagerConfigWithMockPolicies, getAssetBalances, getAssetUnit, getNamedSigner, getUnnamedSigners, idleClaimRewards, idleLend, idleRedeem, impersonateContractSigner, impersonateSigner, liquityCalcHints, liquityDebtPositionAddCollateral, liquityDebtPositionBorrow, liquityDebtPositionCloseTrove, liquityDebtPositionOpenTrove, liquityDebtPositionRemoveCollateral, liquityDebtPositionRepay, mapleLiquidityPositionClaimInterest, mapleLiquidityPositionClaimRewards, mapleLiquidityPositionIntendToRedeem, mapleLiquidityPositionLend, mapleLiquidityPositionLendAndStake, mapleLiquidityPositionRedeem, mapleLiquidityPositionStake, mapleLiquidityPositionUnstake, mapleLiquidityPositionUnstakeAndRedeem, mockExternalPositionAddDebtAssets, mockExternalPositionAddManagedAssets, mockExternalPositionRemoveDebtAssets, mockExternalPositionRemoveManagedAssets, mockGenericRemoveOnlySelector, mockGenericSwap, mockGenericSwapASelector, mockGenericSwapArgs, mockGenericSwapBSelector, mockGenericSwapDirectFromVaultSelector, mockGenericSwapViaApprovalSelector, notionalV2GetActiveMarketArraySlot, notionalV2PositionAddCollateral, notionalV2PositionBorrow, notionalV2PositionLend, notionalV2PositionRedeem, olympusV2Stake, olympusV2Unstake, paraSwapV5GenerateDummyPaths, paraSwapV5TakeOrder, poolTogetherV4ClaimRewards, poolTogetherV4Lend, poolTogetherV4Redeem, reactivateExternalPosition, redeemSharesForSpecificAssets, redeemSharesInKind, relayTransaction, removeExternalPosition, removeTrackedAssetsFromVault, seedAccount, sendEthBySelfDestruct, setupGasRelayerPaymaster, solvV2ConvertibleBuyerPositionBuyOffering, solvV2ConvertibleBuyerPositionBuySaleByAmount, solvV2ConvertibleBuyerPositionBuySaleByUnits, solvV2ConvertibleBuyerPositionClaim, solvV2ConvertibleBuyerPositionCreateSaleDecliningPrice, solvV2ConvertibleBuyerPositionCreateSaleFixedPrice, solvV2ConvertibleBuyerPositionReconcile, solvV2ConvertibleBuyerPositionRemoveSale, solvV2ConvertibleIssuerPositionCreateOffer, solvV2ConvertibleIssuerPositionReconcile, solvV2ConvertibleIssuerPositionRefund, solvV2ConvertibleIssuerPositionRemoveOffer, solvV2ConvertibleIssuerPositionWithdraw, synthetixAssignExchangeDelegate, synthetixRedeem, synthetixTakeOrder, theGraphDelegationPositionDelegate, theGraphDelegationPositionUndelegate, theGraphDelegationPositionWithdraw, transactionTimestamp, uniswapV2Lend, uniswapV2Redeem, uniswapV2TakeOrder, uniswapV3LiquidityPositionAddLiquidity, uniswapV3LiquidityPositionCollect, uniswapV3LiquidityPositionGetMaxTick, uniswapV3LiquidityPositionGetMinTick, uniswapV3LiquidityPositionMint, uniswapV3LiquidityPositionPurge, uniswapV3LiquidityPositionRemoveLiquidity, uniswapV3OrderTokenPair, uniswapV3TakeOrder, updateChainlinkAggregator, vaultCallCreateNewList, vaultCallCurveMinterMint, vaultCallCurveMinterMintMany, vaultCallCurveMinterToggleApproveMint, vaultCallStartAssetBypassTimelock, yearnVaultV2Lend, yearnVaultV2Redeem, zeroExV2TakeOrder };