Contract 0xda903114c03e0c5c278082001e68dbb8ef01946f 1

 

Contract Overview

Balance:
0.10116 ETH

ETH Value:
$312.11 (@ $3,085.34/ETH)
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2f3f0813a2d25e7200caf6703763360aa0340a6f85acb3afcc3643be9628a345Set Base Fee1522593102023-11-20 11:10:31181 days 20 hrs ago0xccccccebf318949891c87fff4da372923222b826 IN  0xda903114c03e0c5c278082001e68dbb8ef01946f0 ETH0.00003798 0.1
0xa63f69272bd05dee6f40fe800cfd2566664f49bc9c10045e26ef9e4013f1d267Set Base Fee1492565522023-11-11 5:19:49191 days 1 hr ago0xccccccebf318949891c87fff4da372923222b826 IN  0xda903114c03e0c5c278082001e68dbb8ef01946f0 ETH0.00004708 0.1
0xbc67ba8900144c828bc0d05246ed17a00d353b2c2c2974925774eeafd3394cbeSet Base Fee1492096892023-11-11 1:55:59191 days 5 hrs ago0xccccccebf318949891c87fff4da372923222b826 IN  0xda903114c03e0c5c278082001e68dbb8ef01946f0 ETH0.00005738 0.1
0x984ffaaefe6e5f92ee9f1fed7e970ba29bf18da759ee1f74152cd2a7479501e60x608060401490418052023-11-10 13:22:37191 days 17 hrs ago0xccccccebf318949891c87fff4da372923222b826 IN  Create: FeeManager0 ETH0.0008281 0.1
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x750903ae0d0dd8f89c2be013c383737764717811aeb8be0e769ad0493c2417b61665368272024-01-03 3:59:48138 days 3 hrs ago 0xdc6d68979b0315375b12a43493b30cec156cc4a3 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x141755c3a95fc78e97191d1f0bd17d4dfe3b75ddbc69fdb1c6cce4ea5e817c721665368172024-01-03 3:59:45138 days 3 hrs ago 0xfe35b491611e8f83f9b60a465f6fff3cc5234153 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x10c48b5d10707b9c6f74ac2aed6bb02ea2c56eb912b033e24cb01ad9befe01381665368032024-01-03 3:59:42138 days 3 hrs ago 0x86cf97e22a59e4ac173bec2749afedaefa67f150 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x75f4b06da7e55f228d73a3ff0a94df546104bde3de01abdc9d6b0b9b761dce7d1665367932024-01-03 3:59:39138 days 3 hrs ago 0xc51b5f896a485ee8188b9660107a2840e4fad998 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xcd9b71de7c8fe8fdd440660e62700d283cb930390740ff83b5918964b04313581665367802024-01-03 3:59:36138 days 3 hrs ago 0x147bcab24ec811d5527cd471a741fa3953c27fd8 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x62eb064f1d6406b84aa644ce6206eaf3fca0892f036fb2cd60dcb653c3e6a8ce1665367652024-01-03 3:59:32138 days 3 hrs ago 0xd0980277b1ef35f38c688d7fe0574e7c3e447795 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xb47cae4e169530994c9a9555859ecd1f6a8bdaa72deb8aaa9c2c9808c94ca8ae1665367552024-01-03 3:59:30138 days 3 hrs ago 0x5d38a26b1f9a1529dfe436be473d3966ba2d4a36 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xe49d8bf9fb36271271b71dac0bbba43c3baa2f5638af97766b451fe3cb2882bd1665367422024-01-03 3:59:26138 days 3 hrs ago 0x9a18928f6f28ce2a863119a29d292714a0cda6d7 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x71ea37f32a933da01f4d53fc99ce4e844790d102ddb30e607478d53fdab4a6a11665367322024-01-03 3:59:24138 days 3 hrs ago 0x11fa3a081cce425381c7409c672f51b235c3b6b6 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x861ae3e8171988c017b81796ee4be9618c0398100bfe631556de2eea56dd4ce11665367192024-01-03 3:59:21138 days 3 hrs ago 0x1bcbddbc37935cc3c9747ab77bab106ff90a27d1 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x3baacc78540fd03fc8577c6035a28ad123e29662617f25c5f855d2ae616fa8d21665367102024-01-03 3:59:18138 days 3 hrs ago 0xbc7821293cccd8eb72de5edee72147a0425900e1 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x06a1b3f9b0f1ab9cf99f8ca662adc22c8b5f06583242fc9e45485d5422b3c8aa1665366992024-01-03 3:59:16138 days 3 hrs ago 0x496a8333f18ea8d3a9d742b26cd0e59cf548189b 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x6eefbbc3a5d1f95e62f3577d9159c1926c6b0bd7d0bbcb81ab995c0cd7b917361665366882024-01-03 3:59:13138 days 3 hrs ago 0xbaa9308bf99f4b6754ebbb7d5a23f43e357f45eb 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x81b03325695d70af27633b7afe0056f8e556ab2908ede0e931d22caa1d164ccd1665366742024-01-03 3:59:09138 days 3 hrs ago 0x698268ffdf1b60c18376a3ed766813083d8a5fe3 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xaffaf0e07d31556e46e0ba70150cad56414b6bc0816567215c8ec568626a67f31665366602024-01-03 3:59:06138 days 3 hrs ago 0x2743ba1d413be0e89c5c54df0cfb98f82194aca2 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xeaad9c58b35e6cc8c6a88513756331dc6d0ec401d785f803e7e1e0b3021059061665366502024-01-03 3:59:03138 days 3 hrs ago 0xf2e9764a2225fc2d162fa6d0c690baf4233fdf20 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x5df8ede1809f611e005e02c4a23ead5c978ea461bc3ed244bfeda178396b94631665366392024-01-03 3:59:00138 days 3 hrs ago 0x3604f91edf82a8fcced974b9eb6d5d93b44f9bb0 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x181206acb9de05786ab1a9bf7033fd70633ff9417bce219cd336c26499cc70d01665366292024-01-03 3:58:58138 days 3 hrs ago 0xa3be3b35fd46414a2cf65bbfd4ab4c6158f560f4 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xa503ae8bfcb299869833276ea9134097341d934a053968666d15ea001694f31a1665366192024-01-03 3:58:55138 days 3 hrs ago 0x49742f15455da2fe74da202a84a82c6a794a77bd 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x6e1b66c75e1ed1416825a4154fffe7550dc931db3f8c9ad204271d1d5663b9fa1665366082024-01-03 3:58:53138 days 3 hrs ago 0x02e29c454ed2eee5975aeb9dca0f7e3a1ba9a40a 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x3844ad86094497bc760c1df6efe08a2e358ec727b24cc70458ca51e57d1e93b91665365972024-01-03 3:58:50138 days 3 hrs ago 0x295a712dfd9f914d45e0266e5833b1d6ca871787 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x5fa6242a1681b8a22bd0b5e37f43a826f4ccc1583a5189dfab7dfff608f8ba751665365872024-01-03 3:58:47138 days 3 hrs ago 0x80da6233a5b6f7dd07d8e04425ff9a1f4657cd73 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xa9499e7355247bc9949c50f15eeb832ea6bee3a5233f0b144b0e9d5d682388761665365772024-01-03 3:58:45138 days 3 hrs ago 0x45b21311ea50ccd4e1b54e95d8cb020fc32003ba 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0xa811ed2858889813239b25c314373942091081d220b76cd6d0f553230c3f953f1665365662024-01-03 3:58:42138 days 3 hrs ago 0xe39344818a97114fe3259d022c696e441ca537a4 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
0x1df40588faf0cec019d639c7ccfc24550a4184dcd8d24174aa8bd0672a7b46d61665365562024-01-03 3:58:40138 days 3 hrs ago 0xe6f3fda17b7d0497d2fef8a8750de6144b09121e 0xda903114c03e0c5c278082001e68dbb8ef01946f0.0006 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FeeManager

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 999999 runs

