ETH Price: $2,729.13 (+12.66%)
 

Overview

Max Total Supply

10,000 N

Holders

3

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
4,499 N

Value
$0.00
0xd03614c920a0c334b842320999398e1387791bf8
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xD6F0Bb2A...2Ac7c5AA8
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
VotingToken

Compiler Version
v0.6.4+commit.1dca32f3

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 4 of 4: VotingToken.sol
pragma solidity ^0.6.0;

import "./IMVDProxy.sol";
import "./IERC20.sol";
import "./IVotingToken.sol";

contract VotingToken is IERC20, IVotingToken {

    mapping (address => uint256) private _balances;

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

    uint256 private _totalSupply;
    uint256 private _decimals;
    address private _proxy;
    string private _name;
    string private _symbol;

    constructor(string memory name, string memory symbol, uint256 decimals, uint256 totalSupply) public override {
        if(totalSupply == 0) {
            return;
        }
        init(name, symbol, decimals, totalSupply);
    }

    function init(string memory name, string memory symbol, uint256 decimals, uint256 totalSupply) public override {
        require(_totalSupply == 0, "Init already called!");

        _name = name;
        _symbol = symbol;
        _decimals = decimals;
        _totalSupply = totalSupply * (10 ** decimals);
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(this), msg.sender, _totalSupply);
    }

    receive() external payable {
        revert("ETH not accepted");
    }

    function getProxy() public override view returns(address) {
        return _proxy;
    }

    function name() public override view returns(string memory) {
        return _name;
    }

    function symbol() public override view returns(string memory) {
        return _symbol;
    }

    function decimals() public override view returns(uint256) {
        return _decimals;
    }

    function totalSupply() public override view returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        require(_proxy == address(0) ? true : !IMVDProxy(_proxy).isValidProposal(recipient), "Cannot transfer to DFC Survey Proposal!");
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public override view returns (uint256) {
        if(IMVDProxy(_proxy).isValidProposal(spender)) {
            return _balances[owner];
        }
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        require(!IMVDProxy(_proxy).isValidProposal(spender), "Cannot approve Proposals to spend tokens");
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        address txSender = msg.sender;
        if(!(IMVDProxy(_proxy).isValidProposal(txSender) && recipient == txSender)) {
            _approve(sender, txSender, _allowances[sender][txSender] = sub(_allowances[sender][txSender], amount, "ERC20: transfer amount exceeds allowance"));
        }
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public override returns (bool) {
        _approve(msg.sender, spender, add(_allowances[msg.sender][spender], addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public override returns (bool) {
        _approve(msg.sender, spender, sub(_allowances[msg.sender][spender], subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = sub(_balances[sender], amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = add(_balances[recipient], amount);
        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        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);
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        require(c >= a, "SafeMath: addition overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256 c) {
        require(b <= a, errorMessage);
        c = a - b;
    }

    function setProxy() public override {
        require(_totalSupply != 0, "Init not called!");
        require(_proxy == address(0) || _proxy == msg.sender, _proxy != address(0) ? "Proxy already set!" : "Only Proxy can toggle itself!");
        _proxy = _proxy == address(0) ?  msg.sender : address(0);
    }

    function mint(uint256 amount) public override {
        require(IMVDProxy(_proxy).isAuthorizedFunctionality(msg.sender), "Unauthorized access!");

        _totalSupply = add(_totalSupply, amount);
        _balances[_proxy] = add(_balances[_proxy], amount);
        emit Transfer(address(0), _proxy, amount);
    }

    function burn(uint256 amount) public override {
        _balances[msg.sender] = sub(_balances[msg.sender], amount, "VotingToken: burn amount exceeds balance");
        _totalSupply = sub(_totalSupply, amount, "VotingToken: burn amount exceeds total supply");
        emit Transfer(msg.sender, address(0), amount);
    }
}

File 1 of 4: IERC20.sol
pragma solidity ^0.6.0;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 2 of 4: IMVDProxy.sol
pragma solidity ^0.6.0;

interface IMVDProxy {

    function init(address votingTokenAddress, address stateHolderAddress, address functionalityModelsManagerAddress, address functionalityProposalManagerAddress, address functionalitiesManagerAddress) external;

    function getToken() external view returns(address);
    function setToken(address newAddress) external;
    function getStateHolderAddress() external view returns(address);
    function setStateHolderAddress(address newAddress) external;
    function getMVDFunctionalityProposalManagerAddress() external view returns(address);
    function setMVDFunctionalityProposalManagerAddress(address newAddress) external;
    function getMVDFunctionalityModelsManagerAddress() external view returns(address);
    function setMVDFunctionalityModelsManagerAddress(address newAddress) external;
    function getMVDFunctionalitiesManagerAddress() external view returns(address);
    function setMVDFunctionalitiesManagerAddress(address newAddress) external;
    function changeProxy(address payable newAddress) external payable;
    function getFunctionalitiesAmount() external view returns(uint256);
    function isValidProposal(address proposal) external view returns (bool);
    function isValidFunctionality(address functionality) external view returns(bool);
    function isAuthorizedFunctionality(address functionality) external view returns(bool);
    function getFunctionalityAddress(string calldata codeName) external view returns(address);
    function hasFunctionality(string calldata codeName) external view returns(bool);
    function functionalitiesToJSON() external view returns(string memory functionsJSONArray);
    function functionalitiesToJSON(uint256 start, uint256 l) external view returns(string memory functionsJSONArray);
    function getPendingProposal(string calldata codeName) external view returns(address proposalAddress, bool isPending);
    function newProposal(string calldata codeName, bool emergency, address sourceLocation, uint256 sourceLocationId, address location, bool submitable, string calldata methodSignature, string calldata returnParametersJSONArray, bool isInternal, bool needsSender, string calldata replaces) external returns(address proposalAddress);
    function startProposal(address proposalAddress) external;
    function disableProposal(address proposalAddress) external;
    function transfer(address receiver, uint256 value, address token) external;
    function setProposal() external;
    function read(string calldata codeName, bytes calldata data) external view returns(bytes memory returnData);
    function submit(string calldata codeName, bytes calldata data) external payable returns(bytes memory returnData);
    function callFromManager(address location, bytes calldata payload) external returns(bool, bytes memory);
    function emitFromManager(string calldata codeName, uint256 position, address proposal, string calldata replaced, address location, bool submitable, string calldata methodSignature, bool isInternal, bool needsSender, address proposalAddress, uint256 replacedPosition) external;

    function emitEvent(string calldata eventSignature, bytes calldata firstIndex, bytes calldata secondIndex, bytes calldata data) external;

    event TokenChanged(address indexed oldAddress, address indexed newAddress);
    event MVDFunctionalityProposalManagerChanged(address indexed oldAddress, address indexed newAddress);
    event MVDFunctionalityModelsManagerChanged(address indexed oldAddress, address indexed newAddress);
    event MVDFunctionalitiesManagerChanged(address indexed oldAddress, address indexed newAddress);
    event StateHolderChanged(address indexed oldAddress, address indexed newAddress);
    event ProxyChanged(address indexed newAddress);

    event PaymentReceived(address indexed sender, uint256 value);
    event Proposal(address proposal);
    event ProposalSet(address indexed proposal, bool success);
    event FunctionalitySet(string indexed codeName, uint256 position, address proposal, string indexed replaced, address replacedLocation, bool replacedWasSubmitable, string replacedMethodSignature, bool replacedWasInternal, bool replacedNeededSender, address replacedProposal, uint256 replacedPosition);

    event Event(string indexed key, bytes32 indexed firstIndex, bytes32 indexed secondIndex, bytes data);
}

File 3 of 4: IVotingToken.sol
pragma solidity ^0.6.0;

interface IVotingToken {
    function init(string calldata name, string calldata symbol, uint256 decimals, uint256 totalSupply) external;

    function getProxy() external view returns (address);
    function setProxy() external;

    function name() external view returns(string memory);
    function symbol() external view returns(string memory);
    function decimals() external view returns(uint256);

    function mint(uint256 amount) external;
    function burn(uint256 amount) external;

    function increaseAllowance(address spender, uint256 addedValue) external returns (bool);
    function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"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":"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":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getProxy","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":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setProxy","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"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b506040516200187638038062001876833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060409081526020820151910151909250905080620001b757620001ce565b620001ce848484846001600160e01b03620001d816565b5050505062000360565b600254156200022e576040805162461bcd60e51b815260206004820152601460248201527f496e697420616c72656164792063616c6c656421000000000000000000000000604482015290519081900360640190fd5b835162000243906005906020870190620002bb565b50825162000259906006906020860190620002bb565b506003829055600a82900a81026002819055336000818152602081815260409182902084905581519384529051919230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002fe57805160ff19168380011785556200032e565b828001600101855582156200032e579182015b828111156200032e57825182559160200191906001019062000311565b506200033c92915062000340565b5090565b6200035d91905b808211156200033c576000815560010162000347565b90565b61150680620003706000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a0712d6811610059578063a0712d68146104c9578063a457c2d7146104f3578063a9059cbb1461052c578063dd62ed3e146105655761013c565b806370a082311461031157806387c8046414610344578063933a9ce81461048357806395d89b41146104b45761013c565b8063313ce567116100c6578063313ce567146102825780633914a04f1461029757806339509351146102ae57806342966c68146102e75761013c565b806306fdde0314610141578063095ea7b3146101cb57806318160ddd1461021857806323b872dd1461023f5761013c565b3661013c576040805162461bcd60e51b815260206004820152601060248201526f115512081b9bdd081858d8d95c1d195960821b604482015290519081900360640190fd5b600080fd5b34801561014d57600080fd5b506101566105a0565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610190578181015183820152602001610178565b50505050905090810190601f1680156101bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d757600080fd5b50610204600480360360408110156101ee57600080fd5b506001600160a01b038135169060200135610637565b604080519115158252519081900360200190f35b34801561022457600080fd5b5061022d610707565b60408051918252519081900360200190f35b34801561024b57600080fd5b506102046004803603606081101561026257600080fd5b506001600160a01b0381358116916020810135909116906040013561070d565b34801561028e57600080fd5b5061022d61085c565b3480156102a357600080fd5b506102ac610862565b005b3480156102ba57600080fd5b50610204600480360360408110156102d157600080fd5b506001600160a01b038135169060200135610a08565b3480156102f357600080fd5b506102ac6004803603602081101561030a57600080fd5b5035610a43565b34801561031d57600080fd5b5061022d6004803603602081101561033457600080fd5b50356001600160a01b0316610b03565b34801561035057600080fd5b506102ac6004803603608081101561036757600080fd5b81019060208101813564010000000081111561038257600080fd5b82018360208201111561039457600080fd5b803590602001918460018302840111640100000000831117156103b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561040957600080fd5b82018360208201111561041b57600080fd5b8035906020019184600183028401116401000000008311171561043d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610b1e565b34801561048f57600080fd5b50610498610be1565b604080516001600160a01b039092168252519081900360200190f35b3480156104c057600080fd5b50610156610bf0565b3480156104d557600080fd5b506102ac600480360360208110156104ec57600080fd5b5035610c51565b3480156104ff57600080fd5b506102046004803603604081101561051657600080fd5b506001600160a01b038135169060200135610d8f565b34801561053857600080fd5b506102046004803603604081101561054f57600080fd5b506001600160a01b038135169060200135610dde565b34801561057157600080fd5b5061022d6004803603604081101561058857600080fd5b506001600160a01b0381358116916020013516610ebe565b60058054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561062c5780601f106106015761010080835404028352916020019161062c565b820191906000526020600020905b81548152906001019060200180831161060f57829003601f168201915b505050505090505b90565b600480546040805163a9771afd60e01b81526001600160a01b038681169482019490945290516000939092169163a9771afd91602480820192602092909190829003018186803b15801561068a57600080fd5b505afa15801561069e573d6000803e3d6000fd5b505050506040513d60208110156106b457600080fd5b5051156106f25760405162461bcd60e51b81526004018080602001828103825260288152602001806114606028913960400191505060405180910390fd5b6106fd338484610f8d565b5060015b92915050565b60025490565b600061071a848484611079565b600480546040805163a9771afd60e01b81523393810184905290516001600160a01b039092169163a9771afd91602480820192602092909190829003018186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b505180156107b05750806001600160a01b0316846001600160a01b0316145b610851576108518582610824600160008a6001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002054876040518060600160405280602881526020016113cc602891396111c1565b6001600160a01b03808a166000908152600160209081526040808320938916835292905220819055610f8d565b506001949350505050565b60035490565b6002546108a9576040805162461bcd60e51b815260206004820152601060248201526f496e6974206e6f742063616c6c65642160801b604482015290519081900360640190fd5b6004546001600160a01b031615806108cb57506004546001600160a01b031633145b6004546001600160a01b0316610916576040518060400160405280601d81526020017f4f6e6c792050726f78792063616e20746f67676c6520697473656c6621000000815250610942565b6040518060400160405280601281526020017150726f787920616c7265616479207365742160701b8152505b906109cb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610990578181015183820152602001610978565b50505050905090810190601f1680156109bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506004546001600160a01b0316156109e45760006109e6565b335b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106fd918590610a3e908661121b565b610f8d565b610a8a600080336001600160a01b03166001600160a01b03168152602001908152602001600020548260405180606001604052806028815260200161135c602891396111c1565b600080336001600160a01b03166001600160a01b0316815260200190815260200160002081905550610ad7600254826040518060600160405280602d815260200161132f602d91396111c1565b600255604080518281529051600091339160008051602061141b8339815191529181900360200190a350565b6001600160a01b031660009081526020819052604090205490565b60025415610b6a576040805162461bcd60e51b8152602060048201526014602482015273496e697420616c72656164792063616c6c65642160601b604482015290519081900360640190fd5b8351610b7d906005906020870190611273565b508251610b91906006906020860190611273565b506003829055600a82900a810260028190553360008181526020818152604091829020849055815193845290519192309260008051602061141b833981519152929181900390910190a350505050565b6004546001600160a01b031690565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561062c5780601f106106015761010080835404028352916020019161062c565b60048054604080516318c8e99960e11b81523393810193909352516001600160a01b0390911691633191d332916024808301926020929190829003018186803b158015610c9d57600080fd5b505afa158015610cb1573d6000803e3d6000fd5b505050506040513d6020811015610cc757600080fd5b5051610d11576040805162461bcd60e51b8152602060048201526014602482015273556e617574686f72697a6564206163636573732160601b604482015290519081900360640190fd5b610d1d6002548261121b565b6002556004546001600160a01b0316600090815260208190526040902054610d45908261121b565b600480546001600160a01b0390811660009081526020818152604080832095909555925484518681529451921693909260008051602061141b83398151915292918290030190a350565b3360008181526001602090815260408083206001600160a01b0387168452825280832054815160608101909252602580835293946106fd9490938893610a3e939289926114ac908301396111c1565b6004546000906001600160a01b031615610e7557600480546040805163a9771afd60e01b81526001600160a01b03878116948201949094529051929091169163a9771afd91602480820192602092909190829003018186803b158015610e4357600080fd5b505afa158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505115610e78565b60015b610eb35760405162461bcd60e51b81526004018080602001828103825260278152602001806113f46027913960400191505060405180910390fd5b6106fd338484611079565b600480546040805163a9771afd60e01b81526001600160a01b038581169482019490945290516000939092169163a9771afd91602480820192602092909190829003018186803b158015610f1157600080fd5b505afa158015610f25573d6000803e3d6000fd5b505050506040513d6020811015610f3b57600080fd5b505115610f6157506001600160a01b038216600090815260208190526040902054610701565b506001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610fd25760405162461bcd60e51b81526004018080602001828103825260248152602001806114886024913960400191505060405180910390fd5b6001600160a01b0382166110175760405162461bcd60e51b81526004018080602001828103825260228152602001806113846022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110be5760405162461bcd60e51b815260040180806020018281038252602581526020018061143b6025913960400191505060405180910390fd5b6001600160a01b0382166111035760405162461bcd60e51b815260040180806020018281038252602381526020018061130c6023913960400191505060405180910390fd5b61114a600080856001600160a01b03166001600160a01b0316815260200190815260200160002054826040518060600160405280602681526020016113a6602691396111c1565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611179908261121b565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061141b83398151915292918290030190a3505050565b600081848411156112135760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610990578181015183820152602001610978565b505050900390565b81810182811015610701576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112b457805160ff19168380011785556112e1565b828001600101855582156112e1579182015b828111156112e15782518255916020019190600101906112c6565b506112ed9291506112f1565b5090565b61063491905b808211156112ed57600081556001016112f756fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373566f74696e67546f6b656e3a206275726e20616d6f756e74206578636565647320746f74616c20737570706c79566f74696e67546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636543616e6e6f74207472616e7366657220746f20444643205375727665792050726f706f73616c21ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737343616e6e6f7420617070726f76652050726f706f73616c7320746f207370656e6420746f6b656e7345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122039815213c15f7fbb5b214cefafe8f54f3ba7b3f4a455d29dbbd748a390a0534164736f6c63430006040033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000280de80000000000000000000000000000000000000000000000000000000000000000644464f48756200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005425549444c000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106100f75760003560e01c806370a082311161008a578063a0712d6811610059578063a0712d68146104c9578063a457c2d7146104f3578063a9059cbb1461052c578063dd62ed3e146105655761013c565b806370a082311461031157806387c8046414610344578063933a9ce81461048357806395d89b41146104b45761013c565b8063313ce567116100c6578063313ce567146102825780633914a04f1461029757806339509351146102ae57806342966c68146102e75761013c565b806306fdde0314610141578063095ea7b3146101cb57806318160ddd1461021857806323b872dd1461023f5761013c565b3661013c576040805162461bcd60e51b815260206004820152601060248201526f115512081b9bdd081858d8d95c1d195960821b604482015290519081900360640190fd5b600080fd5b34801561014d57600080fd5b506101566105a0565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610190578181015183820152602001610178565b50505050905090810190601f1680156101bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d757600080fd5b50610204600480360360408110156101ee57600080fd5b506001600160a01b038135169060200135610637565b604080519115158252519081900360200190f35b34801561022457600080fd5b5061022d610707565b60408051918252519081900360200190f35b34801561024b57600080fd5b506102046004803603606081101561026257600080fd5b506001600160a01b0381358116916020810135909116906040013561070d565b34801561028e57600080fd5b5061022d61085c565b3480156102a357600080fd5b506102ac610862565b005b3480156102ba57600080fd5b50610204600480360360408110156102d157600080fd5b506001600160a01b038135169060200135610a08565b3480156102f357600080fd5b506102ac6004803603602081101561030a57600080fd5b5035610a43565b34801561031d57600080fd5b5061022d6004803603602081101561033457600080fd5b50356001600160a01b0316610b03565b34801561035057600080fd5b506102ac6004803603608081101561036757600080fd5b81019060208101813564010000000081111561038257600080fd5b82018360208201111561039457600080fd5b803590602001918460018302840111640100000000831117156103b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561040957600080fd5b82018360208201111561041b57600080fd5b8035906020019184600183028401116401000000008311171561043d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505082359350505060200135610b1e565b34801561048f57600080fd5b50610498610be1565b604080516001600160a01b039092168252519081900360200190f35b3480156104c057600080fd5b50610156610bf0565b3480156104d557600080fd5b506102ac600480360360208110156104ec57600080fd5b5035610c51565b3480156104ff57600080fd5b506102046004803603604081101561051657600080fd5b506001600160a01b038135169060200135610d8f565b34801561053857600080fd5b506102046004803603604081101561054f57600080fd5b506001600160a01b038135169060200135610dde565b34801561057157600080fd5b5061022d6004803603604081101561058857600080fd5b506001600160a01b0381358116916020013516610ebe565b60058054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561062c5780601f106106015761010080835404028352916020019161062c565b820191906000526020600020905b81548152906001019060200180831161060f57829003601f168201915b505050505090505b90565b600480546040805163a9771afd60e01b81526001600160a01b038681169482019490945290516000939092169163a9771afd91602480820192602092909190829003018186803b15801561068a57600080fd5b505afa15801561069e573d6000803e3d6000fd5b505050506040513d60208110156106b457600080fd5b5051156106f25760405162461bcd60e51b81526004018080602001828103825260288152602001806114606028913960400191505060405180910390fd5b6106fd338484610f8d565b5060015b92915050565b60025490565b600061071a848484611079565b600480546040805163a9771afd60e01b81523393810184905290516001600160a01b039092169163a9771afd91602480820192602092909190829003018186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b505180156107b05750806001600160a01b0316846001600160a01b0316145b610851576108518582610824600160008a6001600160a01b03166001600160a01b031681526020019081526020016000206000866001600160a01b03166001600160a01b0316815260200190815260200160002054876040518060600160405280602881526020016113cc602891396111c1565b6001600160a01b03808a166000908152600160209081526040808320938916835292905220819055610f8d565b506001949350505050565b60035490565b6002546108a9576040805162461bcd60e51b815260206004820152601060248201526f496e6974206e6f742063616c6c65642160801b604482015290519081900360640190fd5b6004546001600160a01b031615806108cb57506004546001600160a01b031633145b6004546001600160a01b0316610916576040518060400160405280601d81526020017f4f6e6c792050726f78792063616e20746f67676c6520697473656c6621000000815250610942565b6040518060400160405280601281526020017150726f787920616c7265616479207365742160701b8152505b906109cb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610990578181015183820152602001610978565b50505050905090810190601f1680156109bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506004546001600160a01b0316156109e45760006109e6565b335b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106fd918590610a3e908661121b565b610f8d565b610a8a600080336001600160a01b03166001600160a01b03168152602001908152602001600020548260405180606001604052806028815260200161135c602891396111c1565b600080336001600160a01b03166001600160a01b0316815260200190815260200160002081905550610ad7600254826040518060600160405280602d815260200161132f602d91396111c1565b600255604080518281529051600091339160008051602061141b8339815191529181900360200190a350565b6001600160a01b031660009081526020819052604090205490565b60025415610b6a576040805162461bcd60e51b8152602060048201526014602482015273496e697420616c72656164792063616c6c65642160601b604482015290519081900360640190fd5b8351610b7d906005906020870190611273565b508251610b91906006906020860190611273565b506003829055600a82900a810260028190553360008181526020818152604091829020849055815193845290519192309260008051602061141b833981519152929181900390910190a350505050565b6004546001600160a01b031690565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561062c5780601f106106015761010080835404028352916020019161062c565b60048054604080516318c8e99960e11b81523393810193909352516001600160a01b0390911691633191d332916024808301926020929190829003018186803b158015610c9d57600080fd5b505afa158015610cb1573d6000803e3d6000fd5b505050506040513d6020811015610cc757600080fd5b5051610d11576040805162461bcd60e51b8152602060048201526014602482015273556e617574686f72697a6564206163636573732160601b604482015290519081900360640190fd5b610d1d6002548261121b565b6002556004546001600160a01b0316600090815260208190526040902054610d45908261121b565b600480546001600160a01b0390811660009081526020818152604080832095909555925484518681529451921693909260008051602061141b83398151915292918290030190a350565b3360008181526001602090815260408083206001600160a01b0387168452825280832054815160608101909252602580835293946106fd9490938893610a3e939289926114ac908301396111c1565b6004546000906001600160a01b031615610e7557600480546040805163a9771afd60e01b81526001600160a01b03878116948201949094529051929091169163a9771afd91602480820192602092909190829003018186803b158015610e4357600080fd5b505afa158015610e57573d6000803e3d6000fd5b505050506040513d6020811015610e6d57600080fd5b505115610e78565b60015b610eb35760405162461bcd60e51b81526004018080602001828103825260278152602001806113f46027913960400191505060405180910390fd5b6106fd338484611079565b600480546040805163a9771afd60e01b81526001600160a01b038581169482019490945290516000939092169163a9771afd91602480820192602092909190829003018186803b158015610f1157600080fd5b505afa158015610f25573d6000803e3d6000fd5b505050506040513d6020811015610f3b57600080fd5b505115610f6157506001600160a01b038216600090815260208190526040902054610701565b506001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610fd25760405162461bcd60e51b81526004018080602001828103825260248152602001806114886024913960400191505060405180910390fd5b6001600160a01b0382166110175760405162461bcd60e51b81526004018080602001828103825260228152602001806113846022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110be5760405162461bcd60e51b815260040180806020018281038252602581526020018061143b6025913960400191505060405180910390fd5b6001600160a01b0382166111035760405162461bcd60e51b815260040180806020018281038252602381526020018061130c6023913960400191505060405180910390fd5b61114a600080856001600160a01b03166001600160a01b0316815260200190815260200160002054826040518060600160405280602681526020016113a6602691396111c1565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611179908261121b565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061141b83398151915292918290030190a3505050565b600081848411156112135760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610990578181015183820152602001610978565b505050900390565b81810182811015610701576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112b457805160ff19168380011785556112e1565b828001600101855582156112e1579182015b828111156112e15782518255916020019190600101906112c6565b506112ed9291506112f1565b5090565b61063491905b808211156112ed57600081556001016112f756fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373566f74696e67546f6b656e3a206275726e20616d6f756e74206578636565647320746f74616c20737570706c79566f74696e67546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636543616e6e6f74207472616e7366657220746f20444643205375727665792050726f706f73616c21ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737343616e6e6f7420617070726f76652050726f706f73616c7320746f207370656e6420746f6b656e7345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122039815213c15f7fbb5b214cefafe8f54f3ba7b3f4a455d29dbbd748a390a0534164736f6c63430006040033

Deployed Bytecode Sourcemap

110:5701:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1169:26;;;-1:-1:-1;;;1169:26:3;;;;;;;;;;;;-1:-1:-1;;;1169:26:3;;;;;;;;;;;;;;110:5701;12:1:-1;9;2:12;1309:91:3;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1309:91:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1309:91:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2416:266;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2416:266:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2416:266:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1612:100;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1612:100:3;;;:::i;:::-;;;;;;;;;;;;;;;;2690:480;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2690:480:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2690:480:3;;;;;;;;;;;;;;;;;:::i;1511:93::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1511:93:3;;;:::i;4839:311::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4839:311:3;;;:::i;:::-;;3178:216;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3178:216:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3178:216:3;;;;;;;;:::i;5485:323::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5485:323:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5485:323:3;;:::i;1720:119::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1720:119:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1720:119:3;-1:-1:-1;;;;;1720:119:3;;:::i;692:431::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;692:431:3;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;692:431:3;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;692:431:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;692:431:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;692:431:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;692:431:3;;;;;;;;-1:-1:-1;692:431:3;;-1:-1:-1;;27:11;11:28;;8:2;;;52:1;49;42:12;8:2;692:431:3;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;692:431:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;692:431:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;692:431:3;;-1:-1:-1;;692:431:3;;;-1:-1:-1;;;692:431:3;;;;:::i;1211:90::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1211:90:3;;;:::i;:::-;;;;-1:-1:-1;;;;;1211:90:3;;;;;;;;;;;;;;1408:95;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1408:95:3;;;:::i;5158:319::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5158:319:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5158:319:3;;:::i;3402:267::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3402:267:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;3402:267:3;;;;;;;;:::i;1847:303::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1847:303:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;1847:303:3;;;;;;;;:::i;2158:250::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;2158:250:3;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;2158:250:3;;;;;;;;;;:::i;1309:91::-;1387:5;1380:12;;;;;;;;-1:-1:-1;;1380:12:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1354:13;;1380:12;;1387:5;;1380:12;;1387:5;1380:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:91;;:::o;2416:266::-;2527:6;;;2517:42;;;-1:-1:-1;;;2517:42:3;;-1:-1:-1;;;;;2517:42:3;;;;;;;;;;;;2491:4;;2527:6;;;;2517:33;;:42;;;;;;;;;;;;;;;2527:6;2517:42;;;2:2:-1;;;;27:1;24;17:12;2:2;2517:42:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2517:42:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2517:42:3;2516:43;2508:96;;;;-1:-1:-1;;;2508:96:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2615:37;2624:10;2636:7;2645:6;2615:8;:37::i;:::-;-1:-1:-1;2670:4:3;2416:266;;;;;:::o;1612:100::-;1692:12;;1612:100;:::o;2690:480::-;2788:4;2805:36;2815:6;2823:9;2834:6;2805:9;:36::i;:::-;2907:6;;;2897:43;;;-1:-1:-1;;;2897:43:3;;2871:10;2897:43;;;;;;;;-1:-1:-1;;;;;2907:6:3;;;;2897:33;;:43;;;;;;;;;;;;;;;2907:6;2897:43;;;2:2:-1;;;;27:1;24;17:12;2:2;2897:43:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2897:43:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2897:43:3;:68;;;;;2957:8;-1:-1:-1;;;;;2944:21:3;:9;-1:-1:-1;;;;;2944:21:3;;2897:68;2892:249;;2983:146;2992:6;3000:8;3042:86;3046:11;:19;3058:6;-1:-1:-1;;;;;3046:19:3;-1:-1:-1;;;;;3046:19:3;;;;;;;;;;;;:29;3066:8;-1:-1:-1;;;;;3046:29:3;-1:-1:-1;;;;;3046:29:3;;;;;;;;;;;;;3077:6;3042:86;;;;;;;;;;;;;;;;;:3;:86::i;:::-;-1:-1:-1;;;;;3010:19:3;;;;;;;:11;:19;;;;;;;;:29;;;;;;;;;:118;;;2983:8;:146::i;:::-;-1:-1:-1;3158:4:3;;2690:480;-1:-1:-1;;;;2690:480:3:o;1511:93::-;1587:9;;1511:93;:::o;4839:311::-;4894:12;;4886:46;;;;;-1:-1:-1;;;4886:46:3;;;;;;;;;;;;-1:-1:-1;;;4886:46:3;;;;;;;;;;;;;;;4951:6;;-1:-1:-1;;;;;4951:6:3;:20;;:44;;-1:-1:-1;4975:6:3;;-1:-1:-1;;;;;4975:6:3;4985:10;4975:20;4951:44;4997:6;;-1:-1:-1;;;;;4997:6:3;:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4997:77:3;;;;4943:132;;;;;-1:-1:-1;;;4943:132:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4943:132:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5095:6:3;;-1:-1:-1;;;;;5095:6:3;:20;:47;;5140:1;5095:47;;;5119:10;5095:47;5086:6;:56;;-1:-1:-1;;;;;;5086:56:3;-1:-1:-1;;;;;5086:56:3;;;;;;;;;;4839:311::o;3178:216::-;3293:10;3267:4;3318:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3318:32:3;;;;;;;;;;3267:4;;3284:80;;3305:7;;3314:49;;3352:10;3314:3;:49::i;:::-;3284:8;:80::i;5485:323::-;5566:78;5570:9;:21;5580:10;-1:-1:-1;;;;;5570:21:3;-1:-1:-1;;;;;5570:21:3;;;;;;;;;;;;;5593:6;5566:78;;;;;;;;;;;;;;;;;:3;:78::i;:::-;5542:9;:21;5552:10;-1:-1:-1;;;;;5542:21:3;-1:-1:-1;;;;;5542:21:3;;;;;;;;;;;;:102;;;;5670:74;5674:12;;5688:6;5670:74;;;;;;;;;;;;;;;;;:3;:74::i;:::-;5655:12;:89;5760:40;;;;;;;;5789:1;;5769:10;;-1:-1:-1;;;;;;;;;;;5760:40:3;;;;;;;;5485:323;:::o;1720:119::-;-1:-1:-1;;;;;1813:18:3;1786:7;1813:18;;;;;;;;;;;;1720:119::o;692:431::-;822:12;;:17;814:50;;;;;-1:-1:-1;;;814:50:3;;;;;;;;;;;;-1:-1:-1;;;814:50:3;;;;;;;;;;;;;;;877:12;;;;:5;;:12;;;;;:::i;:::-;-1:-1:-1;900:16:3;;;;:7;;:16;;;;;:::i;:::-;-1:-1:-1;927:9:3;:20;;;988:2;:14;;;973:30;;958:12;:45;;;1024:10;-1:-1:-1;1014:21:3;;;;;;;;;;;;:36;;;1066:49;;;;;;;1024:10;;1083:4;;-1:-1:-1;;;;;;;;;;;1066:49:3;;;;;;;;;;692:431;;;;:::o;1211:90::-;1287:6;;-1:-1:-1;;;;;1287:6:3;1211:90;:::o;1408:95::-;1488:7;1481:14;;;;;;;;-1:-1:-1;;1481:14:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1455:13;;1481:14;;1488:7;;1481:14;;1488:7;1481:14;;;;;;;;;;;;;;;;;;;;;;;;5158:319;5233:6;;;5223:55;;;-1:-1:-1;;;5223:55:3;;5267:10;5223:55;;;;;;;;-1:-1:-1;;;;;5233:6:3;;;;5223:43;;:55;;;;;;;;;;;;;;5233:6;5223:55;;;2:2:-1;;;;27:1;24;17:12;2:2;5223:55:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5223:55:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5223:55:3;5215:88;;;;;-1:-1:-1;;;5215:88:3;;;;;;;;;;;;-1:-1:-1;;;5215:88:3;;;;;;;;;;;;;;;5331:25;5335:12;;5349:6;5331:3;:25::i;:::-;5316:12;:40;5401:6;;-1:-1:-1;;;;;5401:6:3;5391:9;:17;;;;;;;;;;;5387:30;;5410:6;5387:3;:30::i;:::-;5377:6;;;-1:-1:-1;;;;;5377:6:3;;;5367:9;:17;;;;;;;;;;;:50;;;;5454:6;;5433:36;;;;;;;5454:6;;;5367:9;;-1:-1:-1;;;;;;;;;;;5433:36:3;;;;;;;;5158:319;:::o;3402:267::-;3522:10;3496:4;3547:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3547:32:3;;;;;;;;;;3543:95;;;;;;;;;;;;3496:4;;3513:126;;3522:10;;3534:7;;3543:95;;3547:32;3581:15;;3543:95;;;;;:3;:95::i;1847:303::-;1950:6;;1925:4;;-1:-1:-1;;;;;1950:6:3;:20;:75;;1991:6;;;1981:44;;;-1:-1:-1;;;1981:44:3;;-1:-1:-1;;;;;1981:44:3;;;;;;;;;;;;1991:6;;;;;1981:33;;:44;;;;;;;;;;;;;;;1991:6;1981:44;;;2:2:-1;;;;27:1;24;17:12;2:2;1981:44:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1981:44:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;1981:44:3;1980:45;1950:75;;;1973:4;1950:75;1942:127;;;;-1:-1:-1;;;1942:127:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2080:40;2090:10;2102:9;2113:6;2080:9;:40::i;2158:250::-;2272:6;;;2262:42;;;-1:-1:-1;;;2262:42:3;;-1:-1:-1;;;;;2262:42:3;;;;;;;;;;;;2239:7;;2272:6;;;;2262:33;;:42;;;;;;;;;;;;;;;2272:6;2262:42;;;2:2:-1;;;;27:1;24;17:12;2:2;2262:42:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2262:42:3;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2262:42:3;2259:97;;;-1:-1:-1;;;;;;2328:16:3;;:9;:16;;;;;;;;;;;2321:23;;2259:97;-1:-1:-1;;;;;;2373:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2158:250::o;4158:338::-;-1:-1:-1;;;;;4252:19:3;;4244:68;;;;-1:-1:-1;;;4244:68:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4331:21:3;;4323:68;;;;-1:-1:-1;;;4323:68:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4404:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;4456:32;;;;;;;;;;;;;;;;;4158:338;;;:::o;3677:473::-;-1:-1:-1;;;;;3775:20:3;;3767:70;;;;-1:-1:-1;;;3767:70:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3856:23:3;;3848:71;;;;-1:-1:-1;;;3848:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3952:72;3956:9;:17;3966:6;-1:-1:-1;;;;;3956:17:3;-1:-1:-1;;;;;3956:17:3;;;;;;;;;;;;;3975:6;3952:72;;;;;;;;;;;;;;;;;:3;:72::i;:::-;-1:-1:-1;;;;;3932:17:3;;;:9;:17;;;;;;;;;;;:92;;;;4062:20;;;;;;;4058:33;;4084:6;4058:3;:33::i;:::-;-1:-1:-1;;;;;4035:20:3;;;:9;:20;;;;;;;;;;;;:56;;;;4107:35;;;;;;;4035:20;;4107:35;;;;-1:-1:-1;;;;;;;;;;;4107:35:3;;;;;;;;3677:473;;;:::o;4666:165::-;4752:9;4790:12;4782:6;;;;4774:29;;;;-1:-1:-1;;;4774:29:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4774:29:3;-1:-1:-1;;;4818:5:3;;;4666:165::o;4504:154::-;4588:5;;;4612:6;;;;4604:46;;;;;-1:-1:-1;;;4604:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;110:5701;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;110:5701:3;;;-1:-1:-1;110:5701:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;

Swarm Source

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