ETH Price: $3,255.92 (-2.97%)

Contract

0x0A913beaD80F321E7Ac35285Ee10d9d922659cB7
 
Transaction Hash
Method
Block
From
To
Approve214580432024-12-22 12:29:478 hrs ago1734870587IN
0x0A913bea...922659cB7
0 ETH0.000332236.84419004
Approve214484192024-12-21 4:11:5940 hrs ago1734754319IN
0x0A913bea...922659cB7
0 ETH0.000410578.45813627
Transfer214454882024-12-20 18:21:472 days ago1734718907IN
0x0A913bea...922659cB7
0 ETH0.001297118.64026753
Transfer214430012024-12-20 10:01:352 days ago1734688895IN
0x0A913bea...922659cB7
0 ETH0.0014030320.16259931
Transfer214429522024-12-20 9:51:472 days ago1734688307IN
0x0A913bea...922659cB7
0 ETH0.0009247919.38851796
Transfer214429522024-12-20 9:51:472 days ago1734688307IN
0x0A913bea...922659cB7
0 ETH0.0009250219.38851796
Approve214412042024-12-20 3:59:592 days ago1734667199IN
0x0A913bea...922659cB7
0 ETH0.0002904211.06040361
Transfer214333842024-12-19 1:47:233 days ago1734572843IN
0x0A913bea...922659cB7
0 ETH0.0009716115
Transfer214332712024-12-19 1:24:113 days ago1734571451IN
0x0A913bea...922659cB7
0 ETH0.0007587710.90602367
Transfer214266832024-12-18 3:18:354 days ago1734491915IN
0x0A913bea...922659cB7
0 ETH0.0007246410.41544252
Approve214173652024-12-16 20:06:596 days ago1734379619IN
0x0A913bea...922659cB7
0 ETH0.0010314921.37094528
Approve214152562024-12-16 13:03:596 days ago1734354239IN
0x0A913bea...922659cB7
0 ETH0.0006779913.96709089
Transfer214135392024-12-16 7:19:116 days ago1734333551IN
0x0A913bea...922659cB7
0 ETH0.000418097.96763276
Approve214132812024-12-16 6:26:476 days ago1734330407IN
0x0A913bea...922659cB7
0 ETH0.000253869.66815531
Approve214097072024-12-15 18:28:477 days ago1734287327IN
0x0A913bea...922659cB7
0 ETH0.000451599.31470789
Transfer214086742024-12-15 15:00:237 days ago1734274823IN
0x0A913bea...922659cB7
0 ETH0.0007423110.66763236
Transfer214080332024-12-15 12:51:117 days ago1734267071IN
0x0A913bea...922659cB7
0 ETH0.00051157.35070235
Approve214077112024-12-15 11:46:357 days ago1734263195IN
0x0A913bea...922659cB7
0 ETH0.000319256.58493315
Transfer214076862024-12-15 11:41:357 days ago1734262895IN
0x0A913bea...922659cB7
0 ETH0.000473556.80536775
Approve214075452024-12-15 11:13:117 days ago1734261191IN
0x0A913bea...922659cB7
0 ETH0.000393888.17081439
Transfer213980212024-12-14 3:18:478 days ago1734146327IN
0x0A913bea...922659cB7
0 ETH0.0007227110.38777533
Transfer213980002024-12-14 3:14:358 days ago1734146075IN
0x0A913bea...922659cB7
0 ETH0.0007134110.25046934
Transfer213962932024-12-13 21:31:358 days ago1734125495IN
0x0A913bea...922659cB7
0 ETH0.0010205514.67116651
Transfer213941562024-12-13 14:21:479 days ago1734099707IN
0x0A913bea...922659cB7
0 ETH0.0011690616.80030573
Approve213938652024-12-13 13:23:359 days ago1734096215IN
0x0A913bea...922659cB7
0 ETH0.0004322916.46334967
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DOSToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-07-23
*/

pragma solidity >=0.5.0 <0.6.0;

contract DSAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) public view returns (bool);
}


contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}


contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

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

    function setOwner(address owner_)
        public
        auth
    {
        owner = owner_;
        emit LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
        public
        auth
    {
        authority = authority_;
        emit LogSetAuthority(address(authority));
    }

    modifier auth {
        require(isAuthorized(msg.sender, msg.sig), "ds-auth-unauthorized");
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, address(this), sig);
        }
    }
}


