MATIC Price: $0.356391 (-20.98%)
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer602215252024-08-05 11:54:0838 secs ago1722858848IN
0x20a81D88...2144B05F9
0 MATIC0.0049423787.44926412
Transfer602215112024-08-05 11:53:381 min ago1722858818IN
0x20a81D88...2144B05F9
0 MATIC0.0051524991.16710985
Transfer602214972024-08-05 11:53:081 min ago1722858788IN
0x20a81D88...2144B05F9
0 MATIC0.0055673498.50742941
Transfer602214932024-08-05 11:53:001 min ago1722858780IN
0x20a81D88...2144B05F9
0 MATIC0.00566997100.32333427
Transfer602214862024-08-05 11:52:442 mins ago1722858764IN
0x20a81D88...2144B05F9
0 MATIC0.0049040886.77182065
Transfer602214672024-08-05 11:52:042 mins ago1722858724IN
0x20a81D88...2144B05F9
0 MATIC0.0049632987.81955075
Transfer602214642024-08-05 11:51:582 mins ago1722858718IN
0x20a81D88...2144B05F9
0 MATIC0.0048482885.7845603
Transfer602214612024-08-05 11:51:522 mins ago1722858712IN
0x20a81D88...2144B05F9
0 MATIC0.0050732489.76500998
Transfer602214382024-08-05 11:51:023 mins ago1722858662IN
0x20a81D88...2144B05F9
0 MATIC0.00566731100.27633057
Transfer602214362024-08-05 11:50:583 mins ago1722858658IN
0x20a81D88...2144B05F9
0 MATIC0.00581734102.93088528
Transfer602214302024-08-05 11:50:464 mins ago1722858646IN
0x20a81D88...2144B05F9
0 MATIC0.00623282110.2823118
Transfer602214282024-08-05 11:50:424 mins ago1722858642IN
0x20a81D88...2144B05F9
0 MATIC0.00626375110.87673037
Transfer602214112024-08-05 11:50:064 mins ago1722858606IN
0x20a81D88...2144B05F9
0 MATIC0.00631456111.72865882
Transfer602214092024-08-05 11:50:024 mins ago1722858602IN
0x20a81D88...2144B05F9
0 MATIC0.00649364114.89719356
Transfer602213942024-08-05 11:49:305 mins ago1722858570IN
0x20a81D88...2144B05F9
0 MATIC0.0073821130.61745279
Transfer602213862024-08-05 11:49:125 mins ago1722858552IN
0x20a81D88...2144B05F9
0 MATIC0.00788973139.59929432
Transfer602213792024-08-05 11:48:585 mins ago1722858538IN
0x20a81D88...2144B05F9
0 MATIC0.00836767148.05588527
Transfer602213642024-08-05 11:48:266 mins ago1722858506IN
0x20a81D88...2144B05F9
0 MATIC0.00921373163.0259342
Transfer602213612024-08-05 11:48:206 mins ago1722858500IN
0x20a81D88...2144B05F9
0 MATIC0.0093565165.55210602
Transfer602213612024-08-05 11:48:206 mins ago1722858500IN
0x20a81D88...2144B05F9
0 MATIC0.00960649169.97533839
Transfer602213502024-08-05 11:47:566 mins ago1722858476IN
0x20a81D88...2144B05F9
0 MATIC0.01023019181.01084829
Transfer602213362024-08-05 11:47:267 mins ago1722858446IN
0x20a81D88...2144B05F9
0 MATIC0.01137021201.18225556
Transfer602213332024-08-05 11:47:207 mins ago1722858440IN
0x20a81D88...2144B05F9
0 MATIC0.01105501195.60507001
Transfer602213292024-08-05 11:47:127 mins ago1722858432IN
0x20a81D88...2144B05F9
0 MATIC0.01127003199.40964435
Transfer602213212024-08-05 11:46:547 mins ago1722858414IN
0x20a81D88...2144B05F9
0 MATIC0.01060088187.56980685
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TOKEN

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2024-03-09
*/

pragma solidity ^0.4.22;

library SafeMath {

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws 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;       
    }       

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}


contract Ownable {
    address public owner;

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

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        owner = _newOwner;
    }
}

contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;

  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  modifier whenPaused() {
    require(paused);
    _;
  }

  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

contract ERC20 {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function allowance(address owner, address spender) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);

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


interface TokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; 
}


