Feature Tip: Add private address tag to any address under My Name Tag !
Overview
Max Total Supply
3,000,000 USDKG
Holders
14,739 ( 0.217%)
Transfers
-
91 ( -43.48%)
Market
Price
$1.00 @ 0.000483 ETH (+0.02%)
Onchain Market Cap
$3,000,000.00
Circulating Supply Market Cap
$50,004,761.00
Other Info
Token Contract (WITH 6 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
USDKG
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0
pragma solidity =0.8.24;
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
contract USDKG is IERC20 {
string public name;
string public symbol;
uint256 public decimals;
// ownable
address public owner;
address public compliance;
// ERC20 Basic
uint256 public _totalSupply;
mapping(address => uint256) public balances;
mapping (address => mapping (address => uint256)) public allowed;
uint256 public constant MAX_BASIS_POINTS = 20;
uint256 public constant FEE_PRECISION = 10000;
// variables to manage optional transaction fees, if such functionality is enabled in the future
uint256 public basisPointsRate = 0;
// pausable
bool public paused = false;
// blacklist
mapping (address => bool) public isBlackListed;
event Pause();
event Unpause();
event DestroyedBlackFunds(address _blackListedUser, uint256 _balance);
event AddedBlackList(address _user);
event RemovedBlackList(address _user);
// called when new token are issued
event Issue(uint256 amount);
// called when tokens are redeemed
event Redeem(uint256 amount);
// called if contract ever adds fees
event Params(uint256 feeBasisPoints);
constructor (address _owner, address _compliance) {
require(_owner != address(0) && _compliance != address(0), "Owner and Compliance must be non zero addresses");
owner = _owner;
compliance = _compliance;
_totalSupply = 0;
name = "USDKG";
symbol = "USDKG";
decimals = 6;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner, "not owner");
_;
}
/**
* @dev Throws if called by any account other than the compliance.
*/
modifier onlyCompliance() {
require(msg.sender == compliance, "not compliance");
_;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*/
modifier whenNotPaused() {
require(!paused, "paused");
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*/
modifier whenPaused() {
require(paused, "not paused");
_;
}
/**
* @dev Modifier to make a function callable only when sender is not blacklisted.
*/
modifier notBlackListed(address sender) {
require(!isBlackListed[sender], "user blacklisted");
_;
}
////////////////////////
// PUBLIC FUNCTIONS
////////////////////////
/**
* @dev transfer token for a specified address
* @param _to The address to transfer to
* @param _value The amount to be transferred
*/
function transfer(address _to, uint256 _value) public whenNotPaused notBlackListed(msg.sender) returns (bool) {
uint256 fee = _value * basisPointsRate / FEE_PRECISION;
uint256 sendAmount = _value - fee;
balances[msg.sender] = balances[msg.sender] - _value;
balances[_to] = balances[_to] + sendAmount;
if (fee > 0) {
balances[owner] = balances[owner] + fee;
emit Transfer(msg.sender, owner, fee);
}
emit Transfer(msg.sender, _to, sendAmount);
return true;
}
/**
* @dev transfer tokens from one address to another
* @param _from address The address which you want to send tokens from
* @param _to address The address which you want to transfer to
* @param _value uint256 the amount of tokens to be transferred
*/
function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused notBlackListed(_from) notBlackListed(msg.sender) returns (bool) {
uint256 _allowance = allowed[_from][msg.sender];
// check is not needed because sub(_allowance, _value) will already throw if this condition is not met
// if (_value > _allowance) throw;
uint256 fee = _value * basisPointsRate / FEE_PRECISION;
if (_allowance < type(uint256).max) {
allowed[_from][msg.sender] = _allowance - _value;
}
uint256 sendAmount = _value - fee;
balances[_from] = balances[_from] - _value;
balances[_to] = balances[_to] + sendAmount;
if (fee > 0) {
balances[owner] = balances[owner] + fee;
emit Transfer(_from, owner, fee);
}
emit Transfer(_from, _to, sendAmount);
return true;
}
/**
* @dev approve the passed address to spend the specified amount of tokens on behalf of msg.sender
* @param _spender the address which will spend the funds
* @param _value the amount of tokens to be spent
*/
function approve(address _spender, uint256 _value) public returns (bool) {
require(msg.sender != address(0), "caller can't be zero address");
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
////////////////////////
// SERVICE FUNCTIONS
////////////////////////
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() onlyOwner whenNotPaused public {
paused = true;
emit Pause();
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() onlyOwner whenPaused public {
paused = false;
emit Unpause();
}
function addBlackList (address _evilUser) public onlyCompliance {
isBlackListed[_evilUser] = true;
emit AddedBlackList(_evilUser);
}
function removeBlackList (address _clearedUser) public onlyCompliance {
isBlackListed[_clearedUser] = false;
emit RemovedBlackList(_clearedUser);
}
function destroyBlackFunds (address _blackListedUser) public onlyCompliance {
require(isBlackListed[_blackListedUser], "user should be blacklisted");
uint256 dirtyFunds = balanceOf(_blackListedUser);
balances[_blackListedUser] = 0;
_totalSupply -= dirtyFunds;
emit DestroyedBlackFunds(_blackListedUser, dirtyFunds);
}
// issue a new amount of tokens
// @param _amount number of tokens to be issued
// @param _to address of tokens receiver
function issue(address _to, uint256 amount) public onlyOwner {
balances[_to] += amount;
_totalSupply += amount;
emit Issue(amount);
}
// redeem tokens
// these tokens are withdrawn from the owner address
// if the balance must be enough to cover the redeem
// or the call will fail
// @param _amount number of tokens to be burnt
function redeem(uint256 amount) public onlyOwner {
require(_totalSupply >= amount, "not enough tokens to redeem");
require(balances[owner] >= amount, "not enough tokens to redeem");
_totalSupply -= amount;
balances[owner] -= amount;
emit Redeem(amount);
}
function setParams(uint256 newBasisPoints) public onlyOwner {
// ensure transparency by hardcoding limit beyond which fees can never be added
require(newBasisPoints <= MAX_BASIS_POINTS, "basis points should be less then MAX_BASIS_POINTS");
basisPointsRate = newBasisPoints;
emit Params(basisPointsRate);
}
////////////////////////
// VIEW FUNCTIONS
////////////////////////
/**
* @dev gets the balance of the specified address
* @param _owner the address to query the the balance of
* @return balance An uint256 representing the amount owned by the passed address
*/
function balanceOf(address _owner) public view returns (uint256 balance) {
return balances[_owner];
}
/**
* @dev function to check the amount of tokens than an owner allowed to a spender
* @param _owner address the address which owns the funds
* @param _spender address the address which will spend the funds
* @return remaining a uint256 specifying the amount of tokens still available for the spender
*/
function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
return allowed[_owner][_spender];
}
function getBlackListStatus(address _maker) external view returns (bool) {
return isBlackListed[_maker];
}
function totalSupply() public view returns (uint256) {
return _totalSupply;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;
/**
* @dev Interface of the ERC-20 standard as defined in the ERC.
*/
interface IERC20 {
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
/**
* @dev Returns the value of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the value of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves a `value` amount of tokens from the caller's account to `to`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address to, uint256 value) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets a `value` amount of tokens as the allowance of `spender` over the
* caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 value) external returns (bool);
/**
* @dev Moves a `value` amount of tokens from `from` to `to` using the
* allowance mechanism. `value` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address from, address to, uint256 value) external returns (bool);
}{
"evmVersion": "paris",
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_compliance","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_blackListedUser","type":"address"},{"indexed":false,"internalType":"uint256","name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feeBasisPoints","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[],"name":"FEE_PRECISION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BASIS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basisPointsRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compliance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBasisPoints","type":"uint256"}],"name":"setParams","outputs":[],"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":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405260006008556000600960006101000a81548160ff0219169083151502179055503480156200003157600080fd5b5060405162002e9c38038062002e9c833981810160405281019062000057919062000296565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015620000c25750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b62000104576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000fb9062000364565b60405180910390fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006005819055506040518060400160405280600581526020017f5553444b4700000000000000000000000000000000000000000000000000000081525060009081620001d4919062000600565b506040518060400160405280600581526020017f5553444b47000000000000000000000000000000000000000000000000000000815250600190816200021b919062000600565b5060066002819055505050620006e7565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200025e8262000231565b9050919050565b620002708162000251565b81146200027c57600080fd5b50565b600081519050620002908162000265565b92915050565b60008060408385031215620002b057620002af6200022c565b5b6000620002c0858286016200027f565b9250506020620002d3858286016200027f565b9150509250929050565b600082825260208201905092915050565b7f4f776e657220616e6420436f6d706c69616e6365206d757374206265206e6f6e60008201527f207a65726f206164647265737365730000000000000000000000000000000000602082015250565b60006200034c602f83620002dd565b91506200035982620002ee565b604082019050919050565b600060208201905081810360008301526200037f816200033d565b9050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200040857607f821691505b6020821081036200041e576200041d620003c0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000449565b62000494868362000449565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004e1620004db620004d584620004ac565b620004b6565b620004ac565b9050919050565b6000819050919050565b620004fd83620004c0565b620005156200050c82620004e8565b84845462000456565b825550505050565b600090565b6200052c6200051d565b62000539818484620004f2565b505050565b5b8181101562000561576200055560008262000522565b6001810190506200053f565b5050565b601f821115620005b0576200057a8162000424565b620005858462000439565b8101602085101562000595578190505b620005ad620005a48562000439565b8301826200053e565b50505b505050565b600082821c905092915050565b6000620005d560001984600802620005b5565b1980831691505092915050565b6000620005f08383620005c2565b9150826002028217905092915050565b6200060b8262000386565b67ffffffffffffffff81111562000627576200062662000391565b5b620006338254620003ef565b6200064082828562000565565b600060209050601f83116001811462000678576000841562000663578287015190505b6200066f8582620005e2565b865550620006df565b601f198416620006888662000424565b60005b82811015620006b2578489015182556001820191506020850194506020810190506200068b565b86831015620006d25784890151620006ce601f891682620005c2565b8355505b6001600288020188555050505b505050505050565b6127a580620006f76000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063dd62ed3e11610097578063e4997dc511610071578063e4997dc51461050b578063e63a391f14610527578063f3bdc22814610545578063f4ea93d814610561576101c4565b8063dd62ed3e1461048d578063dd644f72146104bd578063e47d6060146104db576101c4565b80638da5cb5b116100d35780638da5cb5b1461040557806395d89b4114610423578063a9059cbb14610441578063db006a7514610471576101c4565b806370a08231146103af5780638456cb59146103df578063867904b4146103e9576101c4565b80633eaaf86b1161016657806359ded2101161014057806359ded210146103275780635c658165146103435780635c975abb146103735780636290865d14610391576101c4565b80633eaaf86b146102cf5780633f4ba83a146102ed57806359bf1abe146102f7576101c4565b806318160ddd116101a257806318160ddd1461023357806323b872dd1461025157806327e235e314610281578063313ce567146102b1576101c4565b806306fdde03146101c9578063095ea7b3146101e75780630ecb93c014610217575b600080fd5b6101d161057f565b6040516101de9190611f49565b60405180910390f35b61020160048036038101906101fc9190612004565b61060d565b60405161020e919061205f565b60405180910390f35b610231600480360381019061022c919061207a565b61076d565b005b61023b61088f565b60405161024891906120b6565b60405180910390f35b61026b600480360381019061026691906120d1565b610899565b604051610278919061205f565b60405180910390f35b61029b6004803603810190610296919061207a565b610e60565b6040516102a891906120b6565b60405180910390f35b6102b9610e78565b6040516102c691906120b6565b60405180910390f35b6102d7610e7e565b6040516102e491906120b6565b60405180910390f35b6102f5610e84565b005b610311600480360381019061030c919061207a565b610fac565b60405161031e919061205f565b60405180910390f35b610341600480360381019061033c9190612124565b611002565b005b61035d60048036038101906103589190612151565b611119565b60405161036a91906120b6565b60405180910390f35b61037b61113e565b604051610388919061205f565b60405180910390f35b610399611151565b6040516103a691906121a0565b60405180910390f35b6103c960048036038101906103c4919061207a565b611177565b6040516103d691906120b6565b60405180910390f35b6103e76111c0565b005b61040360048036038101906103fe9190612004565b6112e9565b005b61040d611423565b60405161041a91906121a0565b60405180910390f35b61042b611449565b6040516104389190611f49565b60405180910390f35b61045b60048036038101906104569190612004565b6114d7565b604051610468919061205f565b60405180910390f35b61048b60048036038101906104869190612124565b6118d7565b005b6104a760048036038101906104a29190612151565b611b1b565b6040516104b491906120b6565b60405180910390f35b6104c5611ba2565b6040516104d291906120b6565b60405180910390f35b6104f560048036038101906104f0919061207a565b611ba8565b604051610502919061205f565b60405180910390f35b6105256004803603810190610520919061207a565b611bc8565b005b61052f611cea565b60405161053c91906120b6565b60405180910390f35b61055f600480360381019061055a919061207a565b611cf0565b005b610569611eb4565b60405161057691906120b6565b60405180910390f35b6000805461058c906121ea565b80601f01602080910402602001604051908101604052809291908181526020018280546105b8906121ea565b80156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612267565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161075b91906120b6565b60405180910390a36001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f4906122d3565b60405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc8160405161088491906121a0565b60405180910390a150565b6000600554905090565b6000600960009054906101000a900460ff16156108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e29061233f565b60405180910390fd5b83600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610979576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610970906123ab565b60405180910390fd5b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe906123ab565b60405180910390fd5b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061271060085487610a9b91906123fa565b610aa5919061246b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821015610b5c578582610adb919061249c565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008187610b6a919061249c565b905086600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb7919061249c565b600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4591906124d0565b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115610deb578160066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfe91906124d0565b60066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610de291906120b6565b60405180910390a35b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e4891906120b6565b60405180910390a36001955050505050509392505050565b60066020528060005260406000206000915090505481565b60025481565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612550565b60405180910390fd5b600960009054906101000a900460ff16610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5a906125bc565b60405180910390fd5b6000600960006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108990612550565b60405180910390fd5b60148111156110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd9061264e565b60405180910390fd5b806008819055507f2696a6358e16692f320e4570c01170fd423f0f4acbc8d0120c42a33e5d2e154a60085460405161110e91906120b6565b60405180910390a150565b6007602052816000526040600020602052806000526040600020600091509150505481565b600960009054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790612550565b60405180910390fd5b600960009054906101000a900460ff16156112a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112979061233f565b60405180910390fd5b6001600960006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611379576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137090612550565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c891906124d0565b9250508190555080600560008282546113e191906124d0565b925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a8160405161141791906120b6565b60405180910390a15050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054611456906121ea565b80601f0160208091040260200160405190810160405280929190818152602001828054611482906121ea565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081565b6000600960009054906101000a900460ff1615611529576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115209061233f565b60405180910390fd5b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae906123ab565b60405180910390fd5b6000612710600854856115ca91906123fa565b6115d4919061246b565b9050600081856115e4919061249c565b905084600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611631919061249c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116bf91906124d0565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115611865578160066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461177891906124d0565b60066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161185c91906120b6565b60405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118c291906120b6565b60405180910390a36001935050505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e90612550565b60405180910390fd5b8060055410156119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906126ba565b60405180910390fd5b8060066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a47906126ba565b60405180910390fd5b8060056000828254611a62919061249c565b925050819055508060066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ada919061249c565b925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a4481604051611b1091906120b6565b60405180910390a150565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b600a6020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f906122d3565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051611cdf91906121a0565b60405180910390a150565b61271081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d77906122d3565b60405180910390fd5b600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0390612726565b60405180910390fd5b6000611e1782611177565b90506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060056000828254611e70919061249c565b925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051611ea8929190612746565b60405180910390a15050565b601481565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ef3578082015181840152602081019050611ed8565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f1b82611eb9565b611f258185611ec4565b9350611f35818560208601611ed5565b611f3e81611eff565b840191505092915050565b60006020820190508181036000830152611f638184611f10565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f9b82611f70565b9050919050565b611fab81611f90565b8114611fb657600080fd5b50565b600081359050611fc881611fa2565b92915050565b6000819050919050565b611fe181611fce565b8114611fec57600080fd5b50565b600081359050611ffe81611fd8565b92915050565b6000806040838503121561201b5761201a611f6b565b5b600061202985828601611fb9565b925050602061203a85828601611fef565b9150509250929050565b60008115159050919050565b61205981612044565b82525050565b60006020820190506120746000830184612050565b92915050565b6000602082840312156120905761208f611f6b565b5b600061209e84828501611fb9565b91505092915050565b6120b081611fce565b82525050565b60006020820190506120cb60008301846120a7565b92915050565b6000806000606084860312156120ea576120e9611f6b565b5b60006120f886828701611fb9565b935050602061210986828701611fb9565b925050604061211a86828701611fef565b9150509250925092565b60006020828403121561213a57612139611f6b565b5b600061214884828501611fef565b91505092915050565b6000806040838503121561216857612167611f6b565b5b600061217685828601611fb9565b925050602061218785828601611fb9565b9150509250929050565b61219a81611f90565b82525050565b60006020820190506121b56000830184612191565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061220257607f821691505b602082108103612215576122146121bb565b5b50919050565b7f63616c6c65722063616e2774206265207a65726f206164647265737300000000600082015250565b6000612251601c83611ec4565b915061225c8261221b565b602082019050919050565b6000602082019050818103600083015261228081612244565b9050919050565b7f6e6f7420636f6d706c69616e6365000000000000000000000000000000000000600082015250565b60006122bd600e83611ec4565b91506122c882612287565b602082019050919050565b600060208201905081810360008301526122ec816122b0565b9050919050565b7f7061757365640000000000000000000000000000000000000000000000000000600082015250565b6000612329600683611ec4565b9150612334826122f3565b602082019050919050565b600060208201905081810360008301526123588161231c565b9050919050565b7f7573657220626c61636b6c697374656400000000000000000000000000000000600082015250565b6000612395601083611ec4565b91506123a08261235f565b602082019050919050565b600060208201905081810360008301526123c481612388565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061240582611fce565b915061241083611fce565b925082820261241e81611fce565b91508282048414831517612435576124346123cb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061247682611fce565b915061248183611fce565b9250826124915761249061243c565b5b828204905092915050565b60006124a782611fce565b91506124b283611fce565b92508282039050818111156124ca576124c96123cb565b5b92915050565b60006124db82611fce565b91506124e683611fce565b92508282019050808211156124fe576124fd6123cb565b5b92915050565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600061253a600983611ec4565b915061254582612504565b602082019050919050565b600060208201905081810360008301526125698161252d565b9050919050565b7f6e6f742070617573656400000000000000000000000000000000000000000000600082015250565b60006125a6600a83611ec4565b91506125b182612570565b602082019050919050565b600060208201905081810360008301526125d581612599565b9050919050565b7f626173697320706f696e74732073686f756c64206265206c657373207468656e60008201527f204d41585f42415349535f504f494e5453000000000000000000000000000000602082015250565b6000612638603183611ec4565b9150612643826125dc565b604082019050919050565b600060208201905081810360008301526126678161262b565b9050919050565b7f6e6f7420656e6f75676820746f6b656e7320746f2072656465656d0000000000600082015250565b60006126a4601b83611ec4565b91506126af8261266e565b602082019050919050565b600060208201905081810360008301526126d381612697565b9050919050565b7f757365722073686f756c6420626520626c61636b6c6973746564000000000000600082015250565b6000612710601a83611ec4565b915061271b826126da565b602082019050919050565b6000602082019050818103600083015261273f81612703565b9050919050565b600060408201905061275b6000830185612191565b61276860208301846120a7565b939250505056fea2646970667358221220c495746848264e13b91207030a82adf72dfba5e20bff1c65a0a9aeecc51cec9564736f6c63430008180033000000000000000000000000cf355ad32abf378f067fa93a28d96a767feb7377000000000000000000000000c8822fb37b7cbfeedfaaff4fe0b4bbb3e5eb7833
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063dd62ed3e11610097578063e4997dc511610071578063e4997dc51461050b578063e63a391f14610527578063f3bdc22814610545578063f4ea93d814610561576101c4565b8063dd62ed3e1461048d578063dd644f72146104bd578063e47d6060146104db576101c4565b80638da5cb5b116100d35780638da5cb5b1461040557806395d89b4114610423578063a9059cbb14610441578063db006a7514610471576101c4565b806370a08231146103af5780638456cb59146103df578063867904b4146103e9576101c4565b80633eaaf86b1161016657806359ded2101161014057806359ded210146103275780635c658165146103435780635c975abb146103735780636290865d14610391576101c4565b80633eaaf86b146102cf5780633f4ba83a146102ed57806359bf1abe146102f7576101c4565b806318160ddd116101a257806318160ddd1461023357806323b872dd1461025157806327e235e314610281578063313ce567146102b1576101c4565b806306fdde03146101c9578063095ea7b3146101e75780630ecb93c014610217575b600080fd5b6101d161057f565b6040516101de9190611f49565b60405180910390f35b61020160048036038101906101fc9190612004565b61060d565b60405161020e919061205f565b60405180910390f35b610231600480360381019061022c919061207a565b61076d565b005b61023b61088f565b60405161024891906120b6565b60405180910390f35b61026b600480360381019061026691906120d1565b610899565b604051610278919061205f565b60405180910390f35b61029b6004803603810190610296919061207a565b610e60565b6040516102a891906120b6565b60405180910390f35b6102b9610e78565b6040516102c691906120b6565b60405180910390f35b6102d7610e7e565b6040516102e491906120b6565b60405180910390f35b6102f5610e84565b005b610311600480360381019061030c919061207a565b610fac565b60405161031e919061205f565b60405180910390f35b610341600480360381019061033c9190612124565b611002565b005b61035d60048036038101906103589190612151565b611119565b60405161036a91906120b6565b60405180910390f35b61037b61113e565b604051610388919061205f565b60405180910390f35b610399611151565b6040516103a691906121a0565b60405180910390f35b6103c960048036038101906103c4919061207a565b611177565b6040516103d691906120b6565b60405180910390f35b6103e76111c0565b005b61040360048036038101906103fe9190612004565b6112e9565b005b61040d611423565b60405161041a91906121a0565b60405180910390f35b61042b611449565b6040516104389190611f49565b60405180910390f35b61045b60048036038101906104569190612004565b6114d7565b604051610468919061205f565b60405180910390f35b61048b60048036038101906104869190612124565b6118d7565b005b6104a760048036038101906104a29190612151565b611b1b565b6040516104b491906120b6565b60405180910390f35b6104c5611ba2565b6040516104d291906120b6565b60405180910390f35b6104f560048036038101906104f0919061207a565b611ba8565b604051610502919061205f565b60405180910390f35b6105256004803603810190610520919061207a565b611bc8565b005b61052f611cea565b60405161053c91906120b6565b60405180910390f35b61055f600480360381019061055a919061207a565b611cf0565b005b610569611eb4565b60405161057691906120b6565b60405180910390f35b6000805461058c906121ea565b80601f01602080910402602001604051908101604052809291908181526020018280546105b8906121ea565b80156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612267565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161075b91906120b6565b60405180910390a36001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f4906122d3565b60405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc8160405161088491906121a0565b60405180910390a150565b6000600554905090565b6000600960009054906101000a900460ff16156108eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e29061233f565b60405180910390fd5b83600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610979576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610970906123ab565b60405180910390fd5b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fe906123ab565b60405180910390fd5b6000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061271060085487610a9b91906123fa565b610aa5919061246b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821015610b5c578582610adb919061249c565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008187610b6a919061249c565b905086600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb7919061249c565b600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c4591906124d0565b600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115610deb578160066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cfe91906124d0565b60066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610de291906120b6565b60405180910390a35b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e4891906120b6565b60405180910390a36001955050505050509392505050565b60066020528060005260406000206000915090505481565b60025481565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612550565b60405180910390fd5b600960009054906101000a900460ff16610f63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5a906125bc565b60405180910390fd5b6000600960006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108990612550565b60405180910390fd5b60148111156110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd9061264e565b60405180910390fd5b806008819055507f2696a6358e16692f320e4570c01170fd423f0f4acbc8d0120c42a33e5d2e154a60085460405161110e91906120b6565b60405180910390a150565b6007602052816000526040600020602052806000526040600020600091509150505481565b600960009054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124790612550565b60405180910390fd5b600960009054906101000a900460ff16156112a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112979061233f565b60405180910390fd5b6001600960006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611379576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137090612550565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c891906124d0565b9250508190555080600560008282546113e191906124d0565b925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a8160405161141791906120b6565b60405180910390a15050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054611456906121ea565b80601f0160208091040260200160405190810160405280929190818152602001828054611482906121ea565b80156114cf5780601f106114a4576101008083540402835291602001916114cf565b820191906000526020600020905b8154815290600101906020018083116114b257829003601f168201915b505050505081565b6000600960009054906101000a900460ff1615611529576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115209061233f565b60405180910390fd5b33600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae906123ab565b60405180910390fd5b6000612710600854856115ca91906123fa565b6115d4919061246b565b9050600081856115e4919061249c565b905084600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611631919061249c565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116bf91906124d0565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000821115611865578160066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461177891906124d0565b60066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161185c91906120b6565b60405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118c291906120b6565b60405180910390a36001935050505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e90612550565b60405180910390fd5b8060055410156119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906126ba565b60405180910390fd5b8060066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a47906126ba565b60405180910390fd5b8060056000828254611a62919061249c565b925050819055508060066000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ada919061249c565b925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a4481604051611b1091906120b6565b60405180910390a150565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b600a6020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4f906122d3565b60405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051611cdf91906121a0565b60405180910390a150565b61271081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d77906122d3565b60405180910390fd5b600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0390612726565b60405180910390fd5b6000611e1782611177565b90506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060056000828254611e70919061249c565b925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051611ea8929190612746565b60405180910390a15050565b601481565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ef3578082015181840152602081019050611ed8565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f1b82611eb9565b611f258185611ec4565b9350611f35818560208601611ed5565b611f3e81611eff565b840191505092915050565b60006020820190508181036000830152611f638184611f10565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f9b82611f70565b9050919050565b611fab81611f90565b8114611fb657600080fd5b50565b600081359050611fc881611fa2565b92915050565b6000819050919050565b611fe181611fce565b8114611fec57600080fd5b50565b600081359050611ffe81611fd8565b92915050565b6000806040838503121561201b5761201a611f6b565b5b600061202985828601611fb9565b925050602061203a85828601611fef565b9150509250929050565b60008115159050919050565b61205981612044565b82525050565b60006020820190506120746000830184612050565b92915050565b6000602082840312156120905761208f611f6b565b5b600061209e84828501611fb9565b91505092915050565b6120b081611fce565b82525050565b60006020820190506120cb60008301846120a7565b92915050565b6000806000606084860312156120ea576120e9611f6b565b5b60006120f886828701611fb9565b935050602061210986828701611fb9565b925050604061211a86828701611fef565b9150509250925092565b60006020828403121561213a57612139611f6b565b5b600061214884828501611fef565b91505092915050565b6000806040838503121561216857612167611f6b565b5b600061217685828601611fb9565b925050602061218785828601611fb9565b9150509250929050565b61219a81611f90565b82525050565b60006020820190506121b56000830184612191565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061220257607f821691505b602082108103612215576122146121bb565b5b50919050565b7f63616c6c65722063616e2774206265207a65726f206164647265737300000000600082015250565b6000612251601c83611ec4565b915061225c8261221b565b602082019050919050565b6000602082019050818103600083015261228081612244565b9050919050565b7f6e6f7420636f6d706c69616e6365000000000000000000000000000000000000600082015250565b60006122bd600e83611ec4565b91506122c882612287565b602082019050919050565b600060208201905081810360008301526122ec816122b0565b9050919050565b7f7061757365640000000000000000000000000000000000000000000000000000600082015250565b6000612329600683611ec4565b9150612334826122f3565b602082019050919050565b600060208201905081810360008301526123588161231c565b9050919050565b7f7573657220626c61636b6c697374656400000000000000000000000000000000600082015250565b6000612395601083611ec4565b91506123a08261235f565b602082019050919050565b600060208201905081810360008301526123c481612388565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061240582611fce565b915061241083611fce565b925082820261241e81611fce565b91508282048414831517612435576124346123cb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061247682611fce565b915061248183611fce565b9250826124915761249061243c565b5b828204905092915050565b60006124a782611fce565b91506124b283611fce565b92508282039050818111156124ca576124c96123cb565b5b92915050565b60006124db82611fce565b91506124e683611fce565b92508282019050808211156124fe576124fd6123cb565b5b92915050565b7f6e6f74206f776e65720000000000000000000000000000000000000000000000600082015250565b600061253a600983611ec4565b915061254582612504565b602082019050919050565b600060208201905081810360008301526125698161252d565b9050919050565b7f6e6f742070617573656400000000000000000000000000000000000000000000600082015250565b60006125a6600a83611ec4565b91506125b182612570565b602082019050919050565b600060208201905081810360008301526125d581612599565b9050919050565b7f626173697320706f696e74732073686f756c64206265206c657373207468656e60008201527f204d41585f42415349535f504f494e5453000000000000000000000000000000602082015250565b6000612638603183611ec4565b9150612643826125dc565b604082019050919050565b600060208201905081810360008301526126678161262b565b9050919050565b7f6e6f7420656e6f75676820746f6b656e7320746f2072656465656d0000000000600082015250565b60006126a4601b83611ec4565b91506126af8261266e565b602082019050919050565b600060208201905081810360008301526126d381612697565b9050919050565b7f757365722073686f756c6420626520626c61636b6c6973746564000000000000600082015250565b6000612710601a83611ec4565b915061271b826126da565b602082019050919050565b6000602082019050818103600083015261273f81612703565b9050919050565b600060408201905061275b6000830185612191565b61276860208301846120a7565b939250505056fea2646970667358221220c495746848264e13b91207030a82adf72dfba5e20bff1c65a0a9aeecc51cec9564736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000cf355ad32abf378f067fa93a28d96a767feb7377000000000000000000000000c8822fb37b7cbfeedfaaff4fe0b4bbb3e5eb7833
-----Decoded View---------------
Arg [0] : _owner (address): 0xcf355aD32abF378F067fA93A28D96a767FEb7377
Arg [1] : _compliance (address): 0xC8822fb37b7CbFeEdfAaFf4FE0B4Bbb3E5eb7833
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000cf355ad32abf378f067fa93a28d96a767feb7377
Arg [1] : 000000000000000000000000c8822fb37b7cbfeedfaaff4fe0b4bbb3e5eb7833
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)