contract DSNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  guy,
        bytes32  indexed  foo,
        bytes32  indexed  bar,
        uint256           wad,
        bytes             fax
    ) anonymous;

    modifier note {
        bytes32 foo;
        bytes32 bar;
        uint256 wad;

        assembly {
            foo := calldataload(4)
            bar := calldataload(36)
            wad := callvalue
        }

        emit LogNote(msg.sig, msg.sender, foo, bar, wad, msg.data);

        _;
    }
}


contract ERC20 {
    function totalSupply() public view returns (uint supply);
    function balanceOf( address who ) public view returns (uint value);
    function allowance( address owner, address spender ) public view returns (uint _allowance);

    function transfer( address to, uint value) public returns (bool ok);
    function transferFrom( address from, address to, uint value) public returns (bool ok);
    function approve( address spender, uint value) public returns (bool ok);

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


contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x, "ds-math-add-overflow");
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x, "ds-math-sub-underflow");
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow");
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}


contract DSStop is DSNote, DSAuth {
    bool public stopped;

    modifier stoppable {
        require(!stopped, "ds-stop-is-stopped");
        _;
    }
    function stop() public auth note {
        stopped = true;
    }
    function start() public auth note {
        stopped = false;
    }
}


contract Managed {
    /// @notice The address of the manager is the only address that can call
    ///  a function with this modifier
    modifier onlyManager { require(msg.sender == manager); _; }

    address public manager;

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

    /// @notice Changes the manager of the contract
    /// @param _newManager The new manager of the contract
    function changeManager(address _newManager) public onlyManager {
        manager = _newManager;
    }
    
    /// @dev Internal function to determine if an address is a contract
    /// @param _addr The address being queried
    /// @return True if `_addr` is a contract
    function isContract(address _addr) view internal returns(bool) {
        uint size = 0;
        assembly {
            size := extcodesize(_addr)
        }
        return size > 0;
    }
}


contract ControllerManager {
    function onTransfer(address _from, address _to, uint _amount) public returns(uint);
}


