ETH Price: $3,406.31 (-1.53%)
Gas: 8 Gwei

Contract

0xaCc9Cc4983D57cea0748B8CD1Adb87Ada5b1a67c
 

Overview

ETH Balance

0.0838 ETH

Eth Value

$285.45 (@ $3,406.31/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Stream Withdraw202980622024-07-13 14:04:595 days ago1720879499IN
0xaCc9Cc49...da5b1a67c
0 ETH0.000147513.2462732
Stream Withdraw200803522024-06-13 3:54:2336 days ago1718250863IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0005292911.51761183
Stream Withdraw199514462024-05-26 3:44:2354 days ago1716695063IN
0xaCc9Cc49...da5b1a67c
0 ETH0.000115932.50957465
Stream Withdraw198785812024-05-15 23:11:2364 days ago1715814683IN
0xaCc9Cc49...da5b1a67c
0 ETH0.000176883.88749383
Stream Withdraw196225152024-04-10 3:21:47100 days ago1712719307IN
0xaCc9Cc49...da5b1a67c
0 ETH0.000713215.67487984
Stream Withdraw191853952024-02-08 19:01:59161 days ago1707418919IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0024057651.86183798
Stream Withdraw191564792024-02-04 17:38:59165 days ago1707068339IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0008054117.45768843
Stream Withdraw189863182024-01-11 21:20:47189 days ago1705008047IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0011303324.62234358
Stream Withdraw189222832024-01-02 21:10:23198 days ago1704229823IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0012518726.98015388
Stream Withdraw189031982023-12-31 4:51:23201 days ago1703998283IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0004735810.43041939
Stream Withdraw188188222023-12-19 8:29:59213 days ago1702974599IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0021352146.3783218
Stream Withdraw187004152023-12-02 18:09:11229 days ago1701540551IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0016257735.72191434
Stream Withdraw186638022023-11-27 15:14:11234 days ago1701098051IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0023970353.00353837
Stream Withdraw186582722023-11-26 20:38:23235 days ago1701031103IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0011786925.55497968
Add Builder Stre...185596942023-11-13 1:25:59249 days ago1699838759IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0023719932.58955838
Stream Withdraw185394762023-11-10 5:31:59252 days ago1699594319IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0013771929.68856041
Add Builder Stre...185394702023-11-10 5:30:47252 days ago1699594247IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0023176131.84232038
Stream Withdraw184795822023-11-01 20:16:23260 days ago1698869783IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0017579238.7480207
Stream Withdraw182639652023-10-02 16:12:59290 days ago1696263179IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0012047126.23575149
Stream Withdraw180950722023-09-08 23:49:11314 days ago1694216951IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0004765710.35403348
Stream Withdraw180579942023-09-03 19:16:47319 days ago1693768607IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0005846612.89049493
Add Builder Stre...177825892023-07-27 6:22:35358 days ago1690438955IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0014194119.50178631
Add Builder Stre...177815612023-07-27 2:54:47358 days ago1690426487IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0016774223.04662012
Add Builder Stre...175828872023-06-29 5:29:47386 days ago1688016587IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0010609614.57692694
Add Builder Stre...175828812023-06-29 5:28:35386 days ago1688016515IN
0xaCc9Cc49...da5b1a67c
0 ETH0.0011932116.39389276
View all transactions

Latest 21 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
202980622024-07-13 14:04:595 days ago1720879499
0xaCc9Cc49...da5b1a67c
0.5 ETH
200803522024-06-13 3:54:2336 days ago1718250863
0xaCc9Cc49...da5b1a67c
0.4699 ETH
199514462024-05-26 3:44:2354 days ago1716695063
0xaCc9Cc49...da5b1a67c
0.05 ETH
198785812024-05-15 23:11:2364 days ago1715814683
0xaCc9Cc49...da5b1a67c
0.5 ETH
196225152024-04-10 3:21:47100 days ago1712719307
0xaCc9Cc49...da5b1a67c
0.5 ETH
191853952024-02-08 19:01:59161 days ago1707418919
0xaCc9Cc49...da5b1a67c
0.5 ETH
191564792024-02-04 17:38:59165 days ago1707068339
0xaCc9Cc49...da5b1a67c
0.3997 ETH
189863182024-01-11 21:20:47189 days ago1705008047
0xaCc9Cc49...da5b1a67c
0.39 ETH
189222832024-01-02 21:10:23198 days ago1704229823
0xaCc9Cc49...da5b1a67c
0.5 ETH
189031982023-12-31 4:51:23201 days ago1703998283
0xaCc9Cc49...da5b1a67c
0.05 ETH
188188222023-12-19 8:29:59213 days ago1702974599
0xaCc9Cc49...da5b1a67c
0.2766 ETH
187004152023-12-02 18:09:11229 days ago1701540551
0xaCc9Cc49...da5b1a67c
0.5 ETH
186798822023-11-29 21:14:47232 days ago1701292487
0xaCc9Cc49...da5b1a67c
2 ETH
186638022023-11-27 15:14:11234 days ago1701098051
0xaCc9Cc49...da5b1a67c
0.5 ETH
186582722023-11-26 20:38:23235 days ago1701031103
0xaCc9Cc49...da5b1a67c
0.05 ETH
185394762023-11-10 5:31:59252 days ago1699594319
0xaCc9Cc49...da5b1a67c
0.2 ETH
184795822023-11-01 20:16:23260 days ago1698869783
0xaCc9Cc49...da5b1a67c
0.5 ETH
182639652023-10-02 16:12:59290 days ago1696263179
0xaCc9Cc49...da5b1a67c
0.48 ETH
180950722023-09-08 23:49:11314 days ago1694216951
0xaCc9Cc49...da5b1a67c
0.05 ETH
180579942023-09-03 19:16:47319 days ago1693768607
0xaCc9Cc49...da5b1a67c
0.5 ETH
175159012023-06-19 19:36:11395 days ago1687203371
0xaCc9Cc49...da5b1a67c
5 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xE54F8B7F...467296053
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 YourContract is Ownable {

    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];
        if (builderStream.cap == 0) {
            return 0;
        }

        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

[{"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":"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":"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

0x6080604052600436106100a05760003560e01c806382c2aff71161006457806382c2aff71461018c5780638da5cb5b146101b5578063a8397ddc146101e0578063d8c0ee7814610209578063ead50da314610247578063f2fde38b14610272576100a7565b80630d12cc68146100a9578063715018a6146100d25780637c6f1b59146100e957806380c9b2f6146101265780638216d50614610163576100a7565b366100a757005b005b3480156100b557600080fd5b506100d060048036038101906100cb9190610f32565b61029b565b005b3480156100de57600080fd5b506100e7610349565b005b3480156100f557600080fd5b50610110600480360381019061010b9190610faa565b61035d565b60405161011d9190611102565b60405180910390f35b34801561013257600080fd5b5061014d60048036038101906101489190611124565b6104a0565b60405161015a9190611160565b60405180910390f35b34801561016f57600080fd5b5061018a600480360381019061018591906111b9565b610574565b005b34801561019857600080fd5b506101b360048036038101906101ae91906111b9565b6106bf565b005b3480156101c157600080fd5b506101ca610791565b6040516101d79190611208565b60405180910390f35b3480156101ec57600080fd5b50610207600480360381019061020291906112d8565b6107ba565b005b34801561021557600080fd5b50610230600480360381019061022b9190611124565b610a40565b60405161023e929190611334565b60405180910390f35b34801561025357600080fd5b5061025c610a64565b6040516102699190611160565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190611124565b610a6a565b005b6102a3610aed565b80518251146102e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102de906113ba565b60405180910390fd5b60005b825181101561034457610331838281518110610309576103086113da565b5b6020026020010151838381518110610324576103236113da565b5b60200260200101516106bf565b808061033c90611438565b9150506102ea565b505050565b610351610aed565b61035b6000610b6b565b565b60606000825167ffffffffffffffff81111561037c5761037b610c98565b5b6040519080825280602002602001820160405280156103b557816020015b6103a2610c37565b81526020019060019003908161039a5790505b50905060005b83518110156104965760008482815181106103d9576103d86113da565b5b602002602001015190506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060405180606001604052808373ffffffffffffffffffffffffffffffffffffffff16815260200182600001548152602001610460846104a0565b815250848481518110610476576104756113da565b5b60200260200101819052505050808061048e90611438565b9150506103bb565b5080915050919050565b600080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020604051806040016040529081600082015481526020016001820154815250509050600081600001510361051957600091505061056f565b60025481602001514261052c9190611480565b111561053f57806000015191505061056f565b6002548160200151426105529190611480565b826000015161056191906114b4565b61056b9190611525565b9150505b919050565b61057c610aed565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060400160405290816000820154815260200160018201548152505090506000816000015111610625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061c906115a2565b60405180910390fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508273ffffffffffffffffffffffffffffffffffffffff167f95089b8d5f5b1df642061c1947fbec71ede04a0aaa13de4b3e1054031610a0d5836040516106b29190611160565b60405180910390a2505050565b6106c7610aed565b6040518060400160405280828152602001600254426106e69190611480565b815250600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101559050508173ffffffffffffffffffffffffffffffffffffffff167f49707f6097e3d8b2d861adf67aadfb41a45746f9d46701065ed09ff12f9e41c3826040516107859190611160565b60405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b814710156107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f49061160e565b60405180910390fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015411610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e906115a2565b60405180910390fd5b6000610892336104a0565b9050838110156108d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ce9061167a565b60405180910390fd5b6000600254426108e79190611480565b905080836001015410156108ff578083600101819055505b81858460010154426109119190611480565b61091b91906114b4565b6109259190611525565b8360010154610934919061169a565b836001018190555060003373ffffffffffffffffffffffffffffffffffffffff1686604051610962906116ff565b60006040518083038185875af1925050503d806000811461099f576040519150601f19603f3d011682016040523d82523d6000602084013e6109a4565b606091505b50509050806109e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109df90611760565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f485f1bb6524c663555797e00171a10f341656e59b02d6b557a0a38ba7d5d97518787604051610a309291906117ee565b60405180910390a2505050505050565b60016020528060005260406000206000915090508060000154908060010154905082565b60025481565b610a72610aed565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad890611890565b60405180910390fd5b610aea81610b6b565b50565b610af5610c2f565b73ffffffffffffffffffffffffffffffffffffffff16610b13610791565b73ffffffffffffffffffffffffffffffffffffffff1614610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b60906118fc565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610cd082610c87565b810181811067ffffffffffffffff82111715610cef57610cee610c98565b5b80604052505050565b6000610d02610c6e565b9050610d0e8282610cc7565b919050565b600067ffffffffffffffff821115610d2e57610d2d610c98565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d6f82610d44565b9050919050565b610d7f81610d64565b8114610d8a57600080fd5b50565b600081359050610d9c81610d76565b92915050565b6000610db5610db084610d13565b610cf8565b90508083825260208201905060208402830185811115610dd857610dd7610d3f565b5b835b81811015610e015780610ded8882610d8d565b845260208401935050602081019050610dda565b5050509392505050565b600082601f830112610e2057610e1f610c82565b5b8135610e30848260208601610da2565b91505092915050565b600067ffffffffffffffff821115610e5457610e53610c98565b5b602082029050602081019050919050565b6000819050919050565b610e7881610e65565b8114610e8357600080fd5b50565b600081359050610e9581610e6f565b92915050565b6000610eae610ea984610e39565b610cf8565b90508083825260208201905060208402830185811115610ed157610ed0610d3f565b5b835b81811015610efa5780610ee68882610e86565b845260208401935050602081019050610ed3565b5050509392505050565b600082601f830112610f1957610f18610c82565b5b8135610f29848260208601610e9b565b91505092915050565b60008060408385031215610f4957610f48610c78565b5b600083013567ffffffffffffffff811115610f6757610f66610c7d565b5b610f7385828601610e0b565b925050602083013567ffffffffffffffff811115610f9457610f93610c7d565b5b610fa085828601610f04565b9150509250929050565b600060208284031215610fc057610fbf610c78565b5b600082013567ffffffffffffffff811115610fde57610fdd610c7d565b5b610fea84828501610e0b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61102881610d64565b82525050565b61103781610e65565b82525050565b606082016000820151611053600085018261101f565b506020820151611066602085018261102e565b506040820151611079604085018261102e565b50505050565b600061108b838361103d565b60608301905092915050565b6000602082019050919050565b60006110af82610ff3565b6110b98185610ffe565b93506110c48361100f565b8060005b838110156110f55781516110dc888261107f565b97506110e783611097565b9250506001810190506110c8565b5085935050505092915050565b6000602082019050818103600083015261111c81846110a4565b905092915050565b60006020828403121561113a57611139610c78565b5b600061114884828501610d8d565b91505092915050565b61115a81610e65565b82525050565b60006020820190506111756000830184611151565b92915050565b600061118682610d44565b9050919050565b6111968161117b565b81146111a157600080fd5b50565b6000813590506111b38161118d565b92915050565b600080604083850312156111d0576111cf610c78565b5b60006111de858286016111a4565b92505060206111ef85828601610e86565b9150509250929050565b61120281610d64565b82525050565b600060208201905061121d60008301846111f9565b92915050565b600080fd5b600067ffffffffffffffff82111561124357611242610c98565b5b61124c82610c87565b9050602081019050919050565b82818337600083830152505050565b600061127b61127684611228565b610cf8565b90508281526020810184848401111561129757611296611223565b5b6112a2848285611259565b509392505050565b600082601f8301126112bf576112be610c82565b5b81356112cf848260208601611268565b91505092915050565b600080604083850312156112ef576112ee610c78565b5b60006112fd85828601610e86565b925050602083013567ffffffffffffffff81111561131e5761131d610c7d565b5b61132a858286016112aa565b9150509250929050565b60006040820190506113496000830185611151565b6113566020830184611151565b9392505050565b600082825260208201905092915050565b7f4c656e6774687320617265206e6f7420657175616c0000000000000000000000600082015250565b60006113a460158361135d565b91506113af8261136e565b602082019050919050565b600060208201905081810360008301526113d381611397565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061144382610e65565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361147557611474611409565b5b600182019050919050565b600061148b82610e65565b915061149683610e65565b92508282039050818111156114ae576114ad611409565b5b92915050565b60006114bf82610e65565b91506114ca83610e65565b92508282026114d881610e65565b915082820484148315176114ef576114ee611409565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061153082610e65565b915061153b83610e65565b92508261154b5761154a6114f6565b5b828204905092915050565b7f4e6f206163746976652073747265616d20666f72206275696c64657200000000600082015250565b600061158c601c8361135d565b915061159782611556565b602082019050919050565b600060208201905081810360008301526115bb8161157f565b9050919050565b7f4e6f7420656e6f7567682066756e647320696e2074686520636f6e7472616374600082015250565b60006115f860208361135d565b9150611603826115c2565b602082019050919050565b60006020820190508181036000830152611627816115eb565b9050919050565b7f4e6f7420656e6f75676820696e207468652073747265616d0000000000000000600082015250565b600061166460188361135d565b915061166f8261162e565b602082019050919050565b6000602082019050818103600083015261169381611657565b9050919050565b60006116a582610e65565b91506116b083610e65565b92508282019050808211156116c8576116c7611409565b5b92915050565b600081905092915050565b50565b60006116e96000836116ce565b91506116f4826116d9565b600082019050919050565b600061170a826116dc565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b600061174a60148361135d565b915061175582611714565b602082019050919050565b600060208201905081810360008301526117798161173d565b9050919050565b600081519050919050565b60005b838110156117a957808201518184015260208101905061178e565b60008484015250505050565b60006117c082611780565b6117ca818561135d565b93506117da81856020860161178b565b6117e381610c87565b840191505092915050565b60006040820190506118036000830185611151565b818103602083015261181581846117b5565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061187a60268361135d565b91506118858261181e565b604082019050919050565b600060208201905081810360008301526118a98161186d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006118e660208361135d565b91506118f1826118b0565b602082019050919050565b60006020820190508181036000830152611915816118d9565b905091905056fea26469706673582212207bf7db3befa9712b8b06feb95bda60c78d65d7d593f943fdc271757d31a3c3e964736f6c63430008110033

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.