Contract 0x5EcC0446e8AA72B9BD74B8935687e1E4cA3478d3 16

 
Lodestar token contract has migrated to a new address.
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa01515b9995c541652dc229bf3db7051c8346fab29c6c86c8aa42360d5b3e029Approve1990102962024-04-08 21:59:1713 days 12 hrs ago0x60c3d850887f75336781d2ef39f17748741a62b0 IN  Lodestar Finance: Old LODE Token0 ETH0.000001 0.01
0x96d389caae90ea9ee4543c912f199211def6927cb05636a71b1535a406b2988cApprove1767243532024-02-02 13:24:4579 days 21 hrs ago0xe47f7c30289153ae3fccc4ffd9e6ed4bd18cae6f IN  Lodestar Finance: Old LODE Token0 ETH0.000060340.1
0xd376eb49aa125dbdd0bbb9d739540150cfde372c923512db8d3c117cec0ef3c1Approve1704092772024-01-14 15:41:2698 days 19 hrs ago0xce4b7a67ce7ddf889f206af18d596fff06b4bdd1 IN  Lodestar Finance: Old LODE Token0 ETH0.00005672 0.1
0x5d51ddc7fa5b1aa4b30801f937bb0f39784189cead3be4acc3c5be1519316449Approve1687440502024-01-09 16:55:47103 days 18 hrs ago0x3e763998e3c70b15347d68dc93a9ca021385675d IN  Lodestar Finance: Old LODE Token0 ETH0.000049770.1
0x990229b7f3ab6c358d9d52dbc89408dba03367e80e875b8d7cd1c398a111b4a6Approve1672774572024-01-05 7:52:58108 days 3 hrs ago0x17f9ec52e0a54d63ddcbe3d6151334f62698a2da IN  Lodestar Finance: Old LODE Token0 ETH0.00003137 0.1
0x9dd64442a979c42091c6bddab321bef1ccc694555475e1f36b8cf9ba2192bec3Approve1669325012024-01-04 7:37:03109 days 3 hrs ago0xdffd8bbf8dcaf236c4e009ff6013bfc98407b6c0 IN  Lodestar Finance: Old LODE Token0 ETH0.000037110.1
0xc2f6ac267605197c7869789d69976975dea0fb5fcd3c5b60ef709ebc92556f76Approve1664658352024-01-02 23:05:27110 days 11 hrs ago0x1e9b7ed825c0acb6bcf0e2ab53c99dc32b48bd29 IN  Lodestar Finance: Old LODE Token0 ETH0.00004486 0.1
0xce43a48e9f20c7a9f232b2efba5a060a5d42f39e699f8da7f32cad99a4d70440Approve1638810642023-12-26 9:19:11118 days 1 hr ago0xd7b061c2ff32c1bd00a1a89082f2b5e7298cf628 IN  Lodestar Finance: Old LODE Token0 ETH0.00003804 0.1
0x1fb54369de7361a3db0170b323ccbbea9aeabc21a108fe13172d9e7fa087d171Approve1568713312023-12-04 17:53:08139 days 17 hrs ago0xc397a2c2963e3181883b7135a7ef1ba85e8ceb82 IN  Lodestar Finance: Old LODE Token0 ETH0.00009871 0.1
0xaa4f92a21c680e9a9c14a76fe690afb5042f97ef6e7a16df6b400ec2e80fb359Approve1566423252023-12-04 1:14:36140 days 9 hrs ago0xc091bbeace46d402ffc216d6b80a263638d630f8 IN  Lodestar Finance: Old LODE Token0 ETH0.00006903 0.1
0x584bb5987cef0c3ac809f46f9ed56f62707633e71e84198754aa5f20065f5dccApprove1562067472023-12-02 15:47:18141 days 19 hrs ago0x880e14298dd46418806f7b5e12b92aa9873bb5d4 IN  Lodestar Finance: Old LODE Token0 ETH0.00010312 0.1
0x86a99050e258b6da2f76cc5e7dbb08f4b6920d7ff0b226b2ef4adc160bb0890fApprove1562066212023-12-02 15:46:45141 days 19 hrs ago0x880e14298dd46418806f7b5e12b92aa9873bb5d4 IN  Lodestar Finance: Old LODE Token0 ETH0.00010511 0.1
0x89d8f167911d73899d0910b4e44b577dd285a11f93183a1dc5134d221fc85805Approve1557123982023-12-01 2:02:56143 days 8 hrs ago0x410ef4df49583daeec7a3cb09f85c2a9ee658afd IN  Lodestar Finance: Old LODE Token0 ETH0.00008848 0.1
0x6d7838fde44f874827c1b2cb017bcec0490dd15b387a9fef10379e706064435bApprove1552857412023-11-29 16:43:28144 days 18 hrs ago0xeb878d6728cb326360049fe1f14e3f48b4ffafdd IN  Lodestar Finance: Old LODE Token0 ETH0.000107010.1
0x985846ca2e9e9e65a7bbabbf9593924c5760bd022ed03f1c1f997014517eba33Approve1552727822023-11-29 15:46:12144 days 19 hrs ago0xeb878d6728cb326360049fe1f14e3f48b4ffafdd IN  Lodestar Finance: Old LODE Token0 ETH0.000144330.1
0xd2a9458ceeaa214541982e929e910951e2b4625935c624bc422e1e09bdd3da9cApprove1546588202023-11-27 17:24:22146 days 17 hrs ago0xc397a2c2963e3181883b7135a7ef1ba85e8ceb82 IN  Lodestar Finance: Old LODE Token0 ETH0.00010548 0.1
0x361418c2e79f23150f3c8d655588c3f3205bdc620859f464696f83a8894e21e1Approve1544288602023-11-27 0:28:09147 days 10 hrs ago0x410ef4df49583daeec7a3cb09f85c2a9ee658afd IN  Lodestar Finance: Old LODE Token0 ETH0.00006353 0.1
0x5da1e7f191550f46f14556e0d84e00e6d7ae90f58b24e9b019b0e035d3048f6fApprove1540204662023-11-25 18:58:21148 days 15 hrs ago0x23fbaf5867ea50e8c434819b6139d44f82942502 IN  Lodestar Finance: Old LODE Token0 ETH0.00003595 0.1
0x9fa7de865eddceec0d46df8bef1a8fc24a3c798ef9520cfd47670a7bb95f1bddApprove1539964662023-11-25 17:18:45148 days 17 hrs ago0x30281e75f812c9afb0e701d1acddaa8999999999 IN  Lodestar Finance: Old LODE Token0 ETH0.00005596 0.1
0x9b8c9d022d5d20674b08a5ac6d81665e2d5a4d8d5dc8e4c4e30755f1c12e2fdcApprove1521377522023-11-20 1:38:12154 days 9 hrs ago0x542a5651f84145efaaf8dc470e2adc2922877807 IN  Lodestar Finance: Old LODE Token0 ETH0.00004574 0.1
0x44b9ed3d04ddd4c2463b20628aa67954d9c68ad56b316a8e852deb4fa5137f47Approve1520853642023-11-19 21:22:37154 days 13 hrs ago0x96df52cc3f98855b107342566941d34e908ad448 IN  Lodestar Finance: Old LODE Token0 ETH0.00008496 0.1
0x0121818ffdc135c521063a672720a6f7c8d6c810dee29ababb1bb4f582e1fdffApprove1517503992023-11-18 20:08:17155 days 14 hrs ago0x8fff9657df45b0ed0dd20d7dac48da12082b4c60 IN  Lodestar Finance: Old LODE Token0 ETH0.00004687 0.1
0xbdcb3541373a2f62f651fc0323f088d663f35ccd2625bdaa10371b9b03e8dea7Approve1497634092023-11-12 18:32:28161 days 16 hrs ago0xd7b061c2ff32c1bd00a1a89082f2b5e7298cf628 IN  Lodestar Finance: Old LODE Token0 ETH0.00006683 0.1
0x06258afda507e3ce306a82ecb27e83882fcebce3e81a8e5effda15883b08f486Approve1497633552023-11-12 18:32:11161 days 16 hrs ago0xd7b061c2ff32c1bd00a1a89082f2b5e7298cf628 IN  Lodestar Finance: Old LODE Token0 ETH0.00006683 0.1
0x3f1254804d8413a9c7e5558ca954c2d032a60e44b026a814f84d28ba773ba7aaApprove1494114642023-11-11 16:11:57162 days 18 hrs ago0xc091bbeace46d402ffc216d6b80a263638d630f8 IN  Lodestar Finance: Old LODE Token0 ETH0.00008707 0.1
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x66ff711ccc9cb9d0b9018fddbfaf02b2dbc5b9868728eee36bbfb72d66ee9743720840982023-03-21 10:08:07398 days 48 mins ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x66ff711ccc9cb9d0b9018fddbfaf02b2dbc5b9868728eee36bbfb72d66ee9743720840982023-03-21 10:08:07398 days 48 mins ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x16e6ea859c8a1a913b18a1baef60f04a8dcc9d07bcd418ed47f8cfe59d33d142720740282023-03-21 9:26:44398 days 1 hr ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x16e6ea859c8a1a913b18a1baef60f04a8dcc9d07bcd418ed47f8cfe59d33d142720740282023-03-21 9:26:44398 days 1 hr ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x34ecb2208c688e7e87a30414b6dd55f7d36cb89c717a9cf69e122750bdf0bd7e720737842023-03-21 9:25:42398 days 1 hr ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x34ecb2208c688e7e87a30414b6dd55f7d36cb89c717a9cf69e122750bdf0bd7e720737842023-03-21 9:25:42398 days 1 hr ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x25ceac25238aa8a96a2d82d4fc9eca87bc6c11ef043dc0ce0e2a7faabe9fecc8720737552023-03-21 9:25:35398 days 1 hr ago 0xe2538a84bdc7d34c9ee7f89c835ce78f07d816d5 Lodestar Finance: Old LODE Token0 ETH
0x8602ae0bb95c6852a6b96d38327da5c933cda3291aa82740d0ab824ca892aef7720620982023-03-21 8:37:48398 days 2 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x8602ae0bb95c6852a6b96d38327da5c933cda3291aa82740d0ab824ca892aef7720620982023-03-21 8:37:48398 days 2 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0xcf609d4f3b3ad9075947ba4e8c615b99c6af48a119ebc7c95721f9ecc5fa3de3720619892023-03-21 8:37:20398 days 2 hrs ago 0xe2538a84bdc7d34c9ee7f89c835ce78f07d816d5 Lodestar Finance: Old LODE Token0 ETH
0xd5fb3aa7438c4c3f4f6a5531073e341730add2053cdfbad6943f58184c4db2df720537042023-03-21 8:03:34398 days 2 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0xd5fb3aa7438c4c3f4f6a5531073e341730add2053cdfbad6943f58184c4db2df720537042023-03-21 8:03:34398 days 2 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x3c1fa5ce5b0897c1db634f3a1d0d7dea79e81a0262d871b6034f68932108e54f720535072023-03-21 8:02:44398 days 2 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x3c1fa5ce5b0897c1db634f3a1d0d7dea79e81a0262d871b6034f68932108e54f720535072023-03-21 8:02:44398 days 2 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x63aaa32102fcebb07201acb20d2f389bd1fb202a6dfc75158a4ffe3b7cb229e3720534452023-03-21 8:02:29398 days 2 hrs ago 0xe2538a84bdc7d34c9ee7f89c835ce78f07d816d5 Lodestar Finance: Old LODE Token0 ETH
0x9a65cea502823d0b1fa1780a2f934085bfb81593e6d452a15849644b6dd8c165720214562023-03-21 5:51:01398 days 5 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x9a65cea502823d0b1fa1780a2f934085bfb81593e6d452a15849644b6dd8c165720214562023-03-21 5:51:01398 days 5 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0xcb91bd4da219e39d17cb8fc1fb6dac0a7a9512c7cbd73e3d98867f4d3e33e529720214142023-03-21 5:50:51398 days 5 hrs ago 0xe2538a84bdc7d34c9ee7f89c835ce78f07d816d5 Lodestar Finance: Old LODE Token0 ETH
0x45cee78793b76e7b9226ed1d6bab0ac09a253cd8e7dc52b5e05362ea2754bef4720195302023-03-21 5:43:03398 days 5 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x45cee78793b76e7b9226ed1d6bab0ac09a253cd8e7dc52b5e05362ea2754bef4720195302023-03-21 5:43:03398 days 5 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x82608416f8cbb7a3cf8f3659b54619da2de484d887b145f269d649558dbf73df719581992023-03-21 1:28:06398 days 9 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x82608416f8cbb7a3cf8f3659b54619da2de484d887b145f269d649558dbf73df719581992023-03-21 1:28:06398 days 9 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x4442f9caba272afc82abf525e1790d896c990aefb41f1cfb550ec1786364b105719581122023-03-21 1:27:43398 days 9 hrs ago 0xe2538a84bdc7d34c9ee7f89c835ce78f07d816d5 Lodestar Finance: Old LODE Token0 ETH
0x70f9b5548358f65c6f3f9d2eaf66d3433119811fa7da98dd49ff9e44300294f9719448862023-03-21 0:31:18398 days 10 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
0x70f9b5548358f65c6f3f9d2eaf66d3433119811fa7da98dd49ff9e44300294f9719448862023-03-21 0:31:18398 days 10 hrs ago Lodestar Finance: Token Fix Lodestar Finance: Old LODE Token0 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Comp

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Comp.sol
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity ^0.8.10;

