ETH Price: $3,487.43 (+2.13%)

Token

ProperT (PROPT)
 

Overview

Max Total Supply

21,000,000 PROPT

Holders

1,694

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3 PROPT

Value
$0.00
0x3faa14b5090ae062b415bee336d2584657d8052b
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-14
*/

pragma solidity 0.8.0;

/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
    /**
    * @dev Returns the amount of tokens in existence.
    */
    function totalSupply() external view returns (uint256);

    /**
    * @dev Returns the name of the token.
    */
    function name() external view returns (string memory);

    /**
    * @dev Returns the symbol of the token.
    */
    function symbol() external view returns (string memory);

    /**
    * @dev Returns the decimals places of the token.
    */
    function decimals() external view returns (uint8);

    /**
    * @dev Returns the bep token owner.
    */
    function getOwner() external view returns (address);

    /**
    * @dev Returns the amount of tokens owned by `account`.
    */
    function balanceOf(address account) external view returns (uint256);

    /**
    * @dev Moves `amount` tokens from the caller's account to `recipient`.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * Emits a {Transfer} event.
    */
    function transfer(address recipient, uint256 amount) 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 `amount` 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 amount) external returns (bool);

    /**
    * @dev Moves `amount` tokens from `sender` to `recipient` using the
    * allowance mechanism. `amount` is then deducted from the caller's
    * allowance.
    *
    * Returns a boolean value indicating whether the operation succeeded.
    *
    * Emits a {Transfer} event.
    */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
    * @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 Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

