From 4b96d0e2b92542939d20dfbae15df2decea1ae8f Mon Sep 17 00:00:00 2001 From: MazyGio Date: Wed, 30 Oct 2024 13:38:29 -0500 Subject: [PATCH 1/8] add tests. all tests passing --- .../MorphoBlue_WBTC_USDC_Hyperdrive.t.sol | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol diff --git a/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol b/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol new file mode 100644 index 000000000..1853f37cb --- /dev/null +++ b/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol @@ -0,0 +1,132 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity 0.8.22; + +import { stdStorage, StdStorage } from "forge-std/Test.sol"; +import { IMorpho } from "morpho-blue/src/interfaces/IMorpho.sol"; +import { IERC20 } from "../../../contracts/src/interfaces/IERC20.sol"; +import { IFiatTokenProxy } from "../../../contracts/src/interfaces/IFiatTokenProxy.sol"; +import { IHyperdrive } from "../../../contracts/src/interfaces/IHyperdrive.sol"; +import { IMorphoBlueHyperdrive } from "../../../contracts/src/interfaces/IMorphoBlueHyperdrive.sol"; +import { Lib } from "../../utils/Lib.sol"; +import { MorphoBlueHyperdriveInstanceTest } from "./MorphoBlueHyperdriveInstanceTest.t.sol"; + +contract MorphoBlue_WBTC_USDC_Hyperdrive is + MorphoBlueHyperdriveInstanceTest +{ + using Lib for *; + using stdStorage for StdStorage; + + /// @dev The address of the loan token. This is just the USDC token. + address internal constant LOAN_TOKEN = + address(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); + + /// @dev Whale accounts. + address internal LOAN_TOKEN_WHALE = + address(0x4B16c5dE96EB2117bBE5fd171E4d203624B014aa); + address[] internal baseTokenWhaleAccounts = [LOAN_TOKEN_WHALE]; + + /// @notice Instantiates the instance testing suite with the configuration. + constructor() + MorphoBlueHyperdriveInstanceTest( + InstanceTestConfig({ + name: "Hyperdrive", + kind: "MorphoBlueHyperdrive", + decimals: 6, + baseTokenWhaleAccounts: baseTokenWhaleAccounts, + vaultSharesTokenWhaleAccounts: new address[](0), + baseToken: IERC20(LOAN_TOKEN), + vaultSharesToken: IERC20(address(0)), + // NOTE: The share tolerance is quite high for this integration + // because the vault share price is ~1e12, which means that just + // multiplying or dividing by the vault is an imprecise way of + // converting between base and vault shares. We included more + // assertions than normal to the round trip tests to verify that + // the calculations satisfy our expectations of accuracy. + shareTolerance: 1e3, + minimumShareReserves: 1e6, + minimumTransactionAmount: 1e6, + positionDuration: POSITION_DURATION, + fees: IHyperdrive.Fees({ + curve: 0.001e18, + flat: 0.0001e18, + governanceLP: 0, + governanceZombie: 0 + }), + enableBaseDeposits: true, + enableShareDeposits: false, + enableBaseWithdraws: true, + enableShareWithdraws: false, + baseWithdrawError: abi.encodeWithSelector( + IHyperdrive.UnsupportedToken.selector + ), + isRebasing: false, + shouldAccrueInterest: true, + // The base test tolerances. + closeLongWithBaseTolerance: 2, + roundTripLpInstantaneousWithBaseTolerance: 1e3, + roundTripLpWithdrawalSharesWithBaseTolerance: 1e5, + roundTripLongInstantaneousWithBaseUpperBoundTolerance: 100, + // NOTE: Since the curve fee isn't zero, this check is ignored. + roundTripLongInstantaneousWithBaseTolerance: 0, + roundTripLongMaturityWithBaseUpperBoundTolerance: 100, + roundTripLongMaturityWithBaseTolerance: 1e3, + roundTripShortInstantaneousWithBaseUpperBoundTolerance: 100, + // NOTE: Since the curve fee isn't zero, this check is ignored. + roundTripShortInstantaneousWithBaseTolerance: 0, + roundTripShortMaturityWithBaseTolerance: 1e3, + // NOTE: Share deposits and withdrawals are disabled, so these are + // 0. + // + // The share test tolerances. + closeLongWithSharesTolerance: 0, + closeShortWithSharesTolerance: 0, + roundTripLpInstantaneousWithSharesTolerance: 0, + roundTripLpWithdrawalSharesWithSharesTolerance: 0, + roundTripLongInstantaneousWithSharesUpperBoundTolerance: 0, + roundTripLongInstantaneousWithSharesTolerance: 0, + roundTripLongMaturityWithSharesUpperBoundTolerance: 0, + roundTripLongMaturityWithSharesTolerance: 0, + roundTripShortInstantaneousWithSharesUpperBoundTolerance: 0, + roundTripShortInstantaneousWithSharesTolerance: 0, + roundTripShortMaturityWithSharesTolerance: 0, + // The verification tolerances. + verifyDepositTolerance: 2, + verifyWithdrawalTolerance: 3 + }), + IMorphoBlueHyperdrive.MorphoBlueParams({ + // The mainnet Morpho Blue pool + morpho: IMorpho(0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb), + // The address of the collateral token. This is just the wstETH + // token. + collateralToken: address( + 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 + ), + // The address of the oracle. + oracle: address(0xDddd770BADd886dF3864029e4B377B5F6a2B6b83), + // The address of the interest rate model. + irm: address(0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC), + // The liquidation loan to value ratio. + lltv: 860000000000000000 + }) + ) + {} + + /// @notice Forge function that is invoked to setup the testing environment. + function setUp() public override __mainnet_fork(21_079_579) { + // Invoke the instance testing suite setup. + super.setUp(); + } + + /// Helpers /// + + /// @dev Mints base tokens to a specified account. + /// @param _recipient The recipient of the minted tokens. + /// @param _amount The amount of tokens to mint. + function mintBaseTokens( + address _recipient, + uint256 _amount + ) internal override { + bytes32 balanceLocation = keccak256(abi.encode(address(_recipient), 9)); + vm.store(LOAN_TOKEN, balanceLocation, bytes32(_amount)); + } +} From 6caea87e1f4da6d7879fed1ba92db213135337ac Mon Sep 17 00:00:00 2001 From: MazyGio Date: Wed, 30 Oct 2024 16:10:37 -0500 Subject: [PATCH 2/8] linting fix --- .../morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol b/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol index 1853f37cb..a7e6c88cc 100644 --- a/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol +++ b/test/instances/morpho-blue/MorphoBlue_WBTC_USDC_Hyperdrive.t.sol @@ -10,9 +10,7 @@ import { IMorphoBlueHyperdrive } from "../../../contracts/src/interfaces/IMorpho import { Lib } from "../../utils/Lib.sol"; import { MorphoBlueHyperdriveInstanceTest } from "./MorphoBlueHyperdriveInstanceTest.t.sol"; -contract MorphoBlue_WBTC_USDC_Hyperdrive is - MorphoBlueHyperdriveInstanceTest -{ +contract MorphoBlue_WBTC_USDC_Hyperdrive is MorphoBlueHyperdriveInstanceTest { using Lib for *; using stdStorage for StdStorage; From 8ce5565f84995d40c4f0f0161ef192561d2fa817 Mon Sep 17 00:00:00 2001 From: MazyGio Date: Thu, 31 Oct 2024 12:01:40 -0500 Subject: [PATCH 3/8] tweak deployment config --- hardhat.config.mainnet.ts | 2 + hardhat.config.mainnet_fork.ts | 6 +- tasks/deploy/config/mainnet/index.ts | 1 + .../mainnet/morpho-blue-wbtc-usdc-182day.ts | 138 ++++++++++++++++++ tasks/deploy/lib/constants.ts | 3 + 5 files changed, 148 insertions(+), 2 deletions(-) create mode 100644 tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts diff --git a/hardhat.config.mainnet.ts b/hardhat.config.mainnet.ts index 9ba23a1dc..1a4cc0a15 100644 --- a/hardhat.config.mainnet.ts +++ b/hardhat.config.mainnet.ts @@ -15,6 +15,7 @@ import { MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, + MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, MAINNET_RETH_182DAY, MAINNET_RETH_COORDINATOR, MAINNET_STUSD_182DAY, @@ -44,6 +45,7 @@ const config: HardhatUserConfig = { MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, + MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, MAINNET_STUSD_182DAY, MAINNET_SUSDE_182DAY, ], diff --git a/hardhat.config.mainnet_fork.ts b/hardhat.config.mainnet_fork.ts index 2d187b85f..d18124d6d 100644 --- a/hardhat.config.mainnet_fork.ts +++ b/hardhat.config.mainnet_fork.ts @@ -15,7 +15,8 @@ import { MAINNET_MORPHO_BLUE_COORDINATOR, MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, - MAINNET_MORPHO_BLUE_WSTETH_USDC_182DAY, + MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, + MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, MAINNET_RETH_182DAY, MAINNET_RETH_COORDINATOR, } from "./tasks/deploy/config/mainnet"; @@ -44,7 +45,8 @@ const config: HardhatUserConfig = { MAINNET_RETH_182DAY, MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, - MAINNET_MORPHO_BLUE_WSTETH_USDC_182DAY, + MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, + MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, MAINNET_EETH_182DAY, ], checkpointRewarders: [], diff --git a/tasks/deploy/config/mainnet/index.ts b/tasks/deploy/config/mainnet/index.ts index 21d21355a..3f06204f4 100644 --- a/tasks/deploy/config/mainnet/index.ts +++ b/tasks/deploy/config/mainnet/index.ts @@ -13,6 +13,7 @@ export * from "./morpho-blue-susde-dai-182day"; export * from "./morpho-blue-usde-dai-182day"; export * from "./morpho-blue-wsteth-usda-182day"; export * from "./morpho-blue-wsteth-usdc-182day"; +export * from "./morpho-blue-wbtc-usdc-182day"; export * from "./reth-182day"; export * from "./reth-coordinator"; export * from "./staking-usds-coordinator"; diff --git a/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts b/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts new file mode 100644 index 000000000..496e9f749 --- /dev/null +++ b/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts @@ -0,0 +1,138 @@ +import { + Address, + encodeAbiParameters, + keccak256, + parseEther, + toBytes, + zeroAddress, +} from "viem"; +import { + HyperdriveInstanceConfig, + SIX_MONTHS, + USDC_ADDRESS_MAINNET, + WBTC_ADDRESS_MAINNET, + getLinkerDetails, + normalizeFee, + parseDuration, + toBytes32, +} from "../../lib"; +import { MAINNET_FACTORY_NAME } from "./factory"; +import { MAINNET_MORPHO_BLUE_COORDINATOR_NAME } from "./morpho-blue-coordinator"; + +export const MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY_NAME = + "ElementDAO 182 Day Morpho Blue WBTC/USDC Hyperdrive"; + +// USDC only has 6 decimals. +const CONTRIBUTION = 100_000_000n; + +const morphoBlueParameters = encodeAbiParameters( + [ + { + components: [ + { + name: "morpho", + type: "address", + }, + { + name: "collateralToken", + type: "address", + }, + { + name: "oracle", + type: "address", + }, + { + name: "irm", + type: "address", + }, + { + name: "lltv", + type: "uint256", + }, + ], + name: "MorphoBlueParams", + type: "tuple", + }, + ], + [ + { + morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb" as `0x${string}`, + collateralToken: WBTC_ADDRESS_MAINNET, + oracle: "0xDddd770BADd886dF3864029e4B377B5F6a2B6b83" as `0x${string}`, + irm: "0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC" as `0x${string}`, + lltv: BigInt("860000000000000000"), + }, + ], +); + +export const MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY: HyperdriveInstanceConfig<"MorphoBlue"> = + { + name: MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY_NAME, + prefix: "MorphoBlue", + coordinatorAddress: async (hre) => + hre.hyperdriveDeploy.deployments.byName( + MAINNET_MORPHO_BLUE_COORDINATOR_NAME, + ).address, + deploymentId: keccak256( + toBytes(MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY_NAME), + ), + salt: toBytes32("0x42080085"), + extraData: morphoBlueParameters, + contribution: CONTRIBUTION, + fixedAPR: parseEther("0.04"), + timestretchAPR: parseEther("0.075"), + options: async (hre) => ({ + extraData: "0x", + asBase: true, + destination: (await hre.getNamedAccounts())["deployer"] as Address, + }), + // Prepare to deploy the contract by setting approvals. + prepare: async (hre, options) => { + let pc = await hre.viem.getPublicClient(); + let baseToken = await hre.viem.getContractAt( + "contracts/src/interfaces/IERC20.sol:IERC20", + USDC_ADDRESS_MAINNET, + ); + let tx = await baseToken.write.approve([ + hre.hyperdriveDeploy.deployments.byName( + MAINNET_MORPHO_BLUE_COORDINATOR_NAME, + ).address, + CONTRIBUTION, + ]); + await pc.waitForTransactionReceipt({ hash: tx }); + }, + poolDeployConfig: async (hre) => { + let factoryContract = await hre.viem.getContractAt( + "HyperdriveFactory", + hre.hyperdriveDeploy.deployments.byName(MAINNET_FACTORY_NAME) + .address, + ); + return { + baseToken: USDC_ADDRESS_MAINNET, + vaultSharesToken: zeroAddress, + circuitBreakerDelta: parseEther("0.075"), + minimumShareReserves: 1_000_000n, + minimumTransactionAmount: 1_000_000n, + positionDuration: parseDuration(SIX_MONTHS), + checkpointDuration: parseDuration("1 day"), + timeStretch: 0n, + governance: await factoryContract.read.hyperdriveGovernance(), + feeCollector: await factoryContract.read.feeCollector(), + sweepCollector: await factoryContract.read.sweepCollector(), + checkpointRewarder: + await factoryContract.read.checkpointRewarder(), + ...(await getLinkerDetails( + hre, + hre.hyperdriveDeploy.deployments.byName( + MAINNET_FACTORY_NAME, + ).address, + )), + fees: { + curve: parseEther("0.01"), + flat: normalizeFee(parseEther("0.0005"), SIX_MONTHS), + governanceLP: parseEther("0.15"), + governanceZombie: parseEther("0.03"), + }, + }; + }, + }; diff --git a/tasks/deploy/lib/constants.ts b/tasks/deploy/lib/constants.ts index 7fdc34190..94796ee7d 100644 --- a/tasks/deploy/lib/constants.ts +++ b/tasks/deploy/lib/constants.ts @@ -101,6 +101,9 @@ export const USDS_ADDRESS_MAINNET = export const WSTETH_ADDRESS_MAINNET = "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0" as Address; +export const WBTC_ADDRESS_MAINNET = + "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599" as Address; + // ╭─────────────────────────────────────────────────────────╮ // │ Mainnet Whales │ // ╰─────────────────────────────────────────────────────────╯ From 35d9243e6ca93b10041912513f8194ecf8a8def6 Mon Sep 17 00:00:00 2001 From: MazyGio Date: Thu, 31 Oct 2024 14:51:17 -0500 Subject: [PATCH 4/8] linting fix --- tasks/deploy/config/mainnet/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/deploy/config/mainnet/index.ts b/tasks/deploy/config/mainnet/index.ts index 3f06204f4..ef47d41a1 100644 --- a/tasks/deploy/config/mainnet/index.ts +++ b/tasks/deploy/config/mainnet/index.ts @@ -11,9 +11,9 @@ export * from "./factory"; export * from "./morpho-blue-coordinator"; export * from "./morpho-blue-susde-dai-182day"; export * from "./morpho-blue-usde-dai-182day"; +export * from "./morpho-blue-wbtc-usdc-182day"; export * from "./morpho-blue-wsteth-usda-182day"; export * from "./morpho-blue-wsteth-usdc-182day"; -export * from "./morpho-blue-wbtc-usdc-182day"; export * from "./reth-182day"; export * from "./reth-coordinator"; export * from "./staking-usds-coordinator"; From 32bd8d06b4eea5332cdf84b4511e544374fc0c81 Mon Sep 17 00:00:00 2001 From: MazyGio Date: Thu, 31 Oct 2024 14:53:53 -0500 Subject: [PATCH 5/8] linting fix --- hardhat.config.mainnet.ts | 2 +- hardhat.config.mainnet_fork.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hardhat.config.mainnet.ts b/hardhat.config.mainnet.ts index 1a4cc0a15..2eff52b84 100644 --- a/hardhat.config.mainnet.ts +++ b/hardhat.config.mainnet.ts @@ -14,8 +14,8 @@ import { MAINNET_MORPHO_BLUE_COORDINATOR, MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, - MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, + MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, MAINNET_RETH_182DAY, MAINNET_RETH_COORDINATOR, MAINNET_STUSD_182DAY, diff --git a/hardhat.config.mainnet_fork.ts b/hardhat.config.mainnet_fork.ts index d18124d6d..d88219858 100644 --- a/hardhat.config.mainnet_fork.ts +++ b/hardhat.config.mainnet_fork.ts @@ -15,8 +15,8 @@ import { MAINNET_MORPHO_BLUE_COORDINATOR, MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, - MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, + MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, MAINNET_RETH_182DAY, MAINNET_RETH_COORDINATOR, } from "./tasks/deploy/config/mainnet"; From 300d2b9e55032bebf7bf921d84df3a9ed073564f Mon Sep 17 00:00:00 2001 From: MazyGio Date: Fri, 1 Nov 2024 11:25:44 -0500 Subject: [PATCH 6/8] undo change on hardhat mainnet fork config --- hardhat.config.mainnet_fork.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hardhat.config.mainnet_fork.ts b/hardhat.config.mainnet_fork.ts index d88219858..f8a255fdb 100644 --- a/hardhat.config.mainnet_fork.ts +++ b/hardhat.config.mainnet_fork.ts @@ -16,7 +16,7 @@ import { MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, - MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, + MAINNET_MORPHO_BLUE_WSTETH_USDC_182DAY, MAINNET_RETH_182DAY, MAINNET_RETH_COORDINATOR, } from "./tasks/deploy/config/mainnet"; @@ -45,7 +45,7 @@ const config: HardhatUserConfig = { MAINNET_RETH_182DAY, MAINNET_MORPHO_BLUE_SUSDE_DAI_182DAY, MAINNET_MORPHO_BLUE_USDE_DAI_182DAY, - MAINNET_MORPHO_BLUE_WSTETH_USDA_182DAY, + MAINNET_MORPHO_BLUE_WSTETH_USDC_182DAY, MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY, MAINNET_EETH_182DAY, ], From 45ee59f790c6e391d77a9828fe7b4f0ddb8a1cc7 Mon Sep 17 00:00:00 2001 From: MazyGio Date: Fri, 15 Nov 2024 11:45:54 -0500 Subject: [PATCH 7/8] finalize deployment params and add link to morpho market --- tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts b/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts index 496e9f749..b18408f30 100644 --- a/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts +++ b/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts @@ -79,7 +79,9 @@ export const MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY: HyperdriveInstanceConfig<"Mor salt: toBytes32("0x42080085"), extraData: morphoBlueParameters, contribution: CONTRIBUTION, - fixedAPR: parseEther("0.04"), + // NOTE: The latest variable rate on the Morpho Blue market is 2.93% APY: + // https://app.morpho.org/market?id=0x3a85e619751152991742810df6ec69ce473daef99e28a64ab2340d7b7ccfee49&network=mainnet&morphoPrice=0.75 + fixedAPR: parseEther("0.0575"), timestretchAPR: parseEther("0.075"), options: async (hre) => ({ extraData: "0x", From 9b822fd8b9122933496eac1be7eddcd9b677277c Mon Sep 17 00:00:00 2001 From: MazyGio Date: Fri, 15 Nov 2024 11:57:12 -0500 Subject: [PATCH 8/8] fix comment about underlying market --- tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts b/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts index b18408f30..87409758c 100644 --- a/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts +++ b/tasks/deploy/config/mainnet/morpho-blue-wbtc-usdc-182day.ts @@ -79,7 +79,7 @@ export const MAINNET_MORPHO_BLUE_WBTC_USDC_182DAY: HyperdriveInstanceConfig<"Mor salt: toBytes32("0x42080085"), extraData: morphoBlueParameters, contribution: CONTRIBUTION, - // NOTE: The latest variable rate on the Morpho Blue market is 2.93% APY: + // NOTE: Link to the underlying market on Morpho: // https://app.morpho.org/market?id=0x3a85e619751152991742810df6ec69ce473daef99e28a64ab2340d7b7ccfee49&network=mainnet&morphoPrice=0.75 fixedAPR: parseEther("0.0575"), timestretchAPR: parseEther("0.075"),