@enzymefinance/testutils 4.0.4 → 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, 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 };