/**
* @dev Contract module which provides a manager access control mechanism, where
* there is owner and manager, that can be granted exclusive access to
* specific functions.
*
* Both owner and manager accounts need to be specified when deploying the contract. This
* can later be changed with {setOwner} and {setManager}.
*
* This module is used through inheritance. Modifiers `onlyOwner` and `ownerOrManager`
* will be available, which can be applied to your functions to restrict their use.
*/
abstract contract Managed is Context
{
    event OwnershipTransfered(address indexed previousOwner, address indexed newOwner);
    event ManagementTransferred(address indexed previousManager, address indexed newManager);

    address private _owner;
    address private _manager;

    /**
    * @dev Initializes the contract, setting owner and manager.
    */
    constructor(address owner_, address manager_)
    {
        require(owner_ != address(0), "Owner address can't be a zero address");
        require(manager_ != address(0), "Manager address can't be a zero address");

        _setOwner(owner_);
        _setManager(manager_);
    }

    /**
    * @dev Returns the address of the current owner.
    */
    function owner() public view returns (address)
    { return _owner; }

    /**
    * @dev Returns the address of the current manager.
    */
    function manager() public view returns (address)
    { return _manager; }

    /**
    * @dev Transfers owner permissions to a new account (`newOwner`).
    * Can only be called by owner.
    */
    function setOwner(address newOwner) external onlyOwner
    {
        require(newOwner != address(0), "Managed: new owner can't be zero address");
        _setOwner(newOwner);
    }

    /**
    * @dev Transfers manager permissions to a new account (`newManager`).
    * Can only be called by owner.
    */
    function setManager(address newManager) external onlyOwner
    {
        require(newManager != address(0), "Managed: new manager can't be zero address");
        _setManager(newManager);
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner()
    {
        require(_msgSender() == _owner, "Managed: caller is not the owner");
        _;
    }

    /**
    * @dev Throws if called by any account other than owner or manager.
    */
    modifier ownerOrManager()
    {
        require(_msgSender() == _owner || _msgSender() == _manager, "Managed: caller is not the owner or manager");
        _;
    }

    /**
    * @dev Transfers owner permissions to a new account (`newOwner`).
    * Internal function without access restriction.
    */
    function _setOwner(address newOwner) internal
    {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransfered(oldOwner, newOwner);
    }

    /**
    * @dev Transfers manager permissions to a new account (`newManager`).
    * Internal function without access restriction.
    */
    function _setManager(address newManager) internal
    {
        address oldManager = _manager;
        _manager = newManager;
        emit ManagementTransferred(oldManager, newManager);
    }
}

/**
* @dev Contract module which provides a locking mechanism that allows
* a total token lock, or lock of a specific address.
*
* This module is used through inheritance. Modifier `isUnlocked`
* will be available, which can be applied to your functions to restrict their use.
*/
abstract contract Lockable is Managed
{
    event AddressLockChanged(address indexed addr, bool newLock);
    event TokenLockChanged(bool newLock);

    mapping(address => bool) private _addressLocks;
    bool private _locked;

    /**
    * @dev Completely locks any transfers of the token.
    * Can only be called by owner.
    */
    function lockToken() external onlyOwner
    {
        _locked = true;
        emit TokenLockChanged(true);
    }

    /**
    * @dev Completely unlocks any transfers of the token.
    * Can only be called by owner.
    */
    function unlockToken() external onlyOwner
    {
        _locked = false;
        emit TokenLockChanged(false);
    }

    /**
    * @dev Return whether the token is currently locked.
    */
    function isLocked() public view returns (bool)
    { return _locked; }

    /**
    * @dev Throws if a function is called while the token is locked.
    */
    modifier isUnlocked()
    {
        require(!_locked, "All token transfers are currently locked");
        _;
    }

    /**
    * @dev Completely locks sending and receiving of token for a specific address.
    * Can only be called by owner or manager
    */
    function lockAddress(address addr) external onlyOwner
    {
        _addressLocks[addr] = true;
        emit AddressLockChanged(addr, true);
    }

    /**
    * @dev Completely unlocks sending and receiving of token for a specific address.
    * Can only be called by owner or manager
    */
    function unlockAddress(address addr) external onlyOwner
    {
        _addressLocks[addr] = false;
        emit AddressLockChanged(addr, false);
    }

    /**
    * @dev Returns whether the account (`addr`) is currently locked.
    */
    function isAddressLocked(address addr) public view returns (bool)
    { return _addressLocks[addr]; }
}

/**
* @dev Implementation of the {IERC20} interface.
*
* This implementation is agnostic to the way tokens are created. This means
* that a supply mechanism has to be added in a derived contract using {_mint}.
* For a generic mechanism see {ERC20PresetMinterPauser}.
*
* TIP: For a detailed writeup see our guide
* https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
* to implement supply mechanisms].
*
* We have followed general OpenZeppelin Contracts guidelines: functions revert
* instead returning `false` on failure. This behavior is nonetheless
* conventional and does not conflict with the expectations of ERC20
* applications.
*
* Additionally, an {Approval} event is emitted on calls to {transferFrom}.
* This allows applications to reconstruct the allowance for all accounts just
* by listening to said events. Other implementations of the EIP may not emit
* these events, as it isn't required by the specification.
*
* Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
* functions have been added to mitigate the well-known issues around setting
* allowances. See {IERC20-approve}.
*/
contract ERC20 is Context, IERC20, Managed, Lockable
{
    event Burn(address indexed from, uint256 amount);
    event Release(address indexed to, uint256 amount);
    event Halving(uint256 oldReleaseAmount, uint256 newReleaseAmount);
    event ReleaseAddressChanged(address indexed oldAddress, address indexed newAddress);

    mapping(address => uint256) private _balances;

    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    uint8 private immutable _decimals;

    uint256 private _releaseAmount;
    uint256 private _nextReleaseDate;
    uint256 private _nextReducementDate;
    address private _releaseAddress;

    uint256 private _week = 600000; // 10 000 minutes
    uint256 private _4years = 126000000; // 2 100 000 minutes

    /**
    * @dev Sets the values for {owner}, {manager} and {initialDepositAddress}.
    *
    * Sets the {_releaseAmount} to 50538 coins, and timestamp for {_nextReleaseDate} and {_nextReducementDate}.
    * Sends first released amount to the {initialDepositAddress}, and locks the remaining supply within contract.
    *
    * The default value of {decimals} is 18. To select a different value for
    * {decimals} you should overload it.
    *
    * All values for token parameters are immutable: they can only be set once during
    * construction.
    */
    constructor(string memory name_, string memory symbol_, uint8 decimals_, address owner_, address manager_, address initialDepositAddress) Managed(owner_, manager_)
    {
        require(initialDepositAddress != address(0), "Initial unlock address can't be a zero address");

        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;

        _totalSupply = 21000000 * uint256(10**decimals_);
        _releaseAmount = 50000 * uint256(10**decimals_);

        _nextReleaseDate = block.timestamp + _week;
        _nextReducementDate = block.timestamp + _4years;

        _balances[address(this)] = _totalSupply - _releaseAmount;
        emit Transfer(address(0), address(this), _balances[address(this)]);

        _releaseAddress = initialDepositAddress;

        _balances[initialDepositAddress] = _releaseAmount;
        emit Transfer(address(0), initialDepositAddress, _balances[initialDepositAddress]);

        emit Release(initialDepositAddress, _balances[initialDepositAddress]);
    }

    /**
    * @dev Returns the name of the token.
    */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
    * @dev Returns the symbol of the token, usually a shorter version of the
    * name.
    */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
    * @dev Returns the number of decimals used to get its user representation.
    * For example, if `decimals` equals `2`, a balance of `505` tokens should
    * be displayed to a user as `5.05` (`505 / 10 ** 2`).
    *
    * Tokens usually opt for a value of 18, imitating the relationship between
    * Ether and Wei. This is the value {ERC20} uses, unless this function is
    * overridden;
    *
    * NOTE: This information is only used for _display_ purposes: it in
    * no way affects any of the arithmetic of the contract, including
    * {IERC20-balanceOf} and {IERC20-transfer}.
    */
    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }

    /**
    * @dev See {IERC20-getOwner}.
    */
    function getOwner() public view virtual override returns (address)
    { return owner(); }

    /**
    * @dev See {IERC20-totalSupply}.
    */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
    * @dev See {IERC20-balanceOf}.
    */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
    * @dev See {IERC20-transfer}.
    *
    * Requirements:
    *
    * - the caller must have an available balance of at least `amount`.
    */
    function transfer(address recipient, uint256 amount) external virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
    * @dev See {IERC20-allowance}.
    */
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    /**
    * @dev See {IERC20-approve}.
    *
    * Requirements:
    *
    * - `spender` cannot be the zero address.
    */
    function approve(address spender, uint256 amount) external virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
    * @dev See {IERC20-transferFrom}.
    *
    * Emits an {Approval} event indicating the updated allowance. This is not
    * required by the EIP. See the note at the beginning of {ERC20}.
    *
    * Requirements:
    *
    * - `sender` and `recipient` cannot be the zero address.
    * - `sender` must have a balance of at least `amount`.
    * - the caller must have allowance for ``sender``'s tokens of at least
    * `amount`.
    */
    function transferFrom(address sender, address recipient, uint256 amount) external virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
    * @dev Destroys `amount` tokens from the caller.
    *
    * See {ERC20-_burn}.
    */
    function burn(uint256 amount) external virtual
    { _burn(_msgSender(), amount); }

    /**
    * @dev Destroys `amount` tokens from `account`, deducting from the caller's
    * allowance.
    *
    * See {ERC20-_burn} and {ERC20-allowance}.
    *
    * Requirements:
    *
    * - the caller must have allowance for `accounts`'s tokens of at least
    * `amount`.
    */
    function burnFrom(address account, uint256 amount) external virtual
    {
        uint256 currentAllowance = allowance(account, _msgSender());
        require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance");
        unchecked {
            _approve(account, _msgSender(), currentAllowance - amount);
        }
        _burn(account, amount);
    }

    /**
    * @dev Atomically increases the allowance granted to `spender` by the caller.
    *
    * This is an alternative to {approve} that can be used as a mitigation for
    * problems described in {IERC20-approve}.
    *
    * Emits an {Approval} event indicating the updated allowance.
    *
    * Requirements:
    *
    * - `spender` cannot be the zero address.
    */
    function increaseAllowance(address spender, uint256 addedValue) external virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    /**
    * @dev Atomically decreases the allowance granted to `spender` by the caller.
    *
    * This is an alternative to {approve} that can be used as a mitigation for
    * problems described in {IERC20-approve}.
    *
    * Emits an {Approval} event indicating the updated allowance.
    *
    * Requirements:
    *
    * - `spender` cannot be the zero address.
    * - `spender` must have allowance for the caller of at least
    * `subtractedValue`.
    */
    function decreaseAllowance(address spender, uint256 subtractedValue) external virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
    * @dev Sets {_releaseAddress} to {newReleaseAddress}.
    *
    * Emits a {ReleaseAddressChanged} event containing old and a new release addresses.
    */
    function setReleaseAddress(address newReleaseAddress) external onlyOwner
    {
        require(newReleaseAddress != address(0), "New release address can't be a zero address");

        address oldAddress = _releaseAddress;
        _releaseAddress = newReleaseAddress;

        emit ReleaseAddressChanged(oldAddress, _releaseAddress);
    }

    /**
    * @dev Calculates and releases new coins into circulation.
    * If multiple weeks have passed, releases all the coins that should be
    * released within those weeks.
    *
    * Emits a {Release} event containing the address {_releaseAddress} the coins were released to,
    * and the amount {toRelease} of coins the function released.
    */
    function release() external ownerOrManager
    {
        require(block.timestamp > _nextReleaseDate, "Next coin release is not yet scheduled");
        require(balanceOf(address(this)) > 0, "There are no more coins to release");

        uint256 toRelease = 0;
        uint256 currentRelease = 0;

        while((currentRelease = _calculateReleaseAmount()) > 0)
        { toRelease += currentRelease; }

        _transfer(address(this), _releaseAddress, toRelease);
        emit Release(_releaseAddress, toRelease);
    }

    /**
    * @dev Calculates the exact amount of coins that should be released for one release cycle.
    * If the next release will be after the halving date, it also calculates a new {_releaseAmount}
    * for future releases.
    *
    * Emits a {Halving} event if halving happens, containing the old release amount {oldReleaseAmount},
    * and new release amount {_releaseAmount}
    */
    function _calculateReleaseAmount() internal returns (uint256)
    {
        if(block.timestamp < _nextReleaseDate || balanceOf(address(this)) == 0)
            return 0;

        uint256 amount = _releaseAmount > balanceOf(address(this)) ? balanceOf(address(this)) : _releaseAmount;

        _nextReleaseDate += _week;
        if(_nextReleaseDate >= _nextReducementDate)
        {
            _nextReducementDate += _4years;

            uint256 oldReleaseAmount = _releaseAmount;
            _releaseAmount = (_releaseAmount * 500000) / 1000000;

            emit Halving(oldReleaseAmount, _releaseAmount);
        }

        return amount;
    }

    /**
    * @dev Moves `amount` of tokens from `sender` to `recipient`.
    *
    * This internal function is equivalent to {transfer}, and can be used to
    * e.g. implement automatic token fees, slashing mechanisms, etc.
    *
    * If the `recipient` address is zero address, calls {_burn} instead.
    *
    * Emits a {Transfer} event.
    *
    * Requirements:
    *
    * - `sender` cannot be the zero address.
    * - `sender` must have an available balance of at least `amount`.
    */
    function _transfer(address sender, address recipient, uint256 amount) internal isUnlocked virtual
    {
        require(recipient != address(0), "ERC20: transfer to zero address");
        require(sender != address(0), "ERC20: transfer from the zero address");

        require(!isAddressLocked(sender), "Sender address is currently locked and can't send funds");
        require(!isAddressLocked(recipient), "Recipient address is currently locked and can't receive funds");

        require(_balances[sender] >= amount, "ERC20: transfer amount exceeds available balance");

        _balances[sender] -= amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /**
    * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
    *
    * This internal function is equivalent to `approve`, and can be used to
    * e.g. set automatic allowances for certain subsystems, etc.
    *
    * Emits an {Approval} event.
    *
    * Requirements:
    *
    * - `owner` cannot be the zero address.
    * - `spender` cannot be the zero address.
    */
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    /**
    * @dev Destroys `amount` tokens from `account`, reducing the
    * total supply.
    *
    * Emits a {Transfer} event with `to` set to the zero address.
    * Emits a {Burn} event with `amount` burned.
    *
    * Requirements:
    *
    * - `account` cannot be the zero address.
    * - `account` must have at least `amount` tokens.
    * - `account` can't be locked.
    */
    function _burn(address account, uint256 amount) internal isUnlocked virtual
    {
        require(account != address(0), "ERC20: burn from the zero address");

        require(!isAddressLocked(account), "Sender address is currently locked and can't burn funds");

        require(_balances[account] >= amount, "ERC20: burn amount exceeds available balance");

        _balances[account] -= amount;
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
        emit Burn(account, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"manager_","type":"address"},{"internalType":"address","name":"initialDepositAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"bool","name":"newLock","type":"bool"}],"name":"AddressLockChanged","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":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldReleaseAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newReleaseAmount","type":"uint256"}],"name":"Halving","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousManager","type":"address"},{"indexed":true,"internalType":"address","name":"newManager","type":"address"}],"name":"ManagementTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransfered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Release","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newAddress","type":"address"}],"name":"ReleaseAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"newLock","type":"bool"}],"name":"TokenLockChanged","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"},{"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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"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":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"addr","type":"address"}],"name":"isAddressLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"lockAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newManager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newReleaseAddress","type":"address"}],"name":"setReleaseAddress","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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"unlockAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockToken","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60a0604052620927c0600d556307829b80600e553480156200002057600080fd5b50604051620021c2380380620021c28339810160408190526200004391620004b0565b82826001600160a01b038216620000775760405162461bcd60e51b81526004016200006e9062000566565b60405180910390fd5b6001600160a01b038116620000a05760405162461bcd60e51b81526004016200006e90620005ab565b620000ab82620002a0565b620000b681620002f0565b50506001600160a01b038116620000e15760405162461bcd60e51b81526004016200006e90620005f2565b8551620000f690600790602089019062000342565b5084516200010c90600890602088019062000342565b507fff0000000000000000000000000000000000000000000000000000000000000060f885901b166080526200014484600a620006b1565b62000154906301406f40620007a9565b6006556200016484600a620006b1565b620001729061c350620007a9565b600955600d5462000184904262000649565b600a55600e5462000196904262000649565b600b55600954600654620001ab9190620007cb565b306000818152600460205260408082208490555191929091600080516020620021a283398151915291620001df9162000640565b60405180910390a3600c80546001600160a01b0319166001600160a01b038316908117909155600954600082815260046020526040808220839055519091600080516020620021a2833981519152916200023a919062000640565b60405180910390a36001600160a01b038116600081815260046020526040908190205490517ff6334794522b9db534a812aaae1af828a2e96aac68473b58e36d7d0bfd67477b916200028c9162000640565b60405180910390a25050505050506200084e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee679190a35050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b8280546200035090620007e5565b90600052602060002090601f016020900481019282620003745760008555620003bf565b82601f106200038f57805160ff1916838001178555620003bf565b82800160010185558215620003bf579182015b82811115620003bf578251825591602001919060010190620003a2565b50620003cd929150620003d1565b5090565b5b80821115620003cd5760008155600101620003d2565b80516001600160a01b03811681146200040057600080fd5b919050565b600082601f83011262000416578081fd5b81516001600160401b038082111562000433576200043362000838565b6040516020601f8401601f19168201810183811183821017156200045b576200045b62000838565b604052838252858401810187101562000472578485fd5b8492505b8383101562000495578583018101518284018201529182019162000476565b83831115620004a657848185840101525b5095945050505050565b60008060008060008060c08789031215620004c9578182fd5b86516001600160401b0380821115620004e0578384fd5b620004ee8a838b0162000405565b9750602089015191508082111562000504578384fd5b506200051389828a0162000405565b955050604087015160ff811681146200052a578283fd5b93506200053a60608801620003e8565b92506200054a60808801620003e8565b91506200055a60a08801620003e8565b90509295509295509295565b60208082526025908201527f4f776e657220616464726573732063616e27742062652061207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526027908201527f4d616e6167657220616464726573732063616e27742062652061207a65726f206040820152666164647265737360c81b606082015260800190565b6020808252602e908201527f496e697469616c20756e6c6f636b20616464726573732063616e27742062652060408201526d61207a65726f206164647265737360901b606082015260800190565b90815260200190565b600082198211156200065f576200065f62000822565b500190565b80825b6001808611620006785750620006a8565b8187048211156200068d576200068d62000822565b808616156200069b57918102915b9490941c93800262000667565b94509492505050565b6000620006c560001960ff851684620006cc565b9392505050565b600082620006dd57506001620006c5565b81620006ec57506000620006c5565b8160018114620007055760028114620007105762000744565b6001915050620006c5565b60ff84111562000724576200072462000822565b6001841b9150848211156200073d576200073d62000822565b50620006c5565b5060208310610133831016604e8410600b84101617156200077c575081810a8381111562000776576200077662000822565b620006c5565b6200078b848484600162000664565b808604821115620007a057620007a062000822565b02949350505050565b6000816000190483118215151615620007c657620007c662000822565b500290565b600082821015620007e057620007e062000822565b500390565b600281046001821680620007fa57607f821691505b602082108114156200081c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60805160f81c6119356200086d600039600061059001526119356000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806386d1a69f116100de578063a9059cbb11610097578063c2e2b29211610071578063c2e2b29214610308578063d0ebdbe71461031b578063dd62ed3e1461032e578063e52e9f15146103415761018e565b8063a9059cbb146102da578063b7eb5e0a146102ed578063bca7a9e2146103005761018e565b806386d1a69f1461029f578063893d20e8146102a75780638da5cb5b146102af57806395d89b41146102b7578063a457c2d7146102bf578063a4e2d634146102d25761018e565b8063313ce5671161014b57806342966c681161012557806342966c6814610251578063481c6a751461026457806370a082311461027957806379cc67901461028c5761018e565b8063313ce5671461021657806334a90d021461022b578063395093511461023e5761018e565b806306fdde0314610193578063095ea7b3146101b157806313af4035146101d157806318160ddd146101e657806318a24b5b146101fb57806323b872dd14610203575b600080fd5b61019b610354565b6040516101a891906111d4565b60405180910390f35b6101c46101bf366004611174565b6103e7565b6040516101a891906111c9565b6101e46101df3660046110e6565b610404565b005b6101ee610479565b6040516101a8919061181b565b6101e461047f565b6101c4610211366004611139565b6104fe565b61021e61058e565b6040516101a89190611832565b6101e46102393660046110e6565b6105b2565b6101c461024c366004611174565b61064c565b6101e461025f36600461119d565b6106a0565b61026c6106b1565b6040516101a891906111b5565b6101ee6102873660046110e6565b6106c0565b6101e461029a366004611174565b6106df565b6101e4610732565b61026c610865565b61026c610874565b61019b610883565b6101c46102cd366004611174565b610892565b6101c461090b565b6101c46102e8366004611174565b610914565b6101e46102fb3660046110e6565b610928565b6101e46109af565b6101e46103163660046110e6565b610a27565b6101e46103293660046110e6565b610adb565b6101ee61033c366004611107565b610b44565b6101c461034f3660046110e6565b610b6f565b606060078054610363906118ae565b80601f016020809104026020016040519081016040528092919081815260200182805461038f906118ae565b80156103dc5780601f106103b1576101008083540402835291602001916103dc565b820191906000526020600020905b8154815290600101906020018083116103bf57829003601f168201915b505050505090505b90565b60006103fb6103f4610b8d565b8484610b91565b50600192915050565b6000546001600160a01b0316610418610b8d565b6001600160a01b0316146104475760405162461bcd60e51b815260040161043e90611469565b60405180910390fd5b6001600160a01b03811661046d5760405162461bcd60e51b815260040161043e90611528565b61047681610c45565b50565b60065490565b6000546001600160a01b0316610493610b8d565b6001600160a01b0316146104b95760405162461bcd60e51b815260040161043e90611469565b6003805460ff191690556040517f74e75687cb4b4a63d93a397950b5ded4054b5b45e48b215162a5efb3162465cd906104f4906000906111c9565b60405180910390a1565b600061050b848484610c95565b6001600160a01b03841660009081526005602052604081208161052c610b8d565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561056f5760405162461bcd60e51b815260040161043e90611421565b6105838561057b610b8d565b858403610b91565b506001949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000546001600160a01b03166105c6610b8d565b6001600160a01b0316146105ec5760405162461bcd60e51b815260040161043e90611469565b6001600160a01b03811660008181526002602052604090819020805460ff1916600190811790915590517f18e3f5e6e436b491427e1abe846e624b5846cd3bad2f3b48ad174ec2eb1431d991610641916111c9565b60405180910390a250565b60006103fb610659610b8d565b848460056000610667610b8d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461069b9190611840565b610b91565b6104766106ab610b8d565b82610e27565b6001546001600160a01b031690565b6001600160a01b0381166000908152600460205260409020545b919050565b60006106ed8361033c610b8d565b90508181101561070f5760405162461bcd60e51b815260040161043e906114e4565b6107238361071b610b8d565b848403610b91565b61072d8383610e27565b505050565b6000546001600160a01b0316610746610b8d565b6001600160a01b0316148061077557506001546001600160a01b031661076a610b8d565b6001600160a01b0316145b6107915760405162461bcd60e51b815260040161043e9061172e565b600a5442116107b25760405162461bcd60e51b815260040161043e9061149e565b60006107bd306106c0565b116107da5760405162461bcd60e51b815260040161043e90611227565b6000805b60006107e8610f93565b9150811115610802576107fb8183611840565b91506107de565b600c5461081a9030906001600160a01b031684610c95565b600c546040516001600160a01b03909116907ff6334794522b9db534a812aaae1af828a2e96aac68473b58e36d7d0bfd67477b9061085990859061181b565b60405180910390a25050565b600061086f610874565b905090565b6000546001600160a01b031690565b606060088054610363906118ae565b600080600560006108a1610b8d565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156108ed5760405162461bcd60e51b815260040161043e906117d6565b6109016108f8610b8d565b85858403610b91565b5060019392505050565b60035460ff1690565b60006103fb610921610b8d565b8484610c95565b6000546001600160a01b031661093c610b8d565b6001600160a01b0316146109625760405162461bcd60e51b815260040161043e90611469565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f18e3f5e6e436b491427e1abe846e624b5846cd3bad2f3b48ad174ec2eb1431d991610641916111c9565b6000546001600160a01b03166109c3610b8d565b6001600160a01b0316146109e95760405162461bcd60e51b815260040161043e90611469565b6003805460ff191660019081179091556040517f74e75687cb4b4a63d93a397950b5ded4054b5b45e48b215162a5efb3162465cd916104f4916111c9565b6000546001600160a01b0316610a3b610b8d565b6001600160a01b031614610a615760405162461bcd60e51b815260040161043e90611469565b6001600160a01b038116610a875760405162461bcd60e51b815260040161043e906115cd565b600c80546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f0822d2eff5e397b947a8e3922f27065290b50e08d40f83fa8f3b72c41aa7e6f590600090a35050565b6000546001600160a01b0316610aef610b8d565b6001600160a01b031614610b155760405162461bcd60e51b815260040161043e90611469565b6001600160a01b038116610b3b5760405162461bcd60e51b815260040161043e906112f3565b6104768161107d565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b031660009081526002602052604090205460ff1690565b3390565b6001600160a01b038316610bb75760405162461bcd60e51b815260040161043e9061169e565b6001600160a01b038216610bdd5760405162461bcd60e51b815260040161043e906112b1565b6001600160a01b0380841660008181526005602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c3890859061181b565b60405180910390a3505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee679190a35050565b60035460ff1615610cb85760405162461bcd60e51b815260040161043e90611269565b6001600160a01b038216610cde5760405162461bcd60e51b815260040161043e9061133d565b6001600160a01b038316610d045760405162461bcd60e51b815260040161043e90611659565b610d0d83610b6f565b15610d2a5760405162461bcd60e51b815260040161043e90611570565b610d3382610b6f565b15610d505760405162461bcd60e51b815260040161043e906113c4565b6001600160a01b038316600090815260046020526040902054811115610d885760405162461bcd60e51b815260040161043e90611374565b6001600160a01b03831660009081526004602052604081208054839290610db0908490611897565b90915550506001600160a01b03821660009081526004602052604081208054839290610ddd908490611840565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c38919061181b565b60035460ff1615610e4a5760405162461bcd60e51b815260040161043e90611269565b6001600160a01b038216610e705760405162461bcd60e51b815260040161043e90611618565b610e7982610b6f565b15610e965760405162461bcd60e51b815260040161043e90611779565b6001600160a01b038216600090815260046020526040902054811115610ece5760405162461bcd60e51b815260040161043e906116e2565b6001600160a01b03821660009081526004602052604081208054839290610ef6908490611897565b925050819055508060066000828254610f0f9190611897565b90915550506040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f5290859061181b565b60405180910390a3816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582604051610859919061181b565b6000600a54421080610fab5750610fa9306106c0565b155b15610fb8575060006103e4565b6000610fc3306106c0565b60095411610fd357600954610fdc565b610fdc306106c0565b9050600d54600a6000828254610ff29190611840565b9091555050600b54600a541061086f57600e54600b60008282546110169190611840565b9091555050600954620f424061102f826207a120611878565b6110399190611858565b60098190556040517f394823b0bcaf78cd8f5876a52c05dbab91512a05f5da2a31e239a11ab66d605f9161106f91849190611824565b60405180910390a150905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b80356001600160a01b03811681146106da57600080fd5b6000602082840312156110f7578081fd5b611100826110cf565b9392505050565b60008060408385031215611119578081fd5b611122836110cf565b9150611130602084016110cf565b90509250929050565b60008060006060848603121561114d578081fd5b611156846110cf565b9250611164602085016110cf565b9150604084013590509250925092565b60008060408385031215611186578182fd5b61118f836110cf565b946020939093013593505050565b6000602082840312156111ae578081fd5b5035919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015611200578581018301518582016040015282016111e4565b818111156112115783604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f546865726520617265206e6f206d6f726520636f696e7320746f2072656c6561604082015261736560f01b606082015260800190565b60208082526028908201527f416c6c20746f6b656e207472616e7366657273206172652063757272656e746c6040820152671e481b1bd8dad95960c21b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f4d616e616765643a206e6577206d616e616765722063616e2774206265207a65604082015269726f206164647265737360b01b606082015260800190565b6020808252601f908201527f45524332303a207472616e7366657220746f207a65726f206164647265737300604082015260600190565b60208082526030908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201526f7661696c61626c652062616c616e636560801b606082015260800190565b6020808252603d908201527f526563697069656e7420616464726573732069732063757272656e746c79206c60408201527f6f636b656420616e642063616e277420726563656976652066756e6473000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4d616e616765643a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526026908201527f4e65787420636f696e2072656c65617365206973206e6f74207965742073636860408201526519591d5b195960d21b606082015260800190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526028908201527f4d616e616765643a206e6577206f776e65722063616e2774206265207a65726f604082015267206164647265737360c01b606082015260800190565b60208082526037908201527f53656e64657220616464726573732069732063757272656e746c79206c6f636b60408201527f656420616e642063616e27742073656e642066756e6473000000000000000000606082015260800190565b6020808252602b908201527f4e65772072656c6561736520616464726573732063616e27742062652061207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f45524332303a206275726e20616d6f756e74206578636565647320617661696c60408201526b61626c652062616c616e636560a01b606082015260800190565b6020808252602b908201527f4d616e616765643a2063616c6c6572206973206e6f7420746865206f776e657260408201526a1037b91036b0b730b3b2b960a91b606082015260800190565b60208082526037908201527f53656e64657220616464726573732069732063757272656e746c79206c6f636b60408201527f656420616e642063616e2774206275726e2066756e6473000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b60008219821115611853576118536118e9565b500190565b60008261187357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611892576118926118e9565b500290565b6000828210156118a9576118a96118e9565b500390565b6002810460018216806118c257607f821691505b602082108114156118e357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220f9a291144a28b74c864733111fc7837806dea8f0f460d716c0226600cb111f8a64736f6c63430008000033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000ddb5b5fff59c95cb7d60fabf44b340ce9aea37400000000000000000000000000ce1190eac11747eddf500480464ed2ac8eb184000000000000000000000000016acecfed1dd8461de48aa09522a0e9528b07d35000000000000000000000000000000000000000000000000000000000000000750726f7065725400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000550524f5054000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806386d1a69f116100de578063a9059cbb11610097578063c2e2b29211610071578063c2e2b29214610308578063d0ebdbe71461031b578063dd62ed3e1461032e578063e52e9f15146103415761018e565b8063a9059cbb146102da578063b7eb5e0a146102ed578063bca7a9e2146103005761018e565b806386d1a69f1461029f578063893d20e8146102a75780638da5cb5b146102af57806395d89b41146102b7578063a457c2d7146102bf578063a4e2d634146102d25761018e565b8063313ce5671161014b57806342966c681161012557806342966c6814610251578063481c6a751461026457806370a082311461027957806379cc67901461028c5761018e565b8063313ce5671461021657806334a90d021461022b578063395093511461023e5761018e565b806306fdde0314610193578063095ea7b3146101b157806313af4035146101d157806318160ddd146101e657806318a24b5b146101fb57806323b872dd14610203575b600080fd5b61019b610354565b6040516101a891906111d4565b60405180910390f35b6101c46101bf366004611174565b6103e7565b6040516101a891906111c9565b6101e46101df3660046110e6565b610404565b005b6101ee610479565b6040516101a8919061181b565b6101e461047f565b6101c4610211366004611139565b6104fe565b61021e61058e565b6040516101a89190611832565b6101e46102393660046110e6565b6105b2565b6101c461024c366004611174565b61064c565b6101e461025f36600461119d565b6106a0565b61026c6106b1565b6040516101a891906111b5565b6101ee6102873660046110e6565b6106c0565b6101e461029a366004611174565b6106df565b6101e4610732565b61026c610865565b61026c610874565b61019b610883565b6101c46102cd366004611174565b610892565b6101c461090b565b6101c46102e8366004611174565b610914565b6101e46102fb3660046110e6565b610928565b6101e46109af565b6101e46103163660046110e6565b610a27565b6101e46103293660046110e6565b610adb565b6101ee61033c366004611107565b610b44565b6101c461034f3660046110e6565b610b6f565b606060078054610363906118ae565b80601f016020809104026020016040519081016040528092919081815260200182805461038f906118ae565b80156103dc5780601f106103b1576101008083540402835291602001916103dc565b820191906000526020600020905b8154815290600101906020018083116103bf57829003601f168201915b505050505090505b90565b60006103fb6103f4610b8d565b8484610b91565b50600192915050565b6000546001600160a01b0316610418610b8d565b6001600160a01b0316146104475760405162461bcd60e51b815260040161043e90611469565b60405180910390fd5b6001600160a01b03811661046d5760405162461bcd60e51b815260040161043e90611528565b61047681610c45565b50565b60065490565b6000546001600160a01b0316610493610b8d565b6001600160a01b0316146104b95760405162461bcd60e51b815260040161043e90611469565b6003805460ff191690556040517f74e75687cb4b4a63d93a397950b5ded4054b5b45e48b215162a5efb3162465cd906104f4906000906111c9565b60405180910390a1565b600061050b848484610c95565b6001600160a01b03841660009081526005602052604081208161052c610b8d565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561056f5760405162461bcd60e51b815260040161043e90611421565b6105838561057b610b8d565b858403610b91565b506001949350505050565b7f000000000000000000000000000000000000000000000000000000000000001290565b6000546001600160a01b03166105c6610b8d565b6001600160a01b0316146105ec5760405162461bcd60e51b815260040161043e90611469565b6001600160a01b03811660008181526002602052604090819020805460ff1916600190811790915590517f18e3f5e6e436b491427e1abe846e624b5846cd3bad2f3b48ad174ec2eb1431d991610641916111c9565b60405180910390a250565b60006103fb610659610b8d565b848460056000610667610b8d565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461069b9190611840565b610b91565b6104766106ab610b8d565b82610e27565b6001546001600160a01b031690565b6001600160a01b0381166000908152600460205260409020545b919050565b60006106ed8361033c610b8d565b90508181101561070f5760405162461bcd60e51b815260040161043e906114e4565b6107238361071b610b8d565b848403610b91565b61072d8383610e27565b505050565b6000546001600160a01b0316610746610b8d565b6001600160a01b0316148061077557506001546001600160a01b031661076a610b8d565b6001600160a01b0316145b6107915760405162461bcd60e51b815260040161043e9061172e565b600a5442116107b25760405162461bcd60e51b815260040161043e9061149e565b60006107bd306106c0565b116107da5760405162461bcd60e51b815260040161043e90611227565b6000805b60006107e8610f93565b9150811115610802576107fb8183611840565b91506107de565b600c5461081a9030906001600160a01b031684610c95565b600c546040516001600160a01b03909116907ff6334794522b9db534a812aaae1af828a2e96aac68473b58e36d7d0bfd67477b9061085990859061181b565b60405180910390a25050565b600061086f610874565b905090565b6000546001600160a01b031690565b606060088054610363906118ae565b600080600560006108a1610b8d565b6001600160a01b03908116825260208083019390935260409182016000908120918816815292529020549050828110156108ed5760405162461bcd60e51b815260040161043e906117d6565b6109016108f8610b8d565b85858403610b91565b5060019392505050565b60035460ff1690565b60006103fb610921610b8d565b8484610c95565b6000546001600160a01b031661093c610b8d565b6001600160a01b0316146109625760405162461bcd60e51b815260040161043e90611469565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f18e3f5e6e436b491427e1abe846e624b5846cd3bad2f3b48ad174ec2eb1431d991610641916111c9565b6000546001600160a01b03166109c3610b8d565b6001600160a01b0316146109e95760405162461bcd60e51b815260040161043e90611469565b6003805460ff191660019081179091556040517f74e75687cb4b4a63d93a397950b5ded4054b5b45e48b215162a5efb3162465cd916104f4916111c9565b6000546001600160a01b0316610a3b610b8d565b6001600160a01b031614610a615760405162461bcd60e51b815260040161043e90611469565b6001600160a01b038116610a875760405162461bcd60e51b815260040161043e906115cd565b600c80546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f0822d2eff5e397b947a8e3922f27065290b50e08d40f83fa8f3b72c41aa7e6f590600090a35050565b6000546001600160a01b0316610aef610b8d565b6001600160a01b031614610b155760405162461bcd60e51b815260040161043e90611469565b6001600160a01b038116610b3b5760405162461bcd60e51b815260040161043e906112f3565b6104768161107d565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6001600160a01b031660009081526002602052604090205460ff1690565b3390565b6001600160a01b038316610bb75760405162461bcd60e51b815260040161043e9061169e565b6001600160a01b038216610bdd5760405162461bcd60e51b815260040161043e906112b1565b6001600160a01b0380841660008181526005602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610c3890859061181b565b60405180910390a3505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee679190a35050565b60035460ff1615610cb85760405162461bcd60e51b815260040161043e90611269565b6001600160a01b038216610cde5760405162461bcd60e51b815260040161043e9061133d565b6001600160a01b038316610d045760405162461bcd60e51b815260040161043e90611659565b610d0d83610b6f565b15610d2a5760405162461bcd60e51b815260040161043e90611570565b610d3382610b6f565b15610d505760405162461bcd60e51b815260040161043e906113c4565b6001600160a01b038316600090815260046020526040902054811115610d885760405162461bcd60e51b815260040161043e90611374565b6001600160a01b03831660009081526004602052604081208054839290610db0908490611897565b90915550506001600160a01b03821660009081526004602052604081208054839290610ddd908490611840565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c38919061181b565b60035460ff1615610e4a5760405162461bcd60e51b815260040161043e90611269565b6001600160a01b038216610e705760405162461bcd60e51b815260040161043e90611618565b610e7982610b6f565b15610e965760405162461bcd60e51b815260040161043e90611779565b6001600160a01b038216600090815260046020526040902054811115610ece5760405162461bcd60e51b815260040161043e906116e2565b6001600160a01b03821660009081526004602052604081208054839290610ef6908490611897565b925050819055508060066000828254610f0f9190611897565b90915550506040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f5290859061181b565b60405180910390a3816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca582604051610859919061181b565b6000600a54421080610fab5750610fa9306106c0565b155b15610fb8575060006103e4565b6000610fc3306106c0565b60095411610fd357600954610fdc565b610fdc306106c0565b9050600d54600a6000828254610ff29190611840565b9091555050600b54600a541061086f57600e54600b60008282546110169190611840565b9091555050600954620f424061102f826207a120611878565b6110399190611858565b60098190556040517f394823b0bcaf78cd8f5876a52c05dbab91512a05f5da2a31e239a11ab66d605f9161106f91849190611824565b60405180910390a150905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f80f15e9dbc60884fdb59fb8ed4fc48a9a689e028f055e893ed45ca5be67c5c8590600090a35050565b80356001600160a01b03811681146106da57600080fd5b6000602082840312156110f7578081fd5b611100826110cf565b9392505050565b60008060408385031215611119578081fd5b611122836110cf565b9150611130602084016110cf565b90509250929050565b60008060006060848603121561114d578081fd5b611156846110cf565b9250611164602085016110cf565b9150604084013590509250925092565b60008060408385031215611186578182fd5b61118f836110cf565b946020939093013593505050565b6000602082840312156111ae578081fd5b5035919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015611200578581018301518582016040015282016111e4565b818111156112115783604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f546865726520617265206e6f206d6f726520636f696e7320746f2072656c6561604082015261736560f01b606082015260800190565b60208082526028908201527f416c6c20746f6b656e207472616e7366657273206172652063757272656e746c6040820152671e481b1bd8dad95960c21b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f4d616e616765643a206e6577206d616e616765722063616e2774206265207a65604082015269726f206164647265737360b01b606082015260800190565b6020808252601f908201527f45524332303a207472616e7366657220746f207a65726f206164647265737300604082015260600190565b60208082526030908201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160408201526f7661696c61626c652062616c616e636560801b606082015260800190565b6020808252603d908201527f526563697069656e7420616464726573732069732063757272656e746c79206c60408201527f6f636b656420616e642063616e277420726563656976652066756e6473000000606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4d616e616765643a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526026908201527f4e65787420636f696e2072656c65617365206973206e6f74207965742073636860408201526519591d5b195960d21b606082015260800190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526028908201527f4d616e616765643a206e6577206f776e65722063616e2774206265207a65726f604082015267206164647265737360c01b606082015260800190565b60208082526037908201527f53656e64657220616464726573732069732063757272656e746c79206c6f636b60408201527f656420616e642063616e27742073656e642066756e6473000000000000000000606082015260800190565b6020808252602b908201527f4e65772072656c6561736520616464726573732063616e27742062652061207a60408201526a65726f206164647265737360a81b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252602c908201527f45524332303a206275726e20616d6f756e74206578636565647320617661696c60408201526b61626c652062616c616e636560a01b606082015260800190565b6020808252602b908201527f4d616e616765643a2063616c6c6572206973206e6f7420746865206f776e657260408201526a1037b91036b0b730b3b2b960a91b606082015260800190565b60208082526037908201527f53656e64657220616464726573732069732063757272656e746c79206c6f636b60408201527f656420616e642063616e2774206275726e2066756e6473000000000000000000606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b918252602082015260400190565b60ff91909116815260200190565b60008219821115611853576118536118e9565b500190565b60008261187357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611892576118926118e9565b500290565b6000828210156118a9576118a96118e9565b500390565b6002810460018216806118c257607f821691505b602082108114156118e357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220f9a291144a28b74c864733111fc7837806dea8f0f460d716c0226600cb111f8a64736f6c63430008000033

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

