Contract 0x32A5441F003b4ca3FD5a44aae3af9f756947D88B

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xce99894a8ccb33114aff24411f37c4f10e8c28eaf83af69ff2d2a55f0460b0f2Register301093142022-06-28 19:48:22333 days 23 hrs ago0x1e9f72c28b227cbb56577dc6f693b95237ac0bfe IN  Furucombo: Registry0 MATIC0.00073434 30.000000019
0x5a17b88bb57e49ff459340f071958776c6dfed25809dedf2845dbdfdb70069c3Transfer Ownersh...290800752022-06-02 16:14:29360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.00120770676 42.120000002
0x5b4de5353d909b6aaff99c0d41aa2eae69d9e60b2288aa0156f762ded2553760Register Handler...290800702022-06-02 16:14:19360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.001689624999 34.999999999
0x0c430a20eba92b9ce75cdd2c7bfbd5584ce9f6a938707cdd4761c4180f7cdc81Register Handler...290800652022-06-02 16:14:09360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.00241375 50.000000003
0xe192efb05bf374c8b80ee32c5da0cf357573552aed21bbf60f4d55164fa75208Register Handler...290800622022-06-02 16:13:59360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.001531507912 31.724658975
0x181373c040d1cbce6b9fc9f309d7e305eba6e5efc606e376e979f0e2f1c5a877Register Handler...290800582022-06-02 16:13:51360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.001486619524 30.794811481
0x9cc8ae59261bbb8685f4ae1a9f7c0cb47acecdb9e8d7ec818c6e63644bef4f68Register Caller290799402022-06-02 16:09:51360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.002646875 55.000000007
0xe88e8aedb5a80a5d5363bc000fd2d277e779e6050ef8fc5812bea9eefc877859Register290799372022-06-02 16:09:45360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.0022457472 46.600000001
0x58660a8b2a12d891f83bd472abfaacac453abbe3df094998d7dbdf57d1cb8ea7Register290799322022-06-02 16:09:31360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.002409599999 49.999999998
0xf493c3cc0381b91016f5dc7511bfdbfd5d0e396cda8cd1ef3049d47d91734de1Register290799272022-06-02 16:09:21360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.001954041021 40.546999943
0x4cfb663050819fe9e91ca985467cb120ffa6be3582530d9370d2455717e3fbddRegister290799242022-06-02 16:09:15360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.001953554457 40.546999946
0x8aa1397848dc47fd9f7a31e1912723e59fc6603c46445069c3f311d14032930aRegister290799182022-06-02 16:09:03360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.001638528001 34.000000031
0xa2dcdd2b6be84e17e0d43e95a12b88e7c91ff8d01ec6a03f56a452414b0cabc3Register290799152022-06-02 16:08:57360 days 2 hrs agoFurucombo: Deployer IN  Furucombo: Registry0 MATIC0.00148698603 30.85545382
0x1bff23bf7e67a696ca66c78bf6d29e77a13bd293f9a18947c6294fac4c0de0040x60806040290799112022-06-02 16:08:49360 days 2 hrs agoFurucombo: Deployer IN  Create: FurucomboRegistry0 MATIC0.032504324995 34.999999995
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FurucomboRegistry

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
File 1 of 4 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (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 Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        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 2 of 4 : 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;
    }
}

File 3 of 4 : FurucomboRegistry.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.10;

import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import {IFurucomboRegistry} from "./interfaces/IFurucomboRegistry.sol";