contract TOKEN is ERC20, Ownable, Pausable {

    uint128 internal MONTH = 30 * 24 * 3600; // 1 month

    using SafeMath for uint256;

    struct LockupInfo {
        uint256 releaseTime;
        uint256 unlockAmountPerMonth;
        uint256 lockupBalance;
    }

    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 internal initialSupply;
    uint256 internal totalSupply_;

    mapping(address => uint256) internal balances;
    mapping(address => bool) internal locks;
    mapping(address => mapping(address => uint256)) internal allowed;
    mapping(address => LockupInfo) internal lockupInfo;

    event Unlock(address indexed holder, uint256 value);
    event Lock(address indexed holder, uint256 value);
    event Burn(address indexed owner, uint256 value);

    constructor() public {
        name = "Olaf";
        symbol = "Olaf";
        decimals = 18;
        initialSupply = 88888888888888;
        totalSupply_ = initialSupply * 10 ** uint(decimals);
        balances[owner] = totalSupply_;
        emit Transfer(address(0), owner, totalSupply_);
    }

    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {
        if (locks[msg.sender]) {
            autoUnlock(msg.sender);            
        }
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function balanceOf(address _holder) public view returns (uint256 balance) {
        return balances[_holder] + lockupInfo[_holder].lockupBalance;
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {
        if (locks[_from]) {
            autoUnlock(_from);            
        }
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
        require(isContract(_spender));
        TokenRecipient spender = TokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    function allowance(address _holder, address _spender) public view returns (uint256) {
        return allowed[_holder][_spender];
    }

    function lock(address _holder, uint256 _amount, uint256 _releaseStart, uint256 _releaseRate) public onlyOwner returns (bool) {
        require(locks[_holder] == false);
        require(balances[_holder] >= _amount);
        balances[_holder] = balances[_holder].sub(_amount);
        lockupInfo[_holder] = LockupInfo(_releaseStart, _amount.div(100).mul(_releaseRate), _amount);

        locks[_holder] = true;

        emit Lock(_holder, _amount);

        return true;
    }

    function unlock(address _holder) public onlyOwner returns (bool) {
        require(locks[_holder] == true);
        uint256 releaseAmount = lockupInfo[_holder].lockupBalance;

        delete lockupInfo[_holder];
        locks[_holder] = false;

        emit Unlock(_holder, releaseAmount);
        balances[_holder] = balances[_holder].add(releaseAmount);

        return true;
    }

    function getNowTime() public view returns(uint256) {
      return now;
    }

    function showLockState(address _holder) public view returns (bool, uint256, uint256) {
        return (locks[_holder], lockupInfo[_holder].lockupBalance, lockupInfo[_holder].releaseTime);
    }

    function distribute(address _to, uint256 _value) public onlyOwner returns (bool) {
        require(_to != address(0));
        require(_value <= balances[owner]);

        balances[owner] = balances[owner].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(owner, _to, _value);
        return true;
    }

    function distributeWithLockup(address _to, uint256 _value, uint256 _releaseStart, uint256 _releaseRate) public onlyOwner returns (bool) {
        distribute(_to, _value);
        lock(_to, _value, _releaseStart, _releaseRate);
        return true;
    }

    function claimToken(ERC20 token, address _to, uint256 _value) public onlyOwner returns (bool) {
        token.transfer(_to, _value);
        return true;
    }

    function burn(uint256 _value) public onlyOwner returns (bool success) {
        require(_value <= balances[msg.sender]);
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Burn(burner, _value);
        return true;
    }

    function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly{size := extcodesize(addr)}
        return size > 0;
    }

    function autoUnlock(address _holder) internal returns (bool) {
        if (lockupInfo[_holder].releaseTime <= now) {
            return releaseTimeLock(_holder);
        }
        return false;
    }

    function releaseTimeLock(address _holder) internal returns(bool) {
        require(locks[_holder]);
        uint256 releaseAmount = 0;
        // If lock status of holder is finished, delete lockup info. 
        if (lockupInfo[_holder].lockupBalance <= lockupInfo[_holder].unlockAmountPerMonth) {
            releaseAmount = lockupInfo[_holder].lockupBalance;
            delete lockupInfo[_holder];
            locks[_holder] = false;
        } else {            
            releaseAmount = lockupInfo[_holder].unlockAmountPerMonth;
            lockupInfo[_holder].releaseTime = lockupInfo[_holder].releaseTime.add(MONTH);
            lockupInfo[_holder].lockupBalance = lockupInfo[_holder].lockupBalance.sub(releaseAmount);
        }
        emit Unlock(_holder, releaseAmount);
        balances[_holder] = balances[_holder].add(releaseAmount);
        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":false,"inputs":[{"name":"token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"claimToken","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":false,"inputs":[{"name":"_holder","type":"address"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"showLockState","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getNowTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"_holder","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_releaseStart","type":"uint256"},{"name":"_releaseRate","type":"uint256"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_releaseStart","type":"uint256"},{"name":"_releaseRate","type":"uint256"}],"name":"distributeWithLockup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"distribute","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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"},{"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"}]

60806040526000805460a060020a60ff0219169055600180546001608060020a03191662278d001790553480156200003657600080fd5b5060008054600160a060020a031916331790556040805180820190915260048082527f4f6c61660000000000000000000000000000000000000000000000000000000060209092019182526200008f916002916200015e565b506040805180820190915260048082527f4f6c6166000000000000000000000000000000000000000000000000000000006020909201918252620000d6916003916200015e565b506004805460ff1916601217908190556550d80ea58e38600581905560ff91909116600a0a02600681905560008054600160a060020a0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a362000203565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a157805160ff1916838001178555620001d1565b82800160010185558215620001d1579182015b82811115620001d1578251825591602001919060010190620001b4565b50620001df929150620001e3565b5090565b6200020091905b80821115620001df5760008155600101620001ea565b90565b61144e80620002136000396000f3006080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610137578063095ea7b3146101c1578063125bfb66146101f957806318160ddd1461022357806323b872dd1461024a5780632f6c493c14610274578063313ce567146102955780633f4ba83a146102c057806342966c68146102d75780635c975abb146102ef578063625becbc1461030457806370a08231146103455780638456cb59146103665780638da5cb5b1461037b57806395d89b41146103ac5780639b819d38146103c1578063a9059cbb146103d6578063c97be180146103fa578063cae9ca5114610424578063d3e8b2071461048d578063dd62ed3e146104b7578063f2fde38b146104de578063fb932108146104ff575b600080fd5b34801561014357600080fd5b5061014c610523565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b506101e5600160a060020a03600435166024356105ae565b604080519115158252519081900360200190f35b34801561020557600080fd5b506101e5600160a060020a036004358116906024351660443561062d565b34801561022f57600080fd5b506102386106f7565b60408051918252519081900360200190f35b34801561025657600080fd5b506101e5600160a060020a03600435811690602435166044356106fd565b34801561028057600080fd5b506101e5600160a060020a03600435166108b8565b3480156102a157600080fd5b506102aa6109bd565b6040805160ff9092168252519081900360200190f35b3480156102cc57600080fd5b506102d56109c6565b005b3480156102e357600080fd5b506101e5600435610a3c565b3480156102fb57600080fd5b506101e5610b0a565b34801561031057600080fd5b50610325600160a060020a0360043516610b1a565b604080519315158452602084019290925282820152519081900360600190f35b34801561035157600080fd5b50610238600160a060020a0360043516610b4f565b34801561037257600080fd5b506102d5610b7e565b34801561038757600080fd5b50610390610bf9565b60408051600160a060020a039092168252519081900360200190f35b3480156103b857600080fd5b5061014c610c08565b3480156103cd57600080fd5b50610238610c63565b3480156103e257600080fd5b506101e5600160a060020a0360043516602435610c67565b34801561040657600080fd5b506101e5600160a060020a0360043516602435604435606435610d83565b34801561043057600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101e5948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610eed9650505050505050565b34801561049957600080fd5b506101e5600160a060020a036004351660243560443560643561101c565b3480156104c357600080fd5b50610238600160a060020a036004358116906024351661104b565b3480156104ea57600080fd5b506102d5600160a060020a0360043516611076565b34801561050b57600080fd5b506101e5600160a060020a03600435166024356110d1565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105a65780601f1061057b576101008083540402835291602001916105a6565b820191906000526020600020905b81548152906001019060200180831161058957829003601f168201915b505050505081565b6000805460a060020a900460ff16156105c657600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a0316331461064557600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156106c157600080fd5b505af11580156106d5573d6000803e3d6000fd5b505050506040513d60208110156106eb57600080fd5b50600195945050505050565b60065490565b6000805460a060020a900460ff161561071557600080fd5b600160a060020a03841660009081526008602052604090205460ff16156107415761073f846111e3565b505b600160a060020a038316151561075657600080fd5b600160a060020a03841660009081526007602052604090205482111561077b57600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156107ab57600080fd5b600160a060020a0384166000908152600760205260409020546107d4908363ffffffff61121a16565b600160a060020a038086166000908152600760205260408082209390935590851681522054610809908363ffffffff61122c16565b600160a060020a03808516600090815260076020908152604080832094909455918716815260098252828120338252909152205461084d908363ffffffff61121a16565b600160a060020a03808616600081815260096020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600080548190600160a060020a031633146108d257600080fd5b600160a060020a03831660009081526008602052604090205460ff1615156001146108fc57600080fd5b50600160a060020a0382166000818152600a6020908152604080832060028101805485835560019092018590558490556008835292819020805460ff19169055805183815290519293927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1929181900390910190a2600160a060020a03831660009081526007602052604090205461099a908263ffffffff61122c16565b600160a060020a0384166000908152600760205260409020556001915050919050565b60045460ff1681565b600054600160a060020a031633146109dd57600080fd5b60005460a060020a900460ff1615156109f557600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600080548190600160a060020a03163314610a5657600080fd5b33600090815260076020526040902054831115610a7257600080fd5b5033600081815260076020526040902054610a93908463ffffffff61121a16565b600160a060020a038216600090815260076020526040902055600654610abf908463ffffffff61121a16565b600655604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b60005460a060020a900460ff1681565b600160a060020a0316600090815260086020908152604080832054600a9092529091206002810154905460ff90921692909190565b600160a060020a0381166000908152600a6020908152604080832060020154600790925290912054015b919050565b600054600160a060020a03163314610b9557600080fd5b60005460a060020a900460ff1615610bac57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105a65780601f1061057b576101008083540402835291602001916105a6565b4290565b6000805460a060020a900460ff1615610c7f57600080fd5b3360009081526008602052604090205460ff1615610ca257610ca0336111e3565b505b600160a060020a0383161515610cb757600080fd5b33600090815260076020526040902054821115610cd357600080fd5b33600090815260076020526040902054610cf3908363ffffffff61121a16565b3360009081526007602052604080822092909255600160a060020a03851681522054610d25908363ffffffff61122c16565b600160a060020a0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008054600160a060020a03163314610d9b57600080fd5b600160a060020a03851660009081526008602052604090205460ff1615610dc157600080fd5b600160a060020a038516600090815260076020526040902054841115610de657600080fd5b600160a060020a038516600090815260076020526040902054610e0f908563ffffffff61121a16565b600160a060020a03861660009081526007602090815260409182902092909255805160608101909152848152908101610e5f84610e5388606463ffffffff61124616565b9063ffffffff61125d16565b81526020908101869052600160a060020a0387166000818152600a835260408082208551815585850151600180830191909155958201516002909101556008845290819020805460ff19169094179093558251878152925190927f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792908290030190a2506001949350505050565b600080610ef985611288565b1515610f0457600080fd5b5083610f1081856105ae565b15611014576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610fa8578181015183820152602001610f90565b50505050905090810190601f168015610fd55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610ff757600080fd5b505af115801561100b573d6000803e3d6000fd5b50505050600191505b509392505050565b60008054600160a060020a0316331461103457600080fd5b61103e85856110d1565b506106eb85858585610d83565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600054600160a060020a0316331461108d57600080fd5b600160a060020a03811615156110a257600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a031633146110e957600080fd5b600160a060020a03831615156110fe57600080fd5b60008054600160a060020a031681526007602052604090205482111561112357600080fd5b60008054600160a060020a031681526007602052604090205461114c908363ffffffff61121a16565b60008054600160a060020a0390811682526007602052604080832093909355851681522054611181908363ffffffff61122c16565b600160a060020a0380851660008181526007602090815260408083209590955590548451878152945192949316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a350600192915050565b600160a060020a0381166000908152600a602052604081205442106112125761120b82611290565b9050610b79565b506000919050565b60008282111561122657fe5b50900390565b60008282018381101561123b57fe5b8091505b5092915050565b600080828481151561125457fe5b04949350505050565b600080831515611270576000915061123f565b5082820282848281151561128057fe5b041461123b57fe5b6000903b1190565b600160a060020a038116600090815260086020526040812054819060ff1615156112b957600080fd5b50600160a060020a0382166000908152600a602052604081206001810154600290910154116113275750600160a060020a0382166000908152600a6020908152604080832060028101805485835560019092018590558490556008909252909120805460ff191690556113ba565b50600160a060020a0382166000908152600a6020526040902060018082015490549154909161136e91906fffffffffffffffffffffffffffffffff1663ffffffff61122c16565b600160a060020a0384166000908152600a602052604090209081556002015461139d908263ffffffff61121a16565b600160a060020a0384166000908152600a60205260409020600201555b604080518281529051600160a060020a038516917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a03831660009081526007602052604090205461099a908263ffffffff61122c165600a165627a7a7230582000496728be9d310cb72fbe49237417a3ca08bd709447896872a5037d4a948b340029

Deployed Bytecode

0x6080604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610137578063095ea7b3146101c1578063125bfb66146101f957806318160ddd1461022357806323b872dd1461024a5780632f6c493c14610274578063313ce567146102955780633f4ba83a146102c057806342966c68146102d75780635c975abb146102ef578063625becbc1461030457806370a08231146103455780638456cb59146103665780638da5cb5b1461037b57806395d89b41146103ac5780639b819d38146103c1578063a9059cbb146103d6578063c97be180146103fa578063cae9ca5114610424578063d3e8b2071461048d578063dd62ed3e146104b7578063f2fde38b146104de578063fb932108146104ff575b600080fd5b34801561014357600080fd5b5061014c610523565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cd57600080fd5b506101e5600160a060020a03600435166024356105ae565b604080519115158252519081900360200190f35b34801561020557600080fd5b506101e5600160a060020a036004358116906024351660443561062d565b34801561022f57600080fd5b506102386106f7565b60408051918252519081900360200190f35b34801561025657600080fd5b506101e5600160a060020a03600435811690602435166044356106fd565b34801561028057600080fd5b506101e5600160a060020a03600435166108b8565b3480156102a157600080fd5b506102aa6109bd565b6040805160ff9092168252519081900360200190f35b3480156102cc57600080fd5b506102d56109c6565b005b3480156102e357600080fd5b506101e5600435610a3c565b3480156102fb57600080fd5b506101e5610b0a565b34801561031057600080fd5b50610325600160a060020a0360043516610b1a565b604080519315158452602084019290925282820152519081900360600190f35b34801561035157600080fd5b50610238600160a060020a0360043516610b4f565b34801561037257600080fd5b506102d5610b7e565b34801561038757600080fd5b50610390610bf9565b60408051600160a060020a039092168252519081900360200190f35b3480156103b857600080fd5b5061014c610c08565b3480156103cd57600080fd5b50610238610c63565b3480156103e257600080fd5b506101e5600160a060020a0360043516602435610c67565b34801561040657600080fd5b506101e5600160a060020a0360043516602435604435606435610d83565b34801561043057600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526101e5948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610eed9650505050505050565b34801561049957600080fd5b506101e5600160a060020a036004351660243560443560643561101c565b3480156104c357600080fd5b50610238600160a060020a036004358116906024351661104b565b3480156104ea57600080fd5b506102d5600160a060020a0360043516611076565b34801561050b57600080fd5b506101e5600160a060020a03600435166024356110d1565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156105a65780601f1061057b576101008083540402835291602001916105a6565b820191906000526020600020905b81548152906001019060200180831161058957829003601f168201915b505050505081565b6000805460a060020a900460ff16156105c657600080fd5b336000818152600960209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a0316331461064557600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156106c157600080fd5b505af11580156106d5573d6000803e3d6000fd5b505050506040513d60208110156106eb57600080fd5b50600195945050505050565b60065490565b6000805460a060020a900460ff161561071557600080fd5b600160a060020a03841660009081526008602052604090205460ff16156107415761073f846111e3565b505b600160a060020a038316151561075657600080fd5b600160a060020a03841660009081526007602052604090205482111561077b57600080fd5b600160a060020a03841660009081526009602090815260408083203384529091529020548211156107ab57600080fd5b600160a060020a0384166000908152600760205260409020546107d4908363ffffffff61121a16565b600160a060020a038086166000908152600760205260408082209390935590851681522054610809908363ffffffff61122c16565b600160a060020a03808516600090815260076020908152604080832094909455918716815260098252828120338252909152205461084d908363ffffffff61121a16565b600160a060020a03808616600081815260096020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600080548190600160a060020a031633146108d257600080fd5b600160a060020a03831660009081526008602052604090205460ff1615156001146108fc57600080fd5b50600160a060020a0382166000818152600a6020908152604080832060028101805485835560019092018590558490556008835292819020805460ff19169055805183815290519293927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1929181900390910190a2600160a060020a03831660009081526007602052604090205461099a908263ffffffff61122c16565b600160a060020a0384166000908152600760205260409020556001915050919050565b60045460ff1681565b600054600160a060020a031633146109dd57600080fd5b60005460a060020a900460ff1615156109f557600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600080548190600160a060020a03163314610a5657600080fd5b33600090815260076020526040902054831115610a7257600080fd5b5033600081815260076020526040902054610a93908463ffffffff61121a16565b600160a060020a038216600090815260076020526040902055600654610abf908463ffffffff61121a16565b600655604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b60005460a060020a900460ff1681565b600160a060020a0316600090815260086020908152604080832054600a9092529091206002810154905460ff90921692909190565b600160a060020a0381166000908152600a6020908152604080832060020154600790925290912054015b919050565b600054600160a060020a03163314610b9557600080fd5b60005460a060020a900460ff1615610bac57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105a65780601f1061057b576101008083540402835291602001916105a6565b4290565b6000805460a060020a900460ff1615610c7f57600080fd5b3360009081526008602052604090205460ff1615610ca257610ca0336111e3565b505b600160a060020a0383161515610cb757600080fd5b33600090815260076020526040902054821115610cd357600080fd5b33600090815260076020526040902054610cf3908363ffffffff61121a16565b3360009081526007602052604080822092909255600160a060020a03851681522054610d25908363ffffffff61122c16565b600160a060020a0384166000818152600760209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60008054600160a060020a03163314610d9b57600080fd5b600160a060020a03851660009081526008602052604090205460ff1615610dc157600080fd5b600160a060020a038516600090815260076020526040902054841115610de657600080fd5b600160a060020a038516600090815260076020526040902054610e0f908563ffffffff61121a16565b600160a060020a03861660009081526007602090815260409182902092909255805160608101909152848152908101610e5f84610e5388606463ffffffff61124616565b9063ffffffff61125d16565b81526020908101869052600160a060020a0387166000818152600a835260408082208551815585850151600180830191909155958201516002909101556008845290819020805460ff19169094179093558251878152925190927f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792908290030190a2506001949350505050565b600080610ef985611288565b1515610f0457600080fd5b5083610f1081856105ae565b15611014576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b83811015610fa8578181015183820152602001610f90565b50505050905090810190601f168015610fd55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610ff757600080fd5b505af115801561100b573d6000803e3d6000fd5b50505050600191505b509392505050565b60008054600160a060020a0316331461103457600080fd5b61103e85856110d1565b506106eb85858585610d83565b600160a060020a03918216600090815260096020908152604080832093909416825291909152205490565b600054600160a060020a0316331461108d57600080fd5b600160a060020a03811615156110a257600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a031633146110e957600080fd5b600160a060020a03831615156110fe57600080fd5b60008054600160a060020a031681526007602052604090205482111561112357600080fd5b60008054600160a060020a031681526007602052604090205461114c908363ffffffff61121a16565b60008054600160a060020a0390811682526007602052604080832093909355851681522054611181908363ffffffff61122c16565b600160a060020a0380851660008181526007602090815260408083209590955590548451878152945192949316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a350600192915050565b600160a060020a0381166000908152600a602052604081205442106112125761120b82611290565b9050610b79565b506000919050565b60008282111561122657fe5b50900390565b60008282018381101561123b57fe5b8091505b5092915050565b600080828481151561125457fe5b04949350505050565b600080831515611270576000915061123f565b5082820282848281151561128057fe5b041461123b57fe5b6000903b1190565b600160a060020a038116600090815260086020526040812054819060ff1615156112b957600080fd5b50600160a060020a0382166000908152600a602052604081206001810154600290910154116113275750600160a060020a0382166000908152600a6020908152604080832060028101805485835560019092018590558490556008909252909120805460ff191690556113ba565b50600160a060020a0382166000908152600a6020526040902060018082015490549154909161136e91906fffffffffffffffffffffffffffffffff1663ffffffff61122c16565b600160a060020a0384166000908152600a602052604090209081556002015461139d908263ffffffff61121a16565b600160a060020a0384166000908152600a60205260409020600201555b604080518281529051600160a060020a038516917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a03831660009081526007602052604090205461099a908263ffffffff61122c165600a165627a7a7230582000496728be9d310cb72fbe49237417a3ca08bd709447896872a5037d4a948b340029

Deployed Bytecode Sourcemap

2540:6906:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2821:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2821:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2821:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5100:220;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5100:220:0;-1:-1:-1;;;;;5100:220:0;;;;;;;;;;;;;;;;;;;;;;;;;7658:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7658:162:0;-1:-1:-1;;;;;7658:162:0;;;;;;;;;;;;3687:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3687:91:0;;;;;;;;;;;;;;;;;;;;4496:596;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4496:596:0;-1:-1:-1;;;;;4496:596:0;;;;;;;;;;;;6347:394;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6347:394:0;-1:-1:-1;;;;;6347:394:0;;;;;2873:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2873:21:0;;;;;;;;;;;;;;;;;;;;;;;1653:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1653:95:0;;;;;;7828:332;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7828:332:0;;;;;1389:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1389:26:0;;;;6835:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6835:195:0;-1:-1:-1;;;;;6835:195:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4335:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4335:153:0;-1:-1:-1;;;;;4335:153:0;;;;;1554:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1554:93:0;;;;891:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;891:20:0;;;;;;;;-1:-1:-1;;;;;891:20:0;;;;;;;;;;;;;;2846;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2846:20:0;;;;6749:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6749:78:0;;;;3786:541;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3786:541:0;-1:-1:-1;;;;;3786:541:0;;;;;;;5853:486;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5853:486:0;-1:-1:-1;;;;;5853:486:0;;;;;;;;;;;5332:369;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5332:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5332:369:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5332:369:0;;-1:-1:-1;5332:369:0;;-1:-1:-1;;;;;;;5332:369:0;7393:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7393:257:0;-1:-1:-1;;;;;7393:257:0;;;;;;;;;;;5709:136;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5709:136:0;-1:-1:-1;;;;;5709:136:0;;;;;;;;;;1166:142;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1166:142:0;-1:-1:-1;;;;;1166:142:0;;;;;7038:347;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7038:347:0;-1:-1:-1;;;;;7038:347:0;;;;;;;2821:18;;;;;;;;;;;;;;-1:-1:-1;;2821:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5100:220::-;5181:4;1463:6;;-1:-1:-1;;;1463:6:0;;;;1462:7;1454:16;;;;;;5206:10;5198:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5198:29:0;;;;;;;;;;;;:38;;;5252;;;;;;;5198:29;;5206:10;5252:38;;;;;;;;;;;-1:-1:-1;5308:4:0;5100:220;;;;:::o;7658:162::-;7746:4;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;7763:5;-1:-1:-1;;;;;7763:14:0;;7778:3;7783:6;7763:27;;;;;;;;;;;;;-1:-1:-1;;;;;7763:27:0;-1:-1:-1;;;;;7763:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7763:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7763:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7808:4:0;;7658:162;-1:-1:-1;;;;;7658:162:0:o;3687:91::-;3758:12;;3687:91;:::o;4496:596::-;4592:4;1463:6;;-1:-1:-1;;;1463:6:0;;;;1462:7;1454:16;;;;;;-1:-1:-1;;;;;4613:12:0;;;;;;:5;:12;;;;;;;;4609:74;;;4642:17;4653:5;4642:10;:17::i;:::-;;4609:74;-1:-1:-1;;;;;4701:17:0;;;;4693:26;;;;;;-1:-1:-1;;;;;4748:15:0;;;;;;:8;:15;;;;;;4738:25;;;4730:34;;;;;;-1:-1:-1;;;;;4793:14:0;;;;;;:7;:14;;;;;;;;4808:10;4793:26;;;;;;;;4783:36;;;4775:45;;;;;;-1:-1:-1;;;;;4861:15:0;;;;;;:8;:15;;;;;;:27;;4881:6;4861:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;4843:15:0;;;;;;;:8;:15;;;;;;:45;;;;4915:13;;;;;;;:25;;4933:6;4915:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4899:13:0;;;;;;;:8;:13;;;;;;;;:41;;;;4980:14;;;;;:7;:14;;;;;4995:10;4980:26;;;;;;;:38;;5011:6;4980:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;4951:14:0;;;;;;;:7;:14;;;;;;;;4966:10;4951:26;;;;;;;;:67;;;;5034:28;;;;;;;;;;;4951:14;;5034:28;;;;;;;;;;;-1:-1:-1;5080:4:0;4496:596;;;;;:::o;6347:394::-;6406:4;1132:5;;6406:4;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;-1:-1:-1;;;;;6431:14:0;;;;;;:5;:14;;;;;;;;:22;;:14;:22;6423:31;;;;;;-1:-1:-1;;;;;;6489:19:0;;;;;;:10;:19;;;;;;;;:33;;;;;6535:26;;;;;;;;;;;;;6572:5;:14;;;;;;:22;;-1:-1:-1;;6572:22:0;;;6612:30;;;;;;;6489:33;;:19;6612:30;;;;;;;;;;;-1:-1:-1;;;;;6673:17:0;;;;;;:8;:17;;;;;;:36;;6695:13;6673:36;:21;:36;:::i;:::-;-1:-1:-1;;;;;6653:17:0;;;;;;:8;:17;;;;;:56;6729:4;;-1:-1:-1;6347:394:0;;;;:::o;2873:21::-;;;;;;:::o;1653:95::-;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;1527:6;;-1:-1:-1;;;1527:6:0;;;;1519:15;;;;;;;;1716:5;1707:14;;-1:-1:-1;;1707:14:0;;;1733:9;;;;1716:5;1733:9;1653:95::o;7828:332::-;7884:12;1132:5;;7884:12;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;7936:10;7927:20;;;;:8;:20;;;;;;7917:30;;;7909:39;;;;;;-1:-1:-1;7976:10:0;8016:16;;;;:8;:16;;;;;;:28;;8037:6;8016:28;:20;:28;:::i;:::-;-1:-1:-1;;;;;7997:16:0;;;;;;:8;:16;;;;;:47;8070:12;;:24;;8087:6;8070:24;:16;:24;:::i;:::-;8055:12;:39;8110:20;;;;;;;;-1:-1:-1;;;;;8110:20:0;;;;;;;;;;;;;-1:-1:-1;8148:4:0;;7828:332;-1:-1:-1;;7828:332:0:o;1389:26::-;;;-1:-1:-1;;;1389:26:0;;;;;:::o;6835:195::-;-1:-1:-1;;;;;6939:14:0;6896:4;6939:14;;;:5;:14;;;;;;;;;6955:10;:19;;;;;;:33;;;;6990:31;;6939:14;;;;;6955:33;;6990:31;6835:195::o;4335:153::-;-1:-1:-1;;;;;4447:19:0;;4392:15;4447:19;;;:10;:19;;;;;;;;:33;;;4427:8;:17;;;;;;;:53;4335:153;;;;:::o;1554:93::-;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;1463:6;;-1:-1:-1;;;1463:6:0;;;;1462:7;1454:16;;;;;;1609:6;:13;;-1:-1:-1;;1609:13:0;-1:-1:-1;;;1609:13:0;;;1634:7;;;;1609:6;1634:7;1554:93::o;891:20::-;;;-1:-1:-1;;;;;891:20:0;;:::o;2846:::-;;;;;;;;;;;;;;;-1:-1:-1;;2846:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6749:78;6816:3;6749:78;:::o;3786:541::-;3863:4;1463:6;;-1:-1:-1;;;1463:6:0;;;;1462:7;1454:16;;;;;;3890:10;3884:17;;;;:5;:17;;;;;;;;3880:84;;;3918:22;3929:10;3918;:22::i;:::-;;3880:84;-1:-1:-1;;;;;3982:17:0;;;;3974:26;;;;;;4038:10;4029:20;;;;:8;:20;;;;;;4019:30;;;4011:39;;;;;;4173:10;4164:20;;;;:8;:20;;;;;;:32;;4189:6;4164:32;:24;:32;:::i;:::-;4150:10;4141:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;4223:13:0;;;;;;:25;;4241:6;4223:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4207:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;4264:33;;;;;;;4207:13;;4273:10;;4264:33;;;;;;;;;;-1:-1:-1;4315:4:0;3786:541;;;;:::o;5853:486::-;5972:4;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;-1:-1:-1;;;;;5997:14:0;;;;;;:5;:14;;;;;;;;:23;5989:32;;;;;;-1:-1:-1;;;;;6040:17:0;;;;;;:8;:17;;;;;;:28;-1:-1:-1;6040:28:0;6032:37;;;;;;-1:-1:-1;;;;;6100:17:0;;;;;;:8;:17;;;;;;:30;;6122:7;6100:30;:21;:30;:::i;:::-;-1:-1:-1;;;;;6080:17:0;;;;;;:8;:17;;;;;;;;;:50;;;;6163:70;;;;;;;;;;;;;;6189:34;6210:12;6189:16;:7;6201:3;6189:16;:11;:16;:::i;:::-;:20;:34;:20;:34;:::i;:::-;6163:70;;;;;;;;;-1:-1:-1;;;;;6141:19:0;;-1:-1:-1;6141:19:0;;;:10;:19;;;;;;:92;;;;;;;;;;;;;;;;;;;;;;;;;6246:5;:14;;;;;;:21;;-1:-1:-1;;6246:21:0;;;;;;;6285:22;;;;;;;6141:19;;6285:22;;;;;;;;;-1:-1:-1;6327:4:0;5853:486;;;;;;:::o;5332:369::-;5424:12;5489:22;5457:20;5468:8;5457:10;:20::i;:::-;5449:29;;;;;;;;-1:-1:-1;5529:8:0;5553:25;5529:8;5571:6;5553:7;:25::i;:::-;5549:145;;;5595:61;;;;;5619:10;5595:61;;;;;;;;;;;;5639:4;5595:61;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5595:23:0;;;;;5619:10;5631:6;;5639:4;5645:10;;5595:61;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5595:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5595:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5595:61:0;;;;5678:4;5671:11;;5549:145;5332:369;;;;;;:::o;7393:257::-;7523:4;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;7540:23;7551:3;7556:6;7540:10;:23::i;:::-;;7574:46;7579:3;7584:6;7592:13;7607:12;7574:4;:46::i;5709:136::-;-1:-1:-1;;;;;5811:16:0;;;5784:7;5811:16;;;:7;:16;;;;;;;;:26;;;;;;;;;;;;;5709:136::o;1166:142::-;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;-1:-1:-1;;;;;1248:23:0;;;;1240:32;;;;;;1283:5;:17;;-1:-1:-1;;1283:17:0;-1:-1:-1;;;;;1283:17:0;;;;;;;;;;1166:142::o;7038:347::-;7113:4;1132:5;;-1:-1:-1;;;;;1132:5:0;1118:10;:19;1110:28;;;;;;-1:-1:-1;;;;;7138:17:0;;;;7130:26;;;;;;7185:15;7194:5;;-1:-1:-1;;;;;7194:5:0;7185:15;;:8;:15;;;;;;7175:25;;;7167:34;;;;;;7232:15;7241:5;;-1:-1:-1;;;;;7241:5:0;7232:15;;:8;:15;;;;;;:27;;7252:6;7232:27;:19;:27;:::i;:::-;7214:15;7223:5;;-1:-1:-1;;;;;7223:5:0;;;7214:15;;:8;:15;;;;;;:45;;;;7286:13;;;;;;:25;;7304:6;7286:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;7270:13:0;;;;;;;:8;:13;;;;;;;;:41;;;;7336:5;;7327:28;;;;;;;7270:13;;7336:5;;;7327:28;;;;;;;;;;;-1:-1:-1;7373:4:0;7038:347;;;;:::o;8338:204::-;-1:-1:-1;;;;;8414:19:0;;8393:4;8414:19;;;:10;:19;;;;;:31;8449:3;-1:-1:-1;8410:102:0;;8476:24;8492:7;8476:15;:24::i;:::-;8469:31;;;;8410:102;-1:-1:-1;8529:5:0;8338:204;;;:::o;580:123::-;638:7;665:6;;;;658:14;;;;-1:-1:-1;690:5:0;;;580:123::o;711:147::-;769:7;801:5;;;824:6;;;;817:14;;;;849:1;842:8;;711:147;;;;;;:::o;270:295::-;328:7;427:9;443:1;439;:5;;;;;;;;;270:295;-1:-1:-1;;;;270:295:0:o;54:208::-;112:7;;136:6;;132:47;;;166:1;159:8;;;;132:47;-1:-1:-1;201:5:0;;;205:1;201;:5;224;;;;;;;;:10;217:18;;;8168:162;8225:4;8279:17;;8314:8;;8168:162::o;8550:891::-;-1:-1:-1;;;;;8634:14:0;;8609:4;8634:14;;;:5;:14;;;;;;8609:4;;8634:14;;8626:23;;;;;;;;-1:-1:-1;;;;;;8808:19:0;;8684:1;8808:19;;;:10;:19;;;;;:40;;;;8771:33;;;;;:77;8767:532;;-1:-1:-1;;;;;;8881:19:0;;;;;;:10;:19;;;;;;;;:33;;;;;8929:26;;;;;;;;;;;;;8970:5;:14;;;;;;:22;;-1:-1:-1;;8970:22:0;;;8767:532;;;-1:-1:-1;;;;;;9053:19:0;;;;;;:10;:19;;;;;:40;;;;;9178:5;;9142:31;;9053:40;;9142:42;;:31;9178:5;;9142:42;:35;:42;:::i;:::-;-1:-1:-1;;;;;9108:19:0;;;;;;:10;:19;;;;;:76;;;9235:33;;;:52;;9273:13;9235:52;:37;:52;:::i;:::-;-1:-1:-1;;;;;9199:19:0;;;;;;:10;:19;;;;;:33;;:88;8767:532;9314:30;;;;;;;;-1:-1:-1;;;;;9314:30:0;;;;;;;;;;;;;-1:-1:-1;;;;;9375:17:0;;;;;;:8;:17;;;;;;:36;;9397:13;9375:36;:21;:36;:::i

Swarm Source

bzzr://00496728be9d310cb72fbe49237417a3ca08bd709447896872a5037d4a948b34

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.