ETH Price: $3,322.41 (-2.48%)
 

Overview

Max Total Supply

10,000,000 FLOWCHAIN

Holders

5,380

Transfers

-
1

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
FLOWCHAIN

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2025-02-08
*/

// SPDX-License-Identifier: MIT

/**
 * The unofficial Flowchain token (the community token) on the L2 Base chain.
 */
pragma solidity 0.8.28;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
    address public newOwner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        owner = msg.sender;
        newOwner = address(0);
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    modifier onlyNewOwner() {
        require(msg.sender != address(0));
        require(msg.sender == newOwner);
        _;
    }
    
    function isOwner(address account) public view returns (bool) {
        if( account == owner ){
            return true;
        }
        else {
            return false;
        }
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        newOwner = _newOwner;
    }

    function acceptOwnership() public onlyNewOwner {
        emit OwnershipTransferred(owner, newOwner);        
        owner = newOwner;
        newOwner = address(0);
    }
}

/**
 * @title Pausable
 * @dev The Pausable can pause and unpause the token transfers.
 */
contract Pausable is Ownable {
    event Paused(address account);
    event Unpaused(address account);

    bool private _paused;

    constructor() {
        _paused = false;
    }    

    /**
     * @return true if the contract is paused, false otherwise.
     */
    function paused() public view returns (bool) {
        return _paused;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is not paused.
     */
    modifier whenNotPaused() {
        require(!_paused);
        _;
    }

    /**
     * @dev Modifier to make a function callable only when the contract is paused.
     */
    modifier whenPaused() {
        require(_paused);
        _;
    }

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() public onlyOwner whenNotPaused {
        _paused = true;
        emit Paused(msg.sender);
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() public onlyOwner whenPaused {
        _paused = false;
        emit Unpaused(msg.sender);
    }
}

/**
 * @title The mintable FLC tokens.
 */
abstract contract Mintable {
    /**
     * @dev Mint a amount of tokens and the funds to the user.
     */
    function mintToken(address to, uint256 amount) public virtual returns (bool success);  

    /**
     * @dev Setup a mintable address that can mint or mine tokens.
     */    
    function setupMintableAddress(address _mintable) public virtual returns (bool success);
}

/**
 * @title The off-chain issuable FLC tokens.
 */
abstract contract OffchainIssuable {
    /**
     * The minimal withdraw ammount.
     */
    uint256 public MIN_WITHDRAW_AMOUNT = 100;

    /**
     * @dev Suspend the issuance of new tokens.
     * Once set to false, '_isIssuable' can never be set to 'true' again.
     */
    function setMinWithdrawAmount(uint256 amount) public virtual returns (bool success);

    /**
     * @dev Resume the issuance of new tokens.
     * Once set to false, '_isIssuable' can never be set to 'true' again.
     */
    function getMinWithdrawAmount() public view virtual returns (uint256 amount);

    /**
     * @dev Returns the amount of tokens redeemed to `_owner`.
     * @param _owner The address from which the amount will be retrieved
     * @return amount The amount
     */
    function amountRedeemOf(address _owner) public view virtual returns (uint256 amount);

    /**
     * @dev Returns the amount of tokens withdrawn by `_owner`.
     * @param _owner The address from which the amount will be retrieved
     * @return amount The amount
     */
    function amountWithdrawOf(address _owner) public view virtual returns (uint256 amount);

    /**
     * @dev Redeem the value of tokens to the address 'msg.sender'
     * @param to The user that will receive the redeemed token.
     * @param amount Number of tokens to redeem.
     */
    function redeem(address to, uint256 amount) external virtual returns (bool success);

    /**
     * @dev The user withdraw API.
     * @param amount Number of tokens to redeem.
     */
    function withdraw(uint256 amount) public virtual returns (bool success);   
}

/**
 * @dev The ERC20 standard as defined in the EIP.
 */
abstract contract Token {
    /**
     * @dev The total amount of tokens.
     */
    uint256 public totalSupply;

    /**
     * @dev Returns the amount of tokens owned by `account`.
     * @param _owner The address from which the balance will be retrieved
     * @return balance The balance
     */
    function balanceOf(address _owner) public view virtual returns (uint256 balance);

    /**
     * @dev send `_value` token to `_to` from `msg.sender`
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return success Whether the transfer was successful or not
     *
     * Emits a {Transfer} event.
     */
    function transfer(address _to, uint256 _value) public virtual returns (bool success);

    /**
     * @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
     * @param _from The address of the sender
     * @param _to The address of the recipient
     * @param _value The amount of token to be transferred
     * @return success Whether the transfer was successful or not
     */
    function transferFrom(address _from, address _to, uint256 _value) public virtual returns (bool success);

    /**
     * @notice `msg.sender` approves `_addr` to spend `_value` tokens
     * @param _spender The address of the account able to transfer the tokens
     * @param _value The amount of wei to be approved for transfer
     * @return success Whether the approval was successful or not
     */
    function approve(address _spender, uint256 _value) public virtual returns (bool success);

    /**
     * @param _owner The address of the account owning tokens
     * @param _spender The address of the account able to transfer the tokens
     * @return remaining Amount of remaining tokens allowed to spent
     */
    function allowance(address _owner, address _spender) public view virtual returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/**
 * @dev The ERC20 standard implementation of FLC. 
 */
contract StandardToken is Token {
    uint256 constant private MAX_UINT256 = 2**256 - 1;
    mapping (address => uint256) public balances;
    mapping (address => mapping (address => uint256)) public allowed;

    function transfer(address _to, uint256 _value) public override virtual returns (bool success) {
        require(balances[msg.sender] >= _value);
        
        // Ensure not overflow
        require(balances[_to] + _value >= balances[_to]);
        
        balances[msg.sender] -= _value;
        balances[_to] += _value;

        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public override virtual returns (bool success) {
        uint256 _allowance = allowed[_from][msg.sender];
        require(balances[_from] >= _value && _allowance >= _value);
        
        // Ensure not overflow
        require(balances[_to] + _value >= balances[_to]);          

        balances[_from] -= _value;
        balances[_to] += _value;

        if (_allowance < MAX_UINT256) {
            allowed[_from][msg.sender] -= _value;
        }  

        emit Transfer(_from, _to, _value);
        return true; 
    }

    function balanceOf(address account) public view override virtual returns (uint256) {
        return balances[account];
    }

    function approve(address _spender, uint256 _value) public override virtual returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view override virtual returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }
}


/**
 * @dev Extension of ERC-20 that adds off-chain issuable and mintable tokens.
 * It allows miners to mint (create) new FLC tokens.
 *
 * At construction, the contract `_mintableAddress` is the only token minter.
 */
contract FLOWCHAIN is StandardToken, Mintable, OffchainIssuable, Ownable, Pausable {

    /* Public variables of the token */
    string public name = "Base Flowchain";
    string public symbol = "FLOWCHAIN";    
    uint8 public decimals = 18;
    string public version = "2.0";
    address public mintableAddress;
    address public multiSigWallet;

    bool internal _isIssuable;

    event Freeze(address indexed account);
    event Unfreeze(address indexed account);

    mapping (address => uint256) private _amountMinted;
    mapping (address => uint256) private _amountRedeem;
    mapping (address => bool) public frozenAccount;

    modifier notFrozen(address _account) {
        require(!frozenAccount[_account]);
        _;
    }

    constructor(address _multiSigWallet) {
        totalSupply = 10000000 * 10**uint256(decimals);

        // The multisig wallet that holds the unissued tokens
        multiSigWallet = _multiSigWallet;

        // Give the multisig wallet all initial tokens (unissued tokens)
        balances[multiSigWallet] = totalSupply;  

        emit Transfer(address(0), multiSigWallet, totalSupply);
    }

    function transfer(address to, uint256 value) public notFrozen(msg.sender) whenNotPaused override returns (bool) {
        return super.transfer(to, value);
    }   

    function transferFrom(address from, address to, uint256 value) public notFrozen(from) whenNotPaused override returns (bool) {
        return super.transferFrom(from, to, value);
    }

    /**
     * @dev Suspend the issuance of new tokens.
     * Once set to false, '_isIssuable' can never be set to 'true' again.
     */
    function suspendIssuance() external onlyOwner {
        _isIssuable = false;
    }

    /**
     * @dev Resume the issuance of new tokens.
     * Once set to false, '_isIssuable' can never be set to 'true' again.
     */
    function resumeIssuance() external onlyOwner {
        _isIssuable = true;
    }

    /**
     * @return success return 'true' if tokens can still be issued by the issuer, 
     * 'false' if they can't anymore.
     */
    function isIssuable() public view returns (bool success) {
        return _isIssuable;
    }

    /**
     * @dev Returns the amount of tokens redeemed to `_owner`.
     * @param _owner The address from which the amount will be retrieved
     * @return amount The amount
     */
    function amountRedeemOf(address _owner) public view override returns (uint256 amount) {
        return _amountRedeem[_owner];
    }

    /**
     * @dev Returns the amount of tokens withdrawn by `_owner`.
     * @param _owner The address from which the amount will be retrieved
     * @return amount The amount
     */
    function amountWithdrawOf(address _owner) public view override returns (uint256 amount) {
        return _amountMinted[_owner];
    }

    /**
     * @dev Redeem user mintable tokens. Only the mining contract can redeem tokens.
     * @param to The user that will receive the redeemed token.     
     * @param amount The amount of tokens to be withdrawn
     * @return success The result of the redeem
     */
    function redeem(address to, uint256 amount) external override returns (bool success) {
        require(msg.sender == mintableAddress);    
        require(_isIssuable == true);
        require(amount > 0);

        // The total amount of redeem tokens to the user.
        _amountRedeem[to] += amount;

        // Mint new tokens and send the funds to the account `mintableAddress`
        // Users can withdraw funds.
        mintToken(mintableAddress, amount);

        return true;
    }

    /**
     * @dev The user can withdraw his minted tokens.
     * @param amount The amount of tokens to be withdrawn
     * @return success The result of the withdraw
     */
    function withdraw(uint256 amount) public override returns (bool success) {
        require(_isIssuable == true);

        // Safety check
        require(amount > 0);        
        require(amount <= _amountRedeem[msg.sender]);
        require(amount >= MIN_WITHDRAW_AMOUNT);

        // Transfer the amount of tokens in the mining contract `mintableAddress` to the user account
        require(balances[mintableAddress] >= amount);

        // The balance of the user redeemed tokens.
        _amountRedeem[msg.sender] -= amount;

        // Keep track of the tokens minted by the user.
        _amountMinted[msg.sender] += amount;

        balances[mintableAddress] -= amount;
        balances[msg.sender] += amount;
        
        emit Transfer(mintableAddress, msg.sender, amount);
        return true;               
    }

    /**
     * @dev Setup the contract address that can mint tokens
     * @param _mintable The address of the smart contract
     * @return success The result of the setup
     */
    function setupMintableAddress(address _mintable) public onlyOwner override returns (bool success) {
        mintableAddress = _mintable;
        return true;
    }

    /**
     * @dev Mint an amount of tokens and transfer to the user
     * @param to The address of the user who will receive the tokens
     * @param amount The amount of rewarded tokens
     * @return success The result of token transfer
     */
    function mintToken(address to, uint256 amount) public override returns (bool success) {
        require(msg.sender == mintableAddress);
        require(balances[multiSigWallet] >= amount);

        balances[multiSigWallet] -= amount;
        balances[to] += amount;

        emit Transfer(multiSigWallet, to, amount);
        return true;
    }

    /**
     * @dev Suspend the issuance of new tokens.
     * Once set to false, '_isIssuable' can never be set to 'true' again.
     */
    function setMinWithdrawAmount(uint256 amount) public onlyOwner override returns (bool success) {
        require(amount > 0);
        MIN_WITHDRAW_AMOUNT = amount;
        return true;
    }

    /**
     * @dev Resume the issuance of new tokens.
     * Once set to false, '_isIssuable' can never be set to 'true' again.
     */
    function getMinWithdrawAmount() public view override returns (uint256 amount) {
        return MIN_WITHDRAW_AMOUNT;
    }

    /**
     * @dev Freeze an user
     * @param account The address of the user who will be frozen
     * @return The result of freezing an user
     */
    function freezeAccount(address account) public onlyOwner returns (bool) {
        require(!frozenAccount[account]);
        frozenAccount[account] = true;
        emit Freeze(account);
        return true;
    }

    /**
     * @dev Unfreeze an user
     * @param account The address of the user who will be unfrozen
     * @return The result of unfreezing an user
     */
    function unfreezeAccount(address account) public onlyOwner returns (bool) {
        require(frozenAccount[account]);
        frozenAccount[account] = false;
        emit Unfreeze(account);
        return true;
    }

    /**
     * @dev This function makes it easy to get the creator of the tokens
     * @return The address of token creator
     */
    function getCreator() external view returns (address) {
        return owner;
    }

    /**
     * @dev This function makes it easy to get the mintableAddress
     * @return The address of token creator
     */
    function getMintableAddress() external view returns (address) {
        return mintableAddress;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_multiSigWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"MIN_WITHDRAW_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","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":"_owner","type":"address"}],"name":"amountRedeemOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"amountWithdrawOf","outputs":[{"internalType":"uint256","name":"amount","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":"success","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":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"freezeAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frozenAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinWithdrawAmount","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMintableAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isIssuable","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintableAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multiSigWallet","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":"newOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"redeem","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resumeIssuance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMinWithdrawAmount","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_mintable","type":"address"}],"name":"setupMintableAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"suspendIssuance","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":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unfreezeAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

606460035560c0604052600e60809081526d2130b9b290233637bbb1b430b4b760911b60a0526006906100329082610207565b50604080518082019091526009815268232627aba1a420a4a760b91b60208201526007906100609082610207565b506008805460ff191660121790556040805180820190915260038152620322e360ec1b60208201526009906100959082610207565b503480156100a1575f5ffd5b506040516115673803806115678339810160408190526100c0916102c1565b600480546001600160a01b03191633179055600580546001600160a81b03191690556008546100f39060ff16600a6103e7565b61010090629896806103f2565b5f818155600b80546001600160a01b0319166001600160a01b038581169182178355908352600160209081526040808520869055925492519485529116927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350610409565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061019757607f821691505b6020821081036101b557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561020257805f5260205f20601f840160051c810160208510156101e05750805b601f840160051c820191505b818110156101ff575f81556001016101ec565b50505b505050565b81516001600160401b038111156102205761022061016f565b6102348161022e8454610183565b846101bb565b6020601f821160018114610266575f831561024f5750848201515b5f19600385901b1c1916600184901b1784556101ff565b5f84815260208120601f198516915b828110156102955787850151825560209485019460019092019101610275565b50848210156102b257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156102d1575f5ffd5b81516001600160a01b03811681146102e7575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561033d57808504811115610321576103216102ee565b600184161561032f57908102905b60019390931c928002610306565b935093915050565b5f82610353575060016103e1565b8161035f57505f6103e1565b8160018114610375576002811461037f5761039b565b60019150506103e1565b60ff841115610390576103906102ee565b50506001821b6103e1565b5060208310610133831016604e8410600b84101617156103be575081810a6103e1565b6103ca5f198484610302565b805f19048211156103dd576103dd6102ee565b0290505b92915050565b5f6102e78383610345565b80820281158282048414176103e1576103e16102ee565b611151806104165f395ff3fe608060405234801561000f575f5ffd5b5060043610610234575f3560e01c806367a280b2116101355780639646b85d116100b4578063d4ee1d9011610079578063d4ee1d9014610503578063dd62ed3e14610516578063df4c21641461054e578063f26c159f14610561578063f2fde38b14610574575f5ffd5b80639646b85d146104ac5780639a36b34f146104bd578063a9059cbb146104c5578063b414d4b6146104d8578063b6857844146104fa575f5ffd5b80637c6280d8116100fa5780637c6280d81461044e5780638456cb59146104765780638d734b301461047e5780638da5cb5b1461049157806395d89b41146104a4575f5ffd5b806367a280b2146103f057806370a08231146103f8578063788649ea1461042057806379ba50971461043357806379c650681461043b575f5ffd5b80632f1cae85116101c157806354fd4d501161018657806354fd4d501461037157806358e08c78146103795780635abdb0dc146103a15780635c658165146103b45780635c975abb146103de575f5ffd5b80632f1cae85146103105780632f54bf6e14610322578063313ce567146103355780633f4ba83a146103545780634b8feb4f1461035e575f5ffd5b806318160ddd1161020757806318160ddd146102b05780631e9a6950146102b857806323b872dd146102cb57806327e235e3146102de5780632e1a7d4d146102fd575f5ffd5b806306fdde0314610238578063095ea7b3146102565780630ee2cb101461027957806314e1b8fd1461029e575b5f5ffd5b610240610587565b60405161024d9190610f74565b60405180910390f35b610269610264366004610fbf565b610613565b604051901515815260200161024d565b6004546001600160a01b03165b6040516001600160a01b03909116815260200161024d565b6003545b60405190815260200161024d565b6102a25f5481565b6102696102c6366004610fbf565b61067f565b6102696102d9366004610fe7565b610708565b6102a26102ec366004611021565b60016020525f908152604090205481565b61026961030b366004611041565b610758565b600b54600160a01b900460ff16610269565b610269610330366004611021565b61089a565b6008546103429060ff1681565b60405160ff909116815260200161024d565b61035c6108c6565b005b600b54610286906001600160a01b031681565b610240610934565b6102a2610387366004611021565b6001600160a01b03165f908152600d602052604090205490565b6102696103af366004611041565b610941565b6102a26103c2366004611058565b600260209081525f928352604080842090915290825290205481565b600554600160a01b900460ff16610269565b61035c61096d565b6102a2610406366004611021565b6001600160a01b03165f9081526001602052604090205490565b61026961042e366004611021565b610998565b61035c610a20565b610269610449366004610fbf565b610aa4565b6102a261045c366004611021565b6001600160a01b03165f908152600c602052604090205490565b61035c610b69565b61026961048c366004611021565b610bd8565b600454610286906001600160a01b031681565b610240610c15565b600a546001600160a01b0316610286565b61035c610c22565b6102696104d3366004610fbf565b610c47565b6102696104e6366004611021565b600e6020525f908152604090205460ff1681565b6102a260035481565b600554610286906001600160a01b031681565b6102a2610524366004611058565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b600a54610286906001600160a01b031681565b61026961056f366004611021565b610c8d565b61035c610582366004611021565b610d19565b6006805461059490611089565b80601f01602080910402602001604051908101604052809291908181526020018280546105c090611089565b801561060b5780601f106105e25761010080835404028352916020019161060b565b820191905f5260205f20905b8154815290600101906020018083116105ee57829003601f168201915b505050505081565b335f8181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061066d9086815260200190565b60405180910390a35060015b92915050565b600a545f906001600160a01b03163314610697575f5ffd5b600b54600160a01b900460ff1615156001146106b1575f5ffd5b5f82116106bc575f5ffd5b6001600160a01b0383165f908152600d6020526040812080548492906106e39084906110d5565b9091555050600a546106fe906001600160a01b031683610aa4565b5060019392505050565b6001600160a01b0383165f908152600e6020526040812054849060ff161561072e575f5ffd5b600554600160a01b900460ff1615610744575f5ffd5b61074f858585610d63565b95945050505050565b600b545f90600160a01b900460ff161515600114610774575f5ffd5b5f821161077f575f5ffd5b335f908152600d6020526040902054821115610799575f5ffd5b6003548210156107a7575f5ffd5b600a546001600160a01b03165f908152600160205260409020548211156107cc575f5ffd5b335f908152600d6020526040812080548492906107ea9084906110e8565b9091555050335f908152600c60205260408120805484929061080d9084906110d5565b9091555050600a546001600160a01b03165f908152600160205260408120805484929061083b9084906110e8565b9091555050335f908152600160205260408120805484929061085e9084906110d5565b9091555050600a5460405183815233916001600160a01b0316905f5160206110fc5f395f51905f529060200160405180910390a3506001919050565b6004545f906001600160a01b03908116908316036108ba57506001919050565b505f919050565b919050565b6004546001600160a01b031633146108dc575f5ffd5b600554600160a01b900460ff166108f1575f5ffd5b6005805460ff60a01b191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6009805461059490611089565b6004545f906001600160a01b03163314610959575f5ffd5b5f8211610964575f5ffd5b50600355600190565b6004546001600160a01b03163314610983575f5ffd5b600b805460ff60a01b1916600160a01b179055565b6004545f906001600160a01b031633146109b0575f5ffd5b6001600160a01b0382165f908152600e602052604090205460ff166109d3575f5ffd5b6001600160a01b0382165f818152600e6020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b33610a29575f5ffd5b6005546001600160a01b03163314610a3f575f5ffd5b6005546004546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a360058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b600a545f906001600160a01b03163314610abc575f5ffd5b600b546001600160a01b03165f90815260016020526040902054821115610ae1575f5ffd5b600b546001600160a01b03165f9081526001602052604081208054849290610b0a9084906110e8565b90915550506001600160a01b0383165f9081526001602052604081208054849290610b369084906110d5565b9091555050600b546040518381526001600160a01b038581169216905f5160206110fc5f395f51905f529060200161066d565b6004546001600160a01b03163314610b7f575f5ffd5b600554600160a01b900460ff1615610b95575f5ffd5b6005805460ff60a01b1916600160a01b1790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200161092a565b6004545f906001600160a01b03163314610bf0575f5ffd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b6007805461059490611089565b6004546001600160a01b03163314610c38575f5ffd5b600b805460ff60a01b19169055565b335f818152600e602052604081205490919060ff1615610c65575f5ffd5b600554600160a01b900460ff1615610c7b575f5ffd5b610c858484610eb5565b949350505050565b6004545f906001600160a01b03163314610ca5575f5ffd5b6001600160a01b0382165f908152600e602052604090205460ff1615610cc9575f5ffd5b6001600160a01b0382165f818152600e6020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6004546001600160a01b03163314610d2f575f5ffd5b6001600160a01b038116610d41575f5ffd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383165f81815260026020908152604080832033845282528083205493835260019091528120549091908311801590610da35750828110155b610dab575f5ffd5b6001600160a01b0384165f90815260016020526040902054610dcd84826110d5565b1015610dd7575f5ffd5b6001600160a01b0385165f9081526001602052604081208054859290610dfe9084906110e8565b90915550506001600160a01b0384165f9081526001602052604081208054859290610e2a9084906110d5565b90915550505f19811015610e70576001600160a01b0385165f90815260026020908152604080832033845290915281208054859290610e6a9084906110e8565b90915550505b836001600160a01b0316856001600160a01b03165f5160206110fc5f395f51905f5285604051610ea291815260200190565b60405180910390a3506001949350505050565b335f90815260016020526040812054821115610ecf575f5ffd5b6001600160a01b0383165f90815260016020526040902054610ef183826110d5565b1015610efb575f5ffd5b335f9081526001602052604081208054849290610f199084906110e8565b90915550506001600160a01b0383165f9081526001602052604081208054849290610f459084906110d5565b90915550506040518281526001600160a01b0384169033905f5160206110fc5f395f51905f529060200161066d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146108c1575f5ffd5b5f5f60408385031215610fd0575f5ffd5b610fd983610fa9565b946020939093013593505050565b5f5f5f60608486031215610ff9575f5ffd5b61100284610fa9565b925061101060208501610fa9565b929592945050506040919091013590565b5f60208284031215611031575f5ffd5b61103a82610fa9565b9392505050565b5f60208284031215611051575f5ffd5b5035919050565b5f5f60408385031215611069575f5ffd5b61107283610fa9565b915061108060208401610fa9565b90509250929050565b600181811c9082168061109d57607f821691505b6020821081036110bb57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610679576106796110c1565b81810381811115610679576106796110c156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205e1748be10a9e94452ca8d3f0b993355fdd8e86b000b09a6f96d0a159feb188564736f6c634300081c003300000000000000000000000033c352b6f7770bc8c1585fe2b2bd653f7dffbc9f

Deployed Bytecode

0x608060405234801561000f575f5ffd5b5060043610610234575f3560e01c806367a280b2116101355780639646b85d116100b4578063d4ee1d9011610079578063d4ee1d9014610503578063dd62ed3e14610516578063df4c21641461054e578063f26c159f14610561578063f2fde38b14610574575f5ffd5b80639646b85d146104ac5780639a36b34f146104bd578063a9059cbb146104c5578063b414d4b6146104d8578063b6857844146104fa575f5ffd5b80637c6280d8116100fa5780637c6280d81461044e5780638456cb59146104765780638d734b301461047e5780638da5cb5b1461049157806395d89b41146104a4575f5ffd5b806367a280b2146103f057806370a08231146103f8578063788649ea1461042057806379ba50971461043357806379c650681461043b575f5ffd5b80632f1cae85116101c157806354fd4d501161018657806354fd4d501461037157806358e08c78146103795780635abdb0dc146103a15780635c658165146103b45780635c975abb146103de575f5ffd5b80632f1cae85146103105780632f54bf6e14610322578063313ce567146103355780633f4ba83a146103545780634b8feb4f1461035e575f5ffd5b806318160ddd1161020757806318160ddd146102b05780631e9a6950146102b857806323b872dd146102cb57806327e235e3146102de5780632e1a7d4d146102fd575f5ffd5b806306fdde0314610238578063095ea7b3146102565780630ee2cb101461027957806314e1b8fd1461029e575b5f5ffd5b610240610587565b60405161024d9190610f74565b60405180910390f35b610269610264366004610fbf565b610613565b604051901515815260200161024d565b6004546001600160a01b03165b6040516001600160a01b03909116815260200161024d565b6003545b60405190815260200161024d565b6102a25f5481565b6102696102c6366004610fbf565b61067f565b6102696102d9366004610fe7565b610708565b6102a26102ec366004611021565b60016020525f908152604090205481565b61026961030b366004611041565b610758565b600b54600160a01b900460ff16610269565b610269610330366004611021565b61089a565b6008546103429060ff1681565b60405160ff909116815260200161024d565b61035c6108c6565b005b600b54610286906001600160a01b031681565b610240610934565b6102a2610387366004611021565b6001600160a01b03165f908152600d602052604090205490565b6102696103af366004611041565b610941565b6102a26103c2366004611058565b600260209081525f928352604080842090915290825290205481565b600554600160a01b900460ff16610269565b61035c61096d565b6102a2610406366004611021565b6001600160a01b03165f9081526001602052604090205490565b61026961042e366004611021565b610998565b61035c610a20565b610269610449366004610fbf565b610aa4565b6102a261045c366004611021565b6001600160a01b03165f908152600c602052604090205490565b61035c610b69565b61026961048c366004611021565b610bd8565b600454610286906001600160a01b031681565b610240610c15565b600a546001600160a01b0316610286565b61035c610c22565b6102696104d3366004610fbf565b610c47565b6102696104e6366004611021565b600e6020525f908152604090205460ff1681565b6102a260035481565b600554610286906001600160a01b031681565b6102a2610524366004611058565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b600a54610286906001600160a01b031681565b61026961056f366004611021565b610c8d565b61035c610582366004611021565b610d19565b6006805461059490611089565b80601f01602080910402602001604051908101604052809291908181526020018280546105c090611089565b801561060b5780601f106105e25761010080835404028352916020019161060b565b820191905f5260205f20905b8154815290600101906020018083116105ee57829003601f168201915b505050505081565b335f8181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061066d9086815260200190565b60405180910390a35060015b92915050565b600a545f906001600160a01b03163314610697575f5ffd5b600b54600160a01b900460ff1615156001146106b1575f5ffd5b5f82116106bc575f5ffd5b6001600160a01b0383165f908152600d6020526040812080548492906106e39084906110d5565b9091555050600a546106fe906001600160a01b031683610aa4565b5060019392505050565b6001600160a01b0383165f908152600e6020526040812054849060ff161561072e575f5ffd5b600554600160a01b900460ff1615610744575f5ffd5b61074f858585610d63565b95945050505050565b600b545f90600160a01b900460ff161515600114610774575f5ffd5b5f821161077f575f5ffd5b335f908152600d6020526040902054821115610799575f5ffd5b6003548210156107a7575f5ffd5b600a546001600160a01b03165f908152600160205260409020548211156107cc575f5ffd5b335f908152600d6020526040812080548492906107ea9084906110e8565b9091555050335f908152600c60205260408120805484929061080d9084906110d5565b9091555050600a546001600160a01b03165f908152600160205260408120805484929061083b9084906110e8565b9091555050335f908152600160205260408120805484929061085e9084906110d5565b9091555050600a5460405183815233916001600160a01b0316905f5160206110fc5f395f51905f529060200160405180910390a3506001919050565b6004545f906001600160a01b03908116908316036108ba57506001919050565b505f919050565b919050565b6004546001600160a01b031633146108dc575f5ffd5b600554600160a01b900460ff166108f1575f5ffd5b6005805460ff60a01b191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b6009805461059490611089565b6004545f906001600160a01b03163314610959575f5ffd5b5f8211610964575f5ffd5b50600355600190565b6004546001600160a01b03163314610983575f5ffd5b600b805460ff60a01b1916600160a01b179055565b6004545f906001600160a01b031633146109b0575f5ffd5b6001600160a01b0382165f908152600e602052604090205460ff166109d3575f5ffd5b6001600160a01b0382165f818152600e6020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b33610a29575f5ffd5b6005546001600160a01b03163314610a3f575f5ffd5b6005546004546040516001600160a01b0392831692909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a360058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b600a545f906001600160a01b03163314610abc575f5ffd5b600b546001600160a01b03165f90815260016020526040902054821115610ae1575f5ffd5b600b546001600160a01b03165f9081526001602052604081208054849290610b0a9084906110e8565b90915550506001600160a01b0383165f9081526001602052604081208054849290610b369084906110d5565b9091555050600b546040518381526001600160a01b038581169216905f5160206110fc5f395f51905f529060200161066d565b6004546001600160a01b03163314610b7f575f5ffd5b600554600160a01b900460ff1615610b95575f5ffd5b6005805460ff60a01b1916600160a01b1790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200161092a565b6004545f906001600160a01b03163314610bf0575f5ffd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b6007805461059490611089565b6004546001600160a01b03163314610c38575f5ffd5b600b805460ff60a01b19169055565b335f818152600e602052604081205490919060ff1615610c65575f5ffd5b600554600160a01b900460ff1615610c7b575f5ffd5b610c858484610eb5565b949350505050565b6004545f906001600160a01b03163314610ca5575f5ffd5b6001600160a01b0382165f908152600e602052604090205460ff1615610cc9575f5ffd5b6001600160a01b0382165f818152600e6020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b6004546001600160a01b03163314610d2f575f5ffd5b6001600160a01b038116610d41575f5ffd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383165f81815260026020908152604080832033845282528083205493835260019091528120549091908311801590610da35750828110155b610dab575f5ffd5b6001600160a01b0384165f90815260016020526040902054610dcd84826110d5565b1015610dd7575f5ffd5b6001600160a01b0385165f9081526001602052604081208054859290610dfe9084906110e8565b90915550506001600160a01b0384165f9081526001602052604081208054859290610e2a9084906110d5565b90915550505f19811015610e70576001600160a01b0385165f90815260026020908152604080832033845290915281208054859290610e6a9084906110e8565b90915550505b836001600160a01b0316856001600160a01b03165f5160206110fc5f395f51905f5285604051610ea291815260200190565b60405180910390a3506001949350505050565b335f90815260016020526040812054821115610ecf575f5ffd5b6001600160a01b0383165f90815260016020526040902054610ef183826110d5565b1015610efb575f5ffd5b335f9081526001602052604081208054849290610f199084906110e8565b90915550506001600160a01b0383165f9081526001602052604081208054849290610f459084906110d5565b90915550506040518281526001600160a01b0384169033905f5160206110fc5f395f51905f529060200161066d565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146108c1575f5ffd5b5f5f60408385031215610fd0575f5ffd5b610fd983610fa9565b946020939093013593505050565b5f5f5f60608486031215610ff9575f5ffd5b61100284610fa9565b925061101060208501610fa9565b929592945050506040919091013590565b5f60208284031215611031575f5ffd5b61103a82610fa9565b9392505050565b5f60208284031215611051575f5ffd5b5035919050565b5f5f60408385031215611069575f5ffd5b61107283610fa9565b915061108060208401610fa9565b90509250929050565b600181811c9082168061109d57607f821691505b6020821081036110bb57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610679576106796110c1565b81810381811115610679576106796110c156feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205e1748be10a9e94452ca8d3f0b993355fdd8e86b000b09a6f96d0a159feb188564736f6c634300081c0033

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

00000000000000000000000033c352b6f7770bc8c1585fe2b2bd653f7dffbc9f

-----Decoded View---------------
Arg [0] : _multiSigWallet (address): 0x33c352b6f7770bc8C1585fE2b2Bd653F7dFFbc9F

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000033c352b6f7770bc8c1585fe2b2bd653f7dffbc9f


Deployed Bytecode Sourcemap

9076:7593:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9209:37;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8443:231;;;;;;:::i;:::-;;:::i;:::-;;;1085:14:1;;1078:22;1060:41;;1048:2;1033:18;8443:231:0;920:187:1;16339:85:0;16411:5;;-1:-1:-1;;;;;16411:5:0;16339:85;;;-1:-1:-1;;;;;1276:32:1;;;1258:51;;1246:2;1231:18;16339:85:0;1112:203:1;15295:123:0;15391:19;;15295:123;;;1466:25:1;;;1454:2;1439:18;15295:123:0;1320:177:1;4930:26:0;;;;;;12280:503;;;;;;:::i;:::-;;:::i;10432:185::-;;;;;;:::i;:::-;;:::i;7151:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;12973:852;;;;;;:::i;:::-;;:::i;11231:94::-;11306:11;;-1:-1:-1;;;11306:11:0;;;;11231:94;;842:193;;;;;;:::i;:::-;;:::i;9298:26::-;;;;;;;;;;;;2475:4:1;2463:17;;;2445:36;;2433:2;2418:18;9298:26:0;2303:184:1;2503:117:0;;;:::i;:::-;;9404:29;;;;;-1:-1:-1;;;;;9404:29:0;;;9331;;;:::i;11523:133::-;;;;;;:::i;:::-;-1:-1:-1;;;;;11627:21:0;11593:14;11627:21;;;:13;:21;;;;;;;11523:133;14952:194;;;;;;:::i;:::-;;:::i;7202:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1757:78;1820:7;;-1:-1:-1;;;1820:7:0;;;;1757:78;;11000:82;;;:::i;8309:126::-;;;;;;:::i;:::-;-1:-1:-1;;;;;8410:17:0;8383:7;8410:17;;;:8;:17;;;;;;;8309:126;15974:220;;;;;;:::i;:::-;;:::i;1196:175::-;;;:::i;14449:353::-;;;;;;:::i;:::-;;:::i;11855:135::-;;;;;;:::i;:::-;-1:-1:-1;;;;;11961:21:0;11927:14;11961:21;;;:13;:21;;;;;;;11855:135;2293:115;;;:::i;14019:166::-;;;;;;:::i;:::-;;:::i;370:20::-;;;;;-1:-1:-1;;;;;370:20:0;;;9253:34;;;:::i;16563:103::-;16643:15;;-1:-1:-1;;;;;16643:15:0;16563:103;;10767:84;;;:::i;10258:163::-;;;;;;:::i;:::-;;:::i;9682:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3222:40;;;;;;397:23;;;;;-1:-1:-1;;;;;397:23:0;;;8682:159;;;;;;:::i;:::-;-1:-1:-1;;;;;8808:15:0;;;8773:17;8808:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;8682:159;9367:30;;;;;-1:-1:-1;;;;;9367:30:0;;;15585:216;;;;;;:::i;:::-;;:::i;1043:145::-;;;;;;:::i;:::-;;:::i;9209:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8443:231::-;8560:10;8527:12;8552:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8552:29:0;;;;;;;;;;:38;;;8606;8527:12;;8552:29;;8606:38;;;;8584:6;1466:25:1;;1454:2;1439:18;;1320:177;8606:38:0;;;;;;;;-1:-1:-1;8662:4:0;8443:231;;;;;:::o;12280:503::-;12398:15;;12351:12;;-1:-1:-1;;;;;12398:15:0;12384:10;:29;12376:38;;;;;;12437:11;;-1:-1:-1;;;12437:11:0;;;;:19;;12452:4;12437:19;12429:28;;;;;;12485:1;12476:6;:10;12468:19;;;;;;-1:-1:-1;;;;;12559:17:0;;;;;;:13;:17;;;;;:27;;12580:6;;12559:17;:27;;12580:6;;12559:27;:::i;:::-;;;;-1:-1:-1;;12727:15:0;;12717:34;;-1:-1:-1;;;;;12727:15:0;12744:6;12717:9;:34::i;:::-;-1:-1:-1;12771:4:0;;12280:503;-1:-1:-1;;;12280:503:0:o;10432:185::-;-1:-1:-1;;;;;9794:23:0;;10550:4;9794:23;;;:13;:23;;;;;;10512:4;;9794:23;;9793:24;9785:33;;;;;;1994:7:::1;::::0;-1:-1:-1;;;1994:7:0;::::1;;;1993:8;1985:17;;;;;;10574:35:::2;10593:4;10599:2;10603:5;10574:18;:35::i;:::-;10567:42:::0;10432:185;-1:-1:-1;;;;;10432:185:0:o;12973:852::-;13065:11;;13032:12;;-1:-1:-1;;;13065:11:0;;;;:19;;13080:4;13065:19;13057:28;;;;;;13140:1;13131:6;:10;13123:19;;;;;;13193:10;13179:25;;;;:13;:25;;;;;;13169:35;;;13161:44;;;;;;13234:19;;13224:6;:29;;13216:38;;;;;;13387:15;;-1:-1:-1;;;;;13387:15:0;13378:25;;;;:8;:25;;;;;;:35;-1:-1:-1;13378:35:0;13370:44;;;;;;13494:10;13480:25;;;;:13;:25;;;;;:35;;13509:6;;13480:25;:35;;13509:6;;13480:35;:::i;:::-;;;;-1:-1:-1;;13599:10:0;13585:25;;;;:13;:25;;;;;:35;;13614:6;;13585:25;:35;;13614:6;;13585:35;:::i;:::-;;;;-1:-1:-1;;13642:15:0;;-1:-1:-1;;;;;13642:15:0;13633:25;;;;:8;:25;;;;;:35;;13662:6;;13633:25;:35;;13662:6;;13633:35;:::i;:::-;;;;-1:-1:-1;;13688:10:0;13679:20;;;;:8;:20;;;;;:30;;13703:6;;13679:20;:30;;13703:6;;13679:30;:::i;:::-;;;;-1:-1:-1;;13744:15:0;;13735:45;;1466:25:1;;;13761:10:0;;-1:-1:-1;;;;;13744:15:0;;-1:-1:-1;;;;;;;;;;;13735:45:0;1454:2:1;1439:18;13735:45:0;;;;;;;-1:-1:-1;13798:4:0;;12973:852;-1:-1:-1;12973:852:0:o;842:193::-;929:5;;897:4;;-1:-1:-1;;;;;929:5:0;;;918:16;;;;914:114;;-1:-1:-1;958:4:0;;842:193;-1:-1:-1;842:193:0:o;914:114::-;-1:-1:-1;1011:5:0;;842:193;-1:-1:-1;842:193:0:o;914:114::-;842:193;;;:::o;2503:117::-;666:5;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;2173:7:::1;::::0;-1:-1:-1;;;2173:7:0;::::1;;;2165:16;;;;;;2561:7:::2;:15:::0;;-1:-1:-1;;;;2561:15:0::2;::::0;;2592:20:::2;::::0;2601:10:::2;1258:51:1::0;;2592:20:0::2;::::0;1246:2:1;1231:18;2592:20:0::2;;;;;;;;2503:117::o:0;9331:29::-;;;;;;;:::i;14952:194::-;666:5;;15033:12;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;15075:1:::1;15066:6;:10;15058:19;;;;;;-1:-1:-1::0;15088:19:0::1;:28:::0;15134:4:::1;::::0;14952:194::o;11000:82::-;666:5;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;11056:11:::1;:18:::0;;-1:-1:-1;;;;11056:18:0::1;-1:-1:-1::0;;;11056:18:0::1;::::0;;11000:82::o;15974:220::-;666:5;;16042:4;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;-1:-1:-1;;;;;16067:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;::::1;;16059:31;;;;;;-1:-1:-1::0;;;;;16101:22:0;::::1;16126:5;16101:22:::0;;;:13:::1;:22;::::0;;;;;:30;;-1:-1:-1;;16101:30:0::1;::::0;;16147:17;::::1;::::0;16126:5;16147:17:::1;-1:-1:-1::0;16182:4:0::1;15974:220:::0;;;:::o;1196:175::-;743:10;735:33;;;;;;801:8;;-1:-1:-1;;;;;801:8:0;787:10;:22;779:31;;;;;;1287:8:::1;::::0;1280:5:::1;::::0;1259:37:::1;::::0;-1:-1:-1;;;;;1287:8:0;;::::1;::::0;1280:5;;::::1;::::0;1259:37:::1;::::0;1287:8:::1;::::0;1259:37:::1;1323:8;::::0;;1315:5:::1;:16:::0;;-1:-1:-1;;;;;;1315:16:0;;::::1;-1:-1:-1::0;;;;;1323:8:0;::::1;1315:16;::::0;;;1342:21:::1;::::0;;1196:175::o;14449:353::-;14568:15;;14521:12;;-1:-1:-1;;;;;14568:15:0;14554:10;:29;14546:38;;;;;;14612:14;;-1:-1:-1;;;;;14612:14:0;14603:24;;;;:8;:24;;;;;;:34;-1:-1:-1;14603:34:0;14595:43;;;;;;14660:14;;-1:-1:-1;;;;;14660:14:0;14651:24;;;;:8;:24;;;;;:34;;14679:6;;14651:24;:34;;14679:6;;14651:34;:::i;:::-;;;;-1:-1:-1;;;;;;;14696:12:0;;;;;;:8;:12;;;;;:22;;14712:6;;14696:12;:22;;14712:6;;14696:22;:::i;:::-;;;;-1:-1:-1;;14745:14:0;;14736:36;;1466:25:1;;;-1:-1:-1;;;;;14736:36:0;;;;14745:14;;-1:-1:-1;;;;;;;;;;;14736:36:0;1454:2:1;1439:18;14736:36:0;1320:177:1;2293:115:0;666:5;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;1994:7:::1;::::0;-1:-1:-1;;;1994:7:0;::::1;;;1993:8;1985:17;;;;;;2352:7:::2;:14:::0;;-1:-1:-1;;;;2352:14:0::2;-1:-1:-1::0;;;2352:14:0::2;::::0;;2382:18:::2;::::0;2389:10:::2;1258:51:1::0;;2382:18:0::2;::::0;1246:2:1;1231:18;2382::0::2;1112:203:1::0;14019:166:0;666:5;;14103:12;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;-1:-1:-1;14128:15:0::1;:27:::0;;-1:-1:-1;;;;;14128:27:0;::::1;-1:-1:-1::0;;;;;;14128:27:0;;::::1;;::::0;;;14019:166;;;:::o;9253:34::-;;;;;;;:::i;10767:84::-;666:5;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;10824:11:::1;:19:::0;;-1:-1:-1;;;;10824:19:0::1;::::0;;10767:84::o;10258:163::-;10320:10;10364:4;9794:23;;;:13;:23;;;;;;10364:4;;10320:10;9794:23;;9793:24;9785:33;;;;;;1994:7:::1;::::0;-1:-1:-1;;;1994:7:0;::::1;;;1993:8;1985:17;;;;;;10388:25:::2;10403:2;10407:5;10388:14;:25::i;:::-;10381:32:::0;10258:163;-1:-1:-1;;;;10258:163:0:o;15585:216::-;666:5;;15651:4;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;-1:-1:-1;;;;;15677:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;::::1;;15676:23;15668:32;;;;;;-1:-1:-1::0;;;;;15711:22:0;::::1;;::::0;;;:13:::1;:22;::::0;;;;;:29;;-1:-1:-1;;15711:29:0::1;15736:4;15711:29;::::0;;15756:15;::::1;::::0;15711:22;15756:15:::1;-1:-1:-1::0;15789:4:0::1;15585:216:::0;;;:::o;1043:145::-;666:5;;-1:-1:-1;;;;;666:5:0;652:10;:19;644:28;;;;;;-1:-1:-1;;;;;1125:23:0;::::1;1117:32;;;;;;1160:8;:20:::0;;-1:-1:-1;;;;;;1160:20:0::1;-1:-1:-1::0;;;;;1160:20:0;;;::::1;::::0;;;::::1;::::0;;1043:145::o;7694:607::-;-1:-1:-1;;;;;7839:14:0;;7793:12;7839:14;;;:7;:14;;;;;;;;7854:10;7839:26;;;;;;;;7884:15;;;:8;:15;;;;;;7793:12;;7839:26;7884:25;-1:-1:-1;7884:25:0;;;:49;;;7927:6;7913:10;:20;;7884:49;7876:58;;;;;;-1:-1:-1;;;;;8021:13:0;;;;;;:8;:13;;;;;;7995:22;8011:6;8021:13;7995:22;:::i;:::-;:39;;7987:48;;;;;;-1:-1:-1;;;;;8058:15:0;;;;;;:8;:15;;;;;:25;;8077:6;;8058:15;:25;;8077:6;;8058:25;:::i;:::-;;;;-1:-1:-1;;;;;;;8094:13:0;;;;;;:8;:13;;;;;:23;;8111:6;;8094:13;:23;;8111:6;;8094:23;:::i;:::-;;;;-1:-1:-1;;;;8134:24:0;;8130:93;;;-1:-1:-1;;;;;8175:14:0;;;;;;:7;:14;;;;;;;;8190:10;8175:26;;;;;;;:36;;8205:6;;8175:14;:36;;8205:6;;8175:36;:::i;:::-;;;;-1:-1:-1;;8130:93:0;8258:3;-1:-1:-1;;;;;8242:28:0;8251:5;-1:-1:-1;;;;;8242:28:0;-1:-1:-1;;;;;;;;;;;8263:6:0;8242:28;;;;1466:25:1;;1454:2;1439:18;;1320:177;8242:28:0;;;;;;;;-1:-1:-1;8288:4:0;;7694:607;-1:-1:-1;;;;7694:607:0:o;7275:411::-;7397:10;7355:12;7388:20;;;:8;:20;;;;;;:30;-1:-1:-1;7388:30:0;7380:39;;;;;;-1:-1:-1;;;;;7506:13:0;;;;;;:8;:13;;;;;;7480:22;7496:6;7506:13;7480:22;:::i;:::-;:39;;7472:48;;;;;;7550:10;7541:20;;;;:8;:20;;;;;:30;;7565:6;;7541:20;:30;;7565:6;;7541:30;:::i;:::-;;;;-1:-1:-1;;;;;;;7582:13:0;;;;;;:8;:13;;;;;:23;;7599:6;;7582:13;:23;;7599:6;;7582:23;:::i;:::-;;;;-1:-1:-1;;7623:33:0;;1466:25:1;;;-1:-1:-1;;;;;7623:33:0;;;7632:10;;-1:-1:-1;;;;;;;;;;;7623:33:0;1454:2:1;1439:18;7623:33:0;1320:177:1;14:418;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:1;;544:42;;534:70;;600:1;597;590:12;615:300;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:1:o;1502:374::-;1579:6;1587;1595;1648:2;1636:9;1627:7;1623:23;1619:32;1616:52;;;1664:1;1661;1654:12;1616:52;1687:29;1706:9;1687:29;:::i;:::-;1677:39;;1735:38;1769:2;1758:9;1754:18;1735:38;:::i;:::-;1502:374;;1725:48;;-1:-1:-1;;;1842:2:1;1827:18;;;;1814:32;;1502:374::o;1881:186::-;1940:6;1993:2;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2032:29;2051:9;2032:29;:::i;:::-;2022:39;1881:186;-1:-1:-1;;;1881:186:1:o;2072:226::-;2131:6;2184:2;2172:9;2163:7;2159:23;2155:32;2152:52;;;2200:1;2197;2190:12;2152:52;-1:-1:-1;2245:23:1;;2072:226;-1:-1:-1;2072:226:1:o;2492:260::-;2560:6;2568;2621:2;2609:9;2600:7;2596:23;2592:32;2589:52;;;2637:1;2634;2627:12;2589:52;2660:29;2679:9;2660:29;:::i;:::-;2650:39;;2708:38;2742:2;2731:9;2727:18;2708:38;:::i;:::-;2698:48;;2492:260;;;;;:::o;2757:380::-;2836:1;2832:12;;;;2879;;;2900:61;;2954:4;2946:6;2942:17;2932:27;;2900:61;3007:2;2999:6;2996:14;2976:18;2973:38;2970:161;;3053:10;3048:3;3044:20;3041:1;3034:31;3088:4;3085:1;3078:15;3116:4;3113:1;3106:15;2970:161;;2757:380;;;:::o;3142:127::-;3203:10;3198:3;3194:20;3191:1;3184:31;3234:4;3231:1;3224:15;3258:4;3255:1;3248:15;3274:125;3339:9;;;3360:10;;;3357:36;;;3373:18;;:::i;3404:128::-;3471:9;;;3492:11;;;3489:37;;;3506:18;;:::i

Swarm Source

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