Contract 0xfD0174784EbCe943bdb8832Ecdea9Fea30e7C7A9

 

TxHash Block Age From To Value [TxFee]
0x4159b6614838417aae34b73fb8ccca0ff10a27c568385e0b0462d48399624bdc(pending)1 hr 25 mins ago0x6cbfe1cb86c69612552e3b0f4dcfb5720cc158d6  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x97cdd8d1fe09d1e29b40abe75670c9fe939c5b6f5d6ed86a87f1891a0ed632e7(pending)1 hr 33 mins ago0x6cbfe1cb86c69612552e3b0f4dcfb5720cc158d6  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x1b1a17c3792907d19674566f10c9aec389d281ad0f1e3d40e8685ebfa67da68b(pending)3 hrs 39 mins ago0xa4494422a6a3eaad0de5f2a2160dfcb2f61c8699  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x676b112226fc8d2e90b9d3da2472045c8741a251b002dbbe17e1c477b3e8d489(pending)3 hrs 42 mins ago0x52397c6bbc2518d29556354771fc7bebc4026318  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x54c2b9295b630c599c6e361f854496cd2d25fb0e1c771543acfc32f9753ff3d5(pending)4 hrs 14 mins ago0x694ccab8fbe06350147fcd3f12d885e34f79ea85  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x7bbc1a0d5b96ca888ec6ee3e81649e1eccf55031ad2790dfa369bc872175d870(pending)4 hrs 41 mins ago0x0f0a3032e45f6e6fb1add52b2da64e03b1ed6e50  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xb665195f4eb6b420be0802c5ab91544fad4f1e712cd728f7b8c38fa8ef82b848(pending)5 hrs 37 mins ago0x85904cce37778083884af3b8deac913895422efa  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x8955d44e910fd933ea834139cb20447a07349d20a67953ca3a559e5a77267571(pending)11 hrs 42 mins ago0x0553d655cf5e453e97abe1b73547e515af640d94  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x84124317933f48f725c55afaa7eb2a626ef876a7ac6381a9b7b314981a573b6b(pending)12 hrs 8 mins ago0x72420a7d969c73c9a4c798935774d8a2ce0af99f  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x2cc0eea90f9627ed185941c1f8d2894431159e60c921b07fd6a118a18a0b4650(pending)12 hrs 53 mins ago0x85904cce37778083884af3b8deac913895422efa  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xe79ee8b91542e07a267287bd4972dd48db93b0d015da39d69388ff5f85684328(pending)13 hrs 41 mins ago0xb9a11e5e686e41d67fc6c8ffa62fed0b7f2bb10c  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x1e4d39d5c6c1fdb917c0cfedb66d8076afdbe2eabf20da9568482d8077990a7d(pending)15 hrs 26 mins ago0x72420a7d969c73c9a4c798935774d8a2ce0af99f  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x3bee08f32e09a214204c5894227ee32c1994017f10ab730d018a1cc8867a943b(pending)16 hrs 36 mins ago0x519ac1cfc90cafa5b94243ad9abfd9f6acb001fb  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x776f2ddee7a5c8991fb997a4fef0dcd818fdb7dfae4bed4c652c34a249c6d91c(pending)17 hrs 11 mins ago0x52397c6bbc2518d29556354771fc7bebc4026318  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xbc93af2b22b07b3e6a01e3cb01e7ac915ac2519ec07031822d1a5175c38901b4(pending)19 hrs 46 mins ago0x85904cce37778083884af3b8deac913895422efa  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xb2621363340ad636c090f031961149e9f3588efdd305a17b4260d7edea2dcacb(pending)22 hrs 9 mins ago0xca730c0bbefb0b4456e91dca158e3fb6a7c387eb  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x1967c3772331cf9db50f1695bbcbcba8d5d5df17aacee0685b797de7e86c48a1(pending)22 hrs 29 mins ago0x0002fd0f1d0708fdf065d3625b2ee83d210d58d9  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x276d91687f306aca447a380f5887548772b165ed210d9c54305be62f988084e9(pending)1 day 1 hr ago0xa4494422a6a3eaad0de5f2a2160dfcb2f61c8699  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x6ea3afcbc4433c5dbd226b6e15144535a085016727e15e9122587ee36e94547f(pending)1 day 2 hrs ago0x0112bd1625557cfcd1b3e98f91165cdca1b26dad  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xb22a27b55fab32e85f6ee68276fbfb03151bb4cea0ba5a980d19e8b1ee70903c(pending)1 day 3 hrs ago0x52397c6bbc2518d29556354771fc7bebc4026318  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xa8300a92e2d9840294c4bb4d0da36d2ff100e725ace992eaec3c966c3da3d583(pending)1 day 3 hrs ago0xce6117cac3c8f79404c56495644e55600072907a  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x8a67165bbd665b6e10bda6923278308f9390c159fe5e9e992e118e61db0457cc(pending)1 day 4 hrs ago0x519ac1cfc90cafa5b94243ad9abfd9f6acb001fb  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xc5a1bea73f4ee2a1182b93164cb2c212f3fea0dc085cf625808fdfc97855a60c(pending)2 days 6 hrs ago0x0be1cdb2ce17a9bc3a8e3645697cbdde86ff1b21  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0x539ae77701ac603d6988cde9813adb94760f93b28ee324332f0d77de036cba47(pending)4 days 17 hrs ago0x36fc840b428064ccfe271d78cf042720fda81291  IN  0xfd0174784ebce943bdb8832ecdea9fea30e7c7a90 Ether(Pending)
0xffbcf2f506c4e9742c9e7a94ed485bfb5e66aedb747023f36aa9030d40f8e7d972264472 mins ago0x5a699a4c1a231015c79ec0b50268aefc64e90e53  IN   MCH: Daily Action 20 Ether0.00024153
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Source Code Verified (Exact Match)
Contract Name: MCHDailyActionV2
Compiler Version: v0.5.2+commit.1df8f40c
Optimization Enabled: No
Runs (Optimizer):  200