contract DOSToken is ERC20, DSMath, DSStop, Managed {
    string public constant name = 'DOS Network Token';
    string public constant symbol = 'DOS';
    uint256 public constant decimals = 18;
    uint256 private constant MAX_SUPPLY = 95 * 1e7 * 1e18; // 950 million total supply, as 50 million was burnt.
    uint256 private _supply = MAX_SUPPLY;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256))  _approvals;
    
    constructor() public {
        _balances[msg.sender] = _supply;
        emit Transfer(address(0), msg.sender, _supply);
    }

    function totalSupply() public view returns (uint) {
        return _supply;
    }
    
    function balanceOf(address src) public view returns (uint) {
        return _balances[src];
    }
    
    function allowance(address src, address guy) public view returns (uint) {
        return _approvals[src][guy];
    }

    function transfer(address dst, uint wad) public returns (bool) {
        return transferFrom(msg.sender, dst, wad);
    }

    function transferFrom(address src, address dst, uint wad) public stoppable returns (bool) {
        require(_balances[src] >= wad, "token-insufficient-balance");

        if (isContract(manager)) {
            wad = ControllerManager(manager).onTransfer(src, dst, wad);
            if (wad == 0) return false;
        }

        if (src != msg.sender && _approvals[src][msg.sender] != uint(-1)) {
            require(_approvals[src][msg.sender] >= wad, "token-insufficient-approval");
            _approvals[src][msg.sender] = sub(_approvals[src][msg.sender], wad);
        }

        _balances[src] = sub(_balances[src], wad);
        _balances[dst] = add(_balances[dst], wad);

        emit Transfer(src, dst, wad);

        return true;
    }

    function approve(address guy) public returns (bool) {
        return approve(guy, uint(-1));
    }

    function approve(address guy, uint wad) public stoppable returns (bool) {
        _approvals[msg.sender][guy] = wad;
        emit Approval(msg.sender, guy, wad);
        return true;
    }

    function burn(uint wad) public {
        burn(msg.sender, wad);
    }
    
    function burn(address guy, uint wad) public stoppable {
        if (guy != msg.sender && _approvals[guy][msg.sender] != uint(-1)) {
            require(_approvals[guy][msg.sender] >= wad, "token-insufficient-approval");
            _approvals[guy][msg.sender] = sub(_approvals[guy][msg.sender], wad);
        }

        require(_balances[guy] >= wad, "token-insufficient-balance");
        _balances[guy] = sub(_balances[guy], wad);
        _supply = sub(_supply, wad);
        emit Transfer(guy, address(0), wad);
    }
    
    /// @notice Ether sent to this contract will be returned.
    function () external {}

    /// @notice This method can be used by the owner to extract mistakenly
    ///  sent tokens to this contract.
    /// @param _token The address of the token contract that you want to recover
    function rescueTokens(address _token, address _dst) public auth {
        ERC20 token = ERC20(_token);
        uint balance = token.balanceOf(address(this));
        token.transfer(_dst, balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":true,"inputs":[{"indexed":true,"internalType":"bytes4","name":"sig","type":"bytes4"},{"indexed":true,"internalType":"address","name":"guy","type":"address"},{"indexed":true,"internalType":"bytes32","name":"foo","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"bar","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"guy","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"internalType":"contract DSAuthority","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"src","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"guy","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"name":"changeManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_dst","type":"address"}],"name":"rescueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract DSAuthority","name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"src","type":"address"},{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526b0311d253316c79d37600000060035534801561002057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2600280546001600160a01b03191633908117909155600354600082815260046020908152604080832084905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36111f3806100cd6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806375f12b21116100b8578063a3fbbaae1161007c578063a3fbbaae14610386578063a9059cbb146103ac578063be9a6555146103d8578063bf7e214f146103e0578063daea85c5146103e8578063dd62ed3e1461040e57610142565b806375f12b211461031c5780637a9e5e4b146103245780638da5cb5b1461034a57806395d89b41146103525780639dc29fac1461035a57610142565b806323b872dd1161010a57806323b872dd14610249578063313ce5671461027f57806342966c6814610287578063481c6a75146102a45780635431c94e146102c857806370a08231146102f657610142565b806306fdde031461014457806307da68f5146101c1578063095ea7b3146101c957806313af40351461020957806318160ddd1461022f575b005b61014c61043c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610142610469565b6101f5600480360360408110156101df57600080fd5b506001600160a01b038135169060200135610543565b604080519115158252519081900360200190f35b6101426004803603602081101561021f57600080fd5b50356001600160a01b0316610602565b6102376106b0565b60408051918252519081900360200190f35b6101f56004803603606081101561025f57600080fd5b506001600160a01b038135811691602081013590911690604001356106b6565b6102376109ef565b6101426004803603602081101561029d57600080fd5b50356109f4565b6102ac610a01565b604080516001600160a01b039092168252519081900360200190f35b610142600480360360408110156102de57600080fd5b506001600160a01b0381358116916020013516610a10565b6102376004803603602081101561030c57600080fd5b50356001600160a01b0316610b6d565b6101f5610b88565b6101426004803603602081101561033a57600080fd5b50356001600160a01b0316610b98565b6102ac610c42565b61014c610c51565b6101426004803603604081101561037057600080fd5b506001600160a01b038135169060200135610c70565b6101426004803603602081101561039c57600080fd5b50356001600160a01b0316610ed0565b6101f5600480360360408110156103c257600080fd5b506001600160a01b038135169060200135610f09565b610142610f16565b6102ac610fea565b6101f5600480360360208110156103fe57600080fd5b50356001600160a01b0316610ff9565b6102376004803603604081101561042457600080fd5b506001600160a01b0381358116916020013516611007565b604051806040016040528060118152602001702227a9902732ba3bb7b935902a37b5b2b760791b81525081565b61047f336000356001600160e01b031916611032565b6104c7576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a450506001805460ff60a01b1916600160a01b17905550565b600154600090600160a01b900460ff161561059a576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b610618336000356001600160e01b031916611032565b610660576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60035490565b600154600090600160a01b900460ff161561070d576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205482111561077a576040805162461bcd60e51b815260206004820152601a60248201527f746f6b656e2d696e73756666696369656e742d62616c616e6365000000000000604482015290519081900360640190fd5b60025461078f906001600160a01b0316611119565b1561082d5760025460408051634a39314960e01b81526001600160a01b03878116600483015286811660248301526044820186905291519190921691634a3931499160648083019260209291908290030181600087803b1580156107f257600080fd5b505af1158015610806573d6000803e3d6000fd5b505050506040513d602081101561081c57600080fd5b505191508161082d575060006109e8565b6001600160a01b038416331480159061086b57506001600160a01b038416600090815260056020908152604080832033845290915290205460001914155b1561093b576001600160a01b03841660009081526005602090815260408083203384529091529020548211156108e8576040805162461bcd60e51b815260206004820152601b60248201527f746f6b656e2d696e73756666696369656e742d617070726f76616c0000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600560209081526040808320338452909152902054610916908361111f565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6001600160a01b03841660009081526004602052604090205461095e908361111f565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461098d908361116f565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b9392505050565b601281565b6109fe3382610c70565b50565b6002546001600160a01b031681565b610a26336000356001600160e01b031916611032565b610a6e576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610ab957600080fd5b505afa158015610acd573d6000803e3d6000fd5b505050506040513d6020811015610ae357600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610b3b57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b505050505050565b6001600160a01b031660009081526004602052604090205490565b600154600160a01b900460ff1681565b610bae336000356001600160e01b031916611032565b610bf6576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b60405180604001604052806003815260200162444f5360e81b81525081565b600154600160a01b900460ff1615610cc4576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b0382163314801590610d0257506001600160a01b038216600090815260056020908152604080832033845290915290205460001914155b15610dd2576001600160a01b0382166000908152600560209081526040808320338452909152902054811115610d7f576040805162461bcd60e51b815260206004820152601b60248201527f746f6b656e2d696e73756666696369656e742d617070726f76616c0000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600560209081526040808320338452909152902054610dad908261111f565b6001600160a01b03831660009081526005602090815260408083203384529091529020555b6001600160a01b038216600090815260046020526040902054811115610e3f576040805162461bcd60e51b815260206004820152601a60248201527f746f6b656e2d696e73756666696369656e742d62616c616e6365000000000000604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054610e62908261111f565b6001600160a01b038316600090815260046020526040902055600354610e88908261111f565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6002546001600160a01b03163314610ee757600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006109e83384846106b6565b610f2c336000356001600160e01b031916611032565b610f74576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a450506001805460ff60a01b1916905550565b6000546001600160a01b031681565b60006105fc82600019610543565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60006001600160a01b03831630141561104d575060016105fc565b6001546001600160a01b038481169116141561106b575060016105fc565b6000546001600160a01b0316611083575060006105fc565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156110e657600080fd5b505afa1580156110fa573d6000803e3d6000fd5b505050506040513d602081101561111057600080fd5b505190506105fc565b3b151590565b808203828111156105fc576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b808201828110156105fc576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea265627a7a72315820fa8f1c3d3d7103b02eb365a54bb2a13130d90215e763de81c880624bbda0466064736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806375f12b21116100b8578063a3fbbaae1161007c578063a3fbbaae14610386578063a9059cbb146103ac578063be9a6555146103d8578063bf7e214f146103e0578063daea85c5146103e8578063dd62ed3e1461040e57610142565b806375f12b211461031c5780637a9e5e4b146103245780638da5cb5b1461034a57806395d89b41146103525780639dc29fac1461035a57610142565b806323b872dd1161010a57806323b872dd14610249578063313ce5671461027f57806342966c6814610287578063481c6a75146102a45780635431c94e146102c857806370a08231146102f657610142565b806306fdde031461014457806307da68f5146101c1578063095ea7b3146101c957806313af40351461020957806318160ddd1461022f575b005b61014c61043c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018657818101518382015260200161016e565b50505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610142610469565b6101f5600480360360408110156101df57600080fd5b506001600160a01b038135169060200135610543565b604080519115158252519081900360200190f35b6101426004803603602081101561021f57600080fd5b50356001600160a01b0316610602565b6102376106b0565b60408051918252519081900360200190f35b6101f56004803603606081101561025f57600080fd5b506001600160a01b038135811691602081013590911690604001356106b6565b6102376109ef565b6101426004803603602081101561029d57600080fd5b50356109f4565b6102ac610a01565b604080516001600160a01b039092168252519081900360200190f35b610142600480360360408110156102de57600080fd5b506001600160a01b0381358116916020013516610a10565b6102376004803603602081101561030c57600080fd5b50356001600160a01b0316610b6d565b6101f5610b88565b6101426004803603602081101561033a57600080fd5b50356001600160a01b0316610b98565b6102ac610c42565b61014c610c51565b6101426004803603604081101561037057600080fd5b506001600160a01b038135169060200135610c70565b6101426004803603602081101561039c57600080fd5b50356001600160a01b0316610ed0565b6101f5600480360360408110156103c257600080fd5b506001600160a01b038135169060200135610f09565b610142610f16565b6102ac610fea565b6101f5600480360360208110156103fe57600080fd5b50356001600160a01b0316610ff9565b6102376004803603604081101561042457600080fd5b506001600160a01b0381358116916020013516611007565b604051806040016040528060118152602001702227a9902732ba3bb7b935902a37b5b2b760791b81525081565b61047f336000356001600160e01b031916611032565b6104c7576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a450506001805460ff60a01b1916600160a01b17905550565b600154600090600160a01b900460ff161561059a576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b610618336000356001600160e01b031916611032565b610660576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60035490565b600154600090600160a01b900460ff161561070d576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205482111561077a576040805162461bcd60e51b815260206004820152601a60248201527f746f6b656e2d696e73756666696369656e742d62616c616e6365000000000000604482015290519081900360640190fd5b60025461078f906001600160a01b0316611119565b1561082d5760025460408051634a39314960e01b81526001600160a01b03878116600483015286811660248301526044820186905291519190921691634a3931499160648083019260209291908290030181600087803b1580156107f257600080fd5b505af1158015610806573d6000803e3d6000fd5b505050506040513d602081101561081c57600080fd5b505191508161082d575060006109e8565b6001600160a01b038416331480159061086b57506001600160a01b038416600090815260056020908152604080832033845290915290205460001914155b1561093b576001600160a01b03841660009081526005602090815260408083203384529091529020548211156108e8576040805162461bcd60e51b815260206004820152601b60248201527f746f6b656e2d696e73756666696369656e742d617070726f76616c0000000000604482015290519081900360640190fd5b6001600160a01b0384166000908152600560209081526040808320338452909152902054610916908361111f565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6001600160a01b03841660009081526004602052604090205461095e908361111f565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461098d908361116f565b6001600160a01b0380851660008181526004602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b9392505050565b601281565b6109fe3382610c70565b50565b6002546001600160a01b031681565b610a26336000356001600160e01b031916611032565b610a6e576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610ab957600080fd5b505afa158015610acd573d6000803e3d6000fd5b505050506040513d6020811015610ae357600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b158015610b3b57600080fd5b505af1158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b505050505050565b6001600160a01b031660009081526004602052604090205490565b600154600160a01b900460ff1681565b610bae336000356001600160e01b031916611032565b610bf6576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b60405180604001604052806003815260200162444f5360e81b81525081565b600154600160a01b900460ff1615610cc4576040805162461bcd60e51b8152602060048201526012602482015271191ccb5cdd1bdc0b5a5ccb5cdd1bdc1c195960721b604482015290519081900360640190fd5b6001600160a01b0382163314801590610d0257506001600160a01b038216600090815260056020908152604080832033845290915290205460001914155b15610dd2576001600160a01b0382166000908152600560209081526040808320338452909152902054811115610d7f576040805162461bcd60e51b815260206004820152601b60248201527f746f6b656e2d696e73756666696369656e742d617070726f76616c0000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600560209081526040808320338452909152902054610dad908261111f565b6001600160a01b03831660009081526005602090815260408083203384529091529020555b6001600160a01b038216600090815260046020526040902054811115610e3f576040805162461bcd60e51b815260206004820152601a60248201527f746f6b656e2d696e73756666696369656e742d62616c616e6365000000000000604482015290519081900360640190fd5b6001600160a01b038216600090815260046020526040902054610e62908261111f565b6001600160a01b038316600090815260046020526040902055600354610e88908261111f565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6002546001600160a01b03163314610ee757600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006109e83384846106b6565b610f2c336000356001600160e01b031916611032565b610f74576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b604080513480825260208201838152369383018490526004359360243593849286923392600080356001600160e01b03191693889391929060608201848480828437600083820152604051601f909101601f1916909201829003965090945050505050a450506001805460ff60a01b1916905550565b6000546001600160a01b031681565b60006105fc82600019610543565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60006001600160a01b03831630141561104d575060016105fc565b6001546001600160a01b038481169116141561106b575060016105fc565b6000546001600160a01b0316611083575060006105fc565b6000546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156110e657600080fd5b505afa1580156110fa573d6000803e3d6000fd5b505050506040513d602081101561111057600080fd5b505190506105fc565b3b151590565b808203828111156105fc576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b808201828110156105fc576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfea265627a7a72315820fa8f1c3d3d7103b02eb365a54bb2a13130d90215e763de81c880624bbda0466064736f6c63430005110032

Deployed Bytecode Sourcemap

6182:3290:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6182:3290:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6241:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;6241:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5017:66;;;:::i;8146:192::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8146:192:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;526:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;526:136:0;-1:-1:-1;;;;;526:136:0;;:::i;6803:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;7266:764;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7266:764:0;;;;;;;;;;;;;;;;;:::i;6341:37::-;;;:::i;8346:71::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8346:71:0;;:::i;5375:22::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5375:22:0;;;;;;;;;;;;;;9263:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9263:206:0;;;;;;;;;;:::i;6898:99::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6898:99:0;-1:-1:-1;;;;;6898:99:0;;:::i;4894:19::-;;;:::i;670:173::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;670:173:0;-1:-1:-1;;;;;670:173:0;;:::i;386:26::-;;;:::i;6297:37::-;;;:::i;8429:530::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8429:530:0;;;;;;;;:::i;5572:103::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5572:103:0;-1:-1:-1;;;;;5572:103:0;;:::i;7135:123::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7135:123:0;;;;;;;;:::i;5089:68::-;;;:::i;349:30::-;;;:::i;8038:100::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8038:100:0;-1:-1:-1;;;;;8038:100:0;;:::i;7009:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7009:118:0;;;;;;;;;;:::i;6241:49::-;;;;;;;;;;;;;;-1:-1:-1;;;6241:49:0;;;;:::o;5017:66::-;884:33;897:10;909:7;;-1:-1:-1;;;;;;909:7:0;884:12;:33::i;:::-;876:66;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;;;;1847:53;;;1810:9;1847:53;;;;;;;;;1891:8;1847:53;;;;;;1750:1;1737:15;;1786:2;1773:16;;;;1737:15;;1864:10;;-1:-1:-1;1855:7:0;;-1:-1:-1;;;;;;1855:7:0;;1810:9;;-1:-1:-1;;1847:53:0;;;;-1:-1:-1;1891:8:0;;-1:-1:-1;1847:53:0;1:33:-1;99:1;81:16;;;74:27;1847:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;1847:53:0;;;;-1:-1:-1;1847:53:0;;-1:-1:-1;;;;;1847:53:0;-1:-1:-1;;5071:4:0;5061:14;;-1:-1:-1;;;;5061:14:0;-1:-1:-1;;;5061:14:0;;;-1:-1:-1;5017:66:0:o;8146:192::-;4961:7;;8212:4;;-1:-1:-1;;;4961:7:0;;;;4960:8;4952:39;;;;;-1:-1:-1;;;4952:39:0;;;;;;;;;;;;-1:-1:-1;;;4952:39:0;;;;;;;;;;;;;;;8240:10;8229:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;8229:27:0;;;;;;;;;;;;:33;;;8278:30;;;;;;;8229:27;;8240:10;8278:30;;;;;;;;;;;-1:-1:-1;8326:4:0;5002:1;8146:192;;;;:::o;526:136::-;884:33;897:10;909:7;;-1:-1:-1;;;;;;909:7:0;884:12;:33::i;:::-;876:66;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;;;;606:5;:14;;-1:-1:-1;;;;;;606:14:0;-1:-1:-1;;;;;606:14:0;;;;;;;;;;;636:18;;648:5;;;636:18;;-1:-1:-1;;636:18:0;526:136;:::o;6803:83::-;6871:7;;6803:83;:::o;7266:764::-;4961:7;;7350:4;;-1:-1:-1;;;4961:7:0;;;;4960:8;4952:39;;;;;-1:-1:-1;;;4952:39:0;;;;;;;;;;;;-1:-1:-1;;;4952:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7375:14:0;;;;;;:9;:14;;;;;;:21;-1:-1:-1;7375:21:0;7367:60;;;;;-1:-1:-1;;;7367:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7455:7;;7444:19;;-1:-1:-1;;;;;7455:7:0;7444:10;:19::i;:::-;7440:151;;;7504:7;;7486:52;;;-1:-1:-1;;;7486:52:0;;-1:-1:-1;;;;;7486:52:0;;;;;;;;;;;;;;;;;;;;;;7504:7;;;;;7486:37;;:52;;;;;;;;;;;;;;7504:7;;7486:52;;;5:2:-1;;;;30:1;27;20:12;5:2;7486:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7486:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7486:52:0;;-1:-1:-1;7557:8:0;7553:26;;-1:-1:-1;7574:5:0;7567:12;;7553:26;-1:-1:-1;;;;;7607:17:0;;7614:10;7607:17;;;;:60;;-1:-1:-1;;;;;;7628:15:0;;;;;;:10;:15;;;;;;;;7644:10;7628:27;;;;;;;;-1:-1:-1;;7628:39:0;;7607:60;7603:249;;;-1:-1:-1;;;;;7692:15:0;;;;;;:10;:15;;;;;;;;7708:10;7692:27;;;;;;;;:34;-1:-1:-1;7692:34:0;7684:74;;;;;-1:-1:-1;;;7684:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7807:15:0;;;;;;:10;:15;;;;;;;;7823:10;7807:27;;;;;;;;7803:37;;7836:3;7803;:37::i;:::-;-1:-1:-1;;;;;7773:15:0;;;;;;:10;:15;;;;;;;;7789:10;7773:27;;;;;;;:67;7603:249;-1:-1:-1;;;;;7885:14:0;;;;;;:9;:14;;;;;;7881:24;;7901:3;7881;:24::i;:::-;-1:-1:-1;;;;;7864:14:0;;;;;;;:9;:14;;;;;;:41;;;;7937:14;;;;;;;7933:24;;7953:3;7933;:24::i;:::-;-1:-1:-1;;;;;7916:14:0;;;;;;;:9;:14;;;;;;;;;:41;;;;7975:23;;;;;;;7916:14;;7975:23;;;;;;;;;;;;;-1:-1:-1;8018:4:0;5002:1;7266:764;;;;;:::o;6341:37::-;6376:2;6341:37;:::o;8346:71::-;8388:21;8393:10;8405:3;8388:4;:21::i;:::-;8346:71;:::o;5375:22::-;;;-1:-1:-1;;;;;5375:22:0;;:::o;9263:206::-;884:33;897:10;909:7;;-1:-1:-1;;;;;;909:7:0;884:12;:33::i;:::-;876:66;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;;;;9391:30;;;-1:-1:-1;;;9391:30:0;;9415:4;9391:30;;;;;;9358:6;;9338:11;;-1:-1:-1;;;;;9391:15:0;;;;;:30;;;;;;;;;;;;;;:15;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;9391:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9391:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9391:30:0;9432:29;;;-1:-1:-1;;;9432:29:0;;-1:-1:-1;;;;;9432:29:0;;;;;;;;;;;;;;;9391:30;;-1:-1:-1;9432:14:0;;;;;;:29;;;;;9391:30;;9432:29;;;;;;;;-1:-1:-1;9432:14:0;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;9432:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9432:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9263:206:0:o;6898:99::-;-1:-1:-1;;;;;6975:14:0;6951:4;6975:14;;;:9;:14;;;;;;;6898:99::o;4894:19::-;;;-1:-1:-1;;;4894:19:0;;;;;:::o;670:173::-;884:33;897:10;909:7;;-1:-1:-1;;;;;;909:7:0;884:12;:33::i;:::-;876:66;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;;;;762:9;:22;;-1:-1:-1;;;;;;762:22:0;-1:-1:-1;;;;;762:22:0;;;;;;;;;;800:35;;824:9;;;800:35;;;670:173;:::o;386:26::-;;;-1:-1:-1;;;;;386:26:0;;:::o;6297:37::-;;;;;;;;;;;;;;-1:-1:-1;;;6297:37:0;;;;:::o;8429:530::-;4961:7;;-1:-1:-1;;;4961:7:0;;;;4960:8;4952:39;;;;;-1:-1:-1;;;4952:39:0;;;;;;;;;;;;-1:-1:-1;;;4952:39:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8498:17:0;;8505:10;8498:17;;;;:60;;-1:-1:-1;;;;;;8519:15:0;;;;;;:10;:15;;;;;;;;8535:10;8519:27;;;;;;;;-1:-1:-1;;8519:39:0;;8498:60;8494:249;;;-1:-1:-1;;;;;8583:15:0;;;;;;:10;:15;;;;;;;;8599:10;8583:27;;;;;;;;:34;-1:-1:-1;8583:34:0;8575:74;;;;;-1:-1:-1;;;8575:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8698:15:0;;;;;;:10;:15;;;;;;;;8714:10;8698:27;;;;;;;;8694:37;;8727:3;8694;:37::i;:::-;-1:-1:-1;;;;;8664:15:0;;;;;;:10;:15;;;;;;;;8680:10;8664:27;;;;;;;:67;8494:249;-1:-1:-1;;;;;8763:14:0;;;;;;:9;:14;;;;;;:21;-1:-1:-1;8763:21:0;8755:60;;;;;-1:-1:-1;;;8755:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8847:14:0;;;;;;:9;:14;;;;;;8843:24;;8863:3;8843;:24::i;:::-;-1:-1:-1;;;;;8826:14:0;;;;;;:9;:14;;;;;:41;8892:7;;8888:17;;8901:3;8888;:17::i;:::-;8878:7;:27;8921:30;;;;;;;;8943:1;;-1:-1:-1;;;;;8921:30:0;;;;;;;;;;;;8429:530;;:::o;5572:103::-;5353:7;;-1:-1:-1;;;;;5353:7:0;5339:10;:21;5331:30;;;;;;5646:7;:21;;-1:-1:-1;;;;;;5646:21:0;-1:-1:-1;;;;;5646:21:0;;;;;;;;;;5572:103::o;7135:123::-;7192:4;7216:34;7229:10;7241:3;7246;7216:12;:34::i;5089:68::-;884:33;897:10;909:7;;-1:-1:-1;;;;;;909:7:0;884:12;:33::i;:::-;876:66;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;-1:-1:-1;;;876:66:0;;;;;;;;;;;;;;;1847:53;;;1810:9;1847:53;;;;;;;;;1891:8;1847:53;;;;;;1750:1;1737:15;;1786:2;1773:16;;;;1737:15;;1864:10;;-1:-1:-1;1855:7:0;;-1:-1:-1;;;;;;1855:7:0;;1810:9;;-1:-1:-1;;1847:53:0;;;;-1:-1:-1;1891:8:0;;-1:-1:-1;1847:53:0;1:33:-1;99:1;81:16;;;74:27;1847:53:0;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;1847:53:0;;;;-1:-1:-1;1847:53:0;;-1:-1:-1;;;;;1847:53:0;-1:-1:-1;;5134:7:0;:15;;-1:-1:-1;;;;5134:15:0;;;-1:-1:-1;5089:68:0:o;349:30::-;;;-1:-1:-1;;;;;349:30:0;;:::o;8038:100::-;8084:4;8108:22;8116:3;-1:-1:-1;;8108:7:0;:22::i;7009:118::-;-1:-1:-1;;;;;7099:15:0;;;7075:4;7099:15;;;:10;:15;;;;;;;;:20;;;;;;;;;;;;;7009:118::o;970:380::-;1040:4;-1:-1:-1;;;;;1061:20:0;;1076:4;1061:20;1057:286;;;-1:-1:-1;1105:4:0;1098:11;;1057:286;1138:5;;-1:-1:-1;;;;;1131:12:0;;;1138:5;;1131:12;1127:216;;;-1:-1:-1;1167:4:0;1160:11;;1127:216;1218:1;1193:9;-1:-1:-1;;;;;1193:9:0;1189:154;;-1:-1:-1;1244:5:0;1237:12;;1189:154;1289:9;;:42;;;-1:-1:-1;;;1289:42:0;;-1:-1:-1;;;;;1289:42:0;;;;;;;1320:4;1289:42;;;;-1:-1:-1;;;;;;1289:42:0;;;;;;;;:9;;;;;:17;;:42;;;;;;;;;;;;;;:9;:42;;;5:2:-1;;;;30:1;27;20:12;5:2;1289:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1289:42:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1289:42:0;;-1:-1:-1;1282:49:0;;5855:192;5985:18;6031:8;;;5855:192::o;2752:129::-;2836:5;;;2831:16;;;;2823:50;;;;;-1:-1:-1;;;2823:50:0;;;;;;;;;;;;-1:-1:-1;;;2823:50:0;;;;;;;;;;;;;;2618:128;2702:5;;;2697:16;;;;2689:49;;;;;-1:-1:-1;;;2689:49:0;;;;;;;;;;;;-1:-1:-1;;;2689:49:0;;;;;;;;;;;;;

Swarm Source

bzzr://fa8f1c3d3d7103b02eb365a54bb2a13130d90215e763de81c880624bbda04660

Block Transaction Difficulty 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
Loading...
Loading
[ 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.