diff --git a/contracts/src/instances/morpho-blue/MorphoBlueBase.sol b/contracts/src/instances/morpho-blue/MorphoBlueBase.sol index 800e0a313..ed3d88ffe 100644 --- a/contracts/src/instances/morpho-blue/MorphoBlueBase.sol +++ b/contracts/src/instances/morpho-blue/MorphoBlueBase.sol @@ -65,14 +65,12 @@ abstract contract MorphoBlueBase is HyperdriveBase { /// @dev Accepts a deposit from the user in base. /// @param _baseAmount The base amount to deposit. - /// @param _extraData Additional data to pass to the Morpho vault. This - /// should be zero if it is unused. /// @return sharesMinted The shares that were minted in the deposit. /// @return value The amount of ETH to refund. Since this yield source isn't /// payable, this is always zero. function _depositWithBase( uint256 _baseAmount, - bytes calldata _extraData + bytes calldata // unused _extraData ) internal override returns (uint256 sharesMinted, uint256 value) { // Take custody of the deposit in base. ERC20(address(_baseToken)).safeTransferFrom( @@ -101,7 +99,7 @@ abstract contract MorphoBlueBase is HyperdriveBase { _baseAmount, 0, address(this), - _extraData + new bytes(0) ); // NOTE: Since this yield source isn't payable, the value must be zero. diff --git a/contracts/src/interfaces/IHyperdrive.sol b/contracts/src/interfaces/IHyperdrive.sol index b39e94b2c..0e26e8d58 100644 --- a/contracts/src/interfaces/IHyperdrive.sol +++ b/contracts/src/interfaces/IHyperdrive.sol @@ -194,7 +194,9 @@ interface IHyperdrive is /// settled in base if true and in the yield source shares if false. bool asBase; /// @dev Additional data that can be used to implement custom logic in - /// implementation contracts. + /// implementation contracts. By convention, the last 32 bytes of + /// extra data are ignored by instances and "passed through" to the + /// event. This can be used to pass metadata through transactions. bytes extraData; } diff --git a/contracts/src/libraries/Constants.sol b/contracts/src/libraries/Constants.sol index 19214c6a0..9812750c3 100644 --- a/contracts/src/libraries/Constants.sol +++ b/contracts/src/libraries/Constants.sol @@ -5,7 +5,7 @@ pragma solidity ^0.8.20; address constant ETH = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; /// @dev The version of the contracts. -string constant VERSION = "v1.0.16"; +string constant VERSION = "v1.0.17"; /// @dev The number of targets that must be deployed for a full deployment. uint256 constant NUM_TARGETS = 5;