creation_sourcecode: {{
    "language": "Solidity",
    "sources": {
      "src/contracts/SDOracle.sol": {
        "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport {IChainlinkAggregator} from 'cl-synchronicity-price-adapter/interfaces/IChainlinkAggregator.sol';\nimport {ISDPriceAggregator} from '../interfaces/ISDPriceAggregator.sol';\n\ncontract SDOracle {\n\n\taddress immutable SD_ETH_ORACLE;\n\taddress immutable ETH_USD_ORACLE;\n\tuint8 immutable DECIMALS;\n\tstring public description;\n\n\tconstructor(address _SDEthOracle, address _EthUsdOracle, string memory _description)\n\t{\n\t\tSD_ETH_ORACLE = _SDEthOracle;\n\t\tETH_USD_ORACLE = _EthUsdOracle;\n\t\tDECIMALS = 18 + IChainlinkAggregator(ETH_USD_ORACLE).decimals();\n\t\tdescription = _description;\n\t}\n\n\tfunction decimals() external view returns (uint8)\n\t{\n\t\treturn DECIMALS;\n\t}\n\n  function latestAnswer() external view returns (int256)\n  {\n\t  return int256(ISDPriceAggregator(SD_ETH_ORACLE).getSDPriceInETH()) * IChainlinkAggregator(ETH_USD_ORACLE).latestAnswer();\n  }\n\n  function latestTimestamp() external view returns (uint256)\n  {\n\t  return IChainlinkAggregator(ETH_USD_ORACLE).latestTimestamp();\n  }\n\n  function latestRound() external view returns (uint256)\n  {\n\t  revert('not implemented');\n\t  return 0;\n  }\n\n  function getAnswer(uint256 roundId) external view returns (int256)\n  {\n\t  revert('not implemented');\n\t  return 0;\n  }\n\n  function getTimestamp(uint256 roundId) external view returns (uint256)\n  {\n\t  revert('not implemented');\n\t  return 0;\n  }\n}\n"
      },
      "lib/cl-synchronicity-price-adapter/src/interfaces/IChainlinkAggregator.sol": {
        "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ninterface IChainlinkAggregator {\n  function decimals() external view returns (uint8);\n\n  function latestAnswer() external view returns (int256);\n\n  function latestTimestamp() external view returns (uint256);\n\n  function latestRound() external view returns (uint256);\n\n  function getAnswer(uint256 roundId) external view returns (int256);\n\n  function getTimestamp(uint256 roundId) external view returns (uint256);\n\n  event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 timestamp);\n  event NewRound(uint256 indexed roundId, address indexed startedBy);\n}\n"
      },
      "src/interfaces/ISDPriceAggregator.sol": {
        "content": "// SPDX-License-Identifier: GPLv3\npragma solidity ^0.8.19;\n\ninterface ISDPriceAggregator {\n\tfunction getSDPriceInETH() external view returns (uint256);\n}\n"
      }
    },
    "settings": {
      "remappings": [
        "forge-std/=lib/forge-std/src/",
        "aave-address-book/=lib/aave-address-book/src/",
        "cl-synchronicity-price-adapter/=lib/cl-synchronicity-price-adapter/src/",
        "aave-helpers/=lib/aave-helpers/src/",
        "solidity-utils/=lib/aave-helpers/lib/solidity-utils/src/",
        "@aave/core-v3/=lib/aave-address-book/lib/aave-v3-core/",
        "@aave/periphery-v3/=lib/aave-address-book/lib/aave-v3-periphery/",
        "aave-v3-core/=lib/aave-address-book/lib/aave-v3-core/",
        "aave-v3-periphery/=lib/aave-address-book/lib/aave-v3-periphery/",
        "ds-test/=lib/forge-std/lib/ds-test/src/",
        "governance-crosschain-bridges/=lib/aave-helpers/lib/governance-crosschain-bridges/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "metadata": {
        "useLiteralContent": false,
        "bytecodeHash": "ipfs",
        "appendCBOR": true
      },
      "outputSelection": {
        "*": {
          "*": [
            "evm.bytecode",
            "evm.deployedBytecode",
            "devdoc",
            "userdoc",
            "metadata",
            "abi"
          ]
        }
      },
      "evmVersion": "shanghai",
      "viaIR": false,
      "libraries": {}
    }
  }}