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