@enzymefinance/testutils 4.0.4 → 4.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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, AllowedAdaptersPerManagerPolicy, 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, ManualValueOracleFactory, MapleLiquidityPositionLib, MapleLiquidityPositionParser, MinAssetBalancesPostRedemptionPolicy, MinMaxInvestmentPolicy, 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, ManualValueOracleLib, 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;
@@ -38,8 +51,14 @@ declare function deployProtocolFixture(): Promise<{
38
51
  readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
39
52
  readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
40
53
  readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
54
+ readonly allowedExternalPositionTypesPerManagerPolicy: AllowedExternalPositionTypesPerManagerPolicy;
41
55
  readonly allowedExternalPositionTypesPolicy: AllowedExternalPositionTypesPolicy;
42
56
  readonly allowedSharesTransferRecipientsPolicy: AllowedSharesTransferRecipientsPolicy;
57
+ readonly arbitraryLoanFixedInterestModule: ArbitraryLoanFixedInterestModule;
58
+ readonly arbitraryLoanPositionLib: ArbitraryLoanPositionLib;
59
+ readonly arbitraryLoanPositionParser: ArbitraryLoanPositionParser;
60
+ readonly arbitraryLoanTotalNominalDeltaOracleModule: ArbitraryLoanTotalNominalDeltaOracleModule;
61
+ readonly arbitraryTokenPhasedSharesWrapperFactory: ArbitraryTokenPhasedSharesWrapperFactory;
43
62
  readonly compoundAdapter: CompoundAdapter;
44
63
  readonly compoundDebtPositionLib: CompoundDebtPositionLib;
45
64
  readonly compoundDebtPositionParser: CompoundDebtPositionParser;
@@ -63,6 +82,7 @@ declare function deployProtocolFixture(): Promise<{
63
82
  readonly externalPositionFactory: ExternalPositionFactory;
64
83
  readonly externalPositionManager: ExternalPositionManager;
65
84
  readonly feeManager: FeeManager;
85
+ readonly fiduPriceFeed: FiduPriceFeed;
66
86
  readonly fundDeployer: FundDeployer;
67
87
  readonly fundValueCalculator: FundValueCalculator;
68
88
  readonly fundValueCalculatorRouter: FundValueCalculatorRouter;
@@ -84,6 +104,9 @@ declare function deployProtocolFixture(): Promise<{
84
104
  readonly mapleLiquidityPositionParser: MapleLiquidityPositionParser;
85
105
  readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
86
106
  readonly minMaxInvestmentPolicy: MinMaxInvestmentPolicy;
107
+ readonly notionalV2Position: NotionalV2PositionLib;
108
+ readonly notionalV2PositionParser: NotionalV2PositionParser;
109
+ readonly minSharesSupplyFee: MinSharesSupplyFee;
87
110
  readonly olympusV2Adapter: OlympusV2Adapter;
88
111
  readonly onlyRemoveDustExternalPositionPolicy: OnlyRemoveDustExternalPositionPolicy;
89
112
  readonly onlyUntrackDustOrPricelessAssetsPolicy: OnlyUntrackDustOrPricelessAssetsPolicy;
@@ -111,6 +134,9 @@ declare function deployProtocolFixture(): Promise<{
111
134
  readonly yearnVaultV2PriceFeed: YearnVaultV2PriceFeed;
112
135
  readonly zeroExV2Adapter: ZeroExV2Adapter;
113
136
  };
137
+ readonly fixture: {
138
+ [name: string]: hardhat_deploy_dist_types.Deployment;
139
+ };
114
140
  }>;
115
141
  declare type Resolve<T extends () => any> = ReturnType<T> extends Promise<infer U> ? U : ReturnType<T>;
116
142
  declare type ProtocolDeployment = Resolve<typeof deployProtocolFixture>;
@@ -181,6 +207,10 @@ interface DeploymentConfig {
181
207
  fetherTokens: Record<string, string>;
182
208
  ftokens: Record<string, string>;
183
209
  };
210
+ goldfinch: {
211
+ fidu: string;
212
+ seniorPool: string;
213
+ };
184
214
  idle: {
185
215
  bestYieldIdleDai: string;
186
216
  bestYieldIdleUsdc: string;
@@ -202,6 +232,9 @@ interface DeploymentConfig {
202
232
  mplRewardsFactory: string;
203
233
  poolFactory: string;
204
234
  };
235
+ notional: {
236
+ notionalContract: string;
237
+ };
205
238
  olympusV2: {
206
239
  stakingContract: string;
207
240
  };
@@ -218,6 +251,18 @@ interface DeploymentConfig {
218
251
  snapshot: {
219
252
  delegateRegistry: string;
220
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
+ };
221
266
  theGraph: {
222
267
  stakingProxy: string;
223
268
  grt: string;
@@ -322,12 +367,13 @@ declare function sendEthBySelfDestruct({ signer, recipient, amount, }: {
322
367
  }): Promise<void>;
323
368
  declare function transactionTimestamp(receipt: ContractReceipt<any>): Promise<number>;
324
369
 
325
- declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, }: {
370
+ declare function addNewAssetsToFund({ signer, comptrollerProxy, integrationManager, assets, amounts, provider, }: {
326
371
  signer: SignerWithAddress;
327
372
  comptrollerProxy: ComptrollerLib;
328
373
  integrationManager: IntegrationManager;
329
374
  assets: StandardToken[];
330
375
  amounts?: BigNumberish[];
376
+ provider: EthereumTestnetProvider;
331
377
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: _enzymefinance_ethers.AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
332
378
 
333
379
  declare function updateChainlinkAggregator(aggregator: MockChainlinkPriceSource, price?: BigNumberish): Promise<void>;
@@ -440,6 +486,54 @@ declare function removeExternalPosition({ signer, comptrollerProxy, externalPosi
440
486
  externalPositionProxy: AddressLike;
441
487
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: BytesLike], void, ComptrollerLib>>>;
442
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
+
443
537
  declare function compoundDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, fundOwner, assets, amounts, externalPositionProxy, cTokens, }: {
444
538
  comptrollerProxy: ComptrollerLib;
445
539
  externalPositionManager: ExternalPositionManager;
@@ -762,6 +856,220 @@ declare function mockExternalPositionRemoveManagedAssets({ signer, comptrollerPr
762
856
  amounts: BigNumberish[];
763
857
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
764
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
+
765
1073
  declare function theGraphDelegationPositionDelegate({ comptrollerProxy, externalPositionManager, signer, indexer, tokens, externalPositionProxy, }: {
766
1074
  comptrollerProxy: ComptrollerLib;
767
1075
  externalPositionManager: ExternalPositionManager;
@@ -924,8 +1232,7 @@ interface ICompoundComptroller extends Contract<ICompoundComptroller> {
924
1232
  claimComp: Send<(_account: AddressLike) => void>;
925
1233
  }
926
1234
  declare const ICompoundComptroller: _enzymefinance_ethers.ContractFactory<ICompoundComptroller, never>;
927
- declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, }: {
928
- tokenWhale: SignerWithAddress;
1235
+ declare function assertCompoundLend({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, tokenAmount, cToken, compoundPriceFeed, provider, }: {
929
1236
  comptrollerProxy: ComptrollerLib;
930
1237
  vaultProxy: VaultLib;
931
1238
  integrationManager: IntegrationManager;
@@ -934,8 +1241,9 @@ declare function assertCompoundLend({ tokenWhale, comptrollerProxy, vaultProxy,
934
1241
  tokenAmount?: BigNumber;
935
1242
  cToken: ICERC20;
936
1243
  compoundPriceFeed: CompoundPriceFeed;
1244
+ provider: EthereumTestnetProvider;
937
1245
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
938
- declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, }: {
1246
+ declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, compoundAdapter, cToken, compoundPriceFeed, provider, }: {
939
1247
  comptrollerProxy: ComptrollerLib;
940
1248
  vaultProxy: VaultLib;
941
1249
  integrationManager: IntegrationManager;
@@ -943,6 +1251,7 @@ declare function assertCompoundRedeem({ comptrollerProxy, vaultProxy, integratio
943
1251
  compoundAdapter: CompoundAdapter;
944
1252
  cToken: ICERC20;
945
1253
  compoundPriceFeed: CompoundPriceFeed;
1254
+ provider: EthereumTestnetProvider;
946
1255
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
947
1256
  declare function compoundClaim({ comptrollerProxy, integrationManager, fundOwner, compoundAdapter, compoundComptroller, cTokens, }: {
948
1257
  comptrollerProxy: ComptrollerLib;
@@ -1113,12 +1422,13 @@ declare function mockGenericSwapArgs({ spendAssets, actualSpendAssetAmounts, max
1113
1422
  minIncomingAssetAmounts?: BigNumberish[];
1114
1423
  actualIncomingAssetAmounts?: BigNumberish[];
1115
1424
  }): string;
1116
- declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, signer, 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, }: {
1117
1426
  comptrollerProxy: ComptrollerLib;
1118
1427
  vaultProxy: VaultLib;
1119
1428
  integrationManager: IntegrationManager;
1120
1429
  signer: SignerWithAddress;
1121
1430
  mockGenericAdapter: MockGenericAdapter;
1431
+ provider: EthereumTestnetProvider;
1122
1432
  selector?: BytesLike;
1123
1433
  spendAssets?: StandardToken[];
1124
1434
  maxSpendAssetAmounts?: BigNumberish[];
@@ -1203,11 +1513,12 @@ declare function synthetixRedeem({ comptrollerProxy, integrationManager, signer,
1203
1513
  synthetixAdapter: SynthetixAdapter;
1204
1514
  synths: AddressLike[];
1205
1515
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
1206
- 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, }: {
1207
1517
  comptrollerProxy: ComptrollerLib;
1208
1518
  vaultProxy: VaultLib;
1209
1519
  integrationManager: IntegrationManager;
1210
1520
  fundOwner: Signer;
1521
+ provider: EthereumTestnetProvider;
1211
1522
  synthetixAdapter: SynthetixAdapter;
1212
1523
  outgoingAsset: StandardToken;
1213
1524
  outgoingAssetAmount?: BigNumberish;
@@ -1233,7 +1544,7 @@ interface UniswapV2Factory extends Contract<UniswapV2Factory> {
1233
1544
  getPair: Call<(_token0: AddressLike, _token1: AddressLike) => AddressLike>;
1234
1545
  }
1235
1546
  declare const UniswapV2Factory: _enzymefinance_ethers.ContractFactory<UniswapV2Factory, never>;
1236
- 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, }: {
1237
1548
  comptrollerProxy: ComptrollerLib;
1238
1549
  vaultProxy: VaultLib;
1239
1550
  integrationManager: IntegrationManager;
@@ -1246,6 +1557,7 @@ declare function uniswapV2Lend({ comptrollerProxy, vaultProxy, integrationManage
1246
1557
  amountAMin: BigNumberish;
1247
1558
  amountBMin: BigNumberish;
1248
1559
  minPoolTokenAmount: BigNumberish;
1560
+ provider: EthereumTestnetProvider;
1249
1561
  seedFund?: boolean;
1250
1562
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1251
1563
  declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwner, uniswapV2LiquidityAdapter, poolTokenAmount, tokenA, tokenB, amountAMin, amountBMin, }: {
@@ -1259,7 +1571,7 @@ declare function uniswapV2Redeem({ comptrollerProxy, integrationManager, fundOwn
1259
1571
  amountAMin: BigNumberish;
1260
1572
  amountBMin: BigNumberish;
1261
1573
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1262
- 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, }: {
1263
1575
  comptrollerProxy: ComptrollerLib;
1264
1576
  vaultProxy: VaultLib;
1265
1577
  integrationManager: IntegrationManager;
@@ -1269,9 +1581,10 @@ declare function uniswapV2TakeOrder({ comptrollerProxy, vaultProxy, integrationM
1269
1581
  outgoingAssetAmount: BigNumberish;
1270
1582
  minIncomingAssetAmount: BigNumberish;
1271
1583
  seedFund?: boolean;
1584
+ provider: EthereumTestnetProvider;
1272
1585
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
1273
1586
 
1274
- 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, }: {
1275
1588
  comptrollerProxy: ComptrollerLib;
1276
1589
  integrationManager: IntegrationManager;
1277
1590
  fundOwner: SignerWithAddress;
@@ -1279,6 +1592,7 @@ declare function uniswapV3TakeOrder({ comptrollerProxy, integrationManager, fund
1279
1592
  pathAddresses: StandardToken[];
1280
1593
  pathFees: BigNumber[];
1281
1594
  outgoingAssetAmount: BigNumberish;
1595
+ provider: EthereumTestnetProvider;
1282
1596
  minIncomingAssetAmount?: BigNumberish;
1283
1597
  seedFund?: boolean;
1284
1598
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
@@ -1359,6 +1673,28 @@ interface IVotiumMultiMerkleStash extends Contract<IVotiumMultiMerkleStash> {
1359
1673
  }
1360
1674
  declare const IVotiumMultiMerkleStash: _enzymefinance_ethers.ContractFactory<IVotiumMultiMerkleStash, never>;
1361
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
+
1362
1698
  declare function deployManualValueOracle({ signer, manualValueOracleFactory, owner, updater, description, }: {
1363
1699
  signer: SignerWithAddress;
1364
1700
  manualValueOracleFactory: ManualValueOracleFactory;
@@ -1387,6 +1723,7 @@ interface BuySharesParams {
1387
1723
  investmentAmount?: BigNumberish;
1388
1724
  minSharesQuantity?: BigNumberish;
1389
1725
  seedBuyer?: boolean;
1726
+ provider: EthereumTestnetProvider;
1390
1727
  }
1391
1728
  interface RedeemSharesForSpecificAssetsParams {
1392
1729
  comptrollerProxy: ComptrollerLib;
@@ -1405,7 +1742,7 @@ interface RedeemSharesInKindParams {
1405
1742
  assetsToSkip?: AddressLike[];
1406
1743
  }
1407
1744
  declare function buyShares(options: BuySharesParams): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_investmentAmount: BigNumberish, _minSharesQuantity: BigNumberish], ethers.BigNumber, ComptrollerLib>>>;
1408
- 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>>;
1409
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>>>;
1410
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[]], {
1411
1748
  payoutAssets_: string[];
@@ -1476,10 +1813,11 @@ declare function createVaultProxy({ signer, vaultLib, fundOwner, fundAccessor, f
1476
1813
  fundAccessor: SignerWithAddress;
1477
1814
  fundName?: string;
1478
1815
  }): Promise<VaultLib>;
1479
- declare function setupGasRelayerPaymaster({ signer, vaultProxy, fundAccessor, weth, startingBalance, }: {
1816
+ declare function setupGasRelayerPaymaster({ signer, vaultProxy, fundAccessor, provider, weth, startingBalance, }: {
1480
1817
  signer: SignerWithAddress;
1481
1818
  vaultProxy: AddressLike;
1482
1819
  fundAccessor: AddressLike;
1820
+ provider: EthereumTestnetProvider;
1483
1821
  weth: StandardToken;
1484
1822
  startingBalance?: BigNumberish;
1485
1823
  }): Promise<GasRelayPaymasterLib>;
@@ -1513,55 +1851,4 @@ declare function vaultCallStartAssetBypassTimelock({ comptrollerProxy, contract,
1513
1851
  asset: AddressLike;
1514
1852
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_contract: AddressLike, _selector: utils.BytesLike, _encodedArgs: utils.BytesLike], string, ComptrollerLib>>>;
1515
1853
 
1516
- declare const whales: {
1517
- readonly bat: "0x12274c71304bc0e6b38a56b94d2949b118feb838";
1518
- readonly bnb: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1519
- readonly bnt: "0x7d1ed1601a12a172269436fa95fe156650603c1d";
1520
- readonly busd: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1521
- readonly comp: "0x0f50d31b3eaefd65236dd3736b863cffa4c63c4e";
1522
- readonly crv: "0xf89501b77b2fa6329f94f5a05fe84cebb5c8b1a0";
1523
- readonly dai: "0x47ac0fb4f2d84898e4d9e7b4dab3c24507a6d503";
1524
- readonly grt: "0xf977814e90da44bfa03b6295a0616a897441acec";
1525
- readonly knc: "0x09d51654bd9efbfcb56da3491989cc1444095fff";
1526
- readonly ldo: "0x3dba737ccc50a32a1764b493285dd51c8af6c278";
1527
- readonly link: "0xbe6977e08d4479c0a6777539ae0e8fa27be4e9d6";
1528
- readonly lusd: "0x24cbbef882a77c5aaa9abd6558e68b4c648453c5";
1529
- readonly mana: "0xefb94ac00f1cee8a89d5c3f49faa799da6f03024";
1530
- readonly mln: "0xd8f8a53945bcfbbc19da162aa405e662ef71c40d";
1531
- readonly ohm: "0x2cfcbd233268c302996c767347eb45bec36fb08d";
1532
- readonly rep: "0xc6a043b07d33b6f30d8cb501026c391cfd25abe1";
1533
- readonly ren: "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8";
1534
- readonly susd: "0xa5f7a39e55d7878bc5bd754ee5d6bd7a7662355b";
1535
- readonly sohm: "0x3d5c83351c872fdf07da498c84ca3275222f284c";
1536
- readonly uni: "0x47173b170c64d16393a52e6c480b3ad8c302ba1e";
1537
- readonly usdc: "0xae2d4617c862309a3d75a0ffb358c7a5009c673f";
1538
- readonly usdt: "0x5041ed759dd4afc3a72b8192c143f72f4724081a";
1539
- readonly weth: "0xe08A8b19e5722a201EaF20A6BC595eF655397bd5";
1540
- readonly zrx: "0x206376e8940e42538781cd94ef024df3c1e0fd43";
1541
- readonly ausdc: "0x3DdfA8eC3052539b6C9549F12cEA2C295cfF5296";
1542
- readonly ausdt: "0x7d6149ad9a573a6e2ca6ebf7d4897c1b766841b4";
1543
- readonly ccomp: "0xd74f186194ab9219fafac5c2fe4b3270169666db";
1544
- readonly cdai: "0x22fa8cc33a42320385cbd3690ed60a021891cb32";
1545
- readonly ceth: "0x8aceab8167c80cb8b3de7fa6228b889bb1130ee8";
1546
- readonly cuni: "0x39d8014b4f40d2cbc441137011d32023f4f1fd87";
1547
- readonly cusdc: "0xb3bd459e0598dde1fe84b1d0a1430be175b5d5be";
1548
- readonly fdai7: "0xa993d62492f41703f6185881eae755b0966ea5b0";
1549
- readonly feth7: "0x05f284897641661fee9f1c1413a4f599a43a746f";
1550
- readonly fdai8: "0xd6bf9d9079139dbb3a4fdb84b07efc75ea77838f";
1551
- readonly ftribe8: "0xdb5ac83c137321da29a59a7592232bc4ed461730";
1552
- readonly ptUsdc: "0x8904ffc6aa039db5941de11309a42372f3f7d2fd";
1553
- readonly seth: "0xc34a7c65aa08cb36744bda8eeec7b8e9891e147c";
1554
- readonly sxag: "0x40d68c490bf7262ec40048099aec23535f734be2";
1555
- readonly sxau: "0x92eb453b7b5b8d41edb44e2c8b8b53eb70a482c7";
1556
- readonly cvx: "0x0aca67fa70b142a3b9bf2ed89a81b40ff85dacdc";
1557
- readonly lidoSteth: "0x06920c9fc643de77b99cb7670a944ad31eaaa260";
1558
- readonly ust: "0x738cf6903e6c4e699d1c2dd9ab8b67fcdb3121ea";
1559
- readonly stecrv: "0x56c915758ad3f76fd287fff7563ee313142fb663";
1560
- };
1561
- declare type Whale = keyof typeof whales;
1562
- declare type WhaleSigners<T extends Partial<Whale> = Whale> = Record<T, SignerWithAddress>;
1563
- declare function unlockWhale(token: Whale): Promise<SignerWithAddress>;
1564
- 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">>;
1565
- declare function unlockWhales<T extends Whale>(...tokens: T[]): Promise<WhaleSigners<T>>;
1566
-
1567
- 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, deployManualValueOracle, 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 };