/// @notice The registry database for Furucombo
contract FurucomboRegistry is IFurucomboRegistry, Ownable {
    mapping(address => bytes32) public handlers;
    mapping(address => bytes32) public callers;
    mapping(address => uint256) public bannedAgents;
    mapping(address => mapping(address => bool)) public handlerCalleeWhiteList;
    bool public fHalt;

    bytes32 public constant DEPRECATED = bytes10(0x64657072656361746564);

    event Registered(address indexed registration, bytes32 info);
    event Unregistered(address indexed registration);
    event CallerRegistered(address indexed registration, bytes32 info);
    event CallerUnregistered(address indexed registration);
    event Banned(address indexed agent);
    event Unbanned(address indexed agent);
    event Halted();
    event Unhalted();
    event HandlerCalleeWhitelistRegistered(address indexed handler, address indexed callee);
    event HandlerCalleeWhitelistUnregistered(address indexed handler, address indexed callee);

    modifier isNotHalted() {
        require(!fHalt, "Halted");
        _;
    }

    modifier isHalted() {
        require(fHalt, "Not halted");
        _;
    }

    modifier isNotBanned(address agent) {
        require(bannedAgents[agent] == 0, "Banned");
        _;
    }

    modifier isBanned(address agent) {
        require(bannedAgents[agent] != 0, "Not banned");
        _;
    }

    /**
     * @notice Register a handler with a bytes32 information.
     * @param registration Handler address.
     * @param info Info string.
     */
    function register(address registration, bytes32 info) external onlyOwner {
        require(registration != address(0), "zero address");
        require(info != DEPRECATED, "unregistered info");
        require(handlers[registration] != DEPRECATED, "unregistered");
        handlers[registration] = info;
        emit Registered(registration, info);
    }

    /**
     * @notice Unregister a handler. The handler will be deprecated.
     * @param registration The handler to be unregistered.
     */
    function unregister(address registration) external onlyOwner {
        require(registration != address(0), "zero address");
        require(handlers[registration] != bytes32(0), "no registration");
        require(handlers[registration] != DEPRECATED, "unregistered");
        handlers[registration] = DEPRECATED;
        emit Unregistered(registration);
    }

    /**
     * @notice Register a caller with a bytes32 information.
     * @param registration Caller address.
     * @param info Info string.
     * @dev Dapps that triggers callback function should be registered.
     * In this case, registration is the Dapp address and the leading 20 bytes
     * of info is the handler address.
     */
    function registerCaller(address registration, bytes32 info) external onlyOwner {
        require(registration != address(0), "zero address");
        require(info != DEPRECATED, "unregistered info");
        require(callers[registration] != DEPRECATED, "unregistered");
        callers[registration] = info;
        emit CallerRegistered(registration, info);
    }

    /**
     * @notice Unregister a caller. The caller will be deprecated.
     * @param registration The caller to be unregistered.
     */
    function unregisterCaller(address registration) external onlyOwner {
        require(registration != address(0), "zero address");
        require(callers[registration] != bytes32(0), "no registration");
        require(callers[registration] != DEPRECATED, "unregistered");
        callers[registration] = DEPRECATED;
        emit CallerUnregistered(registration);
    }

    /**
     * @notice Ban agent from query
     *
     */
    function ban(address agent) external isNotBanned(agent) onlyOwner {
        bannedAgents[agent] = 1;
        emit Banned(agent);
    }

    /**
     * @notice Unban agent from query
     */
    function unban(address agent) external isBanned(agent) onlyOwner {
        bannedAgents[agent] = 0;
        emit Unbanned(agent);
    }

    /**
     * @notice Check if the handler is valid.
     * @param handler The handler to be verified.
     */
    function isValidHandler(address handler) external view returns (bool) {
        return handlers[handler] != 0 && handlers[handler] != DEPRECATED;
    }

    /**
     * @notice Check if the caller is valid.
     * @param caller The caller to be verified.
     */
    function isValidCaller(address caller) external view returns (bool) {
        return callers[caller] != 0 && callers[caller] != DEPRECATED;
    }

    function halt() external isNotHalted onlyOwner {
        fHalt = true;
        emit Halted();
    }

    function unhalt() external isHalted onlyOwner {
        fHalt = false;
        emit Unhalted();
    }

    function registerHandlerCalleeWhitelist(address handler, address callee) external onlyOwner {
        require(handler != address(0) && callee != address(0), "zero address");
        handlerCalleeWhiteList[handler][callee] = true;
        emit HandlerCalleeWhitelistRegistered(handler, callee);
    }

    function unregisterHandlerCalleeWhitelist(address handler, address callee) external onlyOwner {
        require(handler != address(0) && callee != address(0), "zero address");
        handlerCalleeWhiteList[handler][callee] = false;
        emit HandlerCalleeWhitelistUnregistered(handler, callee);
    }
}