Contract Source Code
pragma solidity 0.5.2;

// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.1/contracts/cryptography/ECDSA.sol

/**
 * @title Elliptic curve signature operations
 * @dev Based on https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d
 * TODO Remove this library once solidity supports passing a signature to ecrecover.
 * See https://github.com/ethereum/solidity/issues/864
 */

library ECDSA {
    /**
     * @dev Recover signer address from a message by using their signature
     * @param hash bytes32 message, the hash is the signed message. What is recovered is the signer address.
     * @param signature bytes signature, the signature is generated using web3.eth.sign()
     */
    function recover(bytes32 hash, bytes memory signature) internal pure returns (address) {
        bytes32 r;
        bytes32 s;
        uint8 v;

        // Check the signature length
        if (signature.length != 65) {
            return (address(0));
        }

        // Divide the signature in r, s and v variables
        // ecrecover takes the signature parameters, and the only way to get them
        // currently is to use assembly.
        // solhint-disable-next-line no-inline-assembly
        assembly {
            r := mload(add(signature, 0x20))
            s := mload(add(signature, 0x40))
            v := byte(0, mload(add(signature, 0x60)))
        }

        // Version of signature should be 27 or 28, but 0 and 1 are also possible versions
        if (v < 27) {
            v += 27;
        }

        // If the version is correct return the signer address
        if (v != 27 && v != 28) {
            return (address(0));
        } else {
            return ecrecover(hash, v, r, s);
        }
    }

    /**
     * toEthSignedMessageHash
     * @dev prefix a bytes32 value with "\x19Ethereum Signed Message:"
     * and hash the result
     */
    function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {
        // 32 is the length in bytes of hash,
        // enforced by the type signature above
        return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash));
    }
}

// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.1/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address private _owner;

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

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * @notice Renouncing to ownership will leave the contract without an owner.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.1/contracts/access/Roles.sol

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev give an account access to this role
     */
    function add(Role storage role, address account) internal {
        require(account != address(0));
        require(!has(role, account));

        role.bearer[account] = true;
    }

    /**
     * @dev remove an account's access to this role
     */
    function remove(Role storage role, address account) internal {
        require(account != address(0));
        require(has(role, account));

        role.bearer[account] = false;
    }

    /**
     * @dev check if an account has this role
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0));
        return role.bearer[account];
    }
}

// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.1/contracts/access/roles/PauserRole.sol

contract PauserRole {
    using Roles for Roles.Role;

    event PauserAdded(address indexed account);
    event PauserRemoved(address indexed account);

    Roles.Role private _pausers;

    constructor () internal {
        _addPauser(msg.sender);
    }

    modifier onlyPauser() {
        require(isPauser(msg.sender));
        _;
    }

    function isPauser(address account) public view returns (bool) {
        return _pausers.has(account);
    }

    function addPauser(address account) public onlyPauser {
        _addPauser(account);
    }

    function renouncePauser() public {
        _removePauser(msg.sender);
    }

    function _addPauser(address account) internal {
        _pausers.add(account);
        emit PauserAdded(account);
    }

    function _removePauser(address account) internal {
        _pausers.remove(account);
        emit PauserRemoved(account);
    }
}

// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.1/contracts/lifecycle/Pausable.sol

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is PauserRole {
    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;

    constructor () internal {
        _paused = false;
    }

    /**
     * @return true if the contract is paused, false otherwise.
     */
    function paused() public view returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     */
    modifier whenNotPaused() {
        require(!_paused);
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     */
    modifier whenPaused() {
        require(_paused);
        _;
    }

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() public onlyPauser whenNotPaused {
        _paused = true;
        emit Paused(msg.sender);
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() public onlyPauser whenPaused {
        _paused = false;
        emit Unpaused(msg.sender);
    }
}

// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.1/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
    * @dev Multiplies two unsigned integers, reverts on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b);

        return c;
    }

    /**
    * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
    * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;

        return c;
    }

    /**
    * @dev Adds two unsigned integers, reverts on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

        return c;
    }

    /**
    * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0);
        return a % b;
    }
}

// File: contracts/MCHDailyActionV2.sol

contract MCHDailyActionV2 is Ownable, Pausable {
    using SafeMath for uint256;

    uint256 public term;
    address public validater;
    mapping(address => mapping(address => uint256)) public counter;
    mapping(address => uint256) public latestActionTime;

    event Action(
        address indexed user,
        address indexed referrer,
        uint256 at
    );
    
    constructor() public {
        term = 86400 - 600;
    }
    
    function withdrawEther() external onlyOwner() {
        msg.sender.transfer(address(this).balance);
    }

    function setValidater(address _varidater) external onlyOwner() {
        validater = _varidater;
    }

    function updateTerm(uint256 _term) external onlyOwner() {
        term = _term;
    }

    function requestDailyActionReward(bytes calldata _signature, address _referrer) external whenNotPaused() {
        require(!isInTerm(msg.sender), "this sender got daily reward within term");
        uint256 count = getCount(msg.sender);
        require(validateSig(_signature, count), "invalid signature");
        emit Action(
            msg.sender,
            _referrer,
            block.timestamp
        );
        setCount(msg.sender, count + 1);
        latestActionTime[msg.sender] = block.timestamp;
    }

    function isInTerm(address _sender) public view returns (bool) {
        if (latestActionTime[_sender] == 0) {
            return false;
        } else if (block.timestamp >= latestActionTime[_sender].add(term)) {
            return false;
        }
        return true;
    }

    function getCount(address _sender) public view returns (uint256) {
        if (counter[validater][_sender] == 0) {
            return 1;
        }
        return counter[validater][_sender];
    }

    function setCount(address _sender, uint256 _count) private {
        counter[validater][_sender] = _count;
    }

    function validateSig(bytes memory _signature, uint256 _count) private view returns (bool) {
        require(validater != address(0));
        uint256 hash = uint256(msg.sender) * _count;
        address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(bytes32(hash)), _signature);
        return (signer == validater);
    }

    /* function getAddress(bytes32 hash, bytes memory signature) public pure returns (address) { */
    /*     return ECDSA.recover(ECDSA.toEthSignedMessageHash(hash), signature); */
    /* } */

}

Contract ABI
[{"constant":false,"inputs":[{"name":"_term","type":"uint256"}],"name":"updateTerm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_sender","type":"address"}],"name":"getCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_signature","type":"bytes"},{"name":"_referrer","type":"address"}],"name":"requestDailyActionReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_sender","type":"address"}],"name":"isInTerm","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"term","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_varidater","type":"address"}],"name":"setValidater","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"counter","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"validater","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"latestActionTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"referrer","type":"address"},{"indexed":false,"name":"at","type":"uint256"}],"name":"Action","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

