ETH Price: $2,569.17 (+1.02%)

Contract

0x5C8C8D560048F34E5f7f8ad71f2f81a89DBd273e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Transaction Hash
Method
Block
From
To
Transfer207959132024-09-21 2:16:1115 hrs ago1726884971IN
0x5C8C8D56...89DBd273e
0 ETH0.000521419.2407672
Transfer207947452024-09-20 22:20:3519 hrs ago1726870835IN
0x5C8C8D56...89DBd273e
0 ETH0.0013835224.51934368
Transfer207770342024-09-18 10:58:353 days ago1726657115IN
0x5C8C8D56...89DBd273e
0 ETH0.000328185.81626224
Transfer207649552024-09-16 18:26:474 days ago1726511207IN
0x5C8C8D56...89DBd273e
0 ETH0.000298795.29530552
Transfer207647332024-09-16 17:42:115 days ago1726508531IN
0x5C8C8D56...89DBd273e
0 ETH0.000413637.33061021
Transfer207627062024-09-16 10:52:355 days ago1726483955IN
0x5C8C8D56...89DBd273e
0 ETH0.000526279.32678206
Transfer207600802024-09-16 2:03:355 days ago1726452215IN
0x5C8C8D56...89DBd273e
0 ETH0.000147492.61395787
Transfer207599932024-09-16 1:46:115 days ago1726451171IN
0x5C8C8D56...89DBd273e
0 ETH0.000146812.60188814
Transfer207599612024-09-16 1:39:475 days ago1726450787IN
0x5C8C8D56...89DBd273e
0 ETH0.000152442.70170154
Transfer207587642024-09-15 21:39:235 days ago1726436363IN
0x5C8C8D56...89DBd273e
0 ETH0.000119332.1149142
Transfer207587532024-09-15 21:37:115 days ago1726436231IN
0x5C8C8D56...89DBd273e
0 ETH0.000128562.27840753
Transfer207572372024-09-15 16:33:236 days ago1726418003IN
0x5C8C8D56...89DBd273e
0 ETH0.000147752.61850242
Transfer207569572024-09-15 15:37:116 days ago1726414631IN
0x5C8C8D56...89DBd273e
0 ETH0.000146912.60375023
Transfer207564552024-09-15 13:56:356 days ago1726408595IN
0x5C8C8D56...89DBd273e
0 ETH0.000159082.81934573
Transfer207466672024-09-14 5:08:597 days ago1726290539IN
0x5C8C8D56...89DBd273e
0 ETH0.000128092.27009207
Transfer207430412024-09-13 16:59:478 days ago1726246787IN
0x5C8C8D56...89DBd273e
0 ETH0.000141814.10892531
Transfer207346042024-09-12 12:43:239 days ago1726145003IN
0x5C8C8D56...89DBd273e
0 ETH0.000173913.08209581
Transfer207331942024-09-12 7:58:359 days ago1726127915IN
0x5C8C8D56...89DBd273e
0 ETH0.000170083.0143315
Transfer207318882024-09-12 3:36:359 days ago1726112195IN
0x5C8C8D56...89DBd273e
0 ETH0.000379146.71939099
Transfer207318642024-09-12 3:31:359 days ago1726111895IN
0x5C8C8D56...89DBd273e
0 ETH0.000341116.0452946
Transfer207318522024-09-12 3:29:119 days ago1726111751IN
0x5C8C8D56...89DBd273e
0 ETH0.000318915.65193255
Transfer207271522024-09-11 11:44:5910 days ago1726055099IN
0x5C8C8D56...89DBd273e
0 ETH0.000103672.63632861
Transfer207194262024-09-10 9:49:3511 days ago1725961775IN
0x5C8C8D56...89DBd273e
0 ETH0.00015462.74001875
Transfer207194242024-09-10 9:49:1111 days ago1725961751IN
0x5C8C8D56...89DBd273e
0 ETH0.000156452.77213762
Transfer207158562024-09-09 21:51:3511 days ago1725918695IN
0x5C8C8D56...89DBd273e
0 ETH0.000209153.70664793
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.