00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000ddb5b5fff59c95cb7d60fabf44b340ce9aea37400000000000000000000000000ce1190eac11747eddf500480464ed2ac8eb184000000000000000000000000016acecfed1dd8461de48aa09522a0e9528b07d35000000000000000000000000000000000000000000000000000000000000000750726f7065725400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000550524f5054000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): ProperT
Arg [1] : symbol_ (string): PROPT
Arg [2] : decimals_ (uint8): 18
Arg [3] : owner_ (address): 0xDdb5B5fFF59C95cb7D60FabF44b340ce9aea3740
Arg [4] : manager_ (address): 0x0ce1190EAC11747edDF500480464eD2aC8eB1840
Arg [5] : initialDepositAddress (address): 0x16ACEcFEd1dD8461dE48aA09522A0e9528B07d35

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000ddb5b5fff59c95cb7d60fabf44b340ce9aea3740
Arg [4] : 0000000000000000000000000ce1190eac11747eddf500480464ed2ac8eb1840
Arg [5] : 00000000000000000000000016acecfed1dd8461de48aa09522a0e9528b07d35
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [7] : 50726f7065725400000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [9] : 50524f5054000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

10574:13781:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13128:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15383:171;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5539:184::-;;;;;;:::i;:::-;;:::i;:::-;;14389:108;;;:::i;:::-;;;;;;;:::i;8092:120::-;;;:::i;16024:460::-;;;;;;:::i;:::-;;:::i;14075:100::-;;;:::i;:::-;;;;;;;:::i;8735:150::-;;;;;;:::i;:::-;;:::i;17760:217::-;;;;;;:::i;:::-;;:::i;16596:84::-;;;;;;:::i;:::-;;:::i;5333:74::-;;;:::i;:::-;;;;;;;:::i;14558:127::-;;;;;;:::i;:::-;;:::i;16987:375::-;;;;;;:::i;:::-;;:::i;19783:534::-;;;:::i;14235:91::-;;;:::i;5182:70::-;;;:::i;13344:104::-;;;:::i;18467:415::-;;;;;;:::i;:::-;;:::i;8295:71::-;;;:::i;14853:177::-;;;;;;:::i;:::-;;:::i;9042:154::-;;;;;;:::i;:::-;;:::i;7856:116::-;;;:::i;19062:347::-;;;;;;:::i;:::-;;:::i;5859:196::-;;;;;;:::i;:::-;;:::i;15091:151::-;;;;;;:::i;:::-;;:::i;9291:102::-;;;;;;:::i;:::-;;:::i;13128:100::-;13182:13;13215:5;13208:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13128:100;;:::o;15383:171::-;15468:4;15485:39;15494:12;:10;:12::i;:::-;15508:7;15517:6;15485:8;:39::i;:::-;-1:-1:-1;15542:4:0;15383:171;;;;:::o;5539:184::-;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;5618:22:0;::::1;5610:75;;;;-1:-1:-1::0;;;5610:75:0::1;;;;;;;:::i;:::-;5696:19;5706:8;5696:9;:19::i;:::-;5539:184:::0;:::o;14389:108::-;14477:12;;14389:108;:::o;8092:120::-;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;8150:7:::1;:15:::0;;-1:-1:-1;;8150:15:0::1;::::0;;8181:23:::1;::::0;::::1;::::0;::::1;::::0;8160:5:::1;::::0;8181:23:::1;:::i;:::-;;;;;;;;8092:120::o:0;16024:460::-;16132:4;16149:36;16159:6;16167:9;16178:6;16149:9;:36::i;:::-;-1:-1:-1;;;;;16225:19:0;;16198:24;16225:19;;;:11;:19;;;;;16198:24;16245:12;:10;:12::i;:::-;-1:-1:-1;;;;;16225:33:0;-1:-1:-1;;;;;16225:33:0;;;;;;;;;;;;;16198:60;;16297:6;16277:16;:26;;16269:79;;;;-1:-1:-1;;;16269:79:0;;;;;;;:::i;:::-;16384:57;16393:6;16401:12;:10;:12::i;:::-;16434:6;16415:16;:25;16384:8;:57::i;:::-;-1:-1:-1;16472:4:0;;16024:460;-1:-1:-1;;;;16024:460:0:o;14075:100::-;14158:9;14075:100;:::o;8735:150::-;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8805:19:0;::::1;;::::0;;;:13:::1;:19;::::0;;;;;;:26;;-1:-1:-1;;8805:26:0::1;8827:4;8805:26:::0;;::::1;::::0;;;8847:30;;::::1;::::0;::::1;::::0;::::1;:::i;:::-;;;;;;;;8735:150:::0;:::o;17760:217::-;17850:4;17867:80;17876:12;:10;:12::i;:::-;17890:7;17936:10;17899:11;:25;17911:12;:10;:12::i;:::-;-1:-1:-1;;;;;17899:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;17899:25:0;;;:34;;;;;;;;;;:47;;;;:::i;:::-;17867:8;:80::i;16596:84::-;16650:27;16656:12;:10;:12::i;:::-;16670:6;16650:5;:27::i;5333:74::-;5396:8;;-1:-1:-1;;;;;5396:8:0;5333:74;:::o;14558:127::-;-1:-1:-1;;;;;14659:18:0;;14632:7;14659:18;;;:9;:18;;;;;;14558:127;;;;:::o;16987:375::-;17071:24;17098:32;17108:7;17117:12;:10;:12::i;17098:32::-;17071:59;;17169:6;17149:16;:26;;17141:75;;;;-1:-1:-1;;;17141:75:0;;;;;;;:::i;:::-;17252:58;17261:7;17270:12;:10;:12::i;:::-;17303:6;17284:16;:25;17252:8;:58::i;:::-;17332:22;17338:7;17347:6;17332:5;:22::i;:::-;16987:375;;;:::o;19783:534::-;6434:6;;-1:-1:-1;;;;;6434:6:0;6418:12;:10;:12::i;:::-;-1:-1:-1;;;;;6418:22:0;;:50;;;-1:-1:-1;6460:8:0;;-1:-1:-1;;;;;6460:8:0;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6444:24:0;;6418:50;6410:106;;;;-1:-1:-1;;;6410:106:0;;;;;;;:::i;:::-;19868:16:::1;;19850:15;:34;19842:85;;;;-1:-1:-1::0;;;19842:85:0::1;;;;;;;:::i;:::-;19973:1;19946:24;19964:4;19946:9;:24::i;:::-;:28;19938:75;;;;-1:-1:-1::0;;;19938:75:0::1;;;;;;;:::i;:::-;20026:17;20058:22:::0;20097:97:::1;20150:1;20121:25;:23;:25::i;:::-;20104:42;;;20103:48;20097:97;;;20164:27;20177:14:::0;20164:27;::::1;:::i;:::-;;;20097:97;;;20231:15;::::0;20206:52:::1;::::0;20224:4:::1;::::0;-1:-1:-1;;;;;20231:15:0::1;20248:9:::0;20206::::1;:52::i;:::-;20282:15;::::0;20274:35:::1;::::0;-1:-1:-1;;;;;20282:15:0;;::::1;::::0;20274:35:::1;::::0;::::1;::::0;20299:9;;20274:35:::1;:::i;:::-;;;;;;;;6527:1;;19783:534::o:0;14235:91::-;14293:7;14316;:5;:7::i;:::-;14309:14;;14235:91;:::o;5182:70::-;5220:7;5243:6;-1:-1:-1;;;;;5243:6:0;5182:70;:::o;13344:104::-;13400:13;13433:7;13426:14;;;;;:::i;18467:415::-;18562:4;18579:24;18606:11;:25;18618:12;:10;:12::i;:::-;-1:-1:-1;;;;;18606:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;18606:25:0;;;:34;;;;;;;;;;;-1:-1:-1;18659:35:0;;;;18651:85;;;;-1:-1:-1;;;18651:85:0;;;;;;;:::i;:::-;18772:67;18781:12;:10;:12::i;:::-;18795:7;18823:15;18804:16;:34;18772:8;:67::i;:::-;-1:-1:-1;18870:4:0;;18467:415;-1:-1:-1;;;18467:415:0:o;8295:71::-;8356:7;;;;8295:71;:::o;14853:177::-;14941:4;14958:42;14968:12;:10;:12::i;:::-;14982:9;14993:6;14958:9;:42::i;9042:154::-;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9114:19:0;::::1;9136:5;9114:19:::0;;;:13:::1;:19;::::0;;;;;:27;;-1:-1:-1;;9114:27:0::1;::::0;;9157:31;::::1;::::0;::::1;::::0;::::1;:::i;7856:116::-:0;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;7912:7:::1;:14:::0;;-1:-1:-1;;7912:14:0::1;7922:4;7912:14:::0;;::::1;::::0;;;7942:22:::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;19062:347::-:0;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19159:31:0;::::1;19151:87;;;;-1:-1:-1::0;;;19151:87:0::1;;;;;;;:::i;:::-;19272:15;::::0;;-1:-1:-1;;;;;19298:35:0;;::::1;-1:-1:-1::0;;;;;;19298:35:0;::::1;;::::0;;;;19351:50:::1;::::0;19272:15;;::::1;::::0;19385::::1;::::0;19272;;19351:50:::1;::::0;19251:18:::1;::::0;19351:50:::1;6261:1;19062:347:::0;:::o;5859:196::-;6207:6;;-1:-1:-1;;;;;6207:6:0;6191:12;:10;:12::i;:::-;-1:-1:-1;;;;;6191:22:0;;6183:67;;;;-1:-1:-1;;;6183:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5942:24:0;::::1;5934:79;;;;-1:-1:-1::0;;;5934:79:0::1;;;;;;;:::i;:::-;6024:23;6036:10;6024:11;:23::i;15091:151::-:0;-1:-1:-1;;;;;15207:18:0;;;15180:7;15207:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;15091:151::o;9291:102::-;-1:-1:-1;;;;;9371:19:0;9351:4;9371:19;;;:13;:19;;;;;;;;;9291:102::o;3718:98::-;3798:10;3718:98;:::o;23060:346::-;-1:-1:-1;;;;;23162:19:0;;23154:68;;;;-1:-1:-1;;;23154:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23241:21:0;;23233:68;;;;-1:-1:-1;;;23233:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23314:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;23366:32;;;;;23344:6;;23366:32;:::i;:::-;;;;;;;;23060:346;;;:::o;6685:178::-;6747:16;6766:6;;-1:-1:-1;;;;;6783:17:0;;;-1:-1:-1;;;;;;6783:17:0;;;;;;6816:39;;6766:6;;;;;;;6816:39;;6747:16;6816:39;6685:178;;:::o;21912:722::-;8508:7;;;;8507:8;8499:61;;;;-1:-1:-1;;;8499:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22034:23:0;::::1;22026:67;;;;-1:-1:-1::0;;;22026:67:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22112:20:0;::::1;22104:70;;;;-1:-1:-1::0;;;22104:70:0::1;;;;;;;:::i;:::-;22196:23;22212:6;22196:15;:23::i;:::-;22195:24;22187:92;;;;-1:-1:-1::0;;;22187:92:0::1;;;;;;;:::i;:::-;22299:26;22315:9;22299:15;:26::i;:::-;22298:27;22290:101;;;;-1:-1:-1::0;;;22290:101:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22412:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;:27;-1:-1:-1;22412:27:0::1;22404:88;;;;-1:-1:-1::0;;;22404:88:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22505:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;:27;;22526:6;;22505:17;:27:::1;::::0;22526:6;;22505:27:::1;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;22543:20:0;::::1;;::::0;;;:9:::1;:20;::::0;;;;:30;;22567:6;;22543:20;:30:::1;::::0;22567:6;;22543:30:::1;:::i;:::-;;;;;;;;22608:9;-1:-1:-1::0;;;;;22591:35:0::1;22600:6;-1:-1:-1::0;;;;;22591:35:0::1;;22619:6;22591:35;;;;;;:::i;23815:537::-:0;8508:7;;;;8507:8;8499:61;;;;-1:-1:-1;;;8499:61:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23915:21:0;::::1;23907:67;;;;-1:-1:-1::0;;;23907:67:0::1;;;;;;;:::i;:::-;23996:24;24012:7;23996:15;:24::i;:::-;23995:25;23987:93;;;;-1:-1:-1::0;;;23987:93:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24101:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;:28;-1:-1:-1;24101:28:0::1;24093:85;;;;-1:-1:-1::0;;;24093:85:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24191:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;:28;;24213:6;;24191:18;:28:::1;::::0;24213:6;;24191:28:::1;:::i;:::-;;;;;;;;24246:6;24230:12;;:22;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;24270:37:0::1;::::0;24296:1:::1;::::0;-1:-1:-1;;;;;24270:37:0;::::1;::::0;::::1;::::0;::::1;::::0;24300:6;;24270:37:::1;:::i;:::-;;;;;;;;24328:7;-1:-1:-1::0;;;;;24323:21:0::1;;24337:6;24323:21;;;;;;:::i;20726:666::-:0;20779:7;20825:16;;20807:15;:34;:67;;;;20845:24;20863:4;20845:9;:24::i;:::-;:29;20807:67;20804:93;;;-1:-1:-1;20896:1:0;20889:8;;20804:93;20910:14;20944:24;20962:4;20944:9;:24::i;:::-;20927:14;;:41;:85;;20998:14;;20927:85;;;20971:24;20989:4;20971:9;:24::i;:::-;20910:102;;21045:5;;21025:16;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;21084:19:0;;21064:16;;:39;21061:298;;21152:7;;21129:19;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;21203:14:0;;21277:7;21250:23;21203:14;21267:6;21250:23;:::i;:::-;21249:35;;;;:::i;:::-;21232:14;:52;;;21306:41;;;;;;21314:16;;21232:52;21306:41;:::i;:::-;;;;;;;;21061:298;21378:6;-1:-1:-1;20726:666:0;:::o;7016:196::-;7103:8;;;-1:-1:-1;;;;;7122:21:0;;;-1:-1:-1;;;;;;7122:21:0;;;;;;;7159:45;;7103:8;;;7122:21;7103:8;;7159:45;;7082:18;;7159:45;7016:196;;:::o;14:175:1:-;84:20;;-1:-1:-1;;;;;133:31:1;;123:42;;113:2;;179:1;176;169:12;194:198;;306:2;294:9;285:7;281:23;277:32;274:2;;;327:6;319;312:22;274:2;355:31;376:9;355:31;:::i;:::-;345:41;264:128;-1:-1:-1;;;264:128:1:o;397:274::-;;;526:2;514:9;505:7;501:23;497:32;494:2;;;547:6;539;532:22;494:2;575:31;596:9;575:31;:::i;:::-;565:41;;625:40;661:2;650:9;646:18;625:40;:::i;:::-;615:50;;484:187;;;;;:::o;676:342::-;;;;822:2;810:9;801:7;797:23;793:32;790:2;;;843:6;835;828:22;790:2;871:31;892:9;871:31;:::i;:::-;861:41;;921:40;957:2;946:9;942:18;921:40;:::i;:::-;911:50;;1008:2;997:9;993:18;980:32;970:42;;780:238;;;;;:::o;1023:266::-;;;1152:2;1140:9;1131:7;1127:23;1123:32;1120:2;;;1173:6;1165;1158:22;1120:2;1201:31;1222:9;1201:31;:::i;:::-;1191:41;1279:2;1264:18;;;;1251:32;;-1:-1:-1;;;1110:179:1:o;1294:190::-;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;1427:6;1419;1412:22;1374:2;-1:-1:-1;1455:23:1;;1364:120;-1:-1:-1;1364:120:1:o;1489:203::-;-1:-1:-1;;;;;1653:32:1;;;;1635:51;;1623:2;1608:18;;1590:102::o;1697:187::-;1862:14;;1855:22;1837:41;;1825:2;1810:18;;1792:92::o;1889:603::-;;2030:2;2059;2048:9;2041:21;2091:6;2085:13;2134:6;2129:2;2118:9;2114:18;2107:34;2159:4;2172:140;2186:6;2183:1;2180:13;2172:140;;;2281:14;;;2277:23;;2271:30;2247:17;;;2266:2;2243:26;2236:66;2201:10;;2172:140;;;2330:6;2327:1;2324:13;2321:2;;;2400:4;2395:2;2386:6;2375:9;2371:22;2367:31;2360:45;2321:2;-1:-1:-1;2476:2:1;2455:15;-1:-1:-1;;2451:29:1;2436:45;;;;2483:2;2432:54;;2010:482;-1:-1:-1;;;2010:482:1:o;2497:398::-;2699:2;2681:21;;;2738:2;2718:18;;;2711:30;2777:34;2772:2;2757:18;;2750:62;-1:-1:-1;;;2843:2:1;2828:18;;2821:32;2885:3;2870:19;;2671:224::o;2900:404::-;3102:2;3084:21;;;3141:2;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;-1:-1:-1;;;3246:2:1;3231:18;;3224:38;3294:3;3279:19;;3074:230::o;3309:398::-;3511:2;3493:21;;;3550:2;3530:18;;;3523:30;3589:34;3584:2;3569:18;;3562:62;-1:-1:-1;;;3655:2:1;3640:18;;3633:32;3697:3;3682:19;;3483:224::o;3712:406::-;3914:2;3896:21;;;3953:2;3933:18;;;3926:30;3992:34;3987:2;3972:18;;3965:62;-1:-1:-1;;;4058:2:1;4043:18;;4036:40;4108:3;4093:19;;3886:232::o;4123:355::-;4325:2;4307:21;;;4364:2;4344:18;;;4337:30;4403:33;4398:2;4383:18;;4376:61;4469:2;4454:18;;4297:181::o;4483:412::-;4685:2;4667:21;;;4724:2;4704:18;;;4697:30;4763:34;4758:2;4743:18;;4736:62;-1:-1:-1;;;4829:2:1;4814:18;;4807:46;4885:3;4870:19;;4657:238::o;4900:425::-;5102:2;5084:21;;;5141:2;5121:18;;;5114:30;5180:34;5175:2;5160:18;;5153:62;5251:31;5246:2;5231:18;;5224:59;5315:3;5300:19;;5074:251::o;5330:404::-;5532:2;5514:21;;;5571:2;5551:18;;;5544:30;5610:34;5605:2;5590:18;;5583:62;-1:-1:-1;;;5676:2:1;5661:18;;5654:38;5724:3;5709:19;;5504:230::o;5739:356::-;5941:2;5923:21;;;5960:18;;;5953:30;6019:34;6014:2;5999:18;;5992:62;6086:2;6071:18;;5913:182::o;6100:402::-;6302:2;6284:21;;;6341:2;6321:18;;;6314:30;6380:34;6375:2;6360:18;;6353:62;-1:-1:-1;;;6446:2:1;6431:18;;6424:36;6492:3;6477:19;;6274:228::o;6507:400::-;6709:2;6691:21;;;6748:2;6728:18;;;6721:30;6787:34;6782:2;6767:18;;6760:62;-1:-1:-1;;;6853:2:1;6838:18;;6831:34;6897:3;6882:19;;6681:226::o;6912:404::-;7114:2;7096:21;;;7153:2;7133:18;;;7126:30;7192:34;7187:2;7172:18;;7165:62;-1:-1:-1;;;7258:2:1;7243:18;;7236:38;7306:3;7291:19;;7086:230::o;7321:419::-;7523:2;7505:21;;;7562:2;7542:18;;;7535:30;7601:34;7596:2;7581:18;;7574:62;7672:25;7667:2;7652:18;;7645:53;7730:3;7715:19;;7495:245::o;7745:407::-;7947:2;7929:21;;;7986:2;7966:18;;;7959:30;8025:34;8020:2;8005:18;;7998:62;-1:-1:-1;;;8091:2:1;8076:18;;8069:41;8142:3;8127:19;;7919:233::o;8157:397::-;8359:2;8341:21;;;8398:2;8378:18;;;8371:30;8437:34;8432:2;8417:18;;8410:62;-1:-1:-1;;;8503:2:1;8488:18;;8481:31;8544:3;8529:19;;8331:223::o;8559:401::-;8761:2;8743:21;;;8800:2;8780:18;;;8773:30;8839:34;8834:2;8819:18;;8812:62;-1:-1:-1;;;8905:2:1;8890:18;;8883:35;8950:3;8935:19;;8733:227::o;8965:400::-;9167:2;9149:21;;;9206:2;9186:18;;;9179:30;9245:34;9240:2;9225:18;;9218:62;-1:-1:-1;;;9311:2:1;9296:18;;9289:34;9355:3;9340:19;;9139:226::o;9370:408::-;9572:2;9554:21;;;9611:2;9591:18;;;9584:30;9650:34;9645:2;9630:18;;9623:62;-1:-1:-1;;;9716:2:1;9701:18;;9694:42;9768:3;9753:19;;9544:234::o;9783:407::-;9985:2;9967:21;;;10024:2;10004:18;;;9997:30;10063:34;10058:2;10043:18;;10036:62;-1:-1:-1;;;10129:2:1;10114:18;;10107:41;10180:3;10165:19;;9957:233::o;10195:419::-;10397:2;10379:21;;;10436:2;10416:18;;;10409:30;10475:34;10470:2;10455:18;;10448:62;10546:25;10541:2;10526:18;;10519:53;10604:3;10589:19;;10369:245::o;10619:401::-;10821:2;10803:21;;;10860:2;10840:18;;;10833:30;10899:34;10894:2;10879:18;;10872:62;-1:-1:-1;;;10965:2:1;10950:18;;10943:35;11010:3;10995:19;;10793:227::o;11025:177::-;11171:25;;;11159:2;11144:18;;11126:76::o;11207:248::-;11381:25;;;11437:2;11422:18;;11415:34;11369:2;11354:18;;11336:119::o;11460:184::-;11632:4;11620:17;;;;11602:36;;11590:2;11575:18;;11557:87::o;11649:128::-;;11720:1;11716:6;11713:1;11710:13;11707:2;;;11726:18;;:::i;:::-;-1:-1:-1;11762:9:1;;11697:80::o;11782:217::-;;11848:1;11838:2;;-1:-1:-1;;;11873:31:1;;11927:4;11924:1;11917:15;11955:4;11880:1;11945:15;11838:2;-1:-1:-1;11984:9:1;;11828:171::o;12004:168::-;;12110:1;12106;12102:6;12098:14;12095:1;12092:21;12087:1;12080:9;12073:17;12069:45;12066:2;;;12117:18;;:::i;:::-;-1:-1:-1;12157:9:1;;12056:116::o;12177:125::-;;12245:1;12242;12239:8;12236:2;;;12250:18;;:::i;:::-;-1:-1:-1;12287:9:1;;12226:76::o;12307:380::-;12392:1;12382:12;;12439:1;12429:12;;;12450:2;;12504:4;12496:6;12492:17;12482:27;;12450:2;12557;12549:6;12546:14;12526:18;12523:38;12520:2;;;12603:10;12598:3;12594:20;12591:1;12584:31;12638:4;12635:1;12628:15;12666:4;12663:1;12656:15;12520:2;;12362:325;;;:::o;12692:127::-;12753:10;12748:3;12744:20;12741:1;12734:31;12784:4;12781:1;12774:15;12808:4;12805:1;12798:15

Swarm Source

ipfs://f9a291144a28b74c864733111fc7837806dea8f0f460d716c0226600cb111f8a
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.