ETH Price: $3,451.41 (+1.76%)
Gas: 4 Gwei

Contract

0x5C8C8D560048F34E5f7f8ad71f2f81a89DBd273e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Transfer201614062024-06-24 12:01:113 days ago1719230471IN
0x5C8C8D56...89DBd273e
0 ETH0.000231685.89149633
Transfer201204352024-06-18 18:29:239 days ago1718735363IN
0x5C8C8D56...89DBd273e
0 ETH0.000306487.79335347
Transfer201087222024-06-17 3:07:2311 days ago1718593643IN
0x5C8C8D56...89DBd273e
0 ETH0.000191824.8777352
Transfer200992582024-06-15 19:23:2312 days ago1718479403IN
0x5C8C8D56...89DBd273e
0 ETH0.000191224.86249251
Approve200540902024-06-09 11:52:5918 days ago1717933979IN
0x5C8C8D56...89DBd273e
0 ETH0.00019464.18175242
Transfer200221692024-06-05 0:54:1123 days ago1717548851IN
0x5C8C8D56...89DBd273e
0 ETH0.000309067.85413402
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284168.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284268.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284368.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284368.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284368.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284458.23326679
Transfer200221222024-06-05 0:44:4723 days ago1717548287IN
0x5C8C8D56...89DBd273e
0 ETH0.000284458.23326679
Transfer200221212024-06-05 0:44:3523 days ago1717548275IN
0x5C8C8D56...89DBd273e
0 ETH0.000269767.81333519
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Cart

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 6 : Cart.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.0;

import "./Address.sol";
import "./DelegateERC20.sol";

interface TokenRecipient {
  // must return ture
  function tokensReceived(
      address from,
      uint amount,
      bytes calldata exData
  ) external returns (bool);
}

contract Cart is DelegateERC20 {
  using Address for address;

  uint256 private constant preMineSupply = 100000000 * 1e18;

  constructor (address owner) DelegateERC20("CryptoArt.Ai", "CART")  {
    _mint(owner, preMineSupply);
  }

  function burn(uint amount) public {
    _burn(msg.sender, amount);
  }

  function burnFrom(address account, uint amount) public {
    _burnFrom(account, amount);
  }

  function send(address recipient, uint amount, bytes calldata exData) external returns (bool) {
    _transfer(msg.sender, recipient, amount);

    if (recipient.isContract()) {
      bool rv = TokenRecipient(recipient).tokensReceived(msg.sender, amount, exData);
      require(rv, "No TokenRecipient");
    }

    return true;
  }

}

File 2 of 6 : Address.sol
//SPDX-License-Identifier: UNLICENSED

pragma solidity >=0.7.0;

