S Price: $0.842792 (-0.90%)
    /

    Contract

    0xBA6d7Cfd50891C797eAA636C45d5f4Dad7a0664e

    Overview

    S Balance

    Sonic LogoSonic LogoSonic Logo0 S

    S Value

    $0.00

    Multichain Info

    No addresses found
    Transaction Hash
    Method
    Block
    Age
    From
    To

    There are no matching entries

    1 Internal Transaction found.

    Latest 1 internal transaction

    Parent Transaction Hash Block Age From To Amount
    23319602025-01-03 7:20:4852 days ago1735888848
     Contract Creation
    0 S
    Loading...
    Loading

    Similar Match Source Code
    This contract matches the deployed Bytecode of the Source Code for Contract 0x63E02028...1E000b9e7
    The constructor portion of the code might be different and could alter the actual behaviour of the contract

    Contract Name:
    InitializableImmutableAdminUpgradeabilityProxy

    Compiler Version
    v0.8.10+commit.fc410830

    Optimization Enabled:
    Yes with 100000 runs

    Other Settings:
    berlin EvmVersion
    File 1 of 6 : InitializableImmutableAdminUpgradeabilityProxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: AGPL-3.0
    pragma solidity ^0.8.0;
    import {InitializableUpgradeabilityProxy} from '../../../dependencies/openzeppelin/upgradeability/InitializableUpgradeabilityProxy.sol';
    import {Proxy} from '../../../dependencies/openzeppelin/upgradeability/Proxy.sol';
    import {BaseImmutableAdminUpgradeabilityProxy} from './BaseImmutableAdminUpgradeabilityProxy.sol';
    /**
    * @title InitializableAdminUpgradeabilityProxy
    * @author Aave
    * @dev Extends BaseAdminUpgradeabilityProxy with an initializer function
    */
    contract InitializableImmutableAdminUpgradeabilityProxy is
    BaseImmutableAdminUpgradeabilityProxy,
    InitializableUpgradeabilityProxy
    {
    /**
    * @dev Constructor.
    * @param admin The address of the admin
    */
    constructor(address admin) BaseImmutableAdminUpgradeabilityProxy(admin) {
    // Intentionally left blank
    }
    /// @inheritdoc BaseImmutableAdminUpgradeabilityProxy
    function _willFallback() internal override(BaseImmutableAdminUpgradeabilityProxy, Proxy) {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 2 of 6 : Address.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: MIT
    // OpenZeppelin Contracts v4.4.1 (utils/Address.sol)
    pragma solidity ^0.8.0;
    /**
    * @dev Collection of functions related to the address type
    */
    library Address {
    /**
    * @dev Returns true if `account` is a contract.
    *
    * [IMPORTANT]
    * ====
    * It is unsafe to assume that an address for which this function returns
    * false is an externally-owned account (EOA) and not a contract.
    *
    * Among others, `isContract` will return false for the following
    * types of addresses:
    *
    * - an externally-owned account
    * - a contract in construction
    * - an address where a contract will be created
    * - an address where a contract lived, but was destroyed
    * ====
    */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 3 of 6 : BaseUpgradeabilityProxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: AGPL-3.0
    pragma solidity ^0.8.0;
    import './Proxy.sol';
    import '../contracts/Address.sol';
    /**
    * @title BaseUpgradeabilityProxy
    * @dev This contract implements a proxy that allows to change the
    * implementation address to which it will delegate.
    * Such a change is called an implementation upgrade.
    */
    contract BaseUpgradeabilityProxy is Proxy {
    /**
    * @dev Emitted when the implementation is upgraded.
    * @param implementation Address of the new implementation.
    */
    event Upgraded(address indexed implementation);
    /**
    * @dev Storage slot with the address of the current implementation.
    * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
    * validated in the constructor.
    */
    bytes32 internal constant IMPLEMENTATION_SLOT =
    0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 4 of 6 : InitializableUpgradeabilityProxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: AGPL-3.0
    pragma solidity ^0.8.0;
    import './BaseUpgradeabilityProxy.sol';
    /**
    * @title InitializableUpgradeabilityProxy
    * @dev Extends BaseUpgradeabilityProxy with an initializer for initializing
    * implementation and init data.
    */
    contract InitializableUpgradeabilityProxy is BaseUpgradeabilityProxy {
    /**
    * @dev Contract initializer.
    * @param _logic Address of the initial implementation.
    * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
    * It should include the signature and the parameters of the function to be called, as described in
    * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
    * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
    */
    function initialize(address _logic, bytes memory _data) public payable {
    require(_implementation() == address(0));
    assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1));
    _setImplementation(_logic);
    if (_data.length > 0) {
    (bool success, ) = _logic.delegatecall(_data);
    require(success);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 5 of 6 : Proxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: AGPL-3.0
    pragma solidity ^0.8.0;
    /**
    * @title Proxy
    * @dev Implements delegation of calls to other contracts, with proper
    * forwarding of return values and bubbling of failures.
    * It defines a fallback function that delegates all calls to the address
    * returned by the abstract _implementation() internal function.
    */
    abstract contract Proxy {
    /**
    * @dev Fallback function.
    * Will run if no other function in the contract matches the call data.
    * Implemented entirely in `_fallback`.
    */
    fallback() external payable {
    _fallback();
    }
    /**
    * @return The Address of the implementation.
    */
    function _implementation() internal view virtual returns (address);
    /**
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    File 6 of 6 : BaseImmutableAdminUpgradeabilityProxy.sol
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    // SPDX-License-Identifier: AGPL-3.0
    pragma solidity ^0.8.0;
    import {BaseUpgradeabilityProxy} from '../../../dependencies/openzeppelin/upgradeability/BaseUpgradeabilityProxy.sol';
    /**
    * @title BaseImmutableAdminUpgradeabilityProxy
    * @author Aave, inspired by the OpenZeppelin upgradeability proxy pattern
    * @notice This contract combines an upgradeability proxy with an authorization
    * mechanism for administrative tasks.
    * @dev The admin role is stored in an immutable, which helps saving transactions costs
    * All external functions in this contract must be guarded by the
    * `ifAdmin` modifier. See ethereum/solidity#3864 for a Solidity
    * feature proposal that would enable this to be done automatically.
    */
    contract BaseImmutableAdminUpgradeabilityProxy is BaseUpgradeabilityProxy {
    address internal immutable _admin;
    /**
    * @dev Constructor.
    * @param admin The address of the admin
    */
    constructor(address admin) {
    _admin = admin;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Settings
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    {
    "optimizer": {
    "enabled": true,
    "runs": 100000
    },
    "evmVersion": "berlin",
    "outputSelection": {
    "*": {
    "*": [
    "evm.bytecode",
    "evm.deployedBytecode",
    "devdoc",
    "userdoc",
    "metadata",
    "abi"
    ]
    }
    },
    "metadata": {
    "useLiteralContent": true
    },
    "libraries": {}
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Contract Security Audit

    Contract ABI

    [{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"initialize","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]

    Deployed Bytecode

    0x60806040526004361061005a5760003560e01c80635c60da1b116100435780635c60da1b14610097578063d1f57894146100d5578063f851a440146100e85761005a565b80633659cfe6146100645780634f1ef28614610084575b6100626100fd565b005b34801561007057600080fd5b5061006261007f36600461067b565b610137565b61006261009236600461069d565b610189565b3480156100a357600080fd5b506100ac61025a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100626100e336600461074f565b6102cb565b3480156100f457600080fd5b506100ac6103f7565b61010561045c565b6101356101307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610464565b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000e8abef9ceb2fd45674a3cf7a22de84523a22becd1614156101815761017e81610488565b50565b61017e6100fd565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000e8abef9ceb2fd45674a3cf7a22de84523a22becd16141561024d576101d083610488565b60008373ffffffffffffffffffffffffffffffffffffffff1683836040516101f992919061082f565b600060405180830381855af49150503d8060008114610234576040519150601f19603f3d011682016040523d82523d6000602084013e610239565b606091505b505090508061024757600080fd5b50505050565b6102556100fd565b505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000e8abef9ceb2fd45674a3cf7a22de84523a22becd1614156102c057507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102c86100fd565b90565b60006102f57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b73ffffffffffffffffffffffffffffffffffffffff161461031557600080fd5b61034060017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd61083f565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc1461036e5761036e61087d565b610377826104d5565b8051156103f35760008273ffffffffffffffffffffffffffffffffffffffff16826040516103a591906108ac565b600060405180830381855af49150503d80600081146103e0576040519150601f19603f3d011682016040523d82523d6000602084013e6103e5565b606091505b505090508061025557600080fd5b5050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000e8abef9ceb2fd45674a3cf7a22de84523a22becd1614156102c057507f000000000000000000000000e8abef9ceb2fd45674a3cf7a22de84523a22becd90565b61013561058c565b3660008037600080366000845af43d6000803e808015610483573d6000f35b3d6000fd5b610491816104d5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b610568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000e8abef9ceb2fd45674a3cf7a22de84523a22becd161415610135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000606482015260840161055f565b803573ffffffffffffffffffffffffffffffffffffffff8116811461067657600080fd5b919050565b60006020828403121561068d57600080fd5b61069682610652565b9392505050565b6000806000604084860312156106b257600080fd5b6106bb84610652565b9250602084013567ffffffffffffffff808211156106d857600080fd5b818601915086601f8301126106ec57600080fd5b8135818111156106fb57600080fd5b87602082850101111561070d57600080fd5b6020830194508093505050509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561076257600080fd5b61076b83610652565b9150602083013567ffffffffffffffff8082111561078857600080fd5b818501915085601f83011261079c57600080fd5b8135818111156107ae576107ae610720565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156107f4576107f4610720565b8160405282815288602084870101111561080d57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b8183823760009101908152919050565b600082821015610878577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000825160005b818110156108cd57602081860181015185830152016108b3565b818111156108dc576000828501525b50919091019291505056fea264697066735822122029f5e8e0a6e5ebcf6c10e9cac27d3c16d6fa62441e2979169af22b2f4981525264736f6c634300080a0033

    Block Age Transaction Gas Used Reward
    view all blocks produced

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

    Validator Index Block Age Amount
    View All Withdrawals

    Transaction Hash Block Age Value Eth2 PubKey Valid
    View All Deposits
    [ Download: CSV Export  ]

    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.