Other Settings:
default evmVersion
File 1 of 5 : 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 5 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 3 of 5 : 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 4 of 5 : FeeManager.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

import "../interface/IFeeManager.sol";

contract FeeManager is Ownable, IFeeManager {
    uint256 public override baseFee = 1e16; //0.01ether, todo: check the source cost of a game
    uint256 public override getFactor = 4;
    /// payment=>spender=>amount
    mapping(address => mapping(address => uint256)) public override allowance;
    uint256 public override totalBaseFee;

    receive() external payable {}

    function payBaseFee() public payable {
        require(msg.value == baseFee, "FEE_ERR");
        totalBaseFee += msg.value;
    }

    function withdraw(address payment, uint256 amount) public {
        require(allowance[payment][msg.sender] >= amount, "ERR_ALLOWANCE");
        allowance[payment][msg.sender] -= amount;
        if (payment == address(0)) {
            payable(msg.sender).transfer(amount);
        } else {
            IERC20(payment).transfer(msg.sender, amount);
        }
        emit Withdrawal(payment, msg.sender, amount);
    }

    function calcFee(uint256 amount) public view returns (uint256) {
        return (amount * getFactor) / 100;
    }

    /// dao
    function setBaseFee(uint256 amount) public onlyOwner {
        baseFee = amount;
    }

    function setFactor(uint256 factor) public onlyOwner {
        require(factor < 100, "ERR");
        getFactor = factor;
    }

    function addApprove(address payment, address spender, uint256 amount) public onlyOwner {
        allowance[payment][spender] += amount;
        emit ApproveAdded(payment, spender, amount);
    }

    function reduceApprove(address payment, address spender, uint256 amount) public onlyOwner {
        allowance[payment][spender] -= amount;
        emit ApproveReduced(payment, spender, amount);
    }

    function claimBaseFee() public onlyOwner {
        payable(msg.sender).transfer(totalBaseFee);
        totalBaseFee = 0;
    }
}

