ERC-20
Source Code
Overview
Max Total Supply
100,000,000 CART
Holders
1,299
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
8 CARTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Cart
Compiler Version
v0.8.0+commit.c7dfd78e
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//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;
}
}//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;
}
}//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);
}
}//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);
}
}//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);
}
}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);
}{
"remappings": [],
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "istanbul",
"libraries": {},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)