{"file_path":"src/WildcatOracleChainlinkFeed.sol","creation_status":"success","source_code":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.25;\n\ninterface IOracle {\n    function price() external view returns (uint256);\n}\n\ninterface AggregatorV3Interface {\n    function decimals() external view returns (uint8);\n    function description() external view returns (string memory);\n    function version() external view returns (uint256);\n    function getRoundData(uint80) external view returns (uint80, int256, uint256, uint256, uint80);\n    function latestRoundData() external view returns (uint80, int256, uint256, uint256, uint80);\n}\n\n/// @title  WildcatOracleChainlinkFeed\n/// @notice Exposes a Morpho `IOracle` (e.g. WildcatMarketOracle) as an\n///         AggregatorV3Interface so it can be plugged into the standard\n///         MorphoChainlinkOracleV2 as a `baseFeed`.\n///\n///         The wrapped oracle's `price()` is already 1e36-scaled, so this\n///         adapter declares `decimals = 36`.\n///         `MorphoChainlinkOracleV2.price()` will simply return the inner\n///         oracle's price unchanged.\ncontract WildcatOracleChainlinkFeed is AggregatorV3Interface {\n    IOracle public immutable oracle;\n\n    constructor(address _oracle) {\n        require(_oracle != address(0), \"zero oracle\");\n        oracle = IOracle(_oracle);\n    }\n\n    function decimals() external pure override returns (uint8) {\n        return 36;\n    }\n\n    function description() external pure override returns (string memory) {\n        return \"Wildcat Market Oracle Feed\";\n    }\n\n    function version() external pure override returns (uint256) {\n        return 1;\n    }\n\n    function latestRoundData()\n        public\n        view\n        override\n        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)\n    {\n        uint256 p = oracle.price();\n        return (1, int256(p), block.timestamp, block.timestamp, 1);\n    }\n\n    function getRoundData(uint80) external view override returns (uint80, int256, uint256, uint256, uint80) {\n        return latestRoundData();\n    }\n}\n","deployed_bytecode":"0x608060405234801561000f575f80fd5b5060043610610060575f3560e01c8063313ce5671461006457806354fd4d50146100825780637284e416146100a05780637dc0d1d0146100be5780639a6fc8f5146100dc578063feaf968c14610110575b5f80fd5b61006c610132565b604051610079919061028c565b60405180910390f35b61008a61013a565b60405161009791906102bd565b60405180910390f35b6100a8610142565b6040516100b59190610346565b60405180910390f35b6100c661017f565b6040516100d391906103e0565b60405180910390f35b6100f660048036038101906100f1919061043c565b6101a3565b60405161010795949392919061048e565b60405180910390f35b6101186101c3565b60405161012995949392919061048e565b60405180910390f35b5f6024905090565b5f6001905090565b60606040518060400160405280601a81526020017f57696c64636174204d61726b6574204f7261636c652046656564000000000000815250905090565b7f000000000000000000000000d89124a031f75d5cae29fe15376dfcd86b7cf84481565b5f805f805f6101b06101c3565b9450945094509450945091939590929450565b5f805f805f807f000000000000000000000000d89124a031f75d5cae29fe15376dfcd86b7cf84473ffffffffffffffffffffffffffffffffffffffff1663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102569190610509565b90506001814242600195509550955095509550509091929394565b5f60ff82169050919050565b61028681610271565b82525050565b5f60208201905061029f5f83018461027d565b92915050565b5f819050919050565b6102b7816102a5565b82525050565b5f6020820190506102d05f8301846102ae565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610318826102d6565b61032281856102e0565b93506103328185602086016102f0565b61033b816102fe565b840191505092915050565b5f6020820190508181035f83015261035e818461030e565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6103a86103a361039e84610366565b610385565b610366565b9050919050565b5f6103b98261038e565b9050919050565b5f6103ca826103af565b9050919050565b6103da816103c0565b82525050565b5f6020820190506103f35f8301846103d1565b92915050565b5f80fd5b5f69ffffffffffffffffffff82169050919050565b61041b816103fd565b8114610425575f80fd5b50565b5f8135905061043681610412565b92915050565b5f60208284031215610451576104506103f9565b5b5f61045e84828501610428565b91505092915050565b610470816103fd565b82525050565b5f819050919050565b61048881610476565b82525050565b5f60a0820190506104a15f830188610467565b6104ae602083018761047f565b6104bb60408301866102ae565b6104c860608301856102ae565b6104d56080830184610467565b9695505050505050565b6104e8816102a5565b81146104f2575f80fd5b50565b5f81519050610503816104df565b92915050565b5f6020828403121561051e5761051d6103f9565b5b5f61052b848285016104f5565b9150509291505056fea2646970667358221220c9deb53ec853ba3c3710e16cd86c1c38e4d06d529e18c9db7b3482cf5758ee9a64736f6c63430008190033","optimization_enabled":false,"verified_twin_address_hash":null,"is_verified":true,"compiler_settings":{"evmVersion":"cancun","libraries":{},"metadata":{"appendCBOR":true,"bytecodeHash":"ipfs","useLiteralContent":false},"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"":["*"],"*":["*"]}},"remappings":["forge-std/=lib/forge-std/src/","@openzeppelin/contracts/=lib/morpho-blue-oracles/lib/openzeppelin-contracts/contracts/","ds-test/=lib/morpho-blue-oracles/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/morpho-blue-oracles/lib/openzeppelin-contracts/lib/erc4626-tests/","morpho-blue-oracles/=lib/morpho-blue-oracles/src/","morpho-blue/=lib/morpho-blue-oracles/lib/morpho-blue/","openzeppelin-contracts/=lib/morpho-blue-oracles/lib/openzeppelin-contracts/"],"viaIR":false},"optimization_runs":null,"sourcify_repo_url":null,"decoded_constructor_args":[["0xD89124a031f75d5cae29fE15376DFcD86B7cF844",{"internalType":"address","name":"_oracle","type":"address"}]],"compiler_version":"v0.8.25+commit.b61c2a91","is_verified_via_verifier_alliance":false,"verified_at":"2026-04-27T17:33:21.502316Z","implementations":[],"proxy_type":null,"external_libraries":[],"creation_bytecode":"0x60a060405234801561000f575f80fd5b5060405161076338038061076383398181016040528101906100319190610137565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361009f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610096906101bc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506101da565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610106826100dd565b9050919050565b610116816100fc565b8114610120575f80fd5b50565b5f815190506101318161010d565b92915050565b5f6020828403121561014c5761014b6100d9565b5b5f61015984828501610123565b91505092915050565b5f82825260208201905092915050565b7f7a65726f206f7261636c650000000000000000000000000000000000000000005f82015250565b5f6101a6600b83610162565b91506101b182610172565b602082019050919050565b5f6020820190508181035f8301526101d38161019a565b9050919050565b60805161056a6101f95f395f818161018101526101cb015261056a5ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c8063313ce5671461006457806354fd4d50146100825780637284e416146100a05780637dc0d1d0146100be5780639a6fc8f5146100dc578063feaf968c14610110575b5f80fd5b61006c610132565b604051610079919061028c565b60405180910390f35b61008a61013a565b60405161009791906102bd565b60405180910390f35b6100a8610142565b6040516100b59190610346565b60405180910390f35b6100c661017f565b6040516100d391906103e0565b60405180910390f35b6100f660048036038101906100f1919061043c565b6101a3565b60405161010795949392919061048e565b60405180910390f35b6101186101c3565b60405161012995949392919061048e565b60405180910390f35b5f6024905090565b5f6001905090565b60606040518060400160405280601a81526020017f57696c64636174204d61726b6574204f7261636c652046656564000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f805f805f6101b06101c3565b9450945094509450945091939590929450565b5f805f805f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a035b1fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610232573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102569190610509565b90506001814242600195509550955095509550509091929394565b5f60ff82169050919050565b61028681610271565b82525050565b5f60208201905061029f5f83018461027d565b92915050565b5f819050919050565b6102b7816102a5565b82525050565b5f6020820190506102d05f8301846102ae565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610318826102d6565b61032281856102e0565b93506103328185602086016102f0565b61033b816102fe565b840191505092915050565b5f6020820190508181035f83015261035e818461030e565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6103a86103a361039e84610366565b610385565b610366565b9050919050565b5f6103b98261038e565b9050919050565b5f6103ca826103af565b9050919050565b6103da816103c0565b82525050565b5f6020820190506103f35f8301846103d1565b92915050565b5f80fd5b5f69ffffffffffffffffffff82169050919050565b61041b816103fd565b8114610425575f80fd5b50565b5f8135905061043681610412565b92915050565b5f60208284031215610451576104506103f9565b5b5f61045e84828501610428565b91505092915050565b610470816103fd565b82525050565b5f819050919050565b61048881610476565b82525050565b5f60a0820190506104a15f830188610467565b6104ae602083018761047f565b6104bb60408301866102ae565b6104c860608301856102ae565b6104d56080830184610467565b9695505050505050565b6104e8816102a5565b81146104f2575f80fd5b50565b5f81519050610503816104df565b92915050565b5f6020828403121561051e5761051d6103f9565b5b5f61052b848285016104f5565b9150509291505056fea2646970667358221220c9deb53ec853ba3c3710e16cd86c1c38e4d06d529e18c9db7b3482cf5758ee9a64736f6c63430008190033000000000000000000000000d89124a031f75d5cae29fe15376dfcd86b7cf844","name":"WildcatOracleChainlinkFeed","is_blueprint":false,"license_type":"none","is_fully_verified":true,"is_verified_via_eth_bytecode_db":false,"language":"solidity","evm_version":"cancun","can_be_visualized_via_sol2uml":true,"is_verified_via_sourcify":false,"additional_sources":[],"certified":false,"conflicting_implementations":null,"abi":[{"inputs":[{"internalType":"address","name":"_oracle","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","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"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oracle","outputs":[{"internalType":"contract IOracle","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}],"is_changed_bytecode":false,"is_partially_verified":false,"constructor_args":"0x000000000000000000000000d89124a031f75d5cae29fe15376dfcd86b7cf844"}