@enzymefinance/testutils 4.0.1 → 4.0.4

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
@@ -5,7 +5,7 @@ import { SignerWithAddress, EthereumTestnetProvider } from '@enzymefinance/hardh
5
5
  import * as ethers from 'ethers';
6
6
  import { utils, BigNumberish, BigNumber, Signer, BytesLike } from 'ethers';
7
7
  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';
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
9
  import { MerkleTree } from 'merkletreejs';
10
10
 
11
11
  declare function impersonateContractSigner({ contractAddress, ethSeeder, provider, }: {
@@ -34,6 +34,7 @@ declare function deployProtocolFixture(): Promise<{
34
34
  readonly aavePriceFeed: AavePriceFeed;
35
35
  readonly addressListRegistry: AddressListRegistry;
36
36
  readonly allowedAdapterIncomingAssetsPolicy: AllowedAdapterIncomingAssetsPolicy;
37
+ readonly allowedAdaptersPerManagerPolicy: AllowedAdaptersPerManagerPolicy;
37
38
  readonly allowedAdaptersPolicy: AllowedAdaptersPolicy;
38
39
  readonly allowedAssetsForRedemptionPolicy: AllowedAssetsForRedemptionPolicy;
39
40
  readonly allowedDepositRecipientsPolicy: AllowedDepositRecipientsPolicy;
@@ -78,6 +79,7 @@ declare function deployProtocolFixture(): Promise<{
78
79
  readonly liquityDebtPositionLib: LiquityDebtPositionLib;
79
80
  readonly liquityDebtPositionParser: LiquityDebtPositionParser;
80
81
  readonly managementFee: ManagementFee;
82
+ readonly manualValueOracleFactory: ManualValueOracleFactory;
81
83
  readonly mapleLiquidityPositionLib: MapleLiquidityPositionLib;
82
84
  readonly mapleLiquidityPositionParser: MapleLiquidityPositionParser;
83
85
  readonly minAssetBalancesPostRedemptionPolicy: MinAssetBalancesPostRedemptionPolicy;
@@ -96,6 +98,7 @@ declare function deployProtocolFixture(): Promise<{
96
98
  readonly revertingPriceFeed: RevertingPriceFeed;
97
99
  readonly sharesSplitterFactory: SharesSplitterFactory;
98
100
  readonly synthetixAdapter: SynthetixAdapter;
101
+ readonly uintListRegistry: UintListRegistry;
99
102
  readonly uniswapV2ExchangeAdapter: UniswapV2ExchangeAdapter;
100
103
  readonly uniswapV2LiquidityAdapter: UniswapV2LiquidityAdapter;
101
104
  readonly uniswapV2PoolPriceFeed: UniswapV2PoolPriceFeed;
@@ -538,11 +541,11 @@ declare function convexVotingPositionWithdraw({ comptrollerProxy, externalPositi
538
541
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: ethers.BytesLike], void, ComptrollerLib>>>;
539
542
 
540
543
  interface ILiquityTroveManager extends Contract<ILiquityTroveManager> {
541
- getBorrowingFee: Call<(_LUSDDebt: BigNumberish) => BigNumberish>;
544
+ getBorrowingFee: Call<(_LUSDDebt: BigNumberish) => BigNumber>;
542
545
  }
543
546
  declare const ILiquityTroveManager: _enzymefinance_ethers.ContractFactory<ILiquityTroveManager, never>;
544
547
  interface ILiquityHintHelper extends Contract<ILiquityHintHelper> {
545
- getApproxHint: Call<(_cr: BigNumberish, _numTrials: BigNumberish, _inputRandomSeed: BigNumberish) => [hintAddress_: AddressLike, diff_: BigNumberish, latestRandomSeed_: BigNumberish]>;
548
+ getApproxHint: Call<(_cr: BigNumberish, _numTrials: BigNumberish, _inputRandomSeed: BigNumberish) => [hintAddress_: AddressLike, diff_: BigNumber, latestRandomSeed_: BigNumber]>;
546
549
  }
547
550
  declare const ILiquityHintHelper: _enzymefinance_ethers.ContractFactory<ILiquityHintHelper, never>;
548
551
  interface ILiquitySortedTroves extends Contract<ILiquitySortedTroves> {
@@ -557,31 +560,36 @@ declare function createLiquityDebtPosition({ signer, comptrollerProxy, externalP
557
560
  externalPositionProxy: _enzymefinance_protocol.IExternalPositionProxy;
558
561
  receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>;
559
562
  }>;
560
- declare function liquityCalcHints({ collateralAmount, lusdAmount, numTrials, liquitySortedTroves, liquityHintHelper, inputRandomSeed, }: {
563
+ declare function liquityCalcHints({ collateralAmount, debtAmount, // Total debt, inclusive of fees
564
+ numTrials, // See note above for recommended value. This helper uses a static value for testing purposes.
565
+ liquitySortedTroves, liquityHintHelper, inputRandomSeed, }: {
561
566
  collateralAmount: BigNumber;
562
- lusdAmount: BigNumber;
567
+ debtAmount: BigNumber;
563
568
  numTrials?: BigNumber;
564
569
  liquitySortedTroves: ILiquitySortedTroves;
565
570
  liquityHintHelper: ILiquityHintHelper;
566
571
  inputRandomSeed?: BigNumber;
567
- }): Promise<[prevId_: AddressLike, nextId_: AddressLike]>;
568
- declare function liquityDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, lowerHint, upperHint, externalPositionProxy, }: {
572
+ }): Promise<{
573
+ lowerHint: AddressLike;
574
+ upperHint: AddressLike;
575
+ }>;
576
+ declare function liquityDebtPositionAddCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, upperHint, lowerHint, externalPositionProxy, }: {
569
577
  comptrollerProxy: ComptrollerLib;
570
578
  externalPositionManager: ExternalPositionManager;
571
579
  signer: SignerWithAddress;
572
580
  collateralAmount: BigNumberish;
573
- lowerHint: AddressLike;
574
581
  upperHint: AddressLike;
582
+ lowerHint: AddressLike;
575
583
  externalPositionProxy: AddressLike;
576
584
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
577
- declare function liquityDebtPositionBorrow({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, lusdAmount, lowerHint, upperHint, externalPositionProxy, }: {
585
+ declare function liquityDebtPositionBorrow({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, lusdAmount, upperHint, lowerHint, externalPositionProxy, }: {
578
586
  comptrollerProxy: ComptrollerLib;
579
587
  externalPositionManager: ExternalPositionManager;
580
588
  signer: SignerWithAddress;
581
589
  maxFeePercentage: BigNumberish;
582
590
  lusdAmount: BigNumberish;
583
- lowerHint: AddressLike;
584
591
  upperHint: AddressLike;
592
+ lowerHint: AddressLike;
585
593
  externalPositionProxy: AddressLike;
586
594
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
587
595
  declare function liquityDebtPositionCloseTrove({ comptrollerProxy, externalPositionManager, signer, externalPositionProxy, }: {
@@ -590,33 +598,33 @@ declare function liquityDebtPositionCloseTrove({ comptrollerProxy, externalPosit
590
598
  signer: SignerWithAddress;
591
599
  externalPositionProxy: AddressLike;
592
600
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
593
- declare function liquityDebtPositionOpenTrove({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, collateralAmount, lusdAmount, lowerHint, upperHint, externalPositionProxy, }: {
601
+ declare function liquityDebtPositionOpenTrove({ comptrollerProxy, externalPositionManager, signer, maxFeePercentage, collateralAmount, lusdAmount, upperHint, lowerHint, externalPositionProxy, }: {
594
602
  comptrollerProxy: ComptrollerLib;
595
603
  externalPositionManager: ExternalPositionManager;
596
604
  signer: SignerWithAddress;
597
605
  maxFeePercentage: BigNumberish;
598
606
  collateralAmount: BigNumberish;
599
607
  lusdAmount: BigNumberish;
600
- lowerHint: AddressLike;
601
608
  upperHint: AddressLike;
609
+ lowerHint: AddressLike;
602
610
  externalPositionProxy: AddressLike;
603
611
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
604
- declare function liquityDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, lowerHint, upperHint, externalPositionProxy, }: {
612
+ declare function liquityDebtPositionRemoveCollateral({ comptrollerProxy, externalPositionManager, signer, collateralAmount, upperHint, lowerHint, externalPositionProxy, }: {
605
613
  comptrollerProxy: ComptrollerLib;
606
614
  externalPositionManager: ExternalPositionManager;
607
615
  signer: SignerWithAddress;
608
616
  collateralAmount: BigNumberish;
609
- lowerHint: AddressLike;
610
617
  upperHint: AddressLike;
618
+ lowerHint: AddressLike;
611
619
  externalPositionProxy: AddressLike;
612
620
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
613
- declare function liquityDebtPositionRepay({ comptrollerProxy, externalPositionManager, signer, lusdAmount, lowerHint, upperHint, externalPositionProxy, }: {
621
+ declare function liquityDebtPositionRepay({ comptrollerProxy, externalPositionManager, signer, lusdAmount, upperHint, lowerHint, externalPositionProxy, }: {
614
622
  comptrollerProxy: ComptrollerLib;
615
623
  externalPositionManager: ExternalPositionManager;
616
624
  signer: SignerWithAddress;
617
625
  lusdAmount: BigNumberish;
618
- lowerHint: AddressLike;
619
626
  upperHint: AddressLike;
627
+ lowerHint: AddressLike;
620
628
  externalPositionProxy: AddressLike;
621
629
  }): Promise<_enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_extension: AddressLike, _actionId: BigNumberish, _callArgs: utils.BytesLike], void, ComptrollerLib>>>;
622
630
 
@@ -1105,11 +1113,11 @@ declare function mockGenericSwapArgs({ spendAssets, actualSpendAssetAmounts, max
1105
1113
  minIncomingAssetAmounts?: BigNumberish[];
1106
1114
  actualIncomingAssetAmounts?: BigNumberish[];
1107
1115
  }): string;
1108
- declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, fundOwner, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, }: {
1116
+ declare function mockGenericSwap({ comptrollerProxy, vaultProxy, integrationManager, signer, mockGenericAdapter, selector, spendAssets, actualSpendAssetAmounts, maxSpendAssetAmounts, incomingAssets, actualIncomingAssetAmounts, minIncomingAssetAmounts, seedFund, }: {
1109
1117
  comptrollerProxy: ComptrollerLib;
1110
1118
  vaultProxy: VaultLib;
1111
1119
  integrationManager: IntegrationManager;
1112
- fundOwner: SignerWithAddress;
1120
+ signer: SignerWithAddress;
1113
1121
  mockGenericAdapter: MockGenericAdapter;
1114
1122
  selector?: BytesLike;
1115
1123
  spendAssets?: StandardToken[];
@@ -1351,6 +1359,17 @@ interface IVotiumMultiMerkleStash extends Contract<IVotiumMultiMerkleStash> {
1351
1359
  }
1352
1360
  declare const IVotiumMultiMerkleStash: _enzymefinance_ethers.ContractFactory<IVotiumMultiMerkleStash, never>;
1353
1361
 
1362
+ declare function deployManualValueOracle({ signer, manualValueOracleFactory, owner, updater, description, }: {
1363
+ signer: SignerWithAddress;
1364
+ manualValueOracleFactory: ManualValueOracleFactory;
1365
+ owner: AddressLike;
1366
+ updater: AddressLike;
1367
+ description?: string;
1368
+ }): Promise<{
1369
+ proxy: ManualValueOracleLib;
1370
+ receipt: _enzymefinance_ethers.ContractReceipt<_enzymefinance_ethers.SendFunction<[_owner: AddressLike, _updater: AddressLike, _description: string], string, ManualValueOracleFactory>>;
1371
+ }>;
1372
+
1354
1373
  declare function deploySharesSplitter({ signer, sharesSplitterFactory, splitUsers, splitPercentages, }: {
1355
1374
  signer: SignerWithAddress;
1356
1375
  sharesSplitterFactory: SharesSplitterFactory;
@@ -1545,4 +1564,4 @@ declare function unlockWhale(token: Whale): Promise<SignerWithAddress>;
1545
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">>;
1546
1565
  declare function unlockWhales<T extends Whale>(...tokens: T[]): Promise<WhaleSigners<T>>;
1547
1566
 
1548
- 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 };
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 };
package/dist/index.js CHANGED
@@ -172,6 +172,9 @@ function assertNoEvent(receipt, event) {
172
172
 
173
173
 
174
174
 
175
+
176
+
177
+
175
178
 
176
179
 
177
180
 
@@ -199,6 +202,7 @@ async function deployProtocolFixture() {
199
202
  aavePriceFeed: new (0, _protocol.AavePriceFeed)(fixture.AavePriceFeed.address, deployer),
200
203
  addressListRegistry: new (0, _protocol.AddressListRegistry)(fixture.AddressListRegistry.address, deployer),
201
204
  allowedAdapterIncomingAssetsPolicy: new (0, _protocol.AllowedAdapterIncomingAssetsPolicy)(fixture.AllowedAdapterIncomingAssetsPolicy.address, deployer),
205
+ allowedAdaptersPerManagerPolicy: new (0, _protocol.AllowedAdaptersPerManagerPolicy)(fixture.AllowedAdaptersPerManagerPolicy.address, deployer),
202
206
  allowedAdaptersPolicy: new (0, _protocol.AllowedAdaptersPolicy)(fixture.AllowedAdaptersPolicy.address, deployer),
203
207
  allowedAssetsForRedemptionPolicy: new (0, _protocol.AllowedAssetsForRedemptionPolicy)(fixture.AllowedAssetsForRedemptionPolicy.address, deployer),
204
208
  allowedDepositRecipientsPolicy: new (0, _protocol.AllowedDepositRecipientsPolicy)(fixture.AllowedDepositRecipientsPolicy.address, deployer),
@@ -243,6 +247,7 @@ async function deployProtocolFixture() {
243
247
  liquityDebtPositionLib: new (0, _protocol.LiquityDebtPositionLib)(fixture.LiquityDebtPositionLib.address, deployer),
244
248
  liquityDebtPositionParser: new (0, _protocol.LiquityDebtPositionParser)(fixture.LiquityDebtPositionParser.address, deployer),
245
249
  managementFee: new (0, _protocol.ManagementFee)(fixture.ManagementFee.address, deployer),
250
+ manualValueOracleFactory: new (0, _protocol.ManualValueOracleFactory)(fixture.ManualValueOracleFactory.address, deployer),
246
251
  mapleLiquidityPositionLib: new (0, _protocol.MapleLiquidityPositionLib)(fixture.MapleLiquidityPositionLib.address, deployer),
247
252
  mapleLiquidityPositionParser: new (0, _protocol.MapleLiquidityPositionParser)(fixture.MapleLiquidityPositionParser.address, deployer),
248
253
  minAssetBalancesPostRedemptionPolicy: new (0, _protocol.MinAssetBalancesPostRedemptionPolicy)(fixture.MinAssetBalancesPostRedemptionPolicy.address, deployer),
@@ -261,6 +266,7 @@ async function deployProtocolFixture() {
261
266
  revertingPriceFeed: new (0, _protocol.RevertingPriceFeed)(fixture.RevertingPriceFeed.address, deployer),
262
267
  sharesSplitterFactory: new (0, _protocol.SharesSplitterFactory)(fixture.SharesSplitterFactory.address, deployer),
263
268
  synthetixAdapter: new (0, _protocol.SynthetixAdapter)(fixture.SynthetixAdapter.address, deployer),
269
+ uintListRegistry: new (0, _protocol.UintListRegistry)(fixture.UintListRegistry.address, deployer),
264
270
  uniswapV2ExchangeAdapter: new (0, _protocol.UniswapV2ExchangeAdapter)(fixture.UniswapV2ExchangeAdapter.address, deployer),
265
271
  uniswapV2LiquidityAdapter: new (0, _protocol.UniswapV2LiquidityAdapter)(fixture.UniswapV2LiquidityAdapter.address, deployer),
266
272
  uniswapV2PoolPriceFeed: new (0, _protocol.UniswapV2PoolPriceFeed)(fixture.UniswapV2PoolPriceFeed.address, deployer),
@@ -938,24 +944,24 @@ async function createLiquityDebtPosition({
938
944
  }
939
945
  async function liquityCalcHints({
940
946
  collateralAmount,
941
- lusdAmount,
942
- numTrials = _ethers3.BigNumber.from("15"),
947
+ debtAmount,
948
+ numTrials = _ethers3.BigNumber.from("100"),
943
949
  liquitySortedTroves,
944
950
  liquityHintHelper,
945
951
  inputRandomSeed = _ethers3.BigNumber.from("4")
946
952
  }) {
947
- const nicr = collateralAmount.mul(_ethers3.utils.parseEther("100")).div(lusdAmount);
953
+ const nicr = collateralAmount.mul(_ethers3.utils.parseEther("100")).div(debtAmount);
948
954
  const approxHint = await liquityHintHelper.getApproxHint.args(nicr, numTrials, inputRandomSeed).call();
949
- const hints = await liquitySortedTroves.findInsertPosition.args(nicr, approxHint[0], approxHint[0]).call();
950
- return hints;
955
+ const [upperHint, lowerHint] = await liquitySortedTroves.findInsertPosition.args(nicr, approxHint[0], approxHint[0]).call();
956
+ return { lowerHint, upperHint };
951
957
  }
952
958
  async function liquityDebtPositionAddCollateral({
953
959
  comptrollerProxy,
954
960
  externalPositionManager,
955
961
  signer,
956
962
  collateralAmount,
957
- lowerHint,
958
963
  upperHint,
964
+ lowerHint,
959
965
  externalPositionProxy
960
966
  }) {
961
967
  const actionArgs = _protocol.liquityDebtPositionAddCollateralArgs.call(void 0, {
@@ -978,8 +984,8 @@ async function liquityDebtPositionBorrow({
978
984
  signer,
979
985
  maxFeePercentage,
980
986
  lusdAmount,
981
- lowerHint,
982
987
  upperHint,
988
+ lowerHint,
983
989
  externalPositionProxy
984
990
  }) {
985
991
  const actionArgs = _protocol.liquityDebtPositionBorrowArgs.call(void 0, {
@@ -1020,8 +1026,8 @@ async function liquityDebtPositionOpenTrove({
1020
1026
  maxFeePercentage,
1021
1027
  collateralAmount,
1022
1028
  lusdAmount,
1023
- lowerHint,
1024
1029
  upperHint,
1030
+ lowerHint,
1025
1031
  externalPositionProxy
1026
1032
  }) {
1027
1033
  const actionArgs = _protocol.liquityDebtPositionOpenTroveArgs.call(void 0, {
@@ -1045,8 +1051,8 @@ async function liquityDebtPositionRemoveCollateral({
1045
1051
  externalPositionManager,
1046
1052
  signer,
1047
1053
  collateralAmount,
1048
- lowerHint,
1049
1054
  upperHint,
1055
+ lowerHint,
1050
1056
  externalPositionProxy
1051
1057
  }) {
1052
1058
  const actionArgs = _protocol.liquityDebtPositionRemoveCollateralArgs.call(void 0, {
@@ -1068,8 +1074,8 @@ async function liquityDebtPositionRepay({
1068
1074
  externalPositionManager,
1069
1075
  signer,
1070
1076
  lusdAmount,
1071
- lowerHint,
1072
1077
  upperHint,
1078
+ lowerHint,
1073
1079
  externalPositionProxy
1074
1080
  }) {
1075
1081
  const actionArgs = _protocol.liquityDebtPositionRepayBorrowArgs.call(void 0, {
@@ -2261,7 +2267,7 @@ async function mockGenericSwap({
2261
2267
  comptrollerProxy,
2262
2268
  vaultProxy,
2263
2269
  integrationManager,
2264
- fundOwner,
2270
+ signer,
2265
2271
  mockGenericAdapter,
2266
2272
  selector = mockGenericSwapASelector,
2267
2273
  spendAssets = [],
@@ -2290,7 +2296,7 @@ async function mockGenericSwap({
2290
2296
  encodedCallArgs: swapArgs,
2291
2297
  selector
2292
2298
  });
2293
- const swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, _protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2299
+ const swapTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, _protocol.IntegrationManagerActionId.CallOnIntegration, callArgs);
2294
2300
  await expect(swapTx).resolves.toBeReceipt();
2295
2301
  return swapTx;
2296
2302
  }
@@ -2866,7 +2872,25 @@ var IVotiumMultiMerkleStash = _ethers.contract.call(void 0, )`
2866
2872
  function updateMerkleRoot(address, bytes32)
2867
2873
  `;
2868
2874
 
2869
- // src/scaffolding/peripheral/shares-splitter.ts
2875
+ // src/scaffolding/persistent/manual-value-oracle.ts
2876
+
2877
+ async function deployManualValueOracle({
2878
+ signer,
2879
+ manualValueOracleFactory,
2880
+ owner,
2881
+ updater,
2882
+ description = ""
2883
+ }) {
2884
+ const receipt = await manualValueOracleFactory.connect(signer).deploy(owner, updater, description);
2885
+ const proxyDeployedArgs = assertEvent(receipt, "ProxyDeployed", {
2886
+ caller: signer,
2887
+ proxy: expect.any(String)
2888
+ });
2889
+ const proxy = new (0, _protocol.ManualValueOracleLib)(proxyDeployedArgs.proxy, provider);
2890
+ return { proxy, receipt };
2891
+ }
2892
+
2893
+ // src/scaffolding/persistent/shares-splitter.ts
2870
2894
 
2871
2895
  async function deploySharesSplitter({
2872
2896
  signer,
@@ -3349,4 +3373,5 @@ async function unlockWhales(...tokens) {
3349
3373
 
3350
3374
 
3351
3375
 
3352
- exports.CurveLiquidityGaugeV2 = CurveLiquidityGaugeV2; exports.CurveMinter = CurveMinter; exports.CurveRegistry = CurveRegistry; exports.CurveSwaps = CurveSwaps; exports.ICompoundComptroller = ICompoundComptroller; exports.IConvexBaseRewardPool = IConvexBaseRewardPool; exports.IConvexCrvDepositor = IConvexCrvDepositor; exports.IConvexCvxLocker = IConvexCvxLocker; exports.IConvexVlCvxExtraRewardDistribution = IConvexVlCvxExtraRewardDistribution; exports.ILiquityHintHelper = ILiquityHintHelper; exports.ILiquitySortedTroves = ILiquitySortedTroves; exports.ILiquityTroveManager = ILiquityTroveManager; exports.ISnapshotDelegateRegistry = ISnapshotDelegateRegistry; exports.IUniswapV3NonFungibleTokenManager = IUniswapV3NonFungibleTokenManager; exports.IVotiumMultiMerkleStash = IVotiumMultiMerkleStash; exports.UniswapV2Factory = UniswapV2Factory; exports.UniswapV3FeeAmount = UniswapV3FeeAmount; exports.aaveDebtPositionAddCollateral = aaveDebtPositionAddCollateral; exports.aaveDebtPositionBorrow = aaveDebtPositionBorrow; exports.aaveDebtPositionClaimRewards = aaveDebtPositionClaimRewards; exports.aaveDebtPositionRemoveCollateral = aaveDebtPositionRemoveCollateral; exports.aaveDebtPositionRepayBorrow = aaveDebtPositionRepayBorrow; exports.aaveLend = aaveLend; exports.aaveRedeem = aaveRedeem; exports.addNewAssetsToFund = addNewAssetsToFund; exports.addTrackedAssetsToVault = addTrackedAssetsToVault; exports.assertCompoundLend = assertCompoundLend; exports.assertCompoundRedeem = assertCompoundRedeem; exports.assertDidRelay = assertDidRelay; exports.assertDidRelaySuccessfully = assertDidRelaySuccessfully; exports.assertDidRelayWithCharge = assertDidRelayWithCharge; exports.assertDidRelayWithError = assertDidRelayWithError; exports.assertEvent = assertEvent; exports.assertNoEvent = assertNoEvent; exports.assertPaymasterDidReject = assertPaymasterDidReject; exports.assertPaymasterDidRejectForReason = assertPaymasterDidRejectForReason; exports.buyShares = buyShares; exports.buySharesFunction = buySharesFunction; exports.calcMlnValueAndBurnAmountForSharesBuyback = calcMlnValueAndBurnAmountForSharesBuyback; exports.callOnExtension = callOnExtension; exports.callOnExternalPosition = callOnExternalPosition; exports.compoundClaim = compoundClaim; exports.compoundDebtPositionAddCollateral = compoundDebtPositionAddCollateral; exports.compoundDebtPositionBorrow = compoundDebtPositionBorrow; exports.compoundDebtPositionClaimComp = compoundDebtPositionClaimComp; exports.compoundDebtPositionRemoveCollateral = compoundDebtPositionRemoveCollateral; exports.compoundDebtPositionRepayBorrow = compoundDebtPositionRepayBorrow; exports.compoundLend = compoundLend; exports.compoundRedeem = compoundRedeem; exports.convexVotingPositionClaimRewards = convexVotingPositionClaimRewards; exports.convexVotingPositionDelegate = convexVotingPositionDelegate; exports.convexVotingPositionLock = convexVotingPositionLock; exports.convexVotingPositionRelock = convexVotingPositionRelock; exports.convexVotingPositionWithdraw = convexVotingPositionWithdraw; exports.createAaveDebtPosition = createAaveDebtPosition; exports.createCompoundDebtPosition = createCompoundDebtPosition; exports.createComptrollerProxy = createComptrollerProxy; exports.createConvexVotingPosition = createConvexVotingPosition; exports.createExternalPosition = createExternalPosition; exports.createFundDeployer = createFundDeployer; exports.createLiquityDebtPosition = createLiquityDebtPosition; exports.createMapleLiquidityPosition = createMapleLiquidityPosition; exports.createMigrationRequest = createMigrationRequest; exports.createMockExternalPosition = createMockExternalPosition; exports.createNewFund = createNewFund; exports.createReconfigurationRequest = createReconfigurationRequest; exports.createTheGraphDelegationPosition = createTheGraphDelegationPosition; exports.createUniswapV3LiquidityPosition = createUniswapV3LiquidityPosition; exports.createVaultProxy = createVaultProxy; exports.curveClaimRewards = curveClaimRewards; exports.curveLend = curveLend; exports.curveLendAndStake = curveLendAndStake; exports.curveRedeem = curveRedeem; exports.curveStake = curveStake; exports.curveTakeOrder = curveTakeOrder; exports.curveUnstake = curveUnstake; exports.curveUnstakeAndRedeem = curveUnstakeAndRedeem; exports.deployProtocolFixture = deployProtocolFixture; exports.deploySharesSplitter = deploySharesSplitter; exports.generateFeeManagerConfigWithMockFees = generateFeeManagerConfigWithMockFees; exports.generateMerkleTreeForContractProof = generateMerkleTreeForContractProof; exports.generateMockFees = generateMockFees; exports.generateMockPolicies = generateMockPolicies; exports.generatePolicyManagerConfigWithMockPolicies = generatePolicyManagerConfigWithMockPolicies; exports.getAssetBalances = getAssetBalances; exports.getAssetUnit = getAssetUnit; exports.getNamedSigner = getNamedSigner; exports.getUnnamedSigners = getUnnamedSigners; exports.idleClaimRewards = idleClaimRewards; exports.idleLend = idleLend; exports.idleRedeem = idleRedeem; exports.impersonateContractSigner = impersonateContractSigner; exports.impersonateSigner = impersonateSigner; exports.liquityCalcHints = liquityCalcHints; exports.liquityDebtPositionAddCollateral = liquityDebtPositionAddCollateral; exports.liquityDebtPositionBorrow = liquityDebtPositionBorrow; exports.liquityDebtPositionCloseTrove = liquityDebtPositionCloseTrove; exports.liquityDebtPositionOpenTrove = liquityDebtPositionOpenTrove; exports.liquityDebtPositionRemoveCollateral = liquityDebtPositionRemoveCollateral; exports.liquityDebtPositionRepay = liquityDebtPositionRepay; exports.mapleLiquidityPositionClaimInterest = mapleLiquidityPositionClaimInterest; exports.mapleLiquidityPositionClaimRewards = mapleLiquidityPositionClaimRewards; exports.mapleLiquidityPositionIntendToRedeem = mapleLiquidityPositionIntendToRedeem; exports.mapleLiquidityPositionLend = mapleLiquidityPositionLend; exports.mapleLiquidityPositionLendAndStake = mapleLiquidityPositionLendAndStake; exports.mapleLiquidityPositionRedeem = mapleLiquidityPositionRedeem; exports.mapleLiquidityPositionStake = mapleLiquidityPositionStake; exports.mapleLiquidityPositionUnstake = mapleLiquidityPositionUnstake; exports.mapleLiquidityPositionUnstakeAndRedeem = mapleLiquidityPositionUnstakeAndRedeem; exports.mockExternalPositionAddDebtAssets = mockExternalPositionAddDebtAssets; exports.mockExternalPositionAddManagedAssets = mockExternalPositionAddManagedAssets; exports.mockExternalPositionRemoveDebtAssets = mockExternalPositionRemoveDebtAssets; exports.mockExternalPositionRemoveManagedAssets = mockExternalPositionRemoveManagedAssets; exports.mockGenericRemoveOnlySelector = mockGenericRemoveOnlySelector; exports.mockGenericSwap = mockGenericSwap; exports.mockGenericSwapASelector = mockGenericSwapASelector; exports.mockGenericSwapArgs = mockGenericSwapArgs; exports.mockGenericSwapBSelector = mockGenericSwapBSelector; exports.mockGenericSwapDirectFromVaultSelector = mockGenericSwapDirectFromVaultSelector; exports.mockGenericSwapViaApprovalSelector = mockGenericSwapViaApprovalSelector; exports.olympusV2Stake = olympusV2Stake; exports.olympusV2Unstake = olympusV2Unstake; exports.paraSwapV5GenerateDummyPaths = paraSwapV5GenerateDummyPaths; exports.paraSwapV5TakeOrder = paraSwapV5TakeOrder; exports.poolTogetherV4ClaimRewards = poolTogetherV4ClaimRewards; exports.poolTogetherV4Lend = poolTogetherV4Lend; exports.poolTogetherV4Redeem = poolTogetherV4Redeem; exports.reactivateExternalPosition = reactivateExternalPosition; exports.redeemSharesForSpecificAssets = redeemSharesForSpecificAssets; exports.redeemSharesInKind = redeemSharesInKind; exports.relayTransaction = relayTransaction; exports.removeExternalPosition = removeExternalPosition; exports.removeTrackedAssetsFromVault = removeTrackedAssetsFromVault; exports.sendEthBySelfDestruct = sendEthBySelfDestruct; exports.setupGasRelayerPaymaster = setupGasRelayerPaymaster; exports.synthetixAssignExchangeDelegate = synthetixAssignExchangeDelegate; exports.synthetixRedeem = synthetixRedeem; exports.synthetixTakeOrder = synthetixTakeOrder; exports.theGraphDelegationPositionDelegate = theGraphDelegationPositionDelegate; exports.theGraphDelegationPositionUndelegate = theGraphDelegationPositionUndelegate; exports.theGraphDelegationPositionWithdraw = theGraphDelegationPositionWithdraw; exports.transactionTimestamp = transactionTimestamp; exports.uniswapV2Lend = uniswapV2Lend; exports.uniswapV2Redeem = uniswapV2Redeem; exports.uniswapV2TakeOrder = uniswapV2TakeOrder; exports.uniswapV3LiquidityPositionAddLiquidity = uniswapV3LiquidityPositionAddLiquidity; exports.uniswapV3LiquidityPositionCollect = uniswapV3LiquidityPositionCollect; exports.uniswapV3LiquidityPositionGetMaxTick = uniswapV3LiquidityPositionGetMaxTick; exports.uniswapV3LiquidityPositionGetMinTick = uniswapV3LiquidityPositionGetMinTick; exports.uniswapV3LiquidityPositionMint = uniswapV3LiquidityPositionMint; exports.uniswapV3LiquidityPositionPurge = uniswapV3LiquidityPositionPurge; exports.uniswapV3LiquidityPositionRemoveLiquidity = uniswapV3LiquidityPositionRemoveLiquidity; exports.uniswapV3OrderTokenPair = uniswapV3OrderTokenPair; exports.uniswapV3TakeOrder = uniswapV3TakeOrder; exports.unlockAllWhales = unlockAllWhales; exports.unlockWhale = unlockWhale; exports.unlockWhales = unlockWhales; exports.updateChainlinkAggregator = updateChainlinkAggregator; exports.vaultCallCreateNewList = vaultCallCreateNewList; exports.vaultCallCurveMinterMint = vaultCallCurveMinterMint; exports.vaultCallCurveMinterMintMany = vaultCallCurveMinterMintMany; exports.vaultCallCurveMinterToggleApproveMint = vaultCallCurveMinterToggleApproveMint; exports.vaultCallStartAssetBypassTimelock = vaultCallStartAssetBypassTimelock; exports.yearnVaultV2Lend = yearnVaultV2Lend; exports.yearnVaultV2Redeem = yearnVaultV2Redeem; exports.zeroExV2TakeOrder = zeroExV2TakeOrder;
3376
+
3377
+ exports.CurveLiquidityGaugeV2 = CurveLiquidityGaugeV2; exports.CurveMinter = CurveMinter; exports.CurveRegistry = CurveRegistry; exports.CurveSwaps = CurveSwaps; exports.ICompoundComptroller = ICompoundComptroller; exports.IConvexBaseRewardPool = IConvexBaseRewardPool; exports.IConvexCrvDepositor = IConvexCrvDepositor; exports.IConvexCvxLocker = IConvexCvxLocker; exports.IConvexVlCvxExtraRewardDistribution = IConvexVlCvxExtraRewardDistribution; exports.ILiquityHintHelper = ILiquityHintHelper; exports.ILiquitySortedTroves = ILiquitySortedTroves; exports.ILiquityTroveManager = ILiquityTroveManager; exports.ISnapshotDelegateRegistry = ISnapshotDelegateRegistry; exports.IUniswapV3NonFungibleTokenManager = IUniswapV3NonFungibleTokenManager; exports.IVotiumMultiMerkleStash = IVotiumMultiMerkleStash; exports.UniswapV2Factory = UniswapV2Factory; exports.UniswapV3FeeAmount = UniswapV3FeeAmount; exports.aaveDebtPositionAddCollateral = aaveDebtPositionAddCollateral; exports.aaveDebtPositionBorrow = aaveDebtPositionBorrow; exports.aaveDebtPositionClaimRewards = aaveDebtPositionClaimRewards; exports.aaveDebtPositionRemoveCollateral = aaveDebtPositionRemoveCollateral; exports.aaveDebtPositionRepayBorrow = aaveDebtPositionRepayBorrow; exports.aaveLend = aaveLend; exports.aaveRedeem = aaveRedeem; exports.addNewAssetsToFund = addNewAssetsToFund; exports.addTrackedAssetsToVault = addTrackedAssetsToVault; exports.assertCompoundLend = assertCompoundLend; exports.assertCompoundRedeem = assertCompoundRedeem; exports.assertDidRelay = assertDidRelay; exports.assertDidRelaySuccessfully = assertDidRelaySuccessfully; exports.assertDidRelayWithCharge = assertDidRelayWithCharge; exports.assertDidRelayWithError = assertDidRelayWithError; exports.assertEvent = assertEvent; exports.assertNoEvent = assertNoEvent; exports.assertPaymasterDidReject = assertPaymasterDidReject; exports.assertPaymasterDidRejectForReason = assertPaymasterDidRejectForReason; exports.buyShares = buyShares; exports.buySharesFunction = buySharesFunction; exports.calcMlnValueAndBurnAmountForSharesBuyback = calcMlnValueAndBurnAmountForSharesBuyback; exports.callOnExtension = callOnExtension; exports.callOnExternalPosition = callOnExternalPosition; exports.compoundClaim = compoundClaim; exports.compoundDebtPositionAddCollateral = compoundDebtPositionAddCollateral; exports.compoundDebtPositionBorrow = compoundDebtPositionBorrow; exports.compoundDebtPositionClaimComp = compoundDebtPositionClaimComp; exports.compoundDebtPositionRemoveCollateral = compoundDebtPositionRemoveCollateral; exports.compoundDebtPositionRepayBorrow = compoundDebtPositionRepayBorrow; exports.compoundLend = compoundLend; exports.compoundRedeem = compoundRedeem; exports.convexVotingPositionClaimRewards = convexVotingPositionClaimRewards; exports.convexVotingPositionDelegate = convexVotingPositionDelegate; exports.convexVotingPositionLock = convexVotingPositionLock; exports.convexVotingPositionRelock = convexVotingPositionRelock; exports.convexVotingPositionWithdraw = convexVotingPositionWithdraw; exports.createAaveDebtPosition = createAaveDebtPosition; exports.createCompoundDebtPosition = createCompoundDebtPosition; exports.createComptrollerProxy = createComptrollerProxy; exports.createConvexVotingPosition = createConvexVotingPosition; exports.createExternalPosition = createExternalPosition; exports.createFundDeployer = createFundDeployer; exports.createLiquityDebtPosition = createLiquityDebtPosition; exports.createMapleLiquidityPosition = createMapleLiquidityPosition; exports.createMigrationRequest = createMigrationRequest; exports.createMockExternalPosition = createMockExternalPosition; exports.createNewFund = createNewFund; exports.createReconfigurationRequest = createReconfigurationRequest; exports.createTheGraphDelegationPosition = createTheGraphDelegationPosition; exports.createUniswapV3LiquidityPosition = createUniswapV3LiquidityPosition; exports.createVaultProxy = createVaultProxy; exports.curveClaimRewards = curveClaimRewards; exports.curveLend = curveLend; exports.curveLendAndStake = curveLendAndStake; exports.curveRedeem = curveRedeem; exports.curveStake = curveStake; exports.curveTakeOrder = curveTakeOrder; exports.curveUnstake = curveUnstake; exports.curveUnstakeAndRedeem = curveUnstakeAndRedeem; exports.deployManualValueOracle = deployManualValueOracle; exports.deployProtocolFixture = deployProtocolFixture; exports.deploySharesSplitter = deploySharesSplitter; exports.generateFeeManagerConfigWithMockFees = generateFeeManagerConfigWithMockFees; exports.generateMerkleTreeForContractProof = generateMerkleTreeForContractProof; exports.generateMockFees = generateMockFees; exports.generateMockPolicies = generateMockPolicies; exports.generatePolicyManagerConfigWithMockPolicies = generatePolicyManagerConfigWithMockPolicies; exports.getAssetBalances = getAssetBalances; exports.getAssetUnit = getAssetUnit; exports.getNamedSigner = getNamedSigner; exports.getUnnamedSigners = getUnnamedSigners; exports.idleClaimRewards = idleClaimRewards; exports.idleLend = idleLend; exports.idleRedeem = idleRedeem; exports.impersonateContractSigner = impersonateContractSigner; exports.impersonateSigner = impersonateSigner; exports.liquityCalcHints = liquityCalcHints; exports.liquityDebtPositionAddCollateral = liquityDebtPositionAddCollateral; exports.liquityDebtPositionBorrow = liquityDebtPositionBorrow; exports.liquityDebtPositionCloseTrove = liquityDebtPositionCloseTrove; exports.liquityDebtPositionOpenTrove = liquityDebtPositionOpenTrove; exports.liquityDebtPositionRemoveCollateral = liquityDebtPositionRemoveCollateral; exports.liquityDebtPositionRepay = liquityDebtPositionRepay; exports.mapleLiquidityPositionClaimInterest = mapleLiquidityPositionClaimInterest; exports.mapleLiquidityPositionClaimRewards = mapleLiquidityPositionClaimRewards; exports.mapleLiquidityPositionIntendToRedeem = mapleLiquidityPositionIntendToRedeem; exports.mapleLiquidityPositionLend = mapleLiquidityPositionLend; exports.mapleLiquidityPositionLendAndStake = mapleLiquidityPositionLendAndStake; exports.mapleLiquidityPositionRedeem = mapleLiquidityPositionRedeem; exports.mapleLiquidityPositionStake = mapleLiquidityPositionStake; exports.mapleLiquidityPositionUnstake = mapleLiquidityPositionUnstake; exports.mapleLiquidityPositionUnstakeAndRedeem = mapleLiquidityPositionUnstakeAndRedeem; exports.mockExternalPositionAddDebtAssets = mockExternalPositionAddDebtAssets; exports.mockExternalPositionAddManagedAssets = mockExternalPositionAddManagedAssets; exports.mockExternalPositionRemoveDebtAssets = mockExternalPositionRemoveDebtAssets; exports.mockExternalPositionRemoveManagedAssets = mockExternalPositionRemoveManagedAssets; exports.mockGenericRemoveOnlySelector = mockGenericRemoveOnlySelector; exports.mockGenericSwap = mockGenericSwap; exports.mockGenericSwapASelector = mockGenericSwapASelector; exports.mockGenericSwapArgs = mockGenericSwapArgs; exports.mockGenericSwapBSelector = mockGenericSwapBSelector; exports.mockGenericSwapDirectFromVaultSelector = mockGenericSwapDirectFromVaultSelector; exports.mockGenericSwapViaApprovalSelector = mockGenericSwapViaApprovalSelector; exports.olympusV2Stake = olympusV2Stake; exports.olympusV2Unstake = olympusV2Unstake; exports.paraSwapV5GenerateDummyPaths = paraSwapV5GenerateDummyPaths; exports.paraSwapV5TakeOrder = paraSwapV5TakeOrder; exports.poolTogetherV4ClaimRewards = poolTogetherV4ClaimRewards; exports.poolTogetherV4Lend = poolTogetherV4Lend; exports.poolTogetherV4Redeem = poolTogetherV4Redeem; exports.reactivateExternalPosition = reactivateExternalPosition; exports.redeemSharesForSpecificAssets = redeemSharesForSpecificAssets; exports.redeemSharesInKind = redeemSharesInKind; exports.relayTransaction = relayTransaction; exports.removeExternalPosition = removeExternalPosition; exports.removeTrackedAssetsFromVault = removeTrackedAssetsFromVault; exports.sendEthBySelfDestruct = sendEthBySelfDestruct; exports.setupGasRelayerPaymaster = setupGasRelayerPaymaster; exports.synthetixAssignExchangeDelegate = synthetixAssignExchangeDelegate; exports.synthetixRedeem = synthetixRedeem; exports.synthetixTakeOrder = synthetixTakeOrder; exports.theGraphDelegationPositionDelegate = theGraphDelegationPositionDelegate; exports.theGraphDelegationPositionUndelegate = theGraphDelegationPositionUndelegate; exports.theGraphDelegationPositionWithdraw = theGraphDelegationPositionWithdraw; exports.transactionTimestamp = transactionTimestamp; exports.uniswapV2Lend = uniswapV2Lend; exports.uniswapV2Redeem = uniswapV2Redeem; exports.uniswapV2TakeOrder = uniswapV2TakeOrder; exports.uniswapV3LiquidityPositionAddLiquidity = uniswapV3LiquidityPositionAddLiquidity; exports.uniswapV3LiquidityPositionCollect = uniswapV3LiquidityPositionCollect; exports.uniswapV3LiquidityPositionGetMaxTick = uniswapV3LiquidityPositionGetMaxTick; exports.uniswapV3LiquidityPositionGetMinTick = uniswapV3LiquidityPositionGetMinTick; exports.uniswapV3LiquidityPositionMint = uniswapV3LiquidityPositionMint; exports.uniswapV3LiquidityPositionPurge = uniswapV3LiquidityPositionPurge; exports.uniswapV3LiquidityPositionRemoveLiquidity = uniswapV3LiquidityPositionRemoveLiquidity; exports.uniswapV3OrderTokenPair = uniswapV3OrderTokenPair; exports.uniswapV3TakeOrder = uniswapV3TakeOrder; exports.unlockAllWhales = unlockAllWhales; exports.unlockWhale = unlockWhale; exports.unlockWhales = unlockWhales; exports.updateChainlinkAggregator = updateChainlinkAggregator; exports.vaultCallCreateNewList = vaultCallCreateNewList; exports.vaultCallCurveMinterMint = vaultCallCurveMinterMint; exports.vaultCallCurveMinterMintMany = vaultCallCurveMinterMintMany; exports.vaultCallCurveMinterToggleApproveMint = vaultCallCurveMinterToggleApproveMint; exports.vaultCallStartAssetBypassTimelock = vaultCallStartAssetBypassTimelock; exports.yearnVaultV2Lend = yearnVaultV2Lend; exports.yearnVaultV2Redeem = yearnVaultV2Redeem; exports.zeroExV2TakeOrder = zeroExV2TakeOrder;
package/dist/index.mjs CHANGED
@@ -104,6 +104,7 @@ import {
104
104
  AavePriceFeed,
105
105
  AddressListRegistry,
106
106
  AllowedAdapterIncomingAssetsPolicy,
107
+ AllowedAdaptersPerManagerPolicy,
107
108
  AllowedAdaptersPolicy,
108
109
  AllowedAssetsForRedemptionPolicy,
109
110
  AllowedDepositRecipientsPolicy,
@@ -147,6 +148,7 @@ import {
147
148
  LiquityDebtPositionLib,
148
149
  LiquityDebtPositionParser,
149
150
  ManagementFee,
151
+ ManualValueOracleFactory,
150
152
  MapleLiquidityPositionLib,
151
153
  MapleLiquidityPositionParser,
152
154
  MinAssetBalancesPostRedemptionPolicy,
@@ -164,6 +166,7 @@ import {
164
166
  RevertingPriceFeed,
165
167
  SharesSplitterFactory,
166
168
  SynthetixAdapter,
169
+ UintListRegistry,
167
170
  UniswapV2ExchangeAdapter,
168
171
  UniswapV2LiquidityAdapter,
169
172
  UniswapV2PoolPriceFeed,
@@ -199,6 +202,7 @@ async function deployProtocolFixture() {
199
202
  aavePriceFeed: new AavePriceFeed(fixture.AavePriceFeed.address, deployer),
200
203
  addressListRegistry: new AddressListRegistry(fixture.AddressListRegistry.address, deployer),
201
204
  allowedAdapterIncomingAssetsPolicy: new AllowedAdapterIncomingAssetsPolicy(fixture.AllowedAdapterIncomingAssetsPolicy.address, deployer),
205
+ allowedAdaptersPerManagerPolicy: new AllowedAdaptersPerManagerPolicy(fixture.AllowedAdaptersPerManagerPolicy.address, deployer),
202
206
  allowedAdaptersPolicy: new AllowedAdaptersPolicy(fixture.AllowedAdaptersPolicy.address, deployer),
203
207
  allowedAssetsForRedemptionPolicy: new AllowedAssetsForRedemptionPolicy(fixture.AllowedAssetsForRedemptionPolicy.address, deployer),
204
208
  allowedDepositRecipientsPolicy: new AllowedDepositRecipientsPolicy(fixture.AllowedDepositRecipientsPolicy.address, deployer),
@@ -243,6 +247,7 @@ async function deployProtocolFixture() {
243
247
  liquityDebtPositionLib: new LiquityDebtPositionLib(fixture.LiquityDebtPositionLib.address, deployer),
244
248
  liquityDebtPositionParser: new LiquityDebtPositionParser(fixture.LiquityDebtPositionParser.address, deployer),
245
249
  managementFee: new ManagementFee(fixture.ManagementFee.address, deployer),
250
+ manualValueOracleFactory: new ManualValueOracleFactory(fixture.ManualValueOracleFactory.address, deployer),
246
251
  mapleLiquidityPositionLib: new MapleLiquidityPositionLib(fixture.MapleLiquidityPositionLib.address, deployer),
247
252
  mapleLiquidityPositionParser: new MapleLiquidityPositionParser(fixture.MapleLiquidityPositionParser.address, deployer),
248
253
  minAssetBalancesPostRedemptionPolicy: new MinAssetBalancesPostRedemptionPolicy(fixture.MinAssetBalancesPostRedemptionPolicy.address, deployer),
@@ -261,6 +266,7 @@ async function deployProtocolFixture() {
261
266
  revertingPriceFeed: new RevertingPriceFeed(fixture.RevertingPriceFeed.address, deployer),
262
267
  sharesSplitterFactory: new SharesSplitterFactory(fixture.SharesSplitterFactory.address, deployer),
263
268
  synthetixAdapter: new SynthetixAdapter(fixture.SynthetixAdapter.address, deployer),
269
+ uintListRegistry: new UintListRegistry(fixture.UintListRegistry.address, deployer),
264
270
  uniswapV2ExchangeAdapter: new UniswapV2ExchangeAdapter(fixture.UniswapV2ExchangeAdapter.address, deployer),
265
271
  uniswapV2LiquidityAdapter: new UniswapV2LiquidityAdapter(fixture.UniswapV2LiquidityAdapter.address, deployer),
266
272
  uniswapV2PoolPriceFeed: new UniswapV2PoolPriceFeed(fixture.UniswapV2PoolPriceFeed.address, deployer),
@@ -938,24 +944,24 @@ async function createLiquityDebtPosition({
938
944
  }
939
945
  async function liquityCalcHints({
940
946
  collateralAmount,
941
- lusdAmount,
942
- numTrials = BigNumber4.from("15"),
947
+ debtAmount,
948
+ numTrials = BigNumber4.from("100"),
943
949
  liquitySortedTroves,
944
950
  liquityHintHelper,
945
951
  inputRandomSeed = BigNumber4.from("4")
946
952
  }) {
947
- const nicr = collateralAmount.mul(utils4.parseEther("100")).div(lusdAmount);
953
+ const nicr = collateralAmount.mul(utils4.parseEther("100")).div(debtAmount);
948
954
  const approxHint = await liquityHintHelper.getApproxHint.args(nicr, numTrials, inputRandomSeed).call();
949
- const hints = await liquitySortedTroves.findInsertPosition.args(nicr, approxHint[0], approxHint[0]).call();
950
- return hints;
955
+ const [upperHint, lowerHint] = await liquitySortedTroves.findInsertPosition.args(nicr, approxHint[0], approxHint[0]).call();
956
+ return { lowerHint, upperHint };
951
957
  }
952
958
  async function liquityDebtPositionAddCollateral({
953
959
  comptrollerProxy,
954
960
  externalPositionManager,
955
961
  signer,
956
962
  collateralAmount,
957
- lowerHint,
958
963
  upperHint,
964
+ lowerHint,
959
965
  externalPositionProxy
960
966
  }) {
961
967
  const actionArgs = liquityDebtPositionAddCollateralArgs({
@@ -978,8 +984,8 @@ async function liquityDebtPositionBorrow({
978
984
  signer,
979
985
  maxFeePercentage,
980
986
  lusdAmount,
981
- lowerHint,
982
987
  upperHint,
988
+ lowerHint,
983
989
  externalPositionProxy
984
990
  }) {
985
991
  const actionArgs = liquityDebtPositionBorrowArgs({
@@ -1020,8 +1026,8 @@ async function liquityDebtPositionOpenTrove({
1020
1026
  maxFeePercentage,
1021
1027
  collateralAmount,
1022
1028
  lusdAmount,
1023
- lowerHint,
1024
1029
  upperHint,
1030
+ lowerHint,
1025
1031
  externalPositionProxy
1026
1032
  }) {
1027
1033
  const actionArgs = liquityDebtPositionOpenTroveArgs({
@@ -1045,8 +1051,8 @@ async function liquityDebtPositionRemoveCollateral({
1045
1051
  externalPositionManager,
1046
1052
  signer,
1047
1053
  collateralAmount,
1048
- lowerHint,
1049
1054
  upperHint,
1055
+ lowerHint,
1050
1056
  externalPositionProxy
1051
1057
  }) {
1052
1058
  const actionArgs = liquityDebtPositionRemoveCollateralArgs({
@@ -1068,8 +1074,8 @@ async function liquityDebtPositionRepay({
1068
1074
  externalPositionManager,
1069
1075
  signer,
1070
1076
  lusdAmount,
1071
- lowerHint,
1072
1077
  upperHint,
1078
+ lowerHint,
1073
1079
  externalPositionProxy
1074
1080
  }) {
1075
1081
  const actionArgs = liquityDebtPositionRepayBorrowArgs({
@@ -2261,7 +2267,7 @@ async function mockGenericSwap({
2261
2267
  comptrollerProxy,
2262
2268
  vaultProxy,
2263
2269
  integrationManager,
2264
- fundOwner,
2270
+ signer,
2265
2271
  mockGenericAdapter,
2266
2272
  selector = mockGenericSwapASelector,
2267
2273
  spendAssets = [],
@@ -2290,7 +2296,7 @@ async function mockGenericSwap({
2290
2296
  encodedCallArgs: swapArgs,
2291
2297
  selector
2292
2298
  });
2293
- const swapTx = comptrollerProxy.connect(fundOwner).callOnExtension(integrationManager, IntegrationManagerActionId6.CallOnIntegration, callArgs);
2299
+ const swapTx = comptrollerProxy.connect(signer).callOnExtension(integrationManager, IntegrationManagerActionId6.CallOnIntegration, callArgs);
2294
2300
  await expect(swapTx).resolves.toBeReceipt();
2295
2301
  return swapTx;
2296
2302
  }
@@ -2866,7 +2872,25 @@ var IVotiumMultiMerkleStash = contract6()`
2866
2872
  function updateMerkleRoot(address, bytes32)
2867
2873
  `;
2868
2874
 
2869
- // src/scaffolding/peripheral/shares-splitter.ts
2875
+ // src/scaffolding/persistent/manual-value-oracle.ts
2876
+ import { ManualValueOracleLib } from "@enzymefinance/protocol";
2877
+ async function deployManualValueOracle({
2878
+ signer,
2879
+ manualValueOracleFactory,
2880
+ owner,
2881
+ updater,
2882
+ description = ""
2883
+ }) {
2884
+ const receipt = await manualValueOracleFactory.connect(signer).deploy(owner, updater, description);
2885
+ const proxyDeployedArgs = assertEvent(receipt, "ProxyDeployed", {
2886
+ caller: signer,
2887
+ proxy: expect.any(String)
2888
+ });
2889
+ const proxy = new ManualValueOracleLib(proxyDeployedArgs.proxy, provider);
2890
+ return { proxy, receipt };
2891
+ }
2892
+
2893
+ // src/scaffolding/persistent/shares-splitter.ts
2870
2894
  import { SharesSplitterLib } from "@enzymefinance/protocol";
2871
2895
  async function deploySharesSplitter({
2872
2896
  signer,
@@ -3260,6 +3284,7 @@ export {
3260
3284
  curveTakeOrder,
3261
3285
  curveUnstake,
3262
3286
  curveUnstakeAndRedeem,
3287
+ deployManualValueOracle,
3263
3288
  deployProtocolFixture,
3264
3289
  deploySharesSplitter,
3265
3290
  generateFeeManagerConfigWithMockFees,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enzymefinance/testutils",
3
- "version": "4.0.1",
3
+ "version": "4.0.4",
4
4
  "description": "Technology Regulated and Operated Investment Funds",
5
5
  "author": "Enzyme Council DAO <council@enzyme.finance>",
6
6
  "license": "GPL-3.0",
@@ -45,10 +45,10 @@
45
45
  "typecheck": "tsc --noEmit"
46
46
  },
47
47
  "dependencies": {
48
- "@enzymefinance/ethers": "^4.0.1",
49
- "@enzymefinance/hardhat": "^4.0.1",
50
- "@enzymefinance/protocol": "^4.0.1",
51
- "ethers": "^5.6.2",
48
+ "@enzymefinance/ethers": "^4.0.4",
49
+ "@enzymefinance/hardhat": "^4.0.4",
50
+ "@enzymefinance/protocol": "^4.0.4",
51
+ "ethers": "^5.6.8",
52
52
  "merkletreejs": "^0.2.31"
53
53
  },
54
54
  "devDependencies": {