File 4 of 4 : IFurucomboRegistry.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IFurucomboRegistry {
    function handlers(address) external view returns (bytes32);

    function callers(address) external view returns (bytes32);

    function bannedAgents(address) external view returns (uint256);

    function fHalt() external view returns (bool);

    function isValidHandler(address handler) external view returns (bool);

    function isValidCaller(address handler) external view returns (bool);

    function handlerCalleeWhiteList(address handler, address callee) external view returns (bool);
}

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

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"Banned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"},{"indexed":false,"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"CallerRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"}],"name":"CallerUnregistered","type":"event"},{"anonymous":false,"inputs":[],"name":"Halted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"handler","type":"address"},{"indexed":true,"internalType":"address","name":"callee","type":"address"}],"name":"HandlerCalleeWhitelistRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"handler","type":"address"},{"indexed":true,"internalType":"address","name":"callee","type":"address"}],"name":"HandlerCalleeWhitelistUnregistered","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":"registration","type":"address"},{"indexed":false,"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"agent","type":"address"}],"name":"Unbanned","type":"event"},{"anonymous":false,"inputs":[],"name":"Unhalted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registration","type":"address"}],"name":"Unregistered","type":"event"},{"inputs":[],"name":"DEPRECATED","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"ban","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bannedAgents","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"callers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fHalt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"halt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"handlerCalleeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"handlers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"name":"isValidCaller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"isValidHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"},{"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"},{"internalType":"bytes32","name":"info","type":"bytes32"}],"name":"registerCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"},{"internalType":"address","name":"callee","type":"address"}],"name":"registerHandlerCalleeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"unban","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unhalt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"}],"name":"unregister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"registration","type":"address"}],"name":"unregisterCaller","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"},{"internalType":"address","name":"callee","type":"address"}],"name":"unregisterHandlerCalleeWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610f5f8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063818b47a7116100b8578063bb1010e91161007c578063bb1010e9146102b3578063cb3e64fd146102c6578063d4c68348146102ce578063dbeda307146102e1578063ea750af6146102f4578063f2fde38b1461030157600080fd5b8063818b47a71461024b5780638da5cb5b1461025f57806397c3ccd81461027a578063afb4bfbd1461028d578063b9f14557146102a057600080fd5b806356ea919f116100ff57806356ea919f146101ca57806357fe06e3146101dd5780635ed7ca5b1461021b578063715018a6146102235780637bbf4a3f1461022b57600080fd5b8063020b1e5e1461013c5780631903dcaa146101515780631a21c0bc146101845780631e7a505f146101a45780632ec2c246146101b7575b600080fd5b61014f61014a366004610e29565b610314565b005b61017161015f366004610e5c565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b610171610192366004610e5c565b60016020526000908152604090205481565b61014f6101b2366004610e7e565b6103e0565b61014f6101c5366004610e5c565b61051f565b61014f6101d8366004610e7e565b61065c565b61020b6101eb366004610e29565b600460209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161017b565b61014f61078f565b61014f61082d565b610171610239366004610e5c565b60026020526000908152604090205481565b6101716919195c1c9958d85d195960b21b81565b6000546040516001600160a01b03909116815260200161017b565b61014f610288366004610e5c565b610863565b61014f61029b366004610e5c565b610924565b61014f6102ae366004610e5c565b610a61565b61020b6102c1366004610e5c565b610b24565b61014f610b76565b61020b6102dc366004610e5c565b610c14565b61014f6102ef366004610e29565b610c62565b60055461020b9060ff1681565b61014f61030f366004610e5c565b610d22565b6000546001600160a01b031633146103475760405162461bcd60e51b815260040161033e90610ea8565b60405180910390fd5b6001600160a01b0382161580159061036757506001600160a01b03811615155b6103835760405162461bcd60e51b815260040161033e90610edd565b6001600160a01b03808316600081815260046020908152604080832094861680845294909152808220805460ff19166001179055517f598d5761a6201d31b5e012ce501be35af391c15388051a0dc0aab108a61655f89190a35050565b6000546001600160a01b0316331461040a5760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b0382166104305760405162461bcd60e51b815260040161033e90610edd565b6919195c1c9958d85d195960b21b8114156104815760405162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015260640161033e565b6001600160a01b0382166000908152600160205260409020546919195c1c9958d85d195960b21b14156104c65760405162461bcd60e51b815260040161033e90610f03565b6001600160a01b03821660008181526001602052604090819020839055517fb8142d42f05d95abf0a6570799774d59276e49ea32a04d9a4ec316ea4a6886bc906105139084815260200190565b60405180910390a25050565b6000546001600160a01b031633146105495760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b03811661056f5760405162461bcd60e51b815260040161033e90610edd565b6001600160a01b0381166000908152600160205260409020546105c65760405162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015260640161033e565b6001600160a01b0381166000908152600160205260409020546919195c1c9958d85d195960b21b141561060b5760405162461bcd60e51b815260040161033e90610f03565b6001600160a01b0381166000818152600160205260408082206919195c1c9958d85d195960b21b9055517f75cd6de711483e11488a1cd9b66172abccb9e5c19572f92015a7880f0c8c0edc9190a250565b6000546001600160a01b031633146106865760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b0382166106ac5760405162461bcd60e51b815260040161033e90610edd565b6919195c1c9958d85d195960b21b8114156106fd5760405162461bcd60e51b8152602060048201526011602482015270756e7265676973746572656420696e666f60781b604482015260640161033e565b6001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b14156107425760405162461bcd60e51b815260040161033e90610f03565b6001600160a01b03821660008181526002602052604090819020839055517fbcf9675eb3fde058129f75f75f8b7a48bf7bcc37ec73dfd9b45218d551ce483b906105139084815260200190565b60055460ff16156107cb5760405162461bcd60e51b815260206004820152600660248201526512185b1d195960d21b604482015260640161033e565b6000546001600160a01b031633146107f55760405162461bcd60e51b815260040161033e90610ea8565b6005805460ff191660011790556040517f1ee9080f6b55ca44ce58681c8162e6c1ac1c47e1da791a4a1c1ec6186d8af1f390600090a1565b6000546001600160a01b031633146108575760405162461bcd60e51b815260040161033e90610ea8565b6108616000610dbd565b565b6001600160a01b0381166000908152600360205260409020548190156108b45760405162461bcd60e51b815260206004820152600660248201526510985b9b995960d21b604482015260640161033e565b6000546001600160a01b031633146108de5760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b03821660008181526003602052604080822060019055517f30d1df1214d91553408ca5384ce29e10e5866af8423c628be22860e41fb810059190a25050565b6000546001600160a01b0316331461094e5760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b0381166109745760405162461bcd60e51b815260040161033e90610edd565b6001600160a01b0381166000908152600260205260409020546109cb5760405162461bcd60e51b815260206004820152600f60248201526e3737903932b3b4b9ba3930ba34b7b760891b604482015260640161033e565b6001600160a01b0381166000908152600260205260409020546919195c1c9958d85d195960b21b1415610a105760405162461bcd60e51b815260040161033e90610f03565b6001600160a01b0381166000818152600260205260408082206919195c1c9958d85d195960b21b9055517f5b357470d4ba3884887ef785883313bfabff1620ba84b4a140ddc4536cb2e0b69190a250565b6001600160a01b0381166000908152600360205260409020548190610ab55760405162461bcd60e51b815260206004820152600a602482015269139bdd0818985b9b995960b21b604482015260640161033e565b6000546001600160a01b03163314610adf5760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b038216600081815260036020526040808220829055517f2ab91b53354938415bb6962c4322231cd4cb2c84930f1a4b9abbedc2fe8abe729190a25050565b6001600160a01b03811660009081526002602052604081205415801590610b7057506001600160a01b0382166000908152600260205260409020546919195c1c9958d85d195960b21b14155b92915050565b60055460ff16610bb55760405162461bcd60e51b815260206004820152600a602482015269139bdd081a185b1d195960b21b604482015260640161033e565b6000546001600160a01b03163314610bdf5760405162461bcd60e51b815260040161033e90610ea8565b6005805460ff191690556040517f7c46a5e7a10434913e987d799d659758880ce8e790692e13e66ddfae4cc9afca90600090a1565b6001600160a01b03811660009081526001602052604081205415801590610b705750506001600160a01b03166000908152600160205260409020546919195c1c9958d85d195960b21b141590565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b03821615801590610cac57506001600160a01b03811615155b610cc85760405162461bcd60e51b815260040161033e90610edd565b6001600160a01b03808316600081815260046020908152604080832094861680845294909152808220805460ff19169055517fec5d903ff939ce057caffbf9a008daad77f41ac92e063dc477ca0e348186b66b9190a35050565b6000546001600160a01b03163314610d4c5760405162461bcd60e51b815260040161033e90610ea8565b6001600160a01b038116610db15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161033e565b610dba81610dbd565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610e2457600080fd5b919050565b60008060408385031215610e3c57600080fd5b610e4583610e0d565b9150610e5360208401610e0d565b90509250929050565b600060208284031215610e6e57600080fd5b610e7782610e0d565b9392505050565b60008060408385031215610e9157600080fd5b610e9a83610e0d565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600c908201526b7a65726f206164647265737360a01b604082015260600190565b6020808252600c908201526b1d5b9c9959da5cdd195c995960a21b60408201526060019056fea2646970667358221220a89f34953a26c11859cc83fcf921e21979a8f11abdbfee397d0ac089e515a67b64736f6c634300080a0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.