ETH Price: $2,044.48 (+2.05%)

Contract

0x56246e83F3148B05Ce2D90B44fbb4e9fa9EAF5bb
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Commit Transfer ...142537282022-02-22 4:28:351497 days ago1645504115IN
0x56246e83...fa9EAF5bb
0 ETH0.0027291100
Commit Transfer ...142537112022-02-22 4:23:021497 days ago1645503782IN
0x56246e83...fa9EAF5bb
0 ETH0.0047191100

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
Ownership

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

import "./interfaces/pool/IOwnership.sol";

contract Ownership is IOwnership {
    address private _owner;
    address private _futureOwner;

    event CommitNewOwnership(address indexed futureOwner);
    event AcceptNewOwnership(address indexed owner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _owner = msg.sender;
        emit AcceptNewOwnership(msg.sender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() external view override returns (address) {
        return _owner;
    }

    function futureOwner() external view override returns (address) {
        return _futureOwner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(
            _owner == msg.sender,
            "Caller is not allowed to operate"
        );
        _;
    }

    modifier onlyFutureOwner() {
        require(
            _futureOwner == msg.sender,
            "Caller is not allowed to operate"
        );
        _;
    }

        /***
         *@notice Transfer ownership of GaugeController to `newOwner`
         *@param newOwner Address to have ownership transferred to
         */
    function commitTransferOwnership(address newOwner)
        external
        override
        onlyOwner
    {
        _futureOwner = newOwner;
        emit CommitNewOwnership(newOwner);
    }

        /***
         *@notice Accept a transfer of ownership
         */
    function acceptTransferOwnership() external override onlyFutureOwner {
        _owner = msg.sender;
        _futureOwner = address(0);
        emit AcceptNewOwnership(msg.sender);
    }
}

pragma solidity 0.8.10;

//SPDX-License-Identifier: MIT

interface IOwnership {
    function owner() external view returns (address);

    function futureOwner() external view returns (address);

    function commitTransferOwnership(address newOwner) external;

    function acceptTransferOwnership() external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"AcceptNewOwnership","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"futureOwner","type":"address"}],"name":"CommitNewOwnership","type":"event"},{"inputs":[],"name":"acceptTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"commitTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"futureOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b03191633908117825560405190917f405c0e6e5e78abd3919565924321c67e70f1b0f989c4ac8cd327269a73c42d6e91a261025a8061005c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80637b371107146100515780638da5cb5b1461005b578063b9e9d1aa14610084578063e1cebf0b14610095575b600080fd5b6100596100a8565b005b6000546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6001546001600160a01b0316610068565b6100596100a33660046101f4565b610150565b6001546001600160a01b031633146101075760405162461bcd60e51b815260206004820181905260248201527f43616c6c6572206973206e6f7420616c6c6f77656420746f206f70657261746560448201526064015b60405180910390fd5b60008054336001600160a01b0319918216811783556001805490921690915560405190917f405c0e6e5e78abd3919565924321c67e70f1b0f989c4ac8cd327269a73c42d6e91a2565b6000546001600160a01b031633146101aa5760405162461bcd60e51b815260206004820181905260248201527f43616c6c6572206973206e6f7420616c6c6f77656420746f206f70657261746560448201526064016100fe565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3abe9db6779f8a27a45cfa602f3f6da1b676d51b7b9b9f8e88da494f78dfda5d90600090a250565b60006020828403121561020657600080fd5b81356001600160a01b038116811461021d57600080fd5b939250505056fea2646970667358221220aa4e21eef368adaa5dc485ca3f4821184b88daff9ae275f3a03a79b29334826d64736f6c634300080a0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80637b371107146100515780638da5cb5b1461005b578063b9e9d1aa14610084578063e1cebf0b14610095575b600080fd5b6100596100a8565b005b6000546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b6001546001600160a01b0316610068565b6100596100a33660046101f4565b610150565b6001546001600160a01b031633146101075760405162461bcd60e51b815260206004820181905260248201527f43616c6c6572206973206e6f7420616c6c6f77656420746f206f70657261746560448201526064015b60405180910390fd5b60008054336001600160a01b0319918216811783556001805490921690915560405190917f405c0e6e5e78abd3919565924321c67e70f1b0f989c4ac8cd327269a73c42d6e91a2565b6000546001600160a01b031633146101aa5760405162461bcd60e51b815260206004820181905260248201527f43616c6c6572206973206e6f7420616c6c6f77656420746f206f70657261746560448201526064016100fe565b600180546001600160a01b0319166001600160a01b0383169081179091556040517f3abe9db6779f8a27a45cfa602f3f6da1b676d51b7b9b9f8e88da494f78dfda5d90600090a250565b60006020828403121561020657600080fd5b81356001600160a01b038116811461021d57600080fd5b939250505056fea2646970667358221220aa4e21eef368adaa5dc485ca3f4821184b88daff9ae275f3a03a79b29334826d64736f6c634300080a0033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.