/**
 * @dev Collection of functions related to the address type,
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * This test is non-exhaustive, and there may be false-negatives: during the
     * execution of a contract's constructor, its address will be reported as
     * not containing a contract.
     *
     * > It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies in extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }
}

File 3 of 6 : DelegateERC20.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.0;

import "./ERC20Permit.sol";

abstract contract DelegateERC20 is ERC20Permit {

  mapping (address => address) public delegates;
  
  struct Checkpoint {
    uint32 fromBlock;
    uint votes;
  }

  mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;
  mapping (address => uint32) public numCheckpoints;


  bytes32 public constant DELEGATION_TYPEHASH = keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)");

  event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);
  event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);


  constructor(string memory name_, string memory symbol_) ERC20Permit(name_, symbol_) {
  }

  function _mint(address dst, uint wad) internal override {
    super._mint(dst, wad); 
    _moveDelegates(address(0), delegates[dst], wad);
  }

  function _transfer(address src, address dst, uint wad) internal override returns (bool) {
    super._transfer(src, dst, wad);
    _moveDelegates(delegates[src], delegates[dst], wad);
    return true;
  }

  function _burn(address src, uint wad) internal override {
    super._burn(src, wad);
    _moveDelegates(delegates[src], address(0), wad);
  }

  function delegate(address delegatee) public {
    return _delegate(msg.sender, delegatee);
  }

  function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public {
    bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));
    
    bytes32 digest = keccak256(abi.encodePacked("\x19\x01", DOMAIN_SEPARATOR, structHash));
    address signatory = ecrecover(digest, v, r, s);
    require(signatory != address(0), "delegateBySig: invalid signature");
    require(nonce == nonces[signatory]++, "delegateBySig: invalid nonce");
    require(block.timestamp <= expiry, "delegateBySig: signature expired");
    return _delegate(signatory, delegatee);
  }

  function getCurrentVotes(address account) external view returns (uint256) {
    uint32 nCheckpoints = numCheckpoints[account];
    return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;
  }

  function getPriorVotes(address account, uint blockNumber) public view returns (uint256) {
    require(blockNumber < block.number, "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];
    uint delegatorBalance = balanceOf(delegator);
    delegates[delegator] = delegatee;

    emit DelegateChanged(delegator, currentDelegate, delegatee);
    _moveDelegates(currentDelegate, delegatee, delegatorBalance);
  }

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

      if (dstRep != address(0)) {
          uint32 dstRepNum = numCheckpoints[dstRep];
          uint dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;
          uint dstRepNew = dstRepOld + amount;
          _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);
      }
    }
  }

  function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint oldVotes, uint newVotes) internal {
    uint32 blockNumber = safe32(block.number, "_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);
  }

}

File 4 of 6 : ERC20.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity  0.8.0;


contract ERC20 {
    uint256                                           internal  _totalSupply;
    mapping (address => uint256)                      internal  _balanceOf;
    mapping (address => mapping (address => uint256)) internal  _allowance;
    string                                            public  symbol;
    uint256                                           public  immutable  decimals = 18;
    string                                            public  name;     // Optional token name

    constructor(string memory name_, string memory symbol_) {
        name = name_;
        symbol = symbol_;
    }

    event Approval(address indexed owner, address indexed spender, uint wad);
    event Transfer(address indexed src, address indexed dst, uint wad);

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

    function balanceOf(address guy) public view virtual returns (uint256) {
        return _balanceOf[guy];
    }

    function allowance(address owner, address spender) public view virtual returns (uint256) {
        return _allowance[owner][spender];
    }

    function approve(address spender, uint wad) public virtual returns (bool) {
        return _approve(msg.sender, spender, wad);
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowance[msg.sender][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowance[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(msg.sender, spender, currentAllowance - subtractedValue);

        return true;
    }

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

    function transferFrom(address src, address dst, uint wad) public virtual returns (bool) {
        uint256 allowed = _allowance[src][msg.sender];

        if (src != msg.sender && allowed != type(uint).max) {
            require(allowed >= wad, "ERC20: Insufficient approval");
            _approve(src, msg.sender, allowed - wad);
        }

        return _transfer(src, dst, wad);
    }


    function _transfer(address src, address dst, uint wad) internal virtual returns (bool) {
        require(dst != address(0), "ERC20:cannot transfer to the zero address");
        require(_balanceOf[src] >= wad, "ERC20: Insufficient balance");
        _balanceOf[src] = _balanceOf[src] - wad;
        _balanceOf[dst] = _balanceOf[dst] + wad;

        emit Transfer(src, dst, wad);

        return true;
    }

    function _approve(address owner, address spender, uint wad) internal virtual returns (bool) {
        _allowance[owner][spender] = wad;
        emit Approval(owner, spender, wad);
        return true;
    }

    function _mint(address dst, uint wad) internal virtual {
        require(dst != address(0), "ERC20: mint to the zero address");
        _balanceOf[dst] = _balanceOf[dst] + wad;
        _totalSupply = _totalSupply + wad;
        emit Transfer(address(0), dst, wad);
    }

    function _burn(address src, uint wad) internal virtual {
        require(_balanceOf[src] >= wad, "ERC20: Insufficient balance");
        _balanceOf[src] = _balanceOf[src] - wad;
        _totalSupply = _totalSupply - wad;
        emit Transfer(src, address(0), wad);
    }

    function _burnFrom(address src, uint wad) internal virtual {
      uint256 allowed = _allowance[src][msg.sender];
      if (src != msg.sender && allowed != type(uint).max) {
          require(allowed >= wad, "ERC20: Insufficient approval");
          _approve(src, msg.sender, allowed - wad);
      }

      _burn(src, wad);
    }

    
}

File 5 of 6 : ERC20Permit.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.0;

import "./ERC20.sol";
import "./interface/IERC2612.sol";


abstract contract ERC20Permit is ERC20, IERC2612 {
    mapping (address => uint256) public override nonces;

    bytes32 public constant PERMIT_TYPEHASH = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
    bytes32 public immutable DOMAIN_SEPARATOR;

    constructor(string memory name_, string memory symbol_) ERC20(name_, symbol_) {
        uint256 chainId = block.chainid;

        DOMAIN_SEPARATOR = keccak256(
            abi.encode(
                keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
                keccak256(bytes(name_)),
                keccak256(bytes("1")),
                chainId,
                address(this)
            )
        );
    }

    /**
     * @dev See {IERC2612-permit}.
     *
     * In cases where the free option is not a concern, deadline can simply be
     * set to uint(-1), so it should be seen as an optional parameter
     */
    function permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public virtual override {
        require(deadline >= block.timestamp, "ERC20Permit: expired deadline");

        bytes32 hashStruct = keccak256(
            abi.encode(
                PERMIT_TYPEHASH,
                owner,
                spender,
                amount,
                nonces[owner]++,
                deadline
            )
        );

        bytes32 hash = keccak256(
            abi.encodePacked(
                '\x19\x01',
                DOMAIN_SEPARATOR,
                hashStruct
            )
        );

        address signer = ecrecover(hash, v, r, s);
        require(
            signer != address(0) && signer == owner,
            "ERC20Permit: invalid signature"
        );

        _approve(owner, spender, amount);
    }
}

File 6 of 6 : IERC2612.sol
pragma solidity 0.8.0;
/**
 * @dev Interface of the ERC2612 standard as defined in the EIP.
 *
 * Adds the {permit} method, which can be used to change one's
 * {IERC20-allowance} without having to send a transaction, by signing a
 * message. This allows users to spend tokens without having to hold Ether.
 *
 * See https://eips.ethereum.org/EIPS/eip-2612.
 */
