Contract 0x8b303d5bbfbbf46f1a4d9741e491e06986894e18

 
Txn Hash
Block
From
To
Value [Txn Fee]
0xb4ebd8b222dda91d534f73082efcb72970e69314f330c915edcd53702920ccac82845572021-06-14 8:02:1114 mins ago0x890a3734db3eab8b393b856c88b12d5c3011a2e9 IN  Woonkly: WOOP Token0 BNB0.00023091
0xaeff517cba93be8cf9f68418607d90143eb485f7cefb3af9497c2a8d2e7c96d582841372021-06-14 7:41:1135 mins ago0x9e80b770420ac38eb790b850be53e0a4def616ae IN  Woonkly: WOOP Token0 BNB0.00020605
0x05a413ea96b9d0d698ca983d282ae817ee3cbb123dc486f17964cdc0b98ab67382834722021-06-14 7:07:171 hr 9 mins ago0x1444c8dd68c29ffb9e1302ed839983cba67f891b IN  Woonkly: WOOP Token0 BNB0.00023091
0xc0bf812ec4ed25d1f00ac74d557ff6d64680866ec0dca089dc94e47c4e45728c82829532021-06-14 6:41:201 hr 35 mins ago0x4b3188f9b5c19c291dd2fb18c909041ac7fd387e IN  Woonkly: WOOP Token0 BNB0.00013117
0x213207c90f17be78b1c11825da1892e1aa1e42a256ffba24145978e59e67e4cb82826982021-06-14 6:27:541 hr 48 mins ago0x7ba259371d9a6dceef1db5abc8feed24dc35de12 IN  Woonkly: WOOP Token0 BNB0.00023091
0xcde86d37afef481f8a90fed9559405aecf8bf33472d60f56a83d90a04e083dc882815062021-06-14 5:26:512 hrs 49 mins ago0xaa412376fa8c35219e9270119efafbdc84fe424c IN  Woonkly: WOOP Token0 BNB0.00023091
0xd23906d2d1f76fcad9960ae184843a097c11d364674bca34561f090543ed7d0c82808062021-06-14 4:51:513 hrs 24 mins ago0x07d80ae6f36a5e08dca74ce884a24d39db9934ed IN  Woonkly: WOOP Token0 BNB0.0002763
0x4942f17814407f023a4370e8e9caf54099f73d6a6900fa623a89b818d192c8fb82802862021-06-14 4:25:453 hrs 50 mins ago0x972caadf9ab5b1e93ce659afeda2e595f40018cd IN  Woonkly: WOOP Token0 BNB0.00020605
0x7b8e704a6409d99030bfb50fbf9d2c8efa3d7e664b03b8645183cdf159fbf32a82800582021-06-14 4:13:504 hrs 2 mins ago0xc2454c3e1e05b84268694f4389d93b73b48c6e72 IN  Woonkly: WOOP Token0 BNB0.00020611
0x5d2db69e424339ad8e2b07edccba046f9da04d3055b1712b75a433852799bfea82800272021-06-14 4:12:174 hrs 4 mins ago0xcaee3f9b9029961240bc820fc5c3dd7845341891 IN  Woonkly: WOOP Token0 BNB0.000247188
0x2f4aa5c43ed6158a7e271317a40a3b744716f43b086669a1a0849529c282a16382799022021-06-14 4:06:024 hrs 10 mins ago0x00f1157ccdd2fad8a234edccf27a8bf2035aa754 IN  Woonkly: WOOP Token0 BNB0.00023091
0x3c7088aa628dfc613e2b04b7e21ca89ba929045b6ca91db617833875cdb93bd282798082021-06-14 4:01:204 hrs 15 mins ago0x68e52a9f2ba8b46ea66c77292f82dd9385340966 IN  Woonkly: WOOP Token0 BNB0.00023091
0x8c6e434dc1f9cc935420dce7e317610cf967901b29a5d382d80735750ede5c1f82794932021-06-14 3:45:354 hrs 30 mins ago0x5a0b50ed91a268fd13efa248b3cb81bc8368e9da IN  Woonkly: WOOP Token0 BNB0.0002204093
0x2a448b1db355423b7ab51eec4acb27ae37da903e3cb93b85c7f2a5b886863e8082790562021-06-14 3:23:214 hrs 53 mins ago0x2e40d7eaed63e0c83cd94eef72d4a9d6cd430375 IN  Woonkly: WOOP Token0 BNB0.00023091
0x7c5446a4dfee8383c92000b4a19cc4b90838200eee040ce7538e20b448a3b78482784732021-06-14 2:54:125 hrs 22 mins ago0xed492a68127407ffdf2bbd95d61dc4f7a22a6a54 IN  Woonkly: WOOP Token0 BNB0.00023091
0xcbcba5e72e06e0c3ca1ae559e6ed9a9d9665cbb9cf3a063ad437ad366f0c1f0b82783922021-06-14 2:50:095 hrs 26 mins ago0xfae5addbcd8ae5d04c91cd28e1fcf0df612bdfbb IN  Woonkly: WOOP Token0 BNB0.000277092
0x853f674906e51e1b2e4491857da0a73a99bec5586bd7593abd8830bf4d22984682777722021-06-14 2:17:595 hrs 58 mins ago0xadda4838cb79fb242ec55e98f47f98c8009596c4 IN  Woonkly: WOOP Token0 BNB0.00023091
0x908fe69041c15db25b759b71cf47a9c0262cd475226e490b142cc7122d2fa2ce82775742021-06-14 2:08:056 hrs 8 mins ago0xd7ac62b8c568c815b7d459d1808b60bbccf947f3 IN  Woonkly: WOOP Token0 BNB0.00023091
0xc8adfae8650bc502c709caeaee97219ce5c32810d99d1517d86f09c3349af22f82772132021-06-14 1:48:586 hrs 27 mins ago0xf4d0e264ecb786e1e5ce8fff08cf5d2420449650 IN  Woonkly: WOOP Token0 BNB0.00013117
0x7670070b49c957835c42d53ba9f9c703d4162f5d780df2f600befd2ea4e4caaf82768932021-06-14 1:32:586 hrs 43 mins ago0xffefe959d8baea028b1697abfc4285028d6ceb10 IN  Woonkly: WOOP Token0 BNB0.000494648
0xaf1b03c46896a67ada7aae4b932763b6032c211acf3e97f2675702b3db77db5482767592021-06-14 1:26:136 hrs 50 mins ago0x0d0707963952f2fba59dd06f2b425ace40b492fe IN  Woonkly: WOOP Token0 BNB0.00037089
0xd20eabef5fdcf76acd453bf824ae54709cff325229b7f2027acd5e319494255382765692021-06-14 1:15:557 hrs ago0x72af35a2d7d2d5d4513ea3b50a18ba4172ec7a51 IN  Woonkly: WOOP Token0 BNB0.000277092
0xfe00b1d4fcb28ee8064c99a23261bfcd1f7303519f5172327c2e9625db0dad2d82764552021-06-14 1:09:537 hrs 6 mins ago0x331ebbccf7889747035d63b6de482e63a8fd461d IN  Woonkly: WOOP Token0 BNB0.000277092
0x117a42539a1c768a50024cc02a35cbeed462d50ea18279052536ee11511d261b82762242021-06-14 0:58:207 hrs 18 mins ago0xf70b84e74a78a0bd204c8c37b45f7fb57013729c IN  Woonkly: WOOP Token0 BNB0.00023091
0xb7217dfe2b53d3d65a70d2019f1761f0f016d149e19e3da71a8dd1230ab4440082758272021-06-14 0:38:117 hrs 38 mins ago0x6ffc4736ae30d0fe20cd6b5e76d84890febf84c4 IN  Woonkly: WOOP Token0 BNB0.00023091
[ Download CSV Export 

OVERVIEW

Woonkly is a platform that has come to revolutionize the online advertising market.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x77cfd1123d97881f6fbba5d1fd9ad554dfefb42c03eca0b0ccfd61ea47da7f4054712562021-03-07 11:55:4598 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x77cfd1123d97881f6fbba5d1fd9ad554dfefb42c03eca0b0ccfd61ea47da7f4054712562021-03-07 11:55:4598 days 20 hrs ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0xd6db59934b7ba04f3287ec1a46e67e7e2e18ac0183cf9fa4dd9b5eb5bfef00ca54712382021-03-07 11:54:5198 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd6db59934b7ba04f3287ec1a46e67e7e2e18ac0183cf9fa4dd9b5eb5bfef00ca54712382021-03-07 11:54:5198 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd1950c37b2bf3cb686c844c9eb53438d011faa936a03734015b32b82def8578554712202021-03-07 11:53:5798 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd1950c37b2bf3cb686c844c9eb53438d011faa936a03734015b32b82def8578554712202021-03-07 11:53:5798 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xda2c2d3a885443845dde27147914e9ef2bedcef245d852beed5c790f3997070654712152021-03-07 11:53:4298 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xda2c2d3a885443845dde27147914e9ef2bedcef245d852beed5c790f3997070654712152021-03-07 11:53:4298 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xbbb7be64c47561026233aadf8f5709d7017fe867dbda7cb068180b687a7bf81154711992021-03-07 11:52:5498 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xbbb7be64c47561026233aadf8f5709d7017fe867dbda7cb068180b687a7bf81154711992021-03-07 11:52:5498 days 20 hrs ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x10881d35b30674e67b3ec3c0dcc98136b0569b14a2789d4d554d869922021dcc54711682021-03-07 11:51:2198 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x10881d35b30674e67b3ec3c0dcc98136b0569b14a2789d4d554d869922021dcc54711682021-03-07 11:51:2198 days 20 hrs ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x00c136e5c188927a427a5387de74d3b5538f9ab34a6d05413a21dfc456c165c854711662021-03-07 11:51:1598 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x00c136e5c188927a427a5387de74d3b5538f9ab34a6d05413a21dfc456c165c854711662021-03-07 11:51:1598 days 20 hrs ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x4865b2f362c197d97b4b873a04ae3e6d120eb3c408d0eb0608d956066ac01f4654711632021-03-07 11:51:0698 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x4865b2f362c197d97b4b873a04ae3e6d120eb3c408d0eb0608d956066ac01f4654711632021-03-07 11:51:0698 days 20 hrs ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0x2bbf9bfeac11d77857d43cc2159da46f716243357f6c0b9fde3b11d5982a92e154711352021-03-07 11:49:4298 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x2bbf9bfeac11d77857d43cc2159da46f716243357f6c0b9fde3b11d5982a92e154711352021-03-07 11:49:4298 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd286135a85b283766c769dad25782311a96f4d50e4f5b06008f7a9011d33235b54711312021-03-07 11:49:3098 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0xd286135a85b283766c769dad25782311a96f4d50e4f5b06008f7a9011d33235b54711312021-03-07 11:49:3098 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x572fb6dc438bd002738b96cc6c6b7b2f4f0f11f3fa45b1f03fd9f744970f598d54710082021-03-07 11:43:2198 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x572fb6dc438bd002738b96cc6c6b7b2f4f0f11f3fa45b1f03fd9f744970f598d54710082021-03-07 11:43:2198 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x8f88847325fdd54e046806395b92690a6437b26af7ae3d68caf4fad859126f4c54709362021-03-07 11:39:4598 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
0x8f88847325fdd54e046806395b92690a6437b26af7ae3d68caf4fad859126f4c54709362021-03-07 11:39:4598 days 20 hrs ago PancakeSwap: Router Woonkly: WOOP Token0 BNB
0xe7ef0606261c4b53e62488ce40c1462c52fd4c56b02641f74cd586dcb70cc01254709352021-03-07 11:39:4298 days 20 hrs ago PancakeSwap: WOOP Woonkly: WOOP Token0 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WOOP

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at BscScan.com on 2020-11-25
*/

pragma solidity ^0.5.16;

contract Owned {

    address public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

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

    modifier onlyOwner {
        require(msg.sender == owner, "Should be owner");
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        owner = newOwner;
        emit OwnershipTransferred(owner, newOwner);
    }
}

contract Tokenlock is Owned {
    /// @notice Indicates if token is locked
    uint8 isLocked = 0;

    event Freezed();
    event UnFreezed();

    modifier validLock {
        require(isLocked == 0, "Token is locked");
        _;
    }
    
    function freeze() public onlyOwner {
        isLocked = 1;
        
        emit Freezed();
    }

    function unfreeze() public onlyOwner {
        isLocked = 0;
        
        emit UnFreezed();
    }
}

contract WOOP is Tokenlock {
    /// @notice BEP-20 token name for this token
    string public constant name = "Woonkly Power";

    /// @notice BEP-20 token symbol for this token
    string public constant symbol = "WOOP";

    /// @notice BEP-20 token decimals for this token
    uint8 public constant decimals = 18;

    /// @notice Total number of tokens in circulation
    uint public constant totalSupply = 1000000000e18; // 1 mil million WTSTsts

    /// @notice Allowance amounts on behalf of others
    mapping (address => mapping (address => uint96)) internal allowances;

    /// @notice Official record of token balances for each account
    mapping (address => uint96) internal balances;

    /// @notice A record of each accounts delegate
    mapping (address => address) public delegates;

    /// @notice A checkpoint for marking number of votes from a given block
    struct Checkpoint {
        uint32 fromBlock;
        uint96 votes;
    }

    /// @notice A record of votes checkpoints for each account, by index
    mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;

    /// @notice The number of checkpoints for each account
    mapping (address => uint32) public numCheckpoints;

    /// @notice The EIP-712 typehash for the contract's domain
    bytes32 public constant DOMAIN_TYPEHASH = keccak256("EIP712Domain(string name,uint256 chainId,address verifyingContract)");

    /// @notice The EIP-712 typehash for the delegation struct used by the contract
    bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

    /// @notice A record of states for signing / validating signatures
    mapping (address => uint) public nonces;

    /// @notice An event thats emitted when an account changes its delegate
    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);

    /// @notice An event thats emitted when a delegate account's vote balance changes
    event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);

    /// @notice The standard BEP-20 transfer event
    event Transfer(address indexed from, address indexed to, uint256 amount);

    /// @notice The standard BEP-20 approval event
    event Approval(address indexed owner, address indexed spender, uint256 amount);

    /**
     * @notice Construct a new WOOP token
     * @param account The initial account to grant all the tokens
     */
    constructor(address account) public {
        balances[account] = uint96(totalSupply);
        emit Transfer(address(0), account, totalSupply);
    }

    /**
     * @notice Get the number of tokens `spender` is approved to spend on behalf of `account`
     * @param account The address of the account holding the funds
     * @param spender The address of the account spending the funds
     * @return The number of tokens approved
     */
    function allowance(address account, address spender) external view returns (uint) {
        return allowances[account][spender];
    }

    /**
     * @notice Approve `spender` to transfer up to `amount` from `src`
     * @dev This will overwrite the approval amount for `spender`
     * @param spender The address of the account which may transfer tokens
     * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)
     * @return Whether or not the approval succeeded
     */
    function approve(address spender, uint rawAmount) external validLock returns (bool) {
        uint96 amount;
        if (rawAmount == uint(-1)) {
            amount = uint96(-1);
        } else {
            amount = safe96(rawAmount, "WOP::approve: amount exceeds 96 bits");
        }

        allowances[msg.sender][spender] = amount;

        emit Approval(msg.sender, spender, amount);
        return true;
    }

    /**
     * @notice Get the number of tokens held by the `account`
     * @param account The address of the account to get the balance of
     * @return The number of tokens held
     */
    function balanceOf(address account) external view returns (uint) {
        return balances[account];
    }

    /**
     * @notice Transfer `amount` tokens from `msg.sender` to `dst`
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transfer(address dst, uint rawAmount) external validLock returns (bool) {
        uint96 amount = safe96(rawAmount, "WOP::transfer: amount exceeds 96 bits");
        _transferTokens(msg.sender, dst, amount);
        return true;
    }

    /**
     * @notice Transfer `amount` tokens from `src` to `dst`
     * @param src The address of the source account
     * @param dst The address of the destination account
     * @param rawAmount The number of tokens to transfer
     * @return Whether or not the transfer succeeded
     */
    function transferFrom(address src, address dst, uint rawAmount) external validLock returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "WOP::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != uint96(-1)) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "WOP::transferFrom: transfer amount exceeds spender allowance");
            allowances[src][spender] = newAllowance;

            emit Approval(src, spender, newAllowance);
        }

        _transferTokens(src, dst, amount);
        return true;
    }

    /**
     * @notice Delegate votes from `msg.sender` to `delegatee`
     * @param delegatee The address to delegate votes to
     */
    function delegate(address delegatee) public validLock {
        return _delegate(msg.sender, delegatee);
    }

    /**
     * @notice Delegates votes from signatory to `delegatee`
     * @param delegatee The address to delegate votes to
     * @param nonce The contract state required to match the signature
     * @param expiry The time at which to expire the signature
     * @param v The recovery byte of the signature
     * @param r Half of the ECDSA signature pair
     * @param s Half of the ECDSA signature pair
     */
    function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public validLock {
        bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));
        bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
        bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash));
        address signatory = ecrecover(digest, v, r, s);
        require(signatory != address(0), "WOP::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "WOP::delegateBySig: invalid nonce");
        require(now <= expiry, "WOP::delegateBySig: signature expired");
        return _delegate(signatory, delegatee);
    }

    /**
     * @notice Gets the current votes balance for `account`
     * @param account The address to get votes balance
     * @return The number of current votes for `account`
     */
    function getCurrentVotes(address account) external view returns (uint96) {
        uint32 nCheckpoints = numCheckpoints[account];
        return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
    }

    /**
     * @notice Determine the prior number of votes for an account as of a block number
     * @dev Block number must be a finalized block or else this function will revert to prevent misinformation.
     * @param account The address of the account to check
     * @param blockNumber The block number to get the vote balance at
     * @return The number of votes the account had as of the given block
     */
    function getPriorVotes(address account, uint blockNumber) public view returns (uint96) {
        require(blockNumber < block.number, "WOP::getPriorVotes: not yet determined");

        uint32 nCheckpoints = numCheckpoints[account];
        if (nCheckpoints == 0) {
            return 0;
        }

        // First check most recent balance
        if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {
            return checkpoints[account][nCheckpoints - 1].votes;
        }

        // Next check implicit zero balance
        if (checkpoints[account][0].fromBlock > blockNumber) {
            return 0;
        }

        uint32 lower = 0;
        uint32 upper = nCheckpoints - 1;
        while (upper > lower) {
            uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow
            Checkpoint memory cp = checkpoints[account][center];
            if (cp.fromBlock == blockNumber) {
                return cp.votes;
            } else if (cp.fromBlock < blockNumber) {
                lower = center;
            } else {
                upper = center - 1;
            }
        }
        return checkpoints[account][lower].votes;
    }

    function _delegate(address delegator, address delegatee) internal {
        address currentDelegate = delegates[delegator];
        uint96 delegatorBalance = balances[delegator];
        delegates[delegator] = delegatee;

        emit DelegateChanged(delegator, currentDelegate, delegatee);

        _moveDelegates(currentDelegate, delegatee, delegatorBalance);
    }

    function _transferTokens(address src, address dst, uint96 amount) internal {
        require(src != address(0), "WOP::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "WOP::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "WOP::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "WOP::_transferTokens: transfer amount overflows");
        emit Transfer(src, dst, amount);

        _moveDelegates(delegates[src], delegates[dst], amount);
    }

    function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {
        if (srcRep != dstRep && amount > 0) {
            if (srcRep != address(0)) {
                uint32 srcRepNum = numCheckpoints[srcRep];
                uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;
                uint96 srcRepNew = sub96(srcRepOld, amount, "WOP::_moveVotes: vote amount underflows");
                _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);
            }

            if (dstRep != address(0)) {
                uint32 dstRepNum = numCheckpoints[dstRep];
                uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
                uint96 dstRepNew = add96(dstRepOld, amount, "WOP::_moveVotes: vote amount overflows");
                _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
            }
        }
    }

    function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {
      uint32 blockNumber = safe32(block.number, "WOP::_writeCheckpoint: block number exceeds 32 bits");

      if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {
          checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;
      } else {
          checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);
          numCheckpoints[delegatee] = nCheckpoints + 1;
      }

      emit DelegateVotesChanged(delegatee, oldVotes, newVotes);
    }

    function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {
        require(n < 2**32, errorMessage);
        return uint32(n);
    }

    function safe96(uint n, string memory errorMessage) internal pure returns (uint96) {
        require(n < 2**96, errorMessage);
        return uint96(n);
    }

    function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        uint96 c = a + b;
        require(c >= a, errorMessage);
        return c;
    }

    function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {
        require(b <= a, errorMessage);
        return a - b;
    }

    function getChainId() internal pure returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"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":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegator","type":"address"},{"indexed":true,"internalType":"address","name":"fromDelegate","type":"address"},{"indexed":true,"internalType":"address","name":"toDelegate","type":"address"}],"name":"DelegateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delegate","type":"address"},{"indexed":false,"internalType":"uint256","name":"previousBalance","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBalance","type":"uint256"}],"name":"DelegateVotesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Freezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"}],"name":"OwnershipTransferred","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"UnFreezed","type":"event"},{"constant":true,"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint96","name":"votes","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"delegateBySig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"rawAmount","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":"rawAmount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405260008060146101000a81548160ff021916908360ff16021790555034801561002b57600080fd5b506040516133893803806133898339818101604052602081101561004e57600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506b033b2e3c9fd0803ce8000000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040518082815260200191505060405180910390a3506131ee8061019b6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063b4b5ea571161007c578063b4b5ea57146106c2578063c3cda52014610736578063dd62ed3e146107af578063e7a324dc14610827578063f1127ed814610845578063f2fde38b146108dc5761014d565b806370a0823114610461578063782d6fe1146104b95780637ecebe00146105375780638da5cb5b1461058f57806395d89b41146105d9578063a9059cbb1461065c5761014d565b8063313ce56711610115578063313ce567146102fd578063587cde1e146103215780635c19a95c146103a557806362a5af3b146103e95780636a28f000146103f35780636fcfff45146103fd5761014d565b806306fdde0314610152578063095ea7b3146101d557806318160ddd1461023b57806320606b701461025957806323b872dd14610277575b600080fd5b61015a610920565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561019a57808201518184015260208101905061017f565b50505050905090810190601f1680156101c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610221600480360360408110156101eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610959565b604051808215151515815260200191505060405180910390f35b610243610b82565b6040518082815260200191505060405180910390f35b610261610b92565b6040518082815260200191505060405180910390f35b6102e36004803603606081101561028d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bae565b604051808215151515815260200191505060405180910390f35b610305610ed8565b604051808260ff1660ff16815260200191505060405180910390f35b6103636004803603602081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610edd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103e7600480360360208110156103bb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f10565b005b6103f1610fa4565b005b6103fb6110b0565b005b61043f6004803603602081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111bb565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6104a36004803603602081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111de565b6040518082815260200191505060405180910390f35b610505600480360360408110156104cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061124d565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6105796004803603602081101561054d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611676565b6040518082815260200191505060405180910390f35b61059761168e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105e16116b3565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610621578082015181840152602081019050610606565b50505050905090810190601f16801561064e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106a86004803603604081101561067257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ec565b604051808215151515815260200191505060405180910390f35b610704600480360360208110156106d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6107ad600480360360c081101561074c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061189f565b005b610811600480360360408110156107c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cd7565b6040518082815260200191505060405180910390f35b61082f611d84565b6040518082815260200191505060405180910390f35b6108976004803603604081101561085b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff169060200190929190505050611da0565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b61091e600480360360208110156108f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611df9565b005b6040518060400160405280600d81526020017f576f6f6e6b6c7920506f7765720000000000000000000000000000000000000081525081565b600080600060149054906101000a900460ff1660ff16146109e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831415610a34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050610a59565b610a568360405180606001604052806024815260200161316f60249139611f79565b90505b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6b033b2e3c9fd0803ce800000081565b604051808061304f604391396043019050604051809103902081565b600080600060149054906101000a900460ff1660ff1614610c37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b60003390506000600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610cf98560405180606001604052806024815260200161316f60249139611f79565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d7357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1614155b15610ebf576000610d9d83836040518060600160405280603c8152602001612f0a603c913961203c565b905080600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610eca878783612112565b600193505050509392505050565b601281565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff1660ff1614610f97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b610fa1338261252d565b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f53686f756c64206265206f776e6572000000000000000000000000000000000081525060200191505060405180910390fd5b6001600060146101000a81548160ff021916908360ff1602179055507f962a6139ca22015759d0878e2cf5d770dcb8152e1d5ba08e46a969dd9b154a9c60405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f53686f756c64206265206f776e6572000000000000000000000000000000000081525060200191505060405180910390fd5b60008060146101000a81548160ff021916908360ff1602179055507ff0daac2271a735ea786b9adf80dfcbd6a3cbd52f3cab0a78337114692d5faf5d60405160405180910390a1565b60056020528060005260406000206000915054906101000a900463ffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b60004382106112a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612f466026913960400191505060405180910390fd5b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415611314576000915050611670565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161161141657600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff16915050611670565b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115611497576000915050611670565b600080905060006001830390505b8163ffffffff168163ffffffff1611156115f2576000600283830363ffffffff16816114cd57fe5b04820390506114da612ea0565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff1614156115ca57806020015195505050505050611670565b86816000015163ffffffff1610156115e4578193506115eb565b6001820392505b50506114a5565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60066020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600481526020017f574f4f500000000000000000000000000000000000000000000000000000000081525081565b600080600060149054906101000a900460ff1660ff1614611775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b6000611799836040518060600160405280602581526020016130c560259139611f79565b90506117a6338583612112565b600191505092915050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161161181b576000611897565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b60008060149054906101000a900460ff1660ff1614611926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f546f6b656e206973206c6f636b6564000000000000000000000000000000000081525060200191505060405180910390fd5b6000604051808061304f60439139604301905060405180910390206040518060400160405280600d81526020017f576f6f6e6b6c7920506f77657200000000000000000000000000000000000000815250805190602001206119866126ed565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200194505050505060405160208183030381529060405280519060200120905060006040518080613135603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611b31573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612fc26025913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914611c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612f6c6021913960400191505060405180910390fd5b87421115611cc1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806131106025913960400191505060405180910390fd5b611ccb818b61252d565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b6040518080613135603a9139603a019050604051809103902081565b6004602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ebb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f53686f756c64206265206f776e6572000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60006c0100000000000000000000000083108290612032576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ff7578082015181840152602081019050611fdc565b50505050905090810190601f1680156120245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290612105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156120ca5780820151818401526020810190506120af565b50505050905090810190601f1680156120f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612ecf603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561221e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806130166039913960400191505060405180910390fd5b612298600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060358152602001612f8d6035913961203c565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555061237f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f8152602001612fe7602f91396126fa565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3612528600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836127d5565b505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46126e78284836127d5565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff16101583906127c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561278e578082015181840152602081019050612773565b50505050905090810190601f1680156127bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561281f57506000816bffffffffffffffffffffffff16115b15612acb57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612977576000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116128c257600061293e565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061296582856040518060600160405280602781526020016131936027913961203c565b905061297386848484612ad0565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aca576000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff1611612a15576000612a91565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b90506000612ab882856040518060600160405280602681526020016130ea602691396126fa565b9050612ac685848484612ad0565b5050505b5b505050565b6000612af44360405180606001604052806033815260200161309260339139612de5565b905060008463ffffffff16118015612b8957508063ffffffff16600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b15612c245781600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612d6c565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b600064010000000083108290612e96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e5b578082015181840152602081019050612e40565b50505050905090810190601f168015612e885780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe574f503a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f2061646472657373574f503a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365574f503a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e6564574f503a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365574f503a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365574f503a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265574f503a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773574f503a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429574f503a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473574f503a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473574f503a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773574f503a3a64656c656761746542795369673a207369676e6174757265206578706972656444656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929574f503a3a617070726f76653a20616d6f756e7420657863656564732039362062697473574f503a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773a265627a7a72315820ca5b39a1512752fad39132ac8789e1353b147d1c6625dd3d268aaf74e0a816e164736f6c634300051100320000000000000000000000002d9bfe96a027112438884eefea5c83e6c810f655

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002d9bfe96a027112438884eefea5c83e6c810f655

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002d9bfe96a027112438884eefea5c83e6c810f655


Deployed ByteCode Sourcemap

968:12799:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;968:12799:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1052:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1052:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4513:428;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4513:428:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1358:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2296:122;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6073:680;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6073:680:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1259:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1746:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1746:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6901:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6901:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;747:101;;;:::i;:::-;;856:105;;;:::i;:::-;;2174:49;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2174:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5144:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5144:108:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9097:1217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9097:1217:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2710:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2710:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;52:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1158:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1158:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5516:247;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5516:247:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8444:222;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8444:222:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7447:796;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7447:796:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3993:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3993:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2512:117;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2035:70;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2035:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:150;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;331:150:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1052:45;;;;;;;;;;;;;;;;;;;:::o;4513:428::-;4591:4;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4608:13;4654:2;4636:9;:21;4632:172;;;4690:2;4674:19;;4632:172;;;4735:57;4742:9;4735:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;4726:66;;4632:172;4850:6;4816:10;:22;4827:10;4816:22;;;;;;;;;;;;;;;:31;4839:7;4816:31;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;4895:7;4874:37;;4883:10;4874:37;;;4904:6;4874:37;;;;;;;;;;;;;;;;;;;;4929:4;4922:11;;;4513:428;;;;:::o;1358:48::-;1393:13;1358:48;:::o;2296:122::-;2338:80;;;;;;;;;;;;;;;;;;;2296:122;:::o;6073:680::-;6165:4;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:15;6200:10;6182:28;;6221:23;6247:10;:15;6258:3;6247:15;;;;;;;;;;;;;;;:24;6263:7;6247:24;;;;;;;;;;;;;;;;;;;;;;;;;6221:50;;6282:13;6298:57;6305:9;6298:57;;;;;;;;;;;;;;;;;:6;:57::i;:::-;6282:73;;6383:3;6372:14;;:7;:14;;;;:48;;;;;6417:2;6390:30;;:16;:30;;;;6372:48;6368:310;;;6437:19;6459:95;6465:16;6483:6;6459:95;;;;;;;;;;;;;;;;;:5;:95::i;:::-;6437:117;;6596:12;6569:10;:15;6580:3;6569:15;;;;;;;;;;;;;;;:24;6585:7;6569:24;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;6644:7;6630:36;;6639:3;6630:36;;;6653:12;6630:36;;;;;;;;;;;;;;;;;;;;6368:310;;6690:33;6706:3;6711;6716:6;6690:15;:33::i;:::-;6741:4;6734:11;;;;;6073:680;;;;;:::o;1259:35::-;1292:2;1259:35;:::o;1746:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6901:112::-;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6973:32;6983:10;6995:9;6973;:32::i;:::-;6901:112;:::o;747:101::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;256:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;804:1;793:8;;:12;;;;;;;;;;;;;;;;;;831:9;;;;;;;;;;747:101::o;856:105::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;256:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;915:1;904:8;;:12;;;;;;;;;;;;;;;;;;942:11;;;;;;;;;;856:105::o;2174:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;5144:108::-;5203:4;5227:8;:17;5236:7;5227:17;;;;;;;;;;;;;;;;;;;;;;;;;5220:24;;;;5144:108;;;:::o;9097:1217::-;9176:6;9217:12;9203:11;:26;9195:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9285:19;9307:14;:23;9322:7;9307:23;;;;;;;;;;;;;;;;;;;;;;;;;9285:45;;9361:1;9345:12;:17;;;9341:58;;;9386:1;9379:8;;;;;9341:58;9511:11;9459;:20;9471:7;9459:20;;;;;;;;;;;;;;;:38;9495:1;9480:12;:16;9459:38;;;;;;;;;;;;;;;:48;;;;;;;;;;;;:63;;;9455:147;;9546:11;:20;9558:7;9546:20;;;;;;;;;;;;;;;:38;9582:1;9567:12;:16;9546:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;9539:51;;;;;9455:147;9699:11;9663;:20;9675:7;9663:20;;;;;;;;;;;;;;;:23;9684:1;9663:23;;;;;;;;;;;;;:33;;;;;;;;;;;;:47;;;9659:88;;;9734:1;9727:8;;;;;9659:88;9759:12;9774:1;9759:16;;9786:12;9816:1;9801:12;:16;9786:31;;9828:428;9843:5;9835:13;;:5;:13;;;9828:428;;;9865:13;9907:1;9898:5;9890;:13;9889:19;;;;;;;;9881:5;:27;9865:43;;9950:20;;:::i;:::-;9973:11;:20;9985:7;9973:20;;;;;;;;;;;;;;;:28;9994:6;9973:28;;;;;;;;;;;;;;;9950:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10036:11;10020:2;:12;;;:27;;;10016:229;;;10075:2;:8;;;10068:15;;;;;;;;;10016:229;10124:11;10109:2;:12;;;:26;;;10105:140;;;10164:6;10156:14;;10105:140;;;10228:1;10219:6;:10;10211:18;;10105:140;9828:428;;;;;10273:11;:20;10285:7;10273:20;;;;;;;;;;;;;;;:27;10294:5;10273:27;;;;;;;;;;;;;;;:33;;;;;;;;;;;;10266:40;;;;;9097:1217;;;;;:::o;2710:39::-;;;;;;;;;;;;;;;;;:::o;52:20::-;;;;;;;;;;;;;:::o;1158:38::-;;;;;;;;;;;;;;;;;;;:::o;5516:247::-;5591:4;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5608:13;5624:58;5631:9;5624:58;;;;;;;;;;;;;;;;;:6;:58::i;:::-;5608:74;;5693:40;5709:10;5721:3;5726:6;5693:15;:40::i;:::-;5751:4;5744:11;;;5516:247;;;;:::o;8444:222::-;8509:6;8528:19;8550:14;:23;8565:7;8550:23;;;;;;;;;;;;;;;;;;;;;;;;;8528:45;;8606:1;8591:12;:16;;;:67;;8657:1;8591:67;;;8610:11;:20;8622:7;8610:20;;;;;;;;;;;;;;;:38;8646:1;8631:12;:16;8610:38;;;;;;;;;;;;;;;:44;;;;;;;;;;;;8591:67;8584:74;;;8444:222;;;:::o;7447:796::-;694:1;682:8;;;;;;;;;;;:13;;;674:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7573:23;2338:80;;;;;;;;;;;;;;;;;;;7653:4;;;;;;;;;;;;;;;;;7637:22;;;;;;7661:12;:10;:12::i;:::-;7683:4;7609:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7609:80:0;;;7599:91;;;;;;7573:117;;7701:18;2558:71;;;;;;;;;;;;;;;;;;;7764:9;7775:5;7782:6;7732:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7732:57:0;;;7722:68;;;;;;7701:89;;7801:14;7857:15;7874:10;7828:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7828:57:0;;;7818:68;;;;;;7801:85;;7897:17;7917:26;7927:6;7935:1;7938;7941;7917:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7917:26:0;;;;;;;;7897:46;;7983:1;7962:23;;:9;:23;;;;7954:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8055:6;:17;8062:9;8055:17;;;;;;;;;;;;;;;;:19;;;;;;;;;;;;8046:5;:28;8038:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8138:6;8131:3;:13;;8123:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8204:31;8214:9;8225;8204;:31::i;:::-;8197:38;;;;7447:796;;;;;;:::o;3993:136::-;4069:4;4093:10;:19;4104:7;4093:19;;;;;;;;;;;;;;;:28;4113:7;4093:28;;;;;;;;;;;;;;;;;;;;;;;;;4086:35;;;;3993:136;;;;:::o;2512:117::-;2558:71;;;;;;;;;;;;;;;;;;;2512:117;:::o;2035:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;331:150::-;278:5;;;;;;;;;;;264:19;;:10;:19;;;256:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;412:8;404:5;;:16;;;;;;;;;;;;;;;;;;464:8;436:37;;457:5;;;;;;;;;;;436:37;;;;;;;;;;;;331:150;:::o;13073:161::-;13148:6;13179:5;13175:1;:9;13186:12;13167:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13167:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13224:1;13210:16;;13073:161;;;;:::o;13438:165::-;13524:6;13556:1;13551:6;;:1;:6;;;;13559:12;13543:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13543:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13594:1;13590;:5;13583:12;;13438:165;;;;;:::o;10705:610::-;10814:1;10799:17;;:3;:17;;;;10791:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10914:1;10899:17;;:3;:17;;;;10891:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11007:85;11013:8;:13;11022:3;11013:13;;;;;;;;;;;;;;;;;;;;;;;;;11028:6;11007:85;;;;;;;;;;;;;;;;;:5;:85::i;:::-;10991:8;:13;11000:3;10991:13;;;;;;;;;;;;;;;;:101;;;;;;;;;;;;;;;;;;11119:79;11125:8;:13;11134:3;11125:13;;;;;;;;;;;;;;;;;;;;;;;;;11140:6;11119:79;;;;;;;;;;;;;;;;;:5;:79::i;:::-;11103:8;:13;11112:3;11103:13;;;;;;;;;;;;;;;;:95;;;;;;;;;;;;;;;;;;11228:3;11214:26;;11223:3;11214:26;;;11233:6;11214:26;;;;;;;;;;;;;;;;;;;;11253:54;11268:9;:14;11278:3;11268:14;;;;;;;;;;;;;;;;;;;;;;;;;11284:9;:14;11294:3;11284:14;;;;;;;;;;;;;;;;;;;;;;;;;11300:6;11253:14;:54::i;:::-;10705:610;;;:::o;10322:375::-;10399:23;10425:9;:20;10435:9;10425:20;;;;;;;;;;;;;;;;;;;;;;;;;10399:46;;10456:23;10482:8;:19;10491:9;10482:19;;;;;;;;;;;;;;;;;;;;;;;;;10456:45;;10535:9;10512;:20;10522:9;10512:20;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;10606:9;10562:54;;10589:15;10562:54;;10578:9;10562:54;;;;;;;;;;;;10629:60;10644:15;10661:9;10672:16;10629:14;:60::i;:::-;10322:375;;;;:::o;13611:153::-;13656:4;13673:15;13721:9;13710:20;;13749:7;13742:14;;;13611:153;:::o;13242:188::-;13328:6;13347:8;13362:1;13358;:5;13347:16;;13387:1;13382:6;;:1;:6;;;;13390:12;13374:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13374:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13421:1;13414:8;;;13242:188;;;;;:::o;11323:937::-;11428:6;11418:16;;:6;:16;;;;:30;;;;;11447:1;11438:6;:10;;;11418:30;11414:839;;;11487:1;11469:20;;:6;:20;;;11465:381;;11510:16;11529:14;:22;11544:6;11529:22;;;;;;;;;;;;;;;;;;;;;;;;;11510:41;;11570:16;11601:1;11589:9;:13;;;:60;;11648:1;11589:60;;;11605:11;:19;11617:6;11605:19;;;;;;;;;;;;;;;:34;11637:1;11625:9;:13;11605:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;11589:60;11570:79;;11668:16;11687:67;11693:9;11704:6;11687:67;;;;;;;;;;;;;;;;;:5;:67::i;:::-;11668:86;;11773:57;11790:6;11798:9;11809;11820;11773:16;:57::i;:::-;11465:381;;;;11884:1;11866:20;;:6;:20;;;11862:380;;11907:16;11926:14;:22;11941:6;11926:22;;;;;;;;;;;;;;;;;;;;;;;;;11907:41;;11967:16;11998:1;11986:9;:13;;;:60;;12045:1;11986:60;;;12002:11;:19;12014:6;12002:19;;;;;;;;;;;;;;;:34;12034:1;12022:9;:13;12002:34;;;;;;;;;;;;;;;:40;;;;;;;;;;;;11986:60;11967:79;;12065:16;12084:66;12090:9;12101:6;12084:66;;;;;;;;;;;;;;;;;:5;:66::i;:::-;12065:85;;12169:57;12186:6;12194:9;12205;12216;12169:16;:57::i;:::-;11862:380;;;;11414:839;11323:937;;;:::o;12268:628::-;12386:18;12407:75;12414:12;12407:75;;;;;;;;;;;;;;;;;:6;:75::i;:::-;12386:96;;12512:1;12497:12;:16;;;:85;;;;;12571:11;12517:65;;:11;:22;12529:9;12517:22;;;;;;;;;;;;;;;:40;12555:1;12540:12;:16;12517:40;;;;;;;;;;;;;;;:50;;;;;;;;;;;;:65;;;12497:85;12493:329;;;12646:8;12597:11;:22;12609:9;12597:22;;;;;;;;;;;;;;;:40;12635:1;12620:12;:16;12597:40;;;;;;;;;;;;;;;:46;;;:57;;;;;;;;;;;;;;;;;;12493:329;;;12722:33;;;;;;;;12733:11;12722:33;;;;;;12746:8;12722:33;;;;;12683:11;:22;12695:9;12683:22;;;;;;;;;;;;;;;:36;12706:12;12683:36;;;;;;;;;;;;;;;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12811:1;12796:12;:16;12768:14;:25;12783:9;12768:25;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;12493:329;12858:9;12837:51;;;12869:8;12879;12837:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;12268:628;;;;;:::o;12904:161::-;12979:6;13010:5;13006:1;:9;13017:12;12998:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12998:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13055:1;13041:16;;12904:161;;;;:::o;968:12799::-;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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