{"file_path":"src/exchange-rate-adapters/WeEthToEthExchangeRateAdapter.sol","creation_status":"success","source_code":"// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity ^0.8.20;\n\nimport { IWeEth } from \"src/interfaces/etherfi/IWeEth.sol\";\nimport { IMinimalAggregatorV3Interface } from \"src/interfaces/IMinimalAggregatorV3Interface.sol\";\n\n/// @title WeEthToEthExchangeRateAdapter\n/// @author Origami Finance\n/// @custom:contact team@origami.finance\n/// @notice weETH/ETH exchange rate price feed.\n/// @dev This contract should only be deployed on Ethereum.\ncontract WeEthToEthExchangeRateAdapter is IMinimalAggregatorV3Interface {\n    /// @inheritdoc IMinimalAggregatorV3Interface\n    // @dev The calculated price has 18 decimals precision, whatever the value of `decimals`.\n    uint8 public constant override decimals = 18;\n\n    /// @notice The description of the price feed.\n    string public constant description = \"weETH/ETH exchange rate\";\n\n    /// @notice The address of the weETH token on Ethereum.\n    IWeEth public constant WEETH = IWeEth(0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee);\n\n    /// @inheritdoc IMinimalAggregatorV3Interface\n    /// @dev Returns zero for roundId, startedAt, updatedAt and answeredInRound.\n    /// @dev Silently overflows if `getRate()`'s return value is greater than `type(int256).max`.\n    function latestRoundData() external view override returns (uint80, int256, uint256, uint256, uint80) {\n        return (0, int256(WEETH.getRate()), 0, 0, 0);\n    }\n}\n","deployed_bytecode":"0x608060405234801561000f575f80fd5b506004361061004a575f3560e01c806305e2d5411461004e578063313ce567146100935780637284e416146100ad578063feaf968c146100f6575b5f80fd5b61006973cd5fe23c85820f7b72d0926fc9b05b43e359b7ee81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009b601281565b60405160ff909116815260200161008a565b6100e96040518060400160405280601781526020017f77654554482f4554482065786368616e6765207261746500000000000000000081525081565b60405161008a91906101ce565b6100fe610135565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161008a565b5f805f805f8073cd5fe23c85820f7b72d0926fc9b05b43e359b7ee73ffffffffffffffffffffffffffffffffffffffff1663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610198573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bc9190610221565b90969095505f94508493508392509050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f60208284031215610231575f80fd5b505191905056fea164736f6c6343000819000a","optimization_enabled":true,"verified_twin_address_hash":null,"is_verified":true,"compiler_settings":{"evmVersion":"cancun","libraries":{},"metadata":{"bytecodeHash":"none"},"optimizer":{"enabled":true,"runs":999999},"remappings":[":forge-std/=lib/forge-std/src/",":src/=src/",":test/=test/"]},"optimization_runs":999999,"sourcify_repo_url":"https://repo.sourcify.dev/contracts/partial_match/1/0x4270E1817576bbA4b640466bE79A408Ef128F828/","decoded_constructor_args":null,"compiler_version":"0.8.25+commit.b61c2a91","is_verified_via_verifier_alliance":false,"verified_at":"2025-05-15T10:52:55.983034Z","implementations":[],"proxy_type":null,"external_libraries":[],"creation_bytecode":"0x6080604052348015600e575f80fd5b506102458061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806305e2d5411461004e578063313ce567146100935780637284e416146100ad578063feaf968c146100f6575b5f80fd5b61006973cd5fe23c85820f7b72d0926fc9b05b43e359b7ee81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61009b601281565b60405160ff909116815260200161008a565b6100e96040518060400160405280601781526020017f77654554482f4554482065786368616e6765207261746500000000000000000081525081565b60405161008a91906101ce565b6100fe610135565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161008a565b5f805f805f8073cd5fe23c85820f7b72d0926fc9b05b43e359b7ee73ffffffffffffffffffffffffffffffffffffffff1663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610198573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101bc9190610221565b90969095505f94508493508392509050565b602081525f82518060208401528060208501604085015e5f6040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b5f60208284031215610231575f80fd5b505191905056fea164736f6c6343000819000a","name":"WeEthToEthExchangeRateAdapter","is_blueprint":false,"license_type":"none","is_fully_verified":false,"is_verified_via_eth_bytecode_db":true,"language":"solidity","evm_version":"cancun","can_be_visualized_via_sol2uml":true,"is_verified_via_sourcify":true,"additional_sources":[{"file_path":"src/interfaces/IMinimalAggregatorV3Interface.sol","source_code":"// SPDX-License-Identifier: MIT\npragma solidity >=0.5.0;\n\n/// @dev Inspired by\n/// https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol\n/// @dev This is the minimal feed interface required by `MorphoChainlinkOracleV2`.\ninterface IMinimalAggregatorV3Interface {\n    /// @notice Returns the precision of the feed.\n    function decimals() external view returns (uint8);\n\n    /// @notice Returns Chainlink's `latestRoundData` return values.\n    /// @notice Only the `answer` field is used by `MorphoChainlinkOracleV2`.\n    function latestRoundData()\n        external\n        view\n        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound);\n}\n"},{"file_path":"src/interfaces/etherfi/IWeEth.sol","source_code":"// SPDX-License-Identifier: GPL-2.0-or-later\npragma solidity >=0.5.0;\n\ninterface IWeEth {\n    // Amount of weETH for 1 eETH\n    function getRate() external view returns (uint256);\n}\n"}],"certified":false,"conflicting_implementations":null,"abi":[{"inputs":[],"name":"WEETH","outputs":[{"internalType":"contract IWeEth","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"stateMutability":"view","type":"function"}],"is_changed_bytecode":false,"is_partially_verified":true,"constructor_args":null}