Contract Creation Code
60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3620000e83362000113640100000000026401000000009004565b6000600260006101000a81548160ff02191690831515021790555062014f28600381905550620002d5565b620001378160016200017d6401000000000262001332179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515620001ba57600080fd5b620001d5828262000240640100000000026401000000009004565b151515620001e257600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200027e57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61157280620002e56000396000f3fe608060405234801561001057600080fd5b5060043610610149576000357c0100000000000000000000000000000000000000000000000000000000900480638bf9d979116100ca578063c14e50ce1161008e578063c14e50ce14610447578063c82fe9b11461048b578063d95b18eb14610503578063f2fde38b1461054d578063f73171f11461059157610149565b80638bf9d979146102c85780638da5cb5b146103615780638f32d59b146103ab578063937adbe6146103cd578063a10ffbed1461042957610149565b80636ef8d66d116101115780636ef8d66d1461025c578063715018a6146102665780637362377b1461027057806382dc1ec41461027a5780638456cb59146102be57610149565b806337c351571461014e5780633f4ba83a1461017c57806346fbf68e146101865780634f0cd27b146101e25780635c975abb1461023a575b600080fd5b61017a6004803603602081101561016457600080fd5b81019080803590602001909291905050506105e9565b005b610184610606565b005b6101c86004803603602081101561019c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106b5565b604051808215151515815260200191505060405180910390f35b610224600480360360208110156101f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506106d2565b6040518082815260200191505060405180910390f35b61024261082a565b604051808215151515815260200191505060405180910390f35b610264610841565b005b61026e61084c565b005b61027861091e565b005b6102bc6004803603602081101561029057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610991565b005b6102c66109b1565b005b61035f600480360360408110156102de57600080fd5b81019080803590602001906401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184600183028401116401000000008311171561032f57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a61565b005b610369610c69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103b3610c92565b604051808215151515815260200191505060405180910390f35b61040f600480360360208110156103e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ce9565b604051808215151515815260200191505060405180910390f35b610431610daa565b6040518082815260200191505060405180910390f35b6104896004803603602081101561045d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610db0565b005b6104ed600480360360408110156104a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e07565b6040518082815260200191505060405180910390f35b61050b610e2c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61058f6004803603602081101561056357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e52565b005b6105d3600480360360208110156105a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e71565b6040518082815260200191505060405180910390f35b6105f1610c92565b15156105fc57600080fd5b8060038190555050565b61060f336106b5565b151561061a57600080fd5b600260009054906101000a900460ff16151561063557600080fd5b6000600260006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b60006106cb826001610e8990919063ffffffff16565b9050919050565b60008060056000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156107835760019050610825565b60056000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b6000600260009054906101000a900460ff16905090565b61084a33610f1d565b565b610854610c92565b151561085f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610926610c92565b151561093157600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015801561098e573d6000803e3d6000fd5b50565b61099a336106b5565b15156109a557600080fd5b6109ae81610f77565b50565b6109ba336106b5565b15156109c557600080fd5b600260009054906101000a900460ff161515156109e157600080fd5b6001600260006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b600260009054906101000a900460ff16151515610a7d57600080fd5b610a8633610ce9565b151515610ade576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061151f6028913960400191505060405180910390fd5b6000610ae9336106d2565b9050610b3984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505082610fd1565b1515610bad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f696e76616c6964207369676e617475726500000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f03bee8945a564e58a4243604a426d1168e3654790c5ad819fd04206500e60b36426040518082815260200191505060405180910390a3610c1f33600183016110c1565b42600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610d3b5760009050610da5565b610d8f600354600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b42101515610da05760009050610da5565b600190505b919050565b60035481565b610db8610c92565b1515610dc357600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e5a610c92565b1515610e6557600080fd5b610e6e81611189565b50565b60066020528060005260406000206000915090505481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ec657600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f3181600161128390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b610f8b81600161133290919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561103057600080fd5b6000823373ffffffffffffffffffffffffffffffffffffffff16029050600061106461105e836001026113e2565b8661143a565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16149250505092915050565b8060056000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600080828401905083811015151561117f57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111c557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112bf57600080fd5b6112c98282610e89565b15156112d457600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561136e57600080fd5b6113788282610e89565b15151561138457600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050919050565b600080600080604185511415156114575760009350505050611518565b6020850151925060408501519150606085015160001a9050601b8160ff16101561148257601b810190505b601b8160ff161415801561149a5750601c8160ff1614155b156114ab5760009350505050611518565b60018682858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611508573d6000803e3d6000fd5b5050506020604051035193505050505b9291505056fe746869732073656e64657220676f74206461696c79207265776172642077697468696e207465726da165627a7a72305820146f1cfb6a016889ef3a37330b38dd4c018bd587578235ac0fcbecdf6ca1f1cf0029


   Swarm Source:
bzzr://146f1cfb6a016889ef3a37330b38dd4c018bd587578235ac0fcbecdf6ca1f1cf
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.