ETH Price: $2,068.17 (-0.13%)

Contract

0x36d70e02e96897CE2002313CB7ea55FffDf074FC
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NakedUSD0ppAdapter

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
shanghai EvmVersion
File 1 of 2 : NakedUSD0pp.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;

import {MinimalAggregatorV3Interface} from "interfaces/MinimalAggregatorV3Interface.sol";

interface IUsd0PP {
    function getFloorPrice() external view returns (uint256);
}

contract NakedUSD0ppAdapter is MinimalAggregatorV3Interface{
    // USD0PP contract address
    IUsd0PP private constant USD0PP =
        IUsd0PP(0x35D8949372D46B7a3D5A56006AE77B215fc69bC0);

    constructor() {}

    /// @notice decimals of the price feed
    function decimals() external pure returns (uint8) {
        return 6;
    }

    /// @notice The description of the price feed.
    string public constant description = "Naked USD0++ price feed adapter";

    /// @inheritdoc MinimalAggregatorV3Interface
    /// @dev Returns zero for roundId, startedAt, updatedAt and answeredInRound.
    /// @dev Silently overflows if `getFloorPrice()/1e12` is greater than `type(int256).max`.
    function latestRoundData()
        external
        view
        returns (
            uint80 roundId,
            int256 answer,
            uint256 startedAt,
            uint256 updatedAt,
            uint80 answeredInRound
        )
    {
        return (0, int256(USD0PP.getFloorPrice() / 1e12), 0, 0, 0);
    }
}

File 2 of 2 : MinimalAggregatorV3Interface.sol
// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0;

/// @dev Inspired by
/// https://github.com/smartcontractkit/chainlink/blob/master/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol
/// @dev This is the minimal feed interface required by `MorphoChainlinkOracleV2`.
interface MinimalAggregatorV3Interface {
    /// @notice Returns the precision of the feed.
    function decimals() external view returns (uint8);

    /// @notice Returns Chainlink's `latestRoundData` return values.
    /// @notice Only the `answer` field is used by `MorphoChainlinkOracleV2`.
    function latestRoundData()
        external
        view
        returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound);
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "ds-test/=lib/solmate/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
    "safe-smart-account/=lib/safe-smart-account/",
    "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/",
    "solmate/=lib/solmate/src/",
    "surl/=lib/surl/"
  ],
  "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": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"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":"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"}]

608060405234801561000f575f80fd5b506102328061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063313ce567146100435780637284e41614610057578063feaf968c146100a0575b5f80fd5b604051600681526020015b60405180910390f35b6100936040518060400160405280601f81526020017f4e616b656420555344302b2b207072696365206665656420616461707465720081525081565b60405161004e919061017b565b6100a86100df565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161004e565b5f805f805f8064e8d4a510007335d8949372d46b7a3d5a56006ae77b215fc69bc06001600160a01b0316632a33d6b26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561013b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015f91906101c6565b61016991906101dd565b90969095505f94508493508392509050565b5f6020808352835180828501525f5b818110156101a65785810183015185820160400152820161018a565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156101d6575f80fd5b5051919050565b5f826101f757634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212201a206d43a569ffbde0b2b18c591bf00c65b965c7382c14ae69b242a35aa3906764736f6c63430008150033

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063313ce567146100435780637284e41614610057578063feaf968c146100a0575b5f80fd5b604051600681526020015b60405180910390f35b6100936040518060400160405280601f81526020017f4e616b656420555344302b2b207072696365206665656420616461707465720081525081565b60405161004e919061017b565b6100a86100df565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a00161004e565b5f805f805f8064e8d4a510007335d8949372d46b7a3d5a56006ae77b215fc69bc06001600160a01b0316632a33d6b26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561013b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015f91906101c6565b61016991906101dd565b90969095505f94508493508392509050565b5f6020808352835180828501525f5b818110156101a65785810183015185820160400152820161018a565b505f604082860101526040601f19601f8301168501019250505092915050565b5f602082840312156101d6575f80fd5b5051919050565b5f826101f757634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212201a206d43a569ffbde0b2b18c591bf00c65b965c7382c14ae69b242a35aa3906764736f6c63430008150033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.