interface IERC2612 {

    function permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external;
    function nonces(address owner) external view returns (uint256);
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"owner","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":"wad","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":"src","type":"address"},{"indexed":true,"internalType":"address","name":"dst","type":"address"},{"indexed":false,"internalType":"uint256","name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DELEGATION_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","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":"wad","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guy","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint32","name":"","type":"uint32"}],"name":"checkpoints","outputs":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint256","name":"votes","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getPriorVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"exData","type":"bytes"}],"name":"send","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"wad","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":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60c060405260126080523480156200001657600080fd5b506040516200263738038062002637833981016040819052620000399162000681565b6040518060400160405280600c81526020016b43727970746f4172742e416960a01b8152506040518060400160405280600481526020016310d0549560e21b81525081818181816004908051906020019062000097929190620005db565b508051620000ad906003906020840190620005db565b5050825160208085019190912060408051808201825260018152603160f81b908401525146935062000129927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f92917fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918691309101620006b1565b60408051601f19818403018152919052805160209091012060a052506200016393508492506a52b7d2dcc80cd2e40000009150506200016a565b506200085c565b620001818282620001ac60201b62000d881760201c565b6001600160a01b03808316600090815260066020526040812054620001a89216836200027d565b5050565b6001600160a01b038216620001de5760405162461bcd60e51b8152600401620001d59062000733565b60405180910390fd5b6001600160a01b0382166000908152600160205260409020546200020490829062000781565b6001600160a01b038316600090815260016020526040812091909155546200022e90829062000781565b60009081556040516001600160a01b03841691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002719085906200076a565b60405180910390a35050565b816001600160a01b0316836001600160a01b031614158015620002a05750600081115b15620003f4576001600160a01b038316156200034d576001600160a01b03831660009081526008602052604081205463ffffffff169081620002e457600062000329565b6001600160a01b0385166000908152600760205260408120906200030a600185620007e1565b63ffffffff1663ffffffff168152602001908152602001600020600101545b90506000620003398483620007c7565b90506200034986848484620003f9565b5050505b6001600160a01b03821615620003f4576001600160a01b03821660009081526008602052604081205463ffffffff1690816200038b576000620003d0565b6001600160a01b038416600090815260076020526040812090620003b1600185620007e1565b63ffffffff1663ffffffff168152602001908152602001600020600101545b90506000620003e0848362000781565b9050620003f085848484620003f9565b5050505b505050565b600062000420436040518060600160405280602e815260200162002609602e9139620005a8565b905060008463ffffffff161180156200047d57506001600160a01b038516600090815260076020526040812063ffffffff83169162000461600188620007e1565b63ffffffff908116825260208201929092526040016000205416145b15620004ca576001600160a01b03851660009081526007602052604081208391620004aa600188620007e1565b63ffffffff1681526020810191909152604001600020600101556200055c565b60408051808201825263ffffffff838116825260208083018681526001600160a01b038a166000908152600783528581208a851682529092529390209151825463ffffffff1916911617815590516001918201556200052b9085906200079c565b6001600160a01b0386166000908152600860205260409020805463ffffffff191663ffffffff929092169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516200059992919062000773565b60405180910390a25050505050565b6000816401000000008410620005d35760405162461bcd60e51b8152600401620001d59190620006dd565b509192915050565b828054620005e99062000809565b90600052602060002090601f0160209004810192826200060d576000855562000658565b82601f106200062857805160ff191683800117855562000658565b8280016001018555821562000658579182015b82811115620006585782518255916020019190600101906200063b565b50620006669291506200066a565b5090565b5b808211156200066657600081556001016200066b565b60006020828403121562000693578081fd5b81516001600160a01b0381168114620006aa578182fd5b9392505050565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6000602080835283518082850152825b818110156200070b57858101830151858201604001528201620006ed565b818111156200071d5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b918252602082015260400190565b6000821982111562000797576200079762000846565b500190565b600063ffffffff808316818516808303821115620007be57620007be62000846565b01949350505050565b600082821015620007dc57620007dc62000846565b500390565b600063ffffffff8381169083168181101562000801576200080162000846565b039392505050565b6002810460018216806200081e57607f821691505b602082108114156200084057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160a051611d79620008906000396000818161051001528181610a300152610c12015260006104ec0152611d796000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063782d6fe1116100de578063a9059cbb11610097578063d505accf11610071578063d505accf1461033f578063dd62ed3e14610352578063e7a324dc14610365578063f1127ed81461036d5761018e565b8063a9059cbb14610306578063b4b5ea5714610319578063c3cda5201461032c5761018e565b8063782d6fe11461029f57806379cc6790146102b25780637ecebe00146102c557806395d89b41146102d85780639bd9bbc6146102e0578063a457c2d7146102f35761018e565b80633644e5151161014b578063587cde1e11610125578063587cde1e146102395780635c19a95c146102595780636fcfff451461026c57806370a082311461028c5761018e565b80633644e51514610209578063395093511461021157806342966c68146102245761018e565b806306fdde0314610193578063095ea7b3146101b157806318160ddd146101d157806323b872dd146101e657806330adf81f146101f9578063313ce56714610201575b600080fd5b61019b61038e565b6040516101a891906118c8565b60405180910390f35b6101c46101bf36600461164f565b61041c565b6040516101a8919061183e565b6101d9610432565b6040516101a89190611849565b6101c46101f43660046115ab565b610438565b6101d96104c6565b6101d96104ea565b6101d961050e565b6101c461021f36600461164f565b610532565b6102376102323660046117af565b610573565b005b61024c61024736600461155f565b610580565b6040516101a891906117e2565b61023761026736600461155f565b61059b565b61027f61027a36600461155f565b6105a5565b6040516101a89190611bd7565b6101d961029a36600461155f565b6105bd565b6101d96102ad36600461164f565b6105dc565b6102376102c036600461164f565b610801565b6101d96102d336600461155f565b61080f565b61019b610821565b6101c46102ee366004611678565b61082e565b6101c461030136600461164f565b610906565b6101c461031436600461164f565b610959565b6101d961032736600461155f565b610966565b61023761033a3660046116fa565b6109db565b61023761034d3660046115e6565b610b6f565b6101d9610360366004611579565b610d0c565b6101d9610d37565b61038061037b366004611751565b610d5b565b6040516101a8929190611be8565b6004805461039b90611ca9565b80601f01602080910402602001604051908101604052809291908181526020018280546103c790611ca9565b80156104145780601f106103e957610100808354040283529160200191610414565b820191906000526020600020905b8154815290600101906020018083116103f757829003601f168201915b505050505081565b6000610429338484610e47565b90505b92915050565b60005490565b6001600160a01b038316600081815260026020908152604080832033808552925282205491921480159061046e57506000198114155b156104b2578281101561049c5760405162461bcd60e51b815260040161049390611a3c565b60405180910390fd5b6104b085336104ab8685611c6d565b610e47565b505b6104bd858585610eb7565b95945050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105699185906104ab908690611bfe565b5060019392505050565b61057d3382610ef7565b50565b6006602052600090815260409020546001600160a01b031681565b61057d3382610f27565b60086020526000908152604090205463ffffffff1681565b6001600160a01b0381166000908152600160205260409020545b919050565b60004382106105fd5760405162461bcd60e51b81526004016104939061191b565b6001600160a01b03831660009081526008602052604090205463ffffffff168061062b57600091505061042c565b6001600160a01b03841660009081526007602052604081208491610650600185611c84565b63ffffffff908116825260208201929092526040016000205416116106b9576001600160a01b038416600090815260076020526040812090610693600184611c84565b63ffffffff1663ffffffff1681526020019081526020016000206001015491505061042c565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff168310156106f457600091505061042c565b600080610702600184611c84565b90505b8163ffffffff168163ffffffff1611156107ca57600060026107278484611c84565b6107319190611c3e565b61073b9083611c84565b6001600160a01b038816600090815260076020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915291925087141561079e5760200151945061042c9350505050565b805163ffffffff168711156107b5578193506107c3565b6107c0600183611c84565b92505b5050610705565b506001600160a01b038516600090815260076020908152604080832063ffffffff9094168352929052206001015491505092915050565b61080b8282610fbc565b5050565b60056020526000908152604090205481565b6003805461039b90611ca9565b600061083b338686610eb7565b5061084e856001600160a01b0316611037565b156108fb5760405163d031426360e01b81526000906001600160a01b0387169063d0314263906108889033908990899089906004016117f6565b602060405180830381600087803b1580156108a257600080fd5b505af11580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061178f565b9050806108f95760405162461bcd60e51b81526004016104939061195c565b505b506001949350505050565b3360009081526002602090815260408083206001600160a01b03861684529091528120548281101561094a5760405162461bcd60e51b815260040161049390611b4d565b6108fb33856104ab8685611c6d565b6000610429338484610eb7565b6001600160a01b03811660009081526008602052604081205463ffffffff16806109915760006109d4565b6001600160a01b0383166000908152600760205260408120906109b5600184611c84565b63ffffffff1663ffffffff168152602001908152602001600020600101545b9392505050565b60007fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf878787604051602001610a149493929190611886565b60405160208183030381529060405280519060200120905060007f000000000000000000000000000000000000000000000000000000000000000082604051602001610a619291906117c7565b604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051610a9e94939291906118aa565b6020604051602081039080840390855afa158015610ac0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610af35760405162461bcd60e51b815260040161049390611987565b6001600160a01b0381166000908152600560205260408120805491610b1783611ce4565b919050558814610b395760405162461bcd60e51b815260040161049390611b16565b86421115610b595760405162461bcd60e51b815260040161049390611aaa565b610b63818a610f27565b5050505b505050505050565b42841015610b8f5760405162461bcd60e51b815260040161049390611a05565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a919086610bdc83611ce4565b9190505589604051602001610bf696959493929190611852565b60405160208183030381529060405280519060200120905060007f000000000000000000000000000000000000000000000000000000000000000082604051602001610c439291906117c7565b604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051610c8094939291906118aa565b6020604051602081039080840390855afa158015610ca2573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610cd85750896001600160a01b0316816001600160a01b0316145b610cf45760405162461bcd60e51b815260040161049390611adf565b610cff8a8a8a610e47565b5050505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b60076020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b6001600160a01b038216610dae5760405162461bcd60e51b815260040161049390611b92565b6001600160a01b038216600090815260016020526040902054610dd2908290611bfe565b6001600160a01b03831660009081526001602052604081209190915554610dfa908290611bfe565b60009081556040516001600160a01b03841691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b908590611849565b60405180910390a35050565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915280822085905551909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ea5908690611849565b60405180910390a35060019392505050565b6000610ec484848461103d565b506001600160a01b0380851660009081526006602052604080822054868416835291205461056992918216911684611143565b610f0182826112a2565b6001600160a01b0380831660009081526006602052604081205461080b92169083611143565b6001600160a01b0380831660009081526006602052604081205490911690610f4e846105bd565b6001600160a01b0385811660008181526006602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610fb6828483611143565b50505050565b6001600160a01b0382166000818152600260209081526040808320338085529252909120549114801590610ff257506000198114155b1561102857818110156110175760405162461bcd60e51b815260040161049390611a3c565b61102683336104ab8585611c6d565b505b6110328383610ef7565b505050565b3b151590565b60006001600160a01b0383166110655760405162461bcd60e51b8152600401610493906119bc565b6001600160a01b03841660009081526001602052604090205482111561109d5760405162461bcd60e51b815260040161049390611a73565b6001600160a01b0384166000908152600160205260409020546110c1908390611c6d565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546110f1908390611bfe565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ea5908690611849565b816001600160a01b0316836001600160a01b0316141580156111655750600081115b15611032576001600160a01b03831615611208576001600160a01b03831660009081526008602052604081205463ffffffff1690816111a55760006111e8565b6001600160a01b0385166000908152600760205260408120906111c9600185611c84565b63ffffffff1663ffffffff168152602001908152602001600020600101545b905060006111f68483611c6d565b905061120486848484611366565b5050505b6001600160a01b03821615611032576001600160a01b03821660009081526008602052604081205463ffffffff169081611243576000611286565b6001600160a01b038416600090815260076020526040812090611267600185611c84565b63ffffffff1663ffffffff168152602001908152602001600020600101545b905060006112948483611bfe565b9050610b6785848484611366565b6001600160a01b0382166000908152600160205260409020548111156112da5760405162461bcd60e51b815260040161049390611a73565b6001600160a01b0382166000908152600160205260409020546112fe908290611c6d565b6001600160a01b03831660009081526001602052604081209190915554611326908290611c6d565b60009081556040516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b908590611849565b600061138a436040518060600160405280602e8152602001611d16602e9139611507565b905060008463ffffffff161180156113e457506001600160a01b038516600090815260076020526040812063ffffffff8316916113c8600188611c84565b63ffffffff908116825260208201929092526040016000205416145b1561142d576001600160a01b0385166000908152600760205260408120839161140e600188611c84565b63ffffffff1681526020810191909152604001600020600101556114bd565b60408051808201825263ffffffff838116825260208083018681526001600160a01b038a166000908152600783528581208a851682529092529390209151825463ffffffff19169116178155905160019182015561148c908590611c16565b6001600160a01b0386166000908152600860205260409020805463ffffffff191663ffffffff929092169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516114f8929190611bc9565b60405180910390a25050505050565b600081640100000000841061152f5760405162461bcd60e51b815260040161049391906118c8565b509192915050565b80356001600160a01b03811681146105d757600080fd5b803560ff811681146105d757600080fd5b600060208284031215611570578081fd5b61042982611537565b6000806040838503121561158b578081fd5b61159483611537565b91506115a260208401611537565b90509250929050565b6000806000606084860312156115bf578081fd5b6115c884611537565b92506115d660208501611537565b9150604084013590509250925092565b600080600080600080600060e0888a031215611600578283fd5b61160988611537565b965061161760208901611537565b955060408801359450606088013593506116336080890161154e565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611661578182fd5b61166a83611537565b946020939093013593505050565b6000806000806060858703121561168d578384fd5b61169685611537565b935060208501359250604085013567ffffffffffffffff808211156116b9578384fd5b818701915087601f8301126116cc578384fd5b8135818111156116da578485fd5b8860208285010111156116eb578485fd5b95989497505060200194505050565b60008060008060008060c08789031215611712578182fd5b61171b87611537565b955060208701359450604087013593506117376060880161154e565b92506080870135915060a087013590509295509295509295565b60008060408385031215611763578182fd5b61176c83611537565b9150602083013563ffffffff81168114611784578182fd5b809150509250929050565b6000602082840312156117a0578081fd5b815180151581146109d4578182fd5b6000602082840312156117c0578081fd5b5035919050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b0385168152602081018490526060604082018190528101829052600082846080840137818301608090810191909152601f909201601f191601019392505050565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b818110156118f4578581018301518582016040015282016118d8565b818111156119055783604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f6765745072696f72566f7465733a206e6f74207965742064657465726d696e656040820152601960fa1b606082015260800190565b602080825260119082015270139bc8151bdad95b949958da5c1a595b9d607a1b604082015260600190565b6020808252818101527f64656c656761746542795369673a20696e76616c6964207369676e6174757265604082015260600190565b60208082526029908201527f45524332303a63616e6e6f74207472616e7366657220746f20746865207a65726040820152686f206164647265737360b81b606082015260800190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252601c908201527f45524332303a20496e73756666696369656e7420617070726f76616c00000000604082015260600190565b6020808252601b908201527f45524332303a20496e73756666696369656e742062616c616e63650000000000604082015260600190565b6020808252818101527f64656c656761746542795369673a207369676e61747572652065787069726564604082015260600190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b6020808252601c908201527f64656c656761746542795369673a20696e76616c6964206e6f6e636500000000604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b918252602082015260400190565b63ffffffff91909116815260200190565b63ffffffff929092168252602082015260400190565b60008219821115611c1157611c11611cff565b500190565b600063ffffffff808316818516808303821115611c3557611c35611cff565b01949350505050565b600063ffffffff80841680611c6157634e487b7160e01b83526012600452602483fd5b92169190910492915050565b600082821015611c7f57611c7f611cff565b500390565b600063ffffffff83811690831681811015611ca157611ca1611cff565b039392505050565b600281046001821680611cbd57607f821691505b60208210811415611cde57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611cf857611cf8611cff565b5060010190565b634e487b7160e01b600052601160045260246000fdfe5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473a2646970667358221220cc742ef8a5e5cd3937ca5088d8cc1843c945191df74faa39949c5eb474febec264736f6c634300080000335f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473000000000000000000000000199aa9e922aa2d2af79de99ac4c9b5727acde2c4

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063782d6fe1116100de578063a9059cbb11610097578063d505accf11610071578063d505accf1461033f578063dd62ed3e14610352578063e7a324dc14610365578063f1127ed81461036d5761018e565b8063a9059cbb14610306578063b4b5ea5714610319578063c3cda5201461032c5761018e565b8063782d6fe11461029f57806379cc6790146102b25780637ecebe00146102c557806395d89b41146102d85780639bd9bbc6146102e0578063a457c2d7146102f35761018e565b80633644e5151161014b578063587cde1e11610125578063587cde1e146102395780635c19a95c146102595780636fcfff451461026c57806370a082311461028c5761018e565b80633644e51514610209578063395093511461021157806342966c68146102245761018e565b806306fdde0314610193578063095ea7b3146101b157806318160ddd146101d157806323b872dd146101e657806330adf81f146101f9578063313ce56714610201575b600080fd5b61019b61038e565b6040516101a891906118c8565b60405180910390f35b6101c46101bf36600461164f565b61041c565b6040516101a8919061183e565b6101d9610432565b6040516101a89190611849565b6101c46101f43660046115ab565b610438565b6101d96104c6565b6101d96104ea565b6101d961050e565b6101c461021f36600461164f565b610532565b6102376102323660046117af565b610573565b005b61024c61024736600461155f565b610580565b6040516101a891906117e2565b61023761026736600461155f565b61059b565b61027f61027a36600461155f565b6105a5565b6040516101a89190611bd7565b6101d961029a36600461155f565b6105bd565b6101d96102ad36600461164f565b6105dc565b6102376102c036600461164f565b610801565b6101d96102d336600461155f565b61080f565b61019b610821565b6101c46102ee366004611678565b61082e565b6101c461030136600461164f565b610906565b6101c461031436600461164f565b610959565b6101d961032736600461155f565b610966565b61023761033a3660046116fa565b6109db565b61023761034d3660046115e6565b610b6f565b6101d9610360366004611579565b610d0c565b6101d9610d37565b61038061037b366004611751565b610d5b565b6040516101a8929190611be8565b6004805461039b90611ca9565b80601f01602080910402602001604051908101604052809291908181526020018280546103c790611ca9565b80156104145780601f106103e957610100808354040283529160200191610414565b820191906000526020600020905b8154815290600101906020018083116103f757829003601f168201915b505050505081565b6000610429338484610e47565b90505b92915050565b60005490565b6001600160a01b038316600081815260026020908152604080832033808552925282205491921480159061046e57506000198114155b156104b2578281101561049c5760405162461bcd60e51b815260040161049390611a3c565b60405180910390fd5b6104b085336104ab8685611c6d565b610e47565b505b6104bd858585610eb7565b95945050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000001281565b7f74ab96aa97c24c914146377076ae1baf54bfc7d1e32d8dc8458cfa9366c9bbc881565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916105699185906104ab908690611bfe565b5060019392505050565b61057d3382610ef7565b50565b6006602052600090815260409020546001600160a01b031681565b61057d3382610f27565b60086020526000908152604090205463ffffffff1681565b6001600160a01b0381166000908152600160205260409020545b919050565b60004382106105fd5760405162461bcd60e51b81526004016104939061191b565b6001600160a01b03831660009081526008602052604090205463ffffffff168061062b57600091505061042c565b6001600160a01b03841660009081526007602052604081208491610650600185611c84565b63ffffffff908116825260208201929092526040016000205416116106b9576001600160a01b038416600090815260076020526040812090610693600184611c84565b63ffffffff1663ffffffff1681526020019081526020016000206001015491505061042c565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff168310156106f457600091505061042c565b600080610702600184611c84565b90505b8163ffffffff168163ffffffff1611156107ca57600060026107278484611c84565b6107319190611c3e565b61073b9083611c84565b6001600160a01b038816600090815260076020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915291925087141561079e5760200151945061042c9350505050565b805163ffffffff168711156107b5578193506107c3565b6107c0600183611c84565b92505b5050610705565b506001600160a01b038516600090815260076020908152604080832063ffffffff9094168352929052206001015491505092915050565b61080b8282610fbc565b5050565b60056020526000908152604090205481565b6003805461039b90611ca9565b600061083b338686610eb7565b5061084e856001600160a01b0316611037565b156108fb5760405163d031426360e01b81526000906001600160a01b0387169063d0314263906108889033908990899089906004016117f6565b602060405180830381600087803b1580156108a257600080fd5b505af11580156108b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108da919061178f565b9050806108f95760405162461bcd60e51b81526004016104939061195c565b505b506001949350505050565b3360009081526002602090815260408083206001600160a01b03861684529091528120548281101561094a5760405162461bcd60e51b815260040161049390611b4d565b6108fb33856104ab8685611c6d565b6000610429338484610eb7565b6001600160a01b03811660009081526008602052604081205463ffffffff16806109915760006109d4565b6001600160a01b0383166000908152600760205260408120906109b5600184611c84565b63ffffffff1663ffffffff168152602001908152602001600020600101545b9392505050565b60007fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf878787604051602001610a149493929190611886565b60405160208183030381529060405280519060200120905060007f74ab96aa97c24c914146377076ae1baf54bfc7d1e32d8dc8458cfa9366c9bbc882604051602001610a619291906117c7565b604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051610a9e94939291906118aa565b6020604051602081039080840390855afa158015610ac0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610af35760405162461bcd60e51b815260040161049390611987565b6001600160a01b0381166000908152600560205260408120805491610b1783611ce4565b919050558814610b395760405162461bcd60e51b815260040161049390611b16565b86421115610b595760405162461bcd60e51b815260040161049390611aaa565b610b63818a610f27565b5050505b505050505050565b42841015610b8f5760405162461bcd60e51b815260040161049390611a05565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a919086610bdc83611ce4565b9190505589604051602001610bf696959493929190611852565b60405160208183030381529060405280519060200120905060007f74ab96aa97c24c914146377076ae1baf54bfc7d1e32d8dc8458cfa9366c9bbc882604051602001610c439291906117c7565b604051602081830303815290604052805190602001209050600060018287878760405160008152602001604052604051610c8094939291906118aa565b6020604051602081039080840390855afa158015610ca2573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610cd85750896001600160a01b0316816001600160a01b0316145b610cf45760405162461bcd60e51b815260040161049390611adf565b610cff8a8a8a610e47565b5050505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b60076020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b6001600160a01b038216610dae5760405162461bcd60e51b815260040161049390611b92565b6001600160a01b038216600090815260016020526040902054610dd2908290611bfe565b6001600160a01b03831660009081526001602052604081209190915554610dfa908290611bfe565b60009081556040516001600160a01b03841691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b908590611849565b60405180910390a35050565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915280822085905551909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ea5908690611849565b60405180910390a35060019392505050565b6000610ec484848461103d565b506001600160a01b0380851660009081526006602052604080822054868416835291205461056992918216911684611143565b610f0182826112a2565b6001600160a01b0380831660009081526006602052604081205461080b92169083611143565b6001600160a01b0380831660009081526006602052604081205490911690610f4e846105bd565b6001600160a01b0385811660008181526006602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610fb6828483611143565b50505050565b6001600160a01b0382166000818152600260209081526040808320338085529252909120549114801590610ff257506000198114155b1561102857818110156110175760405162461bcd60e51b815260040161049390611a3c565b61102683336104ab8585611c6d565b505b6110328383610ef7565b505050565b3b151590565b60006001600160a01b0383166110655760405162461bcd60e51b8152600401610493906119bc565b6001600160a01b03841660009081526001602052604090205482111561109d5760405162461bcd60e51b815260040161049390611a73565b6001600160a01b0384166000908152600160205260409020546110c1908390611c6d565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546110f1908390611bfe565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ea5908690611849565b816001600160a01b0316836001600160a01b0316141580156111655750600081115b15611032576001600160a01b03831615611208576001600160a01b03831660009081526008602052604081205463ffffffff1690816111a55760006111e8565b6001600160a01b0385166000908152600760205260408120906111c9600185611c84565b63ffffffff1663ffffffff168152602001908152602001600020600101545b905060006111f68483611c6d565b905061120486848484611366565b5050505b6001600160a01b03821615611032576001600160a01b03821660009081526008602052604081205463ffffffff169081611243576000611286565b6001600160a01b038416600090815260076020526040812090611267600185611c84565b63ffffffff1663ffffffff168152602001908152602001600020600101545b905060006112948483611bfe565b9050610b6785848484611366565b6001600160a01b0382166000908152600160205260409020548111156112da5760405162461bcd60e51b815260040161049390611a73565b6001600160a01b0382166000908152600160205260409020546112fe908290611c6d565b6001600160a01b03831660009081526001602052604081209190915554611326908290611c6d565b60009081556040516001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b908590611849565b600061138a436040518060600160405280602e8152602001611d16602e9139611507565b905060008463ffffffff161180156113e457506001600160a01b038516600090815260076020526040812063ffffffff8316916113c8600188611c84565b63ffffffff908116825260208201929092526040016000205416145b1561142d576001600160a01b0385166000908152600760205260408120839161140e600188611c84565b63ffffffff1681526020810191909152604001600020600101556114bd565b60408051808201825263ffffffff838116825260208083018681526001600160a01b038a166000908152600783528581208a851682529092529390209151825463ffffffff19169116178155905160019182015561148c908590611c16565b6001600160a01b0386166000908152600860205260409020805463ffffffff191663ffffffff929092169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516114f8929190611bc9565b60405180910390a25050505050565b600081640100000000841061152f5760405162461bcd60e51b815260040161049391906118c8565b509192915050565b80356001600160a01b03811681146105d757600080fd5b803560ff811681146105d757600080fd5b600060208284031215611570578081fd5b61042982611537565b6000806040838503121561158b578081fd5b61159483611537565b91506115a260208401611537565b90509250929050565b6000806000606084860312156115bf578081fd5b6115c884611537565b92506115d660208501611537565b9150604084013590509250925092565b600080600080600080600060e0888a031215611600578283fd5b61160988611537565b965061161760208901611537565b955060408801359450606088013593506116336080890161154e565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611661578182fd5b61166a83611537565b946020939093013593505050565b6000806000806060858703121561168d578384fd5b61169685611537565b935060208501359250604085013567ffffffffffffffff808211156116b9578384fd5b818701915087601f8301126116cc578384fd5b8135818111156116da578485fd5b8860208285010111156116eb578485fd5b95989497505060200194505050565b60008060008060008060c08789031215611712578182fd5b61171b87611537565b955060208701359450604087013593506117376060880161154e565b92506080870135915060a087013590509295509295509295565b60008060408385031215611763578182fd5b61176c83611537565b9150602083013563ffffffff81168114611784578182fd5b809150509250929050565b6000602082840312156117a0578081fd5b815180151581146109d4578182fd5b6000602082840312156117c0578081fd5b5035919050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b0385168152602081018490526060604082018190528101829052600082846080840137818301608090810191909152601f909201601f191601019392505050565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b818110156118f4578581018301518582016040015282016118d8565b818111156119055783604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f6765745072696f72566f7465733a206e6f74207965742064657465726d696e656040820152601960fa1b606082015260800190565b602080825260119082015270139bc8151bdad95b949958da5c1a595b9d607a1b604082015260600190565b6020808252818101527f64656c656761746542795369673a20696e76616c6964207369676e6174757265604082015260600190565b60208082526029908201527f45524332303a63616e6e6f74207472616e7366657220746f20746865207a65726040820152686f206164647265737360b81b606082015260800190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252601c908201527f45524332303a20496e73756666696369656e7420617070726f76616c00000000604082015260600190565b6020808252601b908201527f45524332303a20496e73756666696369656e742062616c616e63650000000000604082015260600190565b6020808252818101527f64656c656761746542795369673a207369676e61747572652065787069726564604082015260600190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b6020808252601c908201527f64656c656761746542795369673a20696e76616c6964206e6f6e636500000000604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b918252602082015260400190565b63ffffffff91909116815260200190565b63ffffffff929092168252602082015260400190565b60008219821115611c1157611c11611cff565b500190565b600063ffffffff808316818516808303821115611c3557611c35611cff565b01949350505050565b600063ffffffff80841680611c6157634e487b7160e01b83526012600452602483fd5b92169190910492915050565b600082821015611c7f57611c7f611cff565b500390565b600063ffffffff83811690831681811015611ca157611ca1611cff565b039392505050565b600281046001821680611cbd57607f821691505b60208210811415611cde57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611cf857611cf8611cff565b5060010190565b634e487b7160e01b600052601160045260246000fdfe5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473a2646970667358221220cc742ef8a5e5cd3937ca5088d8cc1843c945191df74faa39949c5eb474febec264736f6c63430008000033

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

000000000000000000000000199aa9e922aa2d2af79de99ac4c9b5727acde2c4

-----Decoded View---------------
Arg [0] : owner (address): 0x199Aa9E922aA2d2aF79De99aC4c9b5727ACDE2c4

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000199aa9e922aa2d2af79de99ac4c9b5727acde2c4


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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