ETH Price: $1,420.26 (-10.35%)
 

Overview

ETH Balance

0.002310000000000042 ETH

Eth Value

$3.28 (@ $1,420.26/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Stream Withdraw203865812024-07-25 22:35:35257 days ago1721946935IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000127362.79410056
Update Builder S...203279632024-07-17 18:13:23265 days ago1721240003IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000277769.65929945
Stream Withdraw202686502024-07-09 11:30:59273 days ago1720524659IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000158023.41826755
Stream Withdraw202638432024-07-08 19:21:47274 days ago1720466507IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000185433.54216012
Update Builder S...201782172024-06-26 20:22:35286 days ago1719433355IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000255998.90224932
Stream Withdraw201552552024-06-23 15:22:35289 days ago1719156155IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.00022234.79245282
Stream Withdraw201276752024-06-19 18:48:23293 days ago1718822903IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0005584211.818173
Stream Withdraw200907422024-06-14 14:48:23298 days ago1718376503IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0009030319.94198008
Update Builder S...200622452024-06-10 15:12:11302 days ago1718032331IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000464116.13926562
Update Builder S...200358022024-06-06 22:34:47306 days ago1717713287IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0004901617.04571736
Update Builder S...200357982024-06-06 22:33:59306 days ago1717713239IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0004662616.21452516
Update Builder S...200356042024-06-06 21:55:11306 days ago1717710911IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0003976113.82711665
Update Builder S...200355912024-06-06 21:52:35306 days ago1717710755IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0003965713.79087205
Stream Withdraw199366342024-05-24 2:03:35320 days ago1716516215IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.00031846.61763431
Stream Withdraw199231102024-05-22 4:40:47321 days ago1716352847IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000322586.36763606
Stream Withdraw198626242024-05-13 17:35:23330 days ago1715621723IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0009352517.9594707
Stream Withdraw198469282024-05-11 12:56:23332 days ago1715432183IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0002415.15291432
Stream Withdraw198460422024-05-11 9:57:35332 days ago1715421455IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000274295.41564287
Stream Withdraw198255532024-05-08 13:10:35335 days ago1715173835IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000351786.82759952
Stream Withdraw197968542024-05-04 12:50:47339 days ago1714827047IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000311716.75317564
Stream Withdraw197274422024-04-24 19:53:59349 days ago1713988439IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000428249.28030616
Stream Withdraw196991592024-04-20 20:57:59353 days ago1713646679IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000346057.73851109
Stream Withdraw196588722024-04-15 5:36:23358 days ago1713159383IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.000404618.28314116
Stream Withdraw196470392024-04-13 13:46:35360 days ago1713015995IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.0006504312.92795963
Stream Withdraw196407982024-04-12 16:44:11361 days ago1712940251IN
ENS Namesanctum.buidlguidl.eth
0 ETH0.001336727.1121092
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer203865812024-07-25 22:35:35257 days ago1721946935
ENS Namesanctum.buidlguidl.eth
0.23 ETH
Transfer202686502024-07-09 11:30:59273 days ago1720524659
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer202638432024-07-08 19:21:47274 days ago1720466507
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer201552552024-06-23 15:22:35289 days ago1719156155
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer201276752024-06-19 18:48:23293 days ago1718822903
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer200907422024-06-14 14:48:23298 days ago1718376503
ENS Namesanctum.buidlguidl.eth
0.29999999 ETH
Transfer200784132024-06-12 21:24:23300 days ago1718227463
ENS Namesanctum.buidlguidl.eth
2.5 ETH
Transfer199366342024-05-24 2:03:35320 days ago1716516215
ENS Namesanctum.buidlguidl.eth
0.32 ETH
Transfer199231102024-05-22 4:40:47321 days ago1716352847
ENS Namesanctum.buidlguidl.eth
0.42069 ETH
Transfer198626242024-05-13 17:35:23330 days ago1715621723
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer198469282024-05-11 12:56:23332 days ago1715432183
ENS Namesanctum.buidlguidl.eth
0.1 ETH
Transfer198460422024-05-11 9:57:35332 days ago1715421455
ENS Namesanctum.buidlguidl.eth
0.69999999 ETH
Transfer198255532024-05-08 13:10:35335 days ago1715173835
ENS Namesanctum.buidlguidl.eth
0.4 ETH
Transfer197968542024-05-04 12:50:47339 days ago1714827047
ENS Namesanctum.buidlguidl.eth
0.1 ETH
Transfer197281632024-04-24 22:19:11349 days ago1713997151
ENS Namesanctum.buidlguidl.eth
2 ETH
Transfer197274422024-04-24 19:53:59349 days ago1713988439
ENS Namesanctum.buidlguidl.eth
0.2 ETH
Transfer196991592024-04-20 20:57:59353 days ago1713646679
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer196588722024-04-15 5:36:23358 days ago1713159383
ENS Namesanctum.buidlguidl.eth
1 ETH
Transfer196470392024-04-13 13:46:35360 days ago1713015995
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer196424332024-04-12 22:15:35361 days ago1712960135
ENS Namesanctum.buidlguidl.eth
2 ETH
Transfer196407982024-04-12 16:44:11361 days ago1712940251
ENS Namesanctum.buidlguidl.eth
0.34999999 ETH
Transfer196098962024-04-08 8:55:23365 days ago1712566523
ENS Namesanctum.buidlguidl.eth
1 ETH
Transfer195783672024-04-03 22:56:47370 days ago1712185007
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer195615002024-04-01 14:13:35372 days ago1711980815
ENS Namesanctum.buidlguidl.eth
0.5 ETH
Transfer194898442024-03-22 11:23:35382 days ago1711106615
ENS Namesanctum.buidlguidl.eth
0.377 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
YourContract

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
london EvmVersion, MIT license
File 1 of 3 : YourContract.sol
pragma solidity >=0.8.0 <0.9.0;
//SPDX-License-Identifier: MIT

import "@openzeppelin/contracts/access/Ownable.sol";
// https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol

contract ENSContract {
	function setName(string memory newName) public {
		//do something
	}
}

contract YourContract is Ownable {

    ENSContract public immutable ensContract = ENSContract(0xa58E81fe9b61B5c3fE2AFD33CF304c454AbFc7Cb);

    function setName(string memory newName) public onlyOwner {
		ensContract.setName(newName);
	}

    struct BuilderStreamInfo {
        uint256 cap;
        uint256 last;
    }
    mapping(address => BuilderStreamInfo) public streamedBuilders;
    // ToDo. Change to 30 days
    uint256 public frequency = 2592000; // 30 days

    event Withdraw(address indexed to, uint256 amount, string reason);
    event AddBuilder(address indexed to, uint256 amount);
    event UpdateBuilder(address indexed to, uint256 amount);

    constructor() { }

    struct BuilderData {
        address builderAddress;
        uint256 cap;
        uint256 unlockedAmount;
    }

    function allBuildersData(address[] memory _builders) public view returns (BuilderData[] memory) {
        BuilderData[] memory result = new BuilderData[](_builders.length);
        for (uint256 i = 0; i < _builders.length; i++) {
            address builderAddress = _builders[i];
            BuilderStreamInfo storage builderStream = streamedBuilders[builderAddress];
            result[i] = BuilderData(builderAddress, builderStream.cap, unlockedBuilderAmount(builderAddress));
        }
        return result;
    }

    function unlockedBuilderAmount(address _builder) public view returns (uint256) {
        BuilderStreamInfo memory builderStream = streamedBuilders[_builder];
        require(builderStream.cap > 0, "No active stream for builder");

        if (block.timestamp - builderStream.last > frequency) {
            return builderStream.cap;
        }

        return (builderStream.cap * (block.timestamp - builderStream.last)) / frequency;
    }

    function addBuilderStream(address payable _builder, uint256 _cap) public onlyOwner {
        streamedBuilders[_builder] = BuilderStreamInfo(_cap, block.timestamp - frequency);
        emit AddBuilder(_builder, _cap);
    }

    function addBatch(address[] memory _builders, uint256[] memory _caps) public onlyOwner {
        require(_builders.length == _caps.length, "Lengths are not equal");
        for (uint256 i = 0; i < _builders.length; i++) {
            addBuilderStream(payable(_builders[i]), _caps[i]);
        }
    }

    function updateBuilderStreamCap(address payable _builder, uint256 _cap) public onlyOwner {
        BuilderStreamInfo memory builderStream = streamedBuilders[_builder];
        require(builderStream.cap > 0, "No active stream for builder");
        streamedBuilders[_builder].cap = _cap;
        emit UpdateBuilder(_builder, _cap);
    }

    function streamWithdraw(uint256 _amount, string memory _reason) public {
        require(address(this).balance >= _amount, "Not enough funds in the contract");
        BuilderStreamInfo storage builderStream = streamedBuilders[msg.sender];
        require(builderStream.cap > 0, "No active stream for builder");

        uint256 totalAmountCanWithdraw = unlockedBuilderAmount(msg.sender);
        require(totalAmountCanWithdraw >= _amount,"Not enough in the stream");

        uint256 cappedLast = block.timestamp - frequency;
        if (builderStream.last < cappedLast){
            builderStream.last = cappedLast;
        }

        builderStream.last = builderStream.last + ((block.timestamp - builderStream.last) * _amount / totalAmountCanWithdraw);

        (bool sent,) = msg.sender.call{value: _amount}("");
        require(sent, "Failed to send Ether");

        emit Withdraw(msg.sender, _amount, _reason);
    }

    // to support receiving ETH by default
    receive() external payable {}
    fallback() external payable {}
}

File 2 of 3 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 3 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

Settings
{
  "evmVersion": "london",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AddBuilder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"UpdateBuilder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"reason","type":"string"}],"name":"Withdraw","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address[]","name":"_builders","type":"address[]"},{"internalType":"uint256[]","name":"_caps","type":"uint256[]"}],"name":"addBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_builder","type":"address"},{"internalType":"uint256","name":"_cap","type":"uint256"}],"name":"addBuilderStream","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_builders","type":"address[]"}],"name":"allBuildersData","outputs":[{"components":[{"internalType":"address","name":"builderAddress","type":"address"},{"internalType":"uint256","name":"cap","type":"uint256"},{"internalType":"uint256","name":"unlockedAmount","type":"uint256"}],"internalType":"struct YourContract.BuilderData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ensContract","outputs":[{"internalType":"contract ENSContract","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"frequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newName","type":"string"}],"name":"setName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"string","name":"_reason","type":"string"}],"name":"streamWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"streamedBuilders","outputs":[{"internalType":"uint256","name":"cap","type":"uint256"},{"internalType":"uint256","name":"last","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_builder","type":"address"}],"name":"unlockedBuilderAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_builder","type":"address"},{"internalType":"uint256","name":"_cap","type":"uint256"}],"name":"updateBuilderStreamCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106100c65760003560e01c806382c2aff71161007f578063c47f002711610059578063c47f00271461025a578063d8c0ee7814610283578063ead50da3146102c1578063f2fde38b146102ec576100cd565b806382c2aff7146101dd5780638da5cb5b14610206578063a8397ddc14610231576100cd565b80630d12cc68146100cf5780636881e763146100f8578063715018a6146101235780637c6f1b591461013a57806380c9b2f6146101775780638216d506146101b4576100cd565b366100cd57005b005b3480156100db57600080fd5b506100f660048036038101906100f19190611097565b610315565b005b34801561010457600080fd5b5061010d6103c3565b60405161011a919061116e565b60405180910390f35b34801561012f57600080fd5b506101386103e7565b005b34801561014657600080fd5b50610161600480360381019061015c9190611189565b6103fb565b60405161016e91906112e1565b60405180910390f35b34801561018357600080fd5b5061019e60048036038101906101999190611303565b61053e565b6040516101ab919061133f565b60405180910390f35b3480156101c057600080fd5b506101db60048036038101906101d69190611398565b610643565b005b3480156101e957600080fd5b5061020460048036038101906101ff9190611398565b61078e565b005b34801561021257600080fd5b5061021b610860565b60405161022891906113e7565b60405180910390f35b34801561023d57600080fd5b50610258600480360381019061025391906114b7565b610889565b005b34801561026657600080fd5b50610281600480360381019061027c9190611513565b610b0f565b005b34801561028f57600080fd5b506102aa60048036038101906102a59190611303565b610ba5565b6040516102b892919061155c565b60405180910390f35b3480156102cd57600080fd5b506102d6610bc9565b6040516102e3919061133f565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e9190611303565b610bcf565b005b61031d610c52565b8051825114610361576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610358906115e2565b60405180910390fd5b60005b82518110156103be576103ab83828151811061038357610382611602565b5b602002602001015183838151811061039e5761039d611602565b5b602002602001015161078e565b80806103b690611660565b915050610364565b505050565b7f000000000000000000000000a58e81fe9b61b5c3fe2afd33cf304c454abfc7cb81565b6103ef610c52565b6103f96000610cd0565b565b60606000825167ffffffffffffffff81111561041a57610419610dfd565b5b60405190808252806020026020018201604052801561045357816020015b610440610d9c565b8152602001906001900390816104385790505b50905060005b835181101561053457600084828151811061047757610476611602565b5b602002602001015190506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060405180606001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826000015481526020016104fe8461053e565b81525084848151811061051457610513611602565b5b60200260200101819052505050808061052c90611660565b915050610459565b5080915050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180604001604052908160008201548152602001600182015481525050905060008160000151116105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df906116f4565b60405180910390fd5b6002548160200151426105fb9190611714565b111561060e57806000015191505061063e565b6002548160200151426106219190611714565b82600001516106309190611748565b61063a91906117b9565b9150505b919050565b61064b610c52565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180604001604052908160008201548152602001600182015481525050905060008160000151116106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb906116f4565b60405180910390fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508273ffffffffffffffffffffffffffffffffffffffff167f95089b8d5f5b1df642061c1947fbec71ede04a0aaa13de4b3e1054031610a0d583604051610781919061133f565b60405180910390a2505050565b610796610c52565b6040518060400160405280828152602001600254426107b59190611714565b815250600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101559050508173ffffffffffffffffffffffffffffffffffffffff167f49707f6097e3d8b2d861adf67aadfb41a45746f9d46701065ed09ff12f9e41c382604051610854919061133f565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b814710156108cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c390611836565b60405180910390fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d906116f4565b60405180910390fd5b60006109613361053e565b9050838110156109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d906118a2565b60405180910390fd5b6000600254426109b69190611714565b905080836001015410156109ce578083600101819055505b81858460010154426109e09190611714565b6109ea9190611748565b6109f491906117b9565b8360010154610a0391906118c2565b836001018190555060003373ffffffffffffffffffffffffffffffffffffffff1686604051610a3190611927565b60006040518083038185875af1925050503d8060008114610a6e576040519150601f19603f3d011682016040523d82523d6000602084013e610a73565b606091505b5050905080610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae90611988565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f485f1bb6524c663555797e00171a10f341656e59b02d6b557a0a38ba7d5d97518787604051610aff929190611a16565b60405180910390a2505050505050565b610b17610c52565b7f000000000000000000000000a58e81fe9b61b5c3fe2afd33cf304c454abfc7cb73ffffffffffffffffffffffffffffffffffffffff1663c47f0027826040518263ffffffff1660e01b8152600401610b709190611a46565b600060405180830381600087803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b5050505050565b60016020528060005260406000206000915090508060000154908060010154905082565b60025481565b610bd7610c52565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3d90611ada565b60405180910390fd5b610c4f81610cd0565b50565b610c5a610d94565b73ffffffffffffffffffffffffffffffffffffffff16610c78610860565b73ffffffffffffffffffffffffffffffffffffffff1614610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc590611b46565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610e3582610dec565b810181811067ffffffffffffffff82111715610e5457610e53610dfd565b5b80604052505050565b6000610e67610dd3565b9050610e738282610e2c565b919050565b600067ffffffffffffffff821115610e9357610e92610dfd565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ed482610ea9565b9050919050565b610ee481610ec9565b8114610eef57600080fd5b50565b600081359050610f0181610edb565b92915050565b6000610f1a610f1584610e78565b610e5d565b90508083825260208201905060208402830185811115610f3d57610f3c610ea4565b5b835b81811015610f665780610f528882610ef2565b845260208401935050602081019050610f3f565b5050509392505050565b600082601f830112610f8557610f84610de7565b5b8135610f95848260208601610f07565b91505092915050565b600067ffffffffffffffff821115610fb957610fb8610dfd565b5b602082029050602081019050919050565b6000819050919050565b610fdd81610fca565b8114610fe857600080fd5b50565b600081359050610ffa81610fd4565b92915050565b600061101361100e84610f9e565b610e5d565b9050808382526020820190506020840283018581111561103657611035610ea4565b5b835b8181101561105f578061104b8882610feb565b845260208401935050602081019050611038565b5050509392505050565b600082601f83011261107e5761107d610de7565b5b813561108e848260208601611000565b91505092915050565b600080604083850312156110ae576110ad610ddd565b5b600083013567ffffffffffffffff8111156110cc576110cb610de2565b5b6110d885828601610f70565b925050602083013567ffffffffffffffff8111156110f9576110f8610de2565b5b61110585828601611069565b9150509250929050565b6000819050919050565b600061113461112f61112a84610ea9565b61110f565b610ea9565b9050919050565b600061114682611119565b9050919050565b60006111588261113b565b9050919050565b6111688161114d565b82525050565b6000602082019050611183600083018461115f565b92915050565b60006020828403121561119f5761119e610ddd565b5b600082013567ffffffffffffffff8111156111bd576111bc610de2565b5b6111c984828501610f70565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61120781610ec9565b82525050565b61121681610fca565b82525050565b60608201600082015161123260008501826111fe565b506020820151611245602085018261120d565b506040820151611258604085018261120d565b50505050565b600061126a838361121c565b60608301905092915050565b6000602082019050919050565b600061128e826111d2565b61129881856111dd565b93506112a3836111ee565b8060005b838110156112d45781516112bb888261125e565b97506112c683611276565b9250506001810190506112a7565b5085935050505092915050565b600060208201905081810360008301526112fb8184611283565b905092915050565b60006020828403121561131957611318610ddd565b5b600061132784828501610ef2565b91505092915050565b61133981610fca565b82525050565b60006020820190506113546000830184611330565b92915050565b600061136582610ea9565b9050919050565b6113758161135a565b811461138057600080fd5b50565b6000813590506113928161136c565b92915050565b600080604083850312156113af576113ae610ddd565b5b60006113bd85828601611383565b92505060206113ce85828601610feb565b9150509250929050565b6113e181610ec9565b82525050565b60006020820190506113fc60008301846113d8565b92915050565b600080fd5b600067ffffffffffffffff82111561142257611421610dfd565b5b61142b82610dec565b9050602081019050919050565b82818337600083830152505050565b600061145a61145584611407565b610e5d565b90508281526020810184848401111561147657611475611402565b5b611481848285611438565b509392505050565b600082601f83011261149e5761149d610de7565b5b81356114ae848260208601611447565b91505092915050565b600080604083850312156114ce576114cd610ddd565b5b60006114dc85828601610feb565b925050602083013567ffffffffffffffff8111156114fd576114fc610de2565b5b61150985828601611489565b9150509250929050565b60006020828403121561152957611528610ddd565b5b600082013567ffffffffffffffff81111561154757611546610de2565b5b61155384828501611489565b91505092915050565b60006040820190506115716000830185611330565b61157e6020830184611330565b9392505050565b600082825260208201905092915050565b7f4c656e6774687320617265206e6f7420657175616c0000000000000000000000600082015250565b60006115cc601583611585565b91506115d782611596565b602082019050919050565b600060208201905081810360008301526115fb816115bf565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061166b82610fca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361169d5761169c611631565b5b600182019050919050565b7f4e6f206163746976652073747265616d20666f72206275696c64657200000000600082015250565b60006116de601c83611585565b91506116e9826116a8565b602082019050919050565b6000602082019050818103600083015261170d816116d1565b9050919050565b600061171f82610fca565b915061172a83610fca565b925082820390508181111561174257611741611631565b5b92915050565b600061175382610fca565b915061175e83610fca565b925082820261176c81610fca565b9150828204841483151761178357611782611631565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006117c482610fca565b91506117cf83610fca565b9250826117df576117de61178a565b5b828204905092915050565b7f4e6f7420656e6f7567682066756e647320696e2074686520636f6e7472616374600082015250565b6000611820602083611585565b915061182b826117ea565b602082019050919050565b6000602082019050818103600083015261184f81611813565b9050919050565b7f4e6f7420656e6f75676820696e207468652073747265616d0000000000000000600082015250565b600061188c601883611585565b915061189782611856565b602082019050919050565b600060208201905081810360008301526118bb8161187f565b9050919050565b60006118cd82610fca565b91506118d883610fca565b92508282019050808211156118f0576118ef611631565b5b92915050565b600081905092915050565b50565b60006119116000836118f6565b915061191c82611901565b600082019050919050565b600061193282611904565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b6000611972601483611585565b915061197d8261193c565b602082019050919050565b600060208201905081810360008301526119a181611965565b9050919050565b600081519050919050565b60005b838110156119d15780820151818401526020810190506119b6565b60008484015250505050565b60006119e8826119a8565b6119f28185611585565b9350611a028185602086016119b3565b611a0b81610dec565b840191505092915050565b6000604082019050611a2b6000830185611330565b8181036020830152611a3d81846119dd565b90509392505050565b60006020820190508181036000830152611a6081846119dd565b905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611ac4602683611585565b9150611acf82611a68565b604082019050919050565b60006020820190508181036000830152611af381611ab7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b30602083611585565b9150611b3b82611afa565b602082019050919050565b60006020820190508181036000830152611b5f81611b23565b905091905056fea2646970667358221220585cbc50edde6f5e6afc819f3b36d2a6ef62c4f2d275f95f6b51c32897c32bfb64736f6c63430008110033

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
[ Download: CSV Export  ]
[ 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.