Contract 0xce5559f046d8c01192e15f55063906f8d1c14790

 
Ad
Ad
Txn Hash Method
Block
From
To
Value
0x8a82c8cf3e46bbd6d3f6f6bb6056fc2f95ba33d9a73583510197aa59cd5fb013Transfer121748502021-04-04 18:44:2671 days 7 hrs ago0xfa45ee438fbbe5d1908d11244b6842f6ff31a70f IN  Aha Knowledge: AHT Token0 Ether0.00354245595
0x8e0c441eff2f8100ba270ad1c8a043bed0b35a360ff3ecb694d439be235c950aTransfer121539112021-04-01 13:39:4474 days 12 hrs ago0x239f89b46fb3e17b0e95cdff6edf1fd41dd8a9f6 IN  Aha Knowledge: AHT Token0 Ether0.006788782182
0xbf2bf03104079105fe11bb7a25286905b352714bd986aa745d9fdfd57cade8faTransfer120735592021-03-20 4:33:2086 days 22 hrs ago0xc394311bba59e687d095d74e026f43362550fd26 IN  Aha Knowledge: AHT Token0 Ether0.0037277100
0xdfc8732a2d1b947f5dde86b358f1a295b1474a0a238d07d8501173d4a406bc8fTransfer120300912021-03-13 12:03:2293 days 14 hrs ago0x193a4a5288ba4fadb7450125849c44804dced363 IN  Aha Knowledge: AHT Token0 Ether0.006301841054169.000001459
0xec3df385f133c7081b3480f7d1760e1cd24bb29110bab34d017648c3c2d6fda0Transfer116140742021-01-08 12:23:39157 days 14 hrs ago0x52009163e59cf33e67fe234fd8c065cee05502ad IN  Aha Knowledge: AHT Token0 Ether0.00290854278
0xfdedc15c6c0dcee8002329244c1bc0bf928409b6f7cfaf17a97b1ae6255697e5Transfer116007712021-01-06 11:37:06159 days 14 hrs ago0xa9ea4945b84ea9f833d1da90efc2a9e5f0be98ec IN  Aha Knowledge: AHT Token0 Ether0.003878056104
0xbb79762c2430b8f979a248b1f9ca72d37c6c450a098f295b721cf6cf70142856Transfer115987402021-01-06 4:06:48159 days 22 hrs ago0xdb877a2379994172099b7c75683e5e0f6bb02616 IN  Aha Knowledge: AHT Token0 Ether0.00249836305467.000001459
0xbdc036a925ce6e67a212028749b8561865abfc6dde8b5685f09873aee71b21ecTransfer107225282020-08-24 10:24:55294 days 16 hrs ago0xa0d0c06533336595a8d05025cfe94248680541ac IN  Aha Knowledge: AHT Token0 Ether0.005522985919105.600006103
0xe582aaff87c95c4cc4b48a5513c858c42e620fd5c3141bf967dbe89e1d044e4fTransfer106821482020-08-18 5:41:41300 days 20 hrs ago0x4e385f5e2c5059d1f70c5737c962cc381a9ee906 IN  Aha Knowledge: AHT Token0 Ether0.003767401101
0x126c8272915a44cfde9c0db4ca811b3b9e3ae523adbdcc3ddec3657eb1b918a1Transfer105973172020-08-05 3:23:00313 days 23 hrs ago0x995749b8b79c316ee33299488610e0354cc40ca7 IN  Aha Knowledge: AHT Token0 Ether0.00123053733
0x06c3b5af333d3398c7fc17392fb1a065c6101ecdfbf0b2a19e8e2759ca20e7a0Transfer105578902020-07-30 1:01:47320 days 1 hr ago0xa0d0c06533336595a8d05025cfe94248680541ac IN  Aha Knowledge: AHT Token0 Ether0.00307529895958.800003051
0xcb785c3fdc150c78ccf6346b901b003a79cd5c2c1a54ee9076c915b8945308c8Transfer105578732020-07-30 0:58:50320 days 1 hr ago0xbd45ebb1a8e4a7886da86cc591c99635436c5dc7 IN  Aha Knowledge: AHT Token0 Ether0.00251700757867.5000021
0x74b2ba7407e1f9145c5441e11eab034428bb90e7a39b4416ab7d4215bdfaee3fTransfer105513032020-07-29 0:43:01321 days 1 hr ago0xa0d0c06533336595a8d05025cfe94248680541ac IN  Aha Knowledge: AHT Token0 Ether0.00276149295952.800003051
0xcf336fa6fe5f4c419c248d5898edcec2da28a0e8a2ef8dbfbcb94f3ef9040e7cTransfer105489052020-07-28 15:41:50321 days 10 hrs ago0xdeba4d1127dabe1cdf8666c9db586743985997e4 IN  Aha Knowledge: AHT Token0 Ether0.00283305276
0x8eb965ed7f742d4f917790f12dff1a02e6f287e402fa971201d6890c5c84315fTransfer105447412020-07-28 0:22:02322 days 2 hrs ago0x900500edfae3f0fea4fa2958eb824442b0df3529 IN  Aha Knowledge: AHT Token0 Ether0.0014915640
0x1b791abbb6cd5be830cb6ec2a7c33caceb238f6b73668862643f1746493bc032Transfer105426642020-07-27 16:35:31322 days 10 hrs ago0xf67202e295b9da1be9c42b82a633509f85a88828 IN  Aha Knowledge: AHT Token0 Ether0.003953906106
0xbfd5ad1ab882679d19ac209c88692b8260ace0ae52767191267d8ec29c15ae30Transfer104321192020-07-10 13:49:54339 days 12 hrs ago0xb8b479bfdbffe0c6605fc536582323906880bc0a IN  Aha Knowledge: AHT Token0 Ether0.00179044848
0x5cb2f8269e870042d23d730945c69341ed92ecbbe0d1ad851a0207c8f6869e4aTransfer104172762020-07-08 6:35:23341 days 20 hrs agoBitberry IN  Aha Knowledge: AHT Token0 Ether0.0012948558
0x9c17b3cd4aa63384bb44a668e20d13669160c48216f21423bb264f464fe3908cTransfer104172262020-07-08 6:25:08341 days 20 hrs agoBitberry IN  Aha Knowledge: AHT Token0 Ether0.0016706958
0xb830813594759f7e7079682f39c7aa049cb3750f97267e2822b809f827810210Transfer104171582020-07-08 6:12:45341 days 20 hrs agoBitberry IN  Aha Knowledge: AHT Token0 Ether0.00127650758955.15501165
0x67f31c19e267d903890a25eb43db7f33ba5b98fa2388adb93918dcbced0ea157Transfer104171052020-07-08 5:58:44341 days 20 hrs agoBitberry IN  Aha Knowledge: AHT Token0 Ether0.00277258953
0x1f038f340a3cc8e0ea05a6faa8c08359b85a4bbd33ec171eb9b4c4c1c7f6c057Transfer103840422020-07-03 3:27:06346 days 23 hrs ago0x0cd448a41873b456f1752dd7fd507bafdc13f083 IN  Aha Knowledge: AHT Token0 Ether0.00145473939
0xee26ed8ee8d7729b32cb313c07f0c411cb759f955c1936f2180c88a492775788Transfer103188402020-06-23 0:34:03357 days 2 hrs ago0xc7638f78f7636ef1c92cf12072f1d127e7ced2c5 IN  Aha Knowledge: AHT Token0 Ether0.00091434141
0x414e169c9e33cd6803003fdc273f25725393486cc4aa630f1bf8c0f9d1f76c6dTransfer103187562020-06-23 0:15:07357 days 2 hrs ago0xa0d0c06533336595a8d05025cfe94248680541ac IN  Aha Knowledge: AHT Token0 Ether0.00188283636
0x1125c1f9121b2fc8ac2db843732d79fd89367a7b0c36e1734d871c464802e4b1Transfer102885232020-06-18 8:01:56361 days 18 hrs ago0x17a1b7626e74270110a8d0d056d879be040ca2ab IN  Aha Knowledge: AHT Token0 Ether0.00138013705437.000001459
[ Download CSV Export 

OVERVIEW

Aha Knowledge Token aims to reward users who ask/answer questions in Aha knowledge platform.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AhaToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-11-23
*/

pragma solidity ^0.4.24;

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address who) external view returns (uint256);

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

    function transfer(address to, uint256 value) external returns (bool);

    function approve(address spender, uint256 value) external returns (bool);

    function transferFrom(address from, address to, uint256 value) external returns (bool);

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 value
    );

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {

    /**
     * @dev Multiplies two numbers, 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 numbers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0); // Solidity only automatically asserts when dividing by 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 numbers, 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 numbers, 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 numbers 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;
    }
}

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];
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(string name, string symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

    /**
     * @return the name of the token.
     */
    function name() public view returns(string) {
        return _name;
    }

    /**
      * @return the symbol of the token.
      */
    function symbol() public view returns(string) {
        return _symbol;
    }

    /**
      * @return the number of decimals of the token.
      */
    function decimals() public view returns(uint8) {
        return _decimals;
    }
}

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowed;

    uint256 private _totalSupply;

    /**
     * @dev Total number of tokens in existence
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param owner The address to query the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address owner) public view returns (uint256) {
        return _balances[owner];
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param owner address The address which owns the funds.
     * @param spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(
        address owner,
        address spender
    )
        public
        view
        returns (uint256)
    {
        return _allowed[owner][spender];
    }

    /**
     * @dev Transfer token for a specified address
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function transfer(address to, uint256 value) public returns (bool) {
        _transfer(msg.sender, to, value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * To prevent attack vectors like the one described in
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729,
     * msg.sender must set the allowance first to 0 before setting it to another value for the same spender.
     * This enforces token holders to call approve(spedner, 0) before call it again with positive integer value.
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value) public returns (bool) {
        require(spender != address(0));
        require(value == 0 || _allowed[msg.sender][spender] == 0);

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Transfer tokens from one address to another
     * @param from address The address which you want to send tokens from
     * @param to address The address which you want to transfer to
     * @param value uint256 the amount of tokens to be transferred
     */
    function transferFrom(
        address from,
        address to,
        uint256 value
    )
        public
        returns (bool)
    {
        require(value <= _allowed[from][msg.sender]);

        _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
        _transfer(from, to, value);
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed_[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param spender The address which will spend the funds.
     * @param addedValue The amount of tokens to increase the allowance by.
     */
    function increaseAllowance(
        address spender,
        uint256 addedValue
    )
        public
        returns (bool)
    {
        require(spender != address(0));

        _allowed[msg.sender][spender] = (
        _allowed[msg.sender][spender].add(addedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed_[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param spender The address which will spend the funds.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    )
        public
        returns (bool)
    {
        require(spender != address(0));

        _allowed[msg.sender][spender] = (
        _allowed[msg.sender][spender].sub(subtractedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    /**
     * @dev Transfer token for a specified addresses
     * @param from The address to transfer from.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function _transfer(address from, address to, uint256 value) internal {
        require(value <= _balances[from]);
        require(to != address(0));  // to burn tokens, must call 'burn' method instead.

        _balances[from] = _balances[from].sub(value);
        _balances[to] = _balances[to].add(value);
        emit Transfer(from, to, value);
    }

    /**
     * @dev Internal function that mints an amount of the token and assigns it to
     * an account. This encapsulates the modification of balances such that the
     * proper events are emitted.
     * @param account The account that will receive the created tokens.
     * @param value The amount that will be created.
     */
    function _mint(address account, uint256 value) internal {
        require(account != address(0));

        _totalSupply = _totalSupply.add(value);
        _balances[account] = _balances[account].add(value);
        emit Transfer(address(0), account, value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account.
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burn(address account, uint256 value) internal {
        require(account != 0);
        require(value <= _balances[account]);

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account, deducting from the sender's allowance for said account. Uses the
     * internal burn function.
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burnFrom(address account, uint256 value) internal {
        require(value <= _allowed[account][msg.sender]);

        // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
        // this function needs to emit an event with the updated approval.
        _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(
        value);
        _burn(account, value);
    }
}

contract BurnerRole {
    using Roles for Roles.Role;

    event BurnerAdded(address indexed account);
    event BurnerRemoved(address indexed account);

    Roles.Role private burners;

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

    modifier onlyBurner() {
        require(isBurner(msg.sender));
        _;
    }

    function isBurner(address account) public view returns (bool) {
        return burners.has(account);
    }

    function addBurner(address account) public onlyBurner {
        _addBurner(account);
    }

    function renounceBurner() public {
        _removeBurner(msg.sender);
    }

    function _addBurner(address account) internal {
        burners.add(account);
        emit BurnerAdded(account);
    }

    function _removeBurner(address account) internal {
        burners.remove(account);
        emit BurnerRemoved(account);
    }
}

contract ERC20Burnable is ERC20, BurnerRole {

    /**
     * @dev Burns a specific amount of tokens of burner.
     * @param value The amount of token to be burned.
     */
    function burn(uint256 value) public onlyBurner {
        _burn(msg.sender, value);
    }

    /**
     * @dev Burns a specific amount of tokens from the target address and decrements allowance
     * @param from address The address which you want to send tokens from
     * @param value uint256 The amount of token to be burned
     */
    function burnFrom(address from, uint256 value) public onlyBurner {
        _burnFrom(from, value);
    }
}

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 _amount, address _token, bytes _data) public;
}


/**
 * @title Aha Knowledge Token based on ERC20 token
 * @dev Aha token is burnable for burners only
 */
contract AhaToken is ERC20, ERC20Detailed, ERC20Burnable {
    uint256 public constant INITIAL_SUPPLY = 15 * (10 ** 9);

    constructor() public ERC20Detailed("Aha Knowledge Token", "AHT", 18) {
        _mint(msg.sender, INITIAL_SUPPLY * (10 ** uint256(decimals())));
    }

    function () public payable {
        revert();
    }

    /** 
     * @notice `msg.sender` approves `_spender` to send `_amount` tokens on
     * its behalf, and then a function is triggered in the contract that is
     * being approved, `_spender`. This allows users to use their tokens to
     * interact with contracts in one function call instead of two
     * @param _spender The address of the contract able to transfer the tokens
     * @param _amount The amount of tokens to be approved for transfer
     * @return True if the function call was successful
     */
    function approveAndCall(address _spender, uint256 _amount, bytes _extraData) public returns (bool success) {
        require(approve(_spender, _amount));

        ApproveAndCallFallBack(_spender).receiveApproval(
            msg.sender,
            _amount,
            this,
            _extraData
        );

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isBurner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceBurner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addBurner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"BurnerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"BurnerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040523480156200001157600080fd5b506040805190810160405280601381526020017f416861204b6e6f776c6564676520546f6b656e000000000000000000000000008152506040805190810160405280600381526020017f41485400000000000000000000000000000000000000000000000000000000008152506012826003908051906020019062000098929190620004a0565b508160049080519060200190620000b1929190620004a0565b5080600560006101000a81548160ff021916908360ff160217905550505050620000ea3362000130640100000000026401000000009004565b6200012a33620001086200019a640100000000026401000000009004565b60ff16600a0a64037e11d60002620001b1640100000000026401000000009004565b6200054f565b62000154816006620003266401000000000262001b2e179091906401000000009004565b8073ffffffffffffffffffffffffffffffffffffffff167f86e57fd2b90329052917118de7c3f521f400d439b9650deaa906a25b08b9456060405160405180910390a250565b6000600560009054906101000a900460ff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515620001ee57600080fd5b6200021381600254620003e964010000000002620015e3179091906401000000009004565b6002819055506200027a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620003e964010000000002620015e3179091906401000000009004565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156200036357600080fd5b6200037e82826200040b640100000000026401000000009004565b1515156200038b57600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008082840190508381101515156200040157600080fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156200044957600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004e357805160ff191683800117855562000514565b8280016001018555821562000514579182015b8281111562000513578251825591602001919060010190620004f6565b5b50905062000523919062000527565b5090565b6200054c91905b80821115620005485760008160009055506001016200052e565b5090565b90565b611c0a806200055f6000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610101578063095ea7b31461019157806318160ddd146101f657806323b872dd146102215780632ff2e9dc146102a6578063313ce567146102d1578063395093511461030257806342966c68146103675780634334614a1461039457806370a08231146103ef57806379cc67901461044657806395d89b4114610493578063a457c2d714610523578063a9059cbb14610588578063cae9ca51146105ed578063dd62ed3e14610698578063e9ec9e8b1461070f578063f44637ba14610726575b600080fd5b34801561010d57600080fd5b50610116610769565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015657808201518184015260208101905061013b565b50505050905090810190601f1680156101835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019d57600080fd5b506101dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061080b565b604051808215151515815260200191505060405180910390f35b34801561020257600080fd5b5061020b6109ce565b6040518082815260200191505060405180910390f35b34801561022d57600080fd5b5061028c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109d8565b604051808215151515815260200191505060405180910390f35b3480156102b257600080fd5b506102bb610b8a565b6040518082815260200191505060405180910390f35b3480156102dd57600080fd5b506102e6610b93565b604051808260ff1660ff16815260200191505060405180910390f35b34801561030e57600080fd5b5061034d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610baa565b604051808215151515815260200191505060405180910390f35b34801561037357600080fd5b5061039260048036038101908080359060200190929190505050610de1565b005b3480156103a057600080fd5b506103d5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e02565b604051808215151515815260200191505060405180910390f35b3480156103fb57600080fd5b50610430600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e1f565b6040518082815260200191505060405180910390f35b34801561045257600080fd5b50610491600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e67565b005b34801561049f57600080fd5b506104a8610e89565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e85780820151818401526020810190506104cd565b50505050905090810190601f1680156105155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052f57600080fd5b5061056e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f2b565b604051808215151515815260200191505060405180910390f35b34801561059457600080fd5b506105d3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611162565b604051808215151515815260200191505060405180910390f35b3480156105f957600080fd5b5061067e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611179565b604051808215151515815260200191505060405180910390f35b3480156106a457600080fd5b506106f9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112f7565b6040518082815260200191505060405180910390f35b34801561071b57600080fd5b5061072461137e565b005b34801561073257600080fd5b50610767600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611389565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108015780601f106107d657610100808354040283529160200191610801565b820191906000526020600020905b8154815290600101906020018083116107e457829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561084857600080fd5b60008214806108d357506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15156108de57600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600254905090565b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610a6557600080fd5b610af482600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b7f8484846113ca565b600190509392505050565b64037e11d60081565b6000600560009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610be757600080fd5b610c7682600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b610dea33610e02565b1515610df557600080fd5b610dff3382611604565b50565b6000610e1882600661178f90919063ffffffff16565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e7033610e02565b1515610e7b57600080fd5b610e858282611823565b5050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f215780601f10610ef657610100808354040283529160200191610f21565b820191906000526020600020905b815481529060010190602001808311610f0457829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610f6857600080fd5b610ff782600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a990919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600061116f3384846113ca565b6001905092915050565b6000611185848461080b565b151561119057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561128557808201518184015260208101905061126a565b50505050905090810190601f1680156112b25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156112d457600080fd5b505af11580156112e8573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611387336119cb565b565b61139233610e02565b151561139d57600080fd5b6113a681611a25565b50565b6000808383111515156113bb57600080fd5b82840390508091505092915050565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561141757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561145357600080fd5b6114a4816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a990919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611537816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60008082840190508381101515156115fa57600080fd5b8091505092915050565b60008273ffffffffffffffffffffffffffffffffffffffff161415151561162a57600080fd5b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115151561167757600080fd5b61168c816002546113a990919063ffffffff16565b6002819055506116e3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a990919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156117cc57600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111515156118ae57600080fd5b61193d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113a990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119c78282611604565b5050565b6119df816006611a7f90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f90eabbc0c667db2a5029ed6bc0f5fe9f356d11684a4ca9fcfaec0e53f12b9c8e60405160405180910390a250565b611a39816006611b2e90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f86e57fd2b90329052917118de7c3f521f400d439b9650deaa906a25b08b9456060405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611abb57600080fd5b611ac5828261178f565b1515611ad057600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b6a57600080fd5b611b74828261178f565b151515611b8057600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505600a165627a7a723058203e89207590987fb28063949f4b7b677d650fc4c9749bfbdee8d159b560af848e0029

Swarm Source

bzzr://3e89207590987fb28063949f4b7b677d650fc4c9749bfbdee8d159b560af848e
Block Transaction Difficulty Gas Used Reward
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.