contract Comp {
    /// @notice EIP-20 token name for this token
    string public constant name = "Lodestar";

    /// @notice EIP-20 token symbol for this token
    string public constant symbol = "LODE";

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

    /// @notice Total number of tokens in circulation
    uint public constant totalSupply = 20000000e18; // 20 million LODE

    /// @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 EIP-20 transfer event
    event Transfer(address indexed from, address indexed to, uint256 amount);

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

    /**
     * @notice Construct a new LODE 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`
     *  and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)
     * @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 returns (bool) {
        uint96 amount;
        if (rawAmount == type(uint).max) {
            amount = type(uint96).max;
        } else {
            amount = safe96(rawAmount, "Comp::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 returns (bool) {
        uint96 amount = safe96(rawAmount, "Comp::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 returns (bool) {
        address spender = msg.sender;
        uint96 spenderAllowance = allowances[src][spender];
        uint96 amount = safe96(rawAmount, "Comp::approve: amount exceeds 96 bits");

        if (spender != src && spenderAllowance != type(uint96).max) {
            uint96 newAllowance = sub96(spenderAllowance, amount, "Comp::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 {
        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 {
        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), "Comp::delegateBySig: invalid signature");
        require(nonce == nonces[signatory]++, "Comp::delegateBySig: invalid nonce");
        require(block.timestamp <= expiry, "Comp::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, "Comp::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), "Comp::_transferTokens: cannot transfer from the zero address");
        require(dst != address(0), "Comp::_transferTokens: cannot transfer to the zero address");

        balances[src] = sub96(balances[src], amount, "Comp::_transferTokens: transfer amount exceeds balance");
        balances[dst] = add96(balances[dst], amount, "Comp::_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, "Comp::_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, "Comp::_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, "Comp::_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 view returns (uint) {
        uint256 chainId;
        assembly { chainId := chainid() }
        return chainId;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"account","type":"address"}],"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":[{"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"},{"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"name":"delegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getCurrentVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"dst","type":"address"},{"internalType":"uint256","name":"rawAmount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"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"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060405161191638038061191683398101604081905261002f916100a5565b6001600160a01b03811660008181526001602052604080822080546001600160601b0319166a108b2a2c2802909400000090811790915590517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916100979190815260200190565b60405180910390a3506100d5565b6000602082840312156100b757600080fd5b81516001600160a01b03811681146100ce57600080fd5b9392505050565b611832806100e46000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea571461033e578063c3cda52014610351578063dd62ed3e14610364578063e7a324dc146103a4578063f1127ed8146103cb57600080fd5b806370a082311461028b578063782d6fe1146102bd5780637ecebe00146102e857806395d89b4114610308578063a9059cbb1461032b57600080fd5b806323b872dd116100f457806323b872dd146101cd578063313ce567146101e0578063587cde1e146101fa5780635c19a95c1461023b5780636fcfff451461025057600080fd5b806306fdde0314610126578063095ea7b31461016357806318160ddd1461018657806320606b70146101a6575b600080fd5b61014d604051806040016040528060088152602001672637b232b9ba30b960c11b81525081565b60405161015a91906113d5565b60405180910390f35b610176610171366004611446565b610432565b604051901515815260200161015a565b6101986a108b2a2c2802909400000081565b60405190815260200161015a565b6101987f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6101766101db366004611470565b6104f1565b6101e8601281565b60405160ff909116815260200161015a565b6102236102083660046114ac565b6002602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b61024e6102493660046114ac565b610632565b005b61027661025e3660046114ac565b60046020526000908152604090205463ffffffff1681565b60405163ffffffff909116815260200161015a565b6101986102993660046114ac565b6001600160a01b03166000908152600160205260409020546001600160601b031690565b6102d06102cb366004611446565b61063f565b6040516001600160601b03909116815260200161015a565b6101986102f63660046114ac565b60056020526000908152604090205481565b61014d604051806040016040528060048152602001634c4f444560e01b81525081565b610176610339366004611446565b6108cb565b6102d061034c3660046114ac565b610907565b61024e61035f3660046114c7565b610985565b610198610372366004611527565b6001600160a01b039182166000908152602081815260408083209390941682529190915220546001600160601b031690565b6101987fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b61040e6103d936600461155a565b600360209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6040805163ffffffff90931683526001600160601b0390911660208301520161015a565b60008060001983141561044d57506001600160601b03610472565b61046f836040518060600160405280602581526020016116c260259139610c71565b90505b336000818152602081815260408083206001600160a01b0389168085529083529281902080546001600160601b0319166001600160601b03871690811790915590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a360019150505b92915050565b6001600160a01b0383166000908152602081815260408083203380855290835281842054825160608101909352602580845291936001600160601b0390911692859261054792889291906116c290830139610c71565b9050866001600160a01b0316836001600160a01b03161415801561057457506001600160601b0382811614155b1561061a57600061059e83836040518060600160405280603d8152602001611799603d9139610ca0565b6001600160a01b03898116600081815260208181526040808320948a168084529482529182902080546001600160601b0319166001600160601b0387169081179091559151918252939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b610625878783610cea565b5060019695505050505050565b61063c3382610f3b565b50565b60004382106106a55760405162461bcd60e51b815260206004820152602760248201527f436f6d703a3a6765745072696f72566f7465733a206e6f742079657420646574604482015266195c9b5a5b995960ca1b60648201526084015b60405180910390fd5b6001600160a01b03831660009081526004602052604090205463ffffffff16806106d35760009150506104eb565b6001600160a01b038416600090815260036020526040812084916106f86001856115b0565b63ffffffff9081168252602082019290925260400160002054161161076b576001600160a01b03841660009081526003602052604081209061073b6001846115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b031691506104eb9050565b6001600160a01b038416600090815260036020908152604080832083805290915290205463ffffffff168310156107a65760009150506104eb565b6000806107b46001846115b0565b90505b8163ffffffff168163ffffffff16111561088657600060026107d984846115b0565b6107e391906115d5565b6107ed90836115b0565b6001600160a01b038816600090815260036020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915291925087141561085a576020015194506104eb9350505050565b805163ffffffff168711156108715781935061087f565b61087c6001836115b0565b92505b50506107b7565b506001600160a01b038516600090815260036020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b6000806108f0836040518060600160405280602681526020016116e760269139610c71565b90506108fd338583610cea565b5060019392505050565b6001600160a01b03811660009081526004602052604081205463ffffffff168061093257600061097e565b6001600160a01b0383166000908152600360205260408120906109566001846115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b03165b9392505050565b60408051808201825260088152672637b232b9ba30b960c11b60209182015281517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866818301527f95455fbfe2178dd029a002a4c3a8d7c874ae7730d4c1b44d68e999566c3a941b81840152466060820152306080808301919091528351808303909101815260a0820184528051908301207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c08301526001600160a01b038a1660e083015261010082018990526101208083018990528451808403909101815261014083019094528351939092019290922061190160f01b6101608401526101628301829052610182830181905290916000906101a20160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015610b08573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610b7a5760405162461bcd60e51b815260206004820152602660248201527f436f6d703a3a64656c656761746542795369673a20696e76616c6964207369676044820152656e617475726560d01b606482015260840161069c565b6001600160a01b0381166000908152600560205260408120805491610b9e83611606565b919050558914610bfb5760405162461bcd60e51b815260206004820152602260248201527f436f6d703a3a64656c656761746542795369673a20696e76616c6964206e6f6e604482015261636560f01b606482015260840161069c565b87421115610c5a5760405162461bcd60e51b815260206004820152602660248201527f436f6d703a3a64656c656761746542795369673a207369676e617475726520656044820152651e1c1a5c995960d21b606482015260840161069c565b610c64818b610f3b565b505050505b505050505050565b600081600160601b8410610c985760405162461bcd60e51b815260040161069c91906113d5565b509192915050565b6000836001600160601b0316836001600160601b031611158290610cd75760405162461bcd60e51b815260040161069c91906113d5565b50610ce28385611621565b949350505050565b6001600160a01b038316610d665760405162461bcd60e51b815260206004820152603c60248201527f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260448201527f616e736665722066726f6d20746865207a65726f206164647265737300000000606482015260840161069c565b6001600160a01b038216610de25760405162461bcd60e51b815260206004820152603a60248201527f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260448201527f616e7366657220746f20746865207a65726f2061646472657373000000000000606482015260840161069c565b6001600160a01b038316600090815260016020908152604091829020548251606081019093526036808452610e2d936001600160601b03909216928592919061168c90830139610ca0565b6001600160a01b03848116600090815260016020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452610e95949190911692859290919061176990830139610fc5565b6001600160a01b0383811660008181526001602090815260409182902080546001600160601b0319166001600160601b03968716179055905193851684529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b03808416600090815260026020526040808220548584168352912054610f3692918216911683611012565b505050565b6001600160a01b03808316600081815260026020818152604080842080546001845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610fbf828483611012565b50505050565b600080610fd28486611641565b9050846001600160601b0316816001600160601b0316101583906110095760405162461bcd60e51b815260040161069c91906113d5565b50949350505050565b816001600160a01b0316836001600160a01b03161415801561103d57506000816001600160601b0316115b15610f36576001600160a01b03831615611102576001600160a01b03831660009081526004602052604081205463ffffffff16908161107d5760006110c9565b6001600160a01b0385166000908152600360205260408120906110a16001856115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b03165b905060006110f0828560405180606001604052806028815260200161174160289139610ca0565b90506110fe868484846111ba565b5050505b6001600160a01b03821615610f36576001600160a01b03821660009081526004602052604081205463ffffffff16908161113d576000611189565b6001600160a01b0384166000908152600360205260408120906111616001856115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b03165b905060006111b082856040518060600160405280602781526020016117d660279139610fc5565b9050610c69858484845b60006111de4360405180606001604052806034815260200161170d603491396113b2565b905060008463ffffffff1611801561123857506001600160a01b038516600090815260036020526040812063ffffffff83169161121c6001886115b0565b63ffffffff908116825260208201929092526040016000205416145b156112ac576001600160a01b038516600090815260036020526040812083916112626001886115b0565b63ffffffff168152602081019190915260400160002080546001600160601b0392909216600160201b026fffffffffffffffffffffffff000000001990921691909117905561135d565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000908152600382528681208b8616825290915294909420925183549451909116600160201b026fffffffffffffffffffffffffffffffff1990941691161791909117905561132c84600161166c565b6001600160a01b0386166000908152600460205260409020805463ffffffff191663ffffffff929092169190911790555b604080516001600160601b038086168252841660208201526001600160a01b038716917fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724910160405180910390a25050505050565b600081600160201b8410610c985760405162461bcd60e51b815260040161069c91905b600060208083528351808285015260005b81811015611402578581018301518582016040015282016113e6565b81811115611414576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461144157600080fd5b919050565b6000806040838503121561145957600080fd5b6114628361142a565b946020939093013593505050565b60008060006060848603121561148557600080fd5b61148e8461142a565b925061149c6020850161142a565b9150604084013590509250925092565b6000602082840312156114be57600080fd5b61097e8261142a565b60008060008060008060c087890312156114e057600080fd5b6114e98761142a565b95506020870135945060408701359350606087013560ff8116811461150d57600080fd5b9598949750929560808101359460a0909101359350915050565b6000806040838503121561153a57600080fd5b6115438361142a565b91506115516020840161142a565b90509250929050565b6000806040838503121561156d57600080fd5b6115768361142a565b9150602083013563ffffffff8116811461158f57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff838116908316818110156115cd576115cd61159a565b039392505050565b600063ffffffff808416806115fa57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600060001982141561161a5761161a61159a565b5060010190565b60006001600160601b03838116908316818110156115cd576115cd61159a565b60006001600160601b038083168185168083038211156116635761166361159a565b01949350505050565b600063ffffffff8083168185168083038211156116635761166361159a56fe436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436f6d703a3a617070726f76653a20616d6f756e7420657863656564732039362062697473436f6d703a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473436f6d703a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773436f6d703a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773a26469706673582212205ede6c5cca9a9e8e873c78916b45136913527287941b0be2a8de2e2a7b899e1364736f6c634300080a003300000000000000000000000067e57a0ec37768eaf99a364975ec4e1f98920d01

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea571461033e578063c3cda52014610351578063dd62ed3e14610364578063e7a324dc146103a4578063f1127ed8146103cb57600080fd5b806370a082311461028b578063782d6fe1146102bd5780637ecebe00146102e857806395d89b4114610308578063a9059cbb1461032b57600080fd5b806323b872dd116100f457806323b872dd146101cd578063313ce567146101e0578063587cde1e146101fa5780635c19a95c1461023b5780636fcfff451461025057600080fd5b806306fdde0314610126578063095ea7b31461016357806318160ddd1461018657806320606b70146101a6575b600080fd5b61014d604051806040016040528060088152602001672637b232b9ba30b960c11b81525081565b60405161015a91906113d5565b60405180910390f35b610176610171366004611446565b610432565b604051901515815260200161015a565b6101986a108b2a2c2802909400000081565b60405190815260200161015a565b6101987f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6101766101db366004611470565b6104f1565b6101e8601281565b60405160ff909116815260200161015a565b6102236102083660046114ac565b6002602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161015a565b61024e6102493660046114ac565b610632565b005b61027661025e3660046114ac565b60046020526000908152604090205463ffffffff1681565b60405163ffffffff909116815260200161015a565b6101986102993660046114ac565b6001600160a01b03166000908152600160205260409020546001600160601b031690565b6102d06102cb366004611446565b61063f565b6040516001600160601b03909116815260200161015a565b6101986102f63660046114ac565b60056020526000908152604090205481565b61014d604051806040016040528060048152602001634c4f444560e01b81525081565b610176610339366004611446565b6108cb565b6102d061034c3660046114ac565b610907565b61024e61035f3660046114c7565b610985565b610198610372366004611527565b6001600160a01b039182166000908152602081815260408083209390941682529190915220546001600160601b031690565b6101987fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b61040e6103d936600461155a565b600360209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6040805163ffffffff90931683526001600160601b0390911660208301520161015a565b60008060001983141561044d57506001600160601b03610472565b61046f836040518060600160405280602581526020016116c260259139610c71565b90505b336000818152602081815260408083206001600160a01b0389168085529083529281902080546001600160601b0319166001600160601b03871690811790915590519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a360019150505b92915050565b6001600160a01b0383166000908152602081815260408083203380855290835281842054825160608101909352602580845291936001600160601b0390911692859261054792889291906116c290830139610c71565b9050866001600160a01b0316836001600160a01b03161415801561057457506001600160601b0382811614155b1561061a57600061059e83836040518060600160405280603d8152602001611799603d9139610ca0565b6001600160a01b03898116600081815260208181526040808320948a168084529482529182902080546001600160601b0319166001600160601b0387169081179091559151918252939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b610625878783610cea565b5060019695505050505050565b61063c3382610f3b565b50565b60004382106106a55760405162461bcd60e51b815260206004820152602760248201527f436f6d703a3a6765745072696f72566f7465733a206e6f742079657420646574604482015266195c9b5a5b995960ca1b60648201526084015b60405180910390fd5b6001600160a01b03831660009081526004602052604090205463ffffffff16806106d35760009150506104eb565b6001600160a01b038416600090815260036020526040812084916106f86001856115b0565b63ffffffff9081168252602082019290925260400160002054161161076b576001600160a01b03841660009081526003602052604081209061073b6001846115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b031691506104eb9050565b6001600160a01b038416600090815260036020908152604080832083805290915290205463ffffffff168310156107a65760009150506104eb565b6000806107b46001846115b0565b90505b8163ffffffff168163ffffffff16111561088657600060026107d984846115b0565b6107e391906115d5565b6107ed90836115b0565b6001600160a01b038816600090815260036020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915291925087141561085a576020015194506104eb9350505050565b805163ffffffff168711156108715781935061087f565b61087c6001836115b0565b92505b50506107b7565b506001600160a01b038516600090815260036020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b6000806108f0836040518060600160405280602681526020016116e760269139610c71565b90506108fd338583610cea565b5060019392505050565b6001600160a01b03811660009081526004602052604081205463ffffffff168061093257600061097e565b6001600160a01b0383166000908152600360205260408120906109566001846115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b03165b9392505050565b60408051808201825260088152672637b232b9ba30b960c11b60209182015281517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866818301527f95455fbfe2178dd029a002a4c3a8d7c874ae7730d4c1b44d68e999566c3a941b81840152466060820152306080808301919091528351808303909101815260a0820184528051908301207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c08301526001600160a01b038a1660e083015261010082018990526101208083018990528451808403909101815261014083019094528351939092019290922061190160f01b6101608401526101628301829052610182830181905290916000906101a20160408051601f198184030181528282528051602091820120600080855291840180845281905260ff8a169284019290925260608301889052608083018790529092509060019060a0016020604051602081039080840390855afa158015610b08573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610b7a5760405162461bcd60e51b815260206004820152602660248201527f436f6d703a3a64656c656761746542795369673a20696e76616c6964207369676044820152656e617475726560d01b606482015260840161069c565b6001600160a01b0381166000908152600560205260408120805491610b9e83611606565b919050558914610bfb5760405162461bcd60e51b815260206004820152602260248201527f436f6d703a3a64656c656761746542795369673a20696e76616c6964206e6f6e604482015261636560f01b606482015260840161069c565b87421115610c5a5760405162461bcd60e51b815260206004820152602660248201527f436f6d703a3a64656c656761746542795369673a207369676e617475726520656044820152651e1c1a5c995960d21b606482015260840161069c565b610c64818b610f3b565b505050505b505050505050565b600081600160601b8410610c985760405162461bcd60e51b815260040161069c91906113d5565b509192915050565b6000836001600160601b0316836001600160601b031611158290610cd75760405162461bcd60e51b815260040161069c91906113d5565b50610ce28385611621565b949350505050565b6001600160a01b038316610d665760405162461bcd60e51b815260206004820152603c60248201527f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260448201527f616e736665722066726f6d20746865207a65726f206164647265737300000000606482015260840161069c565b6001600160a01b038216610de25760405162461bcd60e51b815260206004820152603a60248201527f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260448201527f616e7366657220746f20746865207a65726f2061646472657373000000000000606482015260840161069c565b6001600160a01b038316600090815260016020908152604091829020548251606081019093526036808452610e2d936001600160601b03909216928592919061168c90830139610ca0565b6001600160a01b03848116600090815260016020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452610e95949190911692859290919061176990830139610fc5565b6001600160a01b0383811660008181526001602090815260409182902080546001600160601b0319166001600160601b03968716179055905193851684529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36001600160a01b03808416600090815260026020526040808220548584168352912054610f3692918216911683611012565b505050565b6001600160a01b03808316600081815260026020818152604080842080546001845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610fbf828483611012565b50505050565b600080610fd28486611641565b9050846001600160601b0316816001600160601b0316101583906110095760405162461bcd60e51b815260040161069c91906113d5565b50949350505050565b816001600160a01b0316836001600160a01b03161415801561103d57506000816001600160601b0316115b15610f36576001600160a01b03831615611102576001600160a01b03831660009081526004602052604081205463ffffffff16908161107d5760006110c9565b6001600160a01b0385166000908152600360205260408120906110a16001856115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b03165b905060006110f0828560405180606001604052806028815260200161174160289139610ca0565b90506110fe868484846111ba565b5050505b6001600160a01b03821615610f36576001600160a01b03821660009081526004602052604081205463ffffffff16908161113d576000611189565b6001600160a01b0384166000908152600360205260408120906111616001856115b0565b63ffffffff168152602081019190915260400160002054600160201b90046001600160601b03165b905060006111b082856040518060600160405280602781526020016117d660279139610fc5565b9050610c69858484845b60006111de4360405180606001604052806034815260200161170d603491396113b2565b905060008463ffffffff1611801561123857506001600160a01b038516600090815260036020526040812063ffffffff83169161121c6001886115b0565b63ffffffff908116825260208201929092526040016000205416145b156112ac576001600160a01b038516600090815260036020526040812083916112626001886115b0565b63ffffffff168152602081019190915260400160002080546001600160601b0392909216600160201b026fffffffffffffffffffffffff000000001990921691909117905561135d565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000908152600382528681208b8616825290915294909420925183549451909116600160201b026fffffffffffffffffffffffffffffffff1990941691161791909117905561132c84600161166c565b6001600160a01b0386166000908152600460205260409020805463ffffffff191663ffffffff929092169190911790555b604080516001600160601b038086168252841660208201526001600160a01b038716917fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724910160405180910390a25050505050565b600081600160201b8410610c985760405162461bcd60e51b815260040161069c91905b600060208083528351808285015260005b81811015611402578581018301518582016040015282016113e6565b81811115611414576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461144157600080fd5b919050565b6000806040838503121561145957600080fd5b6114628361142a565b946020939093013593505050565b60008060006060848603121561148557600080fd5b61148e8461142a565b925061149c6020850161142a565b9150604084013590509250925092565b6000602082840312156114be57600080fd5b61097e8261142a565b60008060008060008060c087890312156114e057600080fd5b6114e98761142a565b95506020870135945060408701359350606087013560ff8116811461150d57600080fd5b9598949750929560808101359460a0909101359350915050565b6000806040838503121561153a57600080fd5b6115438361142a565b91506115516020840161142a565b90509250929050565b6000806040838503121561156d57600080fd5b6115768361142a565b9150602083013563ffffffff8116811461158f57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff838116908316818110156115cd576115cd61159a565b039392505050565b600063ffffffff808416806115fa57634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600060001982141561161a5761161a61159a565b5060010190565b60006001600160601b03838116908316818110156115cd576115cd61159a565b60006001600160601b038083168185168083038211156116635761166361159a565b01949350505050565b600063ffffffff8083168185168083038211156116635761166361159a56fe436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436f6d703a3a617070726f76653a20616d6f756e7420657863656564732039362062697473436f6d703a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473436f6d703a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773436f6d703a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773a26469706673582212205ede6c5cca9a9e8e873c78916b45136913527287941b0be2a8de2e2a7b899e1364736f6c634300080a0033

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

00000000000000000000000067e57a0ec37768eaf99a364975ec4e1f98920d01

-----Decoded View---------------
Arg [0] : account (address): 0x67E57A0ec37768eaF99a364975ec4E1f98920D01

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000067e57a0ec37768eaf99a364975ec4e1f98920d01


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