File 5 of 5 : IFeeManager.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

interface IFeeManager {
    //********************EVENT*******************************//
    event Withdrawal(address payment, address account, uint256 amount);
    event ApproveAdded(address payment, address account, uint256 amount);
    event ApproveReduced(address payment, address account, uint256 amount);

    //********************FUNCTION*******************************//

    /// @dev pay the baseFee
    /// @notice the msg.value should be equal to baseFee
    function payBaseFee() external payable;

    /// @dev approve payment to spender.
    /// @notice  only allowed by owner.
    function addApprove(address payment, address spender, uint256 amount) external;

    /// @notice  only allowed by owner.
    function reduceApprove(address payment, address spender, uint256 amount) external;

    /// @dev set base fee of create a game, the payment is eth
    /// @notice only owner
    function setBaseFee(uint256 amount) external;

    /// @dev set factory to calc fee
    /// @notice only owner, factor<=100
    function setFactor(uint256 factor) external;

    /// @dev withdraw if have enough allowance
    function withdraw(address payment, uint256 amount) external;

    /// @dev calc fee
    function calcFee(uint256 amount) external view returns (uint256);

    function baseFee() external view returns (uint256);

    function getFactor() external view returns (uint256);

    function allowance(address payment, address spender) external view returns (uint256);

    function totalBaseFee() external view returns (uint256);
}

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

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"payment","type":"address"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ApproveAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"payment","type":"address"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ApproveReduced","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":false,"internalType":"address","name":"payment","type":"address"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawal","type":"event"},{"inputs":[{"internalType":"address","name":"payment","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"calcFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimBaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getFactor","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":"payBaseFee","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"payment","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"reduceApprove","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"factor","type":"uint256"}],"name":"setFactor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payment","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052662386f26fc10000600155600460025534801561002057600080fd5b5061002a3361002f565b61007f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610e418061008e6000396000f3fe6080604052600436106100ec5760003560e01c80639112c9b61161008a578063dd62ed3e11610059578063dd62ed3e14610236578063e450cf261461026e578063f2fde38b1461028e578063f3fef3a3146102ae57600080fd5b80639112c9b6146101e357806398866d0d146101f9578063a3211cf01461020e578063c3d7781c1461022e57600080fd5b8063715018a6116100c6578063715018a61461015957806375dc7d8c1461016e578063817e9d311461018e5780638da5cb5b146101ae57600080fd5b806346860698146100f85780635184cc431461011a5780636ef25c3a1461014357600080fd5b366100f357005b600080fd5b34801561010457600080fd5b50610118610113366004610c3f565b6102ce565b005b34801561012657600080fd5b5061013060025481565b6040519081526020015b60405180910390f35b34801561014f57600080fd5b5061013060015481565b34801561016557600080fd5b50610118610359565b34801561017a57600080fd5b50610130610189366004610c3f565b6103e6565b34801561019a57600080fd5b506101186101a9366004610c3f565b610408565b3480156101ba57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013a565b3480156101ef57600080fd5b5061013060045481565b34801561020557600080fd5b506101186104f8565b34801561021a57600080fd5b50610118610229366004610c81565b6105af565b6101186106d7565b34801561024257600080fd5b50610130610251366004610cbd565b600360209081526000928352604080842090915290825290205481565b34801561027a57600080fd5b50610118610289366004610c81565b61075b565b34801561029a57600080fd5b506101186102a9366004610cf0565b61087a565b3480156102ba57600080fd5b506101186102c9366004610d12565b6109aa565b60005473ffffffffffffffffffffffffffffffffffffffff163314610354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600155565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b6103e46000610bca565b565b60006064600254836103f89190610d6b565b6104029190610da8565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b606481106104f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4552520000000000000000000000000000000000000000000000000000000000604482015260640161034b565b600255565b60005473ffffffffffffffffffffffffffffffffffffffff163314610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b600454604051339180156108fc02916000818181858888f193505050501580156105a7573d6000803e3d6000fd5b506000600455565b60005473ffffffffffffffffffffffffffffffffffffffff163314610630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260036020908152604080832093861683529290529081208054839290610674908490610de3565b90915550506040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527fab3cbb795e9a709a196e748a0542c29fcff34f8f4a5c93c793cfb95dca2c33d2906060015b60405180910390a1505050565b6001543414610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4645455f45525200000000000000000000000000000000000000000000000000604482015260640161034b565b34600460008282546107549190610dfa565b9091555050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260036020908152604080832093861683529290529081208054839290610820908490610dfa565b90915550506040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f8f3c38209f88c9b64ac653f62033a65578f49c51fef150e5d03b5df8950c29e8906060016106ca565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff811661099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161034b565b6109a781610bca565b50565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360209081526040808320338452909152902054811115610a44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4552525f414c4c4f57414e434500000000000000000000000000000000000000604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020908152604080832033845290915281208054839290610a84908490610de3565b909155505073ffffffffffffffffffffffffffffffffffffffff8216610ad757604051339082156108fc029083906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b50610b70565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb906044016020604051808303816000875af1158015610b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6e9190610e12565b505b6040805173ffffffffffffffffffffffffffffffffffffffff841681523360208201529081018290527f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63989060600160405180910390a15050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610c5157600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c7c57600080fd5b919050565b600080600060608486031215610c9657600080fd5b610c9f84610c58565b9250610cad60208501610c58565b9150604084013590509250925092565b60008060408385031215610cd057600080fd5b610cd983610c58565b9150610ce760208401610c58565b90509250929050565b600060208284031215610d0257600080fd5b610d0b82610c58565b9392505050565b60008060408385031215610d2557600080fd5b610d2e83610c58565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610da357610da3610d3c565b500290565b600082610dde577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082821015610df557610df5610d3c565b500390565b60008219821115610e0d57610e0d610d3c565b500190565b600060208284031215610e2457600080fd5b81518015158114610d0b57600080fdfea164736f6c634300080d000a

Deployed Bytecode

0x6080604052600436106100ec5760003560e01c80639112c9b61161008a578063dd62ed3e11610059578063dd62ed3e14610236578063e450cf261461026e578063f2fde38b1461028e578063f3fef3a3146102ae57600080fd5b80639112c9b6146101e357806398866d0d146101f9578063a3211cf01461020e578063c3d7781c1461022e57600080fd5b8063715018a6116100c6578063715018a61461015957806375dc7d8c1461016e578063817e9d311461018e5780638da5cb5b146101ae57600080fd5b806346860698146100f85780635184cc431461011a5780636ef25c3a1461014357600080fd5b366100f357005b600080fd5b34801561010457600080fd5b50610118610113366004610c3f565b6102ce565b005b34801561012657600080fd5b5061013060025481565b6040519081526020015b60405180910390f35b34801561014f57600080fd5b5061013060015481565b34801561016557600080fd5b50610118610359565b34801561017a57600080fd5b50610130610189366004610c3f565b6103e6565b34801561019a57600080fd5b506101186101a9366004610c3f565b610408565b3480156101ba57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013a565b3480156101ef57600080fd5b5061013060045481565b34801561020557600080fd5b506101186104f8565b34801561021a57600080fd5b50610118610229366004610c81565b6105af565b6101186106d7565b34801561024257600080fd5b50610130610251366004610cbd565b600360209081526000928352604080842090915290825290205481565b34801561027a57600080fd5b50610118610289366004610c81565b61075b565b34801561029a57600080fd5b506101186102a9366004610cf0565b61087a565b3480156102ba57600080fd5b506101186102c9366004610d12565b6109aa565b60005473ffffffffffffffffffffffffffffffffffffffff163314610354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600155565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b6103e46000610bca565b565b60006064600254836103f89190610d6b565b6104029190610da8565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b606481106104f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4552520000000000000000000000000000000000000000000000000000000000604482015260640161034b565b600255565b60005473ffffffffffffffffffffffffffffffffffffffff163314610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b600454604051339180156108fc02916000818181858888f193505050501580156105a7573d6000803e3d6000fd5b506000600455565b60005473ffffffffffffffffffffffffffffffffffffffff163314610630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260036020908152604080832093861683529290529081208054839290610674908490610de3565b90915550506040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527fab3cbb795e9a709a196e748a0542c29fcff34f8f4a5c93c793cfb95dca2c33d2906060015b60405180910390a1505050565b6001543414610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f4645455f45525200000000000000000000000000000000000000000000000000604482015260640161034b565b34600460008282546107549190610dfa565b9091555050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146107dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260036020908152604080832093861683529290529081208054839290610820908490610dfa565b90915550506040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527f8f3c38209f88c9b64ac653f62033a65578f49c51fef150e5d03b5df8950c29e8906060016106ca565b60005473ffffffffffffffffffffffffffffffffffffffff1633146108fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff811661099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161034b565b6109a781610bca565b50565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360209081526040808320338452909152902054811115610a44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4552525f414c4c4f57414e434500000000000000000000000000000000000000604482015260640161034b565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020908152604080832033845290915281208054839290610a84908490610de3565b909155505073ffffffffffffffffffffffffffffffffffffffff8216610ad757604051339082156108fc029083906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b50610b70565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810182905273ffffffffffffffffffffffffffffffffffffffff83169063a9059cbb906044016020604051808303816000875af1158015610b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6e9190610e12565b505b6040805173ffffffffffffffffffffffffffffffffffffffff841681523360208201529081018290527f2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b63989060600160405180910390a15050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215610c5157600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610c7c57600080fd5b919050565b600080600060608486031215610c9657600080fd5b610c9f84610c58565b9250610cad60208501610c58565b9150604084013590509250925092565b60008060408385031215610cd057600080fd5b610cd983610c58565b9150610ce760208401610c58565b90509250929050565b600060208284031215610d0257600080fd5b610d0b82610c58565b9392505050565b60008060408385031215610d2557600080fd5b610d2e83610c58565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615610da357610da3610d3c565b500290565b600082610dde577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082821015610df557610df5610d3c565b500390565b60008219821115610e0d57610e0d610d3c565b500190565b600060208284031215610e2457600080fd5b81518015158114610d0b57600080fdfea164736f6c634300080d000a

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