ETH Price: $3,268.18 (-1.28%)

Token

DonationToken (DONO)
 

Overview

Max Total Supply

99,802,400,000,000 DONO

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,002,755,222,593.024450609589928472 DONO

Value
$0.00
0xedac584a95376e4ad318830f40a0ca0d55f5ecdc
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
XYZ

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-03-31
*/

//SPDX-License-Identifier: MIT

pragma solidity ^0.7.6;

interface IERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

contract Context {
    constructor () public { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address) {
        return msg.sender;
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint;

    mapping (address => uint) internal _balances;

    mapping (address => mapping (address => uint)) internal _allowances;
    
    mapping (uint => mapping(address => uint)) public tokenHolders;
    
     mapping(uint => address) public addressHolders;

    uint internal _totalSupply;
    
    uint public _circulatingSupply;
    
    uint256 count = 1;
    
      uint256 public holdingReward;
   
    address walletAddress = 0xf51690575E82fD91A976A12A9C265651A7B77B3e;
    address fundsWallet = 0xfa97Ec471ee2bc062Ba4E13665acc296dFd721BF;
    
    function totalSupply() public view override returns (uint) {
        return _totalSupply;
    }
    function balanceOf(address account) public view override returns (uint) {
        return _balances[account];
    }
    function transfer(address recipient, uint amount) public override  returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function _transfer(address sender, address recipient, uint amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 _OnePercent = calculateOnePercent(amount);
        _burn(msg.sender, _OnePercent);
        
        uint256 _TwoPercent = calculateTwoPercent(amount);
        sendToWallet(msg.sender, walletAddress, _TwoPercent);
        
        
        uint256 _PointTwoPercent = calculatePointTwoPercent(amount);
        sendToFundsWallet(msg.sender,fundsWallet,_PointTwoPercent);
        divideAmongHolders(_OnePercent, count);
        
        uint256 AmountGranted = amount - ((_OnePercent * 2) + _TwoPercent + _PointTwoPercent);
     
        
        _balances[recipient] = _balances[recipient].add(AmountGranted);
        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
      
        tokenHolders[count][recipient] = AmountGranted;
        emit Transfer(sender, recipient, AmountGranted);
        
        addressHolders[count] = recipient;
        count++;
        
        
    }
    
    function divideAmongHolders(uint256 _OnePercent, uint256 _count) internal
    {
      
        address targetAddress;
        holdingReward = _OnePercent / _count;
        for(uint256 i = 1; i<=_count ; i++)
        {
            targetAddress = addressHolders[i];
            tokenHolders[i][targetAddress] = tokenHolders[i][targetAddress] + holdingReward;
            _balances[targetAddress]= _balances[targetAddress] + holdingReward;
           
            emit Transfer(msg.sender , targetAddress, holdingReward);
        }
        
        _balances[msg.sender] = _balances[msg.sender].sub(_OnePercent);
        
        
        
    }
   
 
    function _approve(address owner, address spender, uint 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 calculateOnePercent(uint256 amount) internal returns (uint256)
    {
        uint256 onePercent =  1 * amount / 100;
        return onePercent;
    }
    
     function calculateTwoPercent(uint256 amount) internal returns (uint256)
    {
        uint256 twoPercent =  2 * amount / 100;
        return twoPercent;
    }
    
     
    function calculatePointTwoPercent(uint256 amount) internal returns (uint256)
    {
        uint256 twoPercent =  amount * 2 / 1000;
        return twoPercent;
    }
    
    function sendToWallet(address sender, address _wallet, uint256 _TwoPercent) internal
    {
        
        _balances[_wallet] = _balances[_wallet].add(_TwoPercent);
        _balances[sender] = _balances[sender].sub(_TwoPercent);
        emit Transfer(sender, _wallet, _TwoPercent);
         
        
    }
    
      
    function sendToFundsWallet(address sender, address _wallet, uint256 _PointTwoPercent) internal
    {
        
        _balances[_wallet] = _balances[_wallet].add(_PointTwoPercent);
        _balances[sender] = _balances[sender].sub(_PointTwoPercent);
        emit Transfer(sender, _wallet, _PointTwoPercent);
         
        
    }
    
     function _burn(address account, uint amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");
        require(_circulatingSupply >= (50000000000000 * (10**18)));
        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        _circulatingSupply = _circulatingSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }
}

contract ERC20Detailed is ERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
        
    }
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}



library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
}

library SafeERC20 {
    using SafeMath for uint;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

contract XYZ is ERC20, ERC20Detailed {
  using SafeERC20 for IERC20;
  using Address for address;
  using SafeMath for uint256;
  
  
  address public _owner;
  
  constructor () public ERC20Detailed("DonationToken", "DONO", 18) {
    _owner = msg.sender;
    _totalSupply = 100000000000000 *(10**uint256(18));
   
	_balances[_owner] = _totalSupply;
//	_burn(_owner, 50000000000000 * (10**18));
	_circulatingSupply = _totalSupply;
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":[],"name":"_circulatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"addressHolders","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holdingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"tokenHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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"}]

60806040526001600655600880546001600160a01b031990811673f51690575e82fd91a976a12a9c265651a7b77b3e179091556009805490911673fa97ec471ee2bc062ba4e13665acc296dfd721bf17905534801561005d57600080fd5b50604080518082018252600d81526c2237b730ba34b7b72a37b5b2b760991b602080830191825283518085019094526004845263444f4e4f60e01b9084015281519192916012916100b191600a919061012e565b5081516100c590600b90602085019061012e565b50600c805460ff191660ff9290921691909117610100600160a81b03191661010033810291909117918290556d04ee2d6d415b85acef810000000060048190556001600160a01b0391909204166000908152602081905260409020819055600555506101cf9050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261016457600085556101aa565b82601f1061017d57805160ff19168380011785556101aa565b828001600101855582156101aa579182015b828111156101aa57825182559160200191906001019061018f565b506101b69291506101ba565b5090565b5b808211156101b657600081556001016101bb565b610f20806101de6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806395d89b4111610097578063adcef8d411610066578063adcef8d414610316578063b2bdfa7b1461031e578063dd62ed3e14610342578063ff0782911461037057610100565b806395d89b41146102ae578063a253c06e146102b6578063a457c2d7146102be578063a9059cbb146102ea57610100565b8063313ce567116100d3578063313ce5671461021257806339509351146102305780635a76665c1461025c57806370a082311461028857610100565b806306fdde0314610105578063095ea7b31461018257806318160ddd146101c257806323b872dd146101dc575b600080fd5b61010d61038d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b038135169060200135610423565b604080519115158252519081900360200190f35b6101ca610440565b60408051918252519081900360200190f35b6101ae600480360360608110156101f257600080fd5b506001600160a01b03813581169160208101359091169060400135610446565b61021a6104cd565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561024657600080fd5b506001600160a01b0381351690602001356104d6565b6101ca6004803603604081101561027257600080fd5b50803590602001356001600160a01b0316610524565b6101ca6004803603602081101561029e57600080fd5b50356001600160a01b0316610541565b61010d61055c565b6101ca6105bd565b6101ae600480360360408110156102d457600080fd5b506001600160a01b0381351690602001356105c3565b6101ae6004803603604081101561030057600080fd5b506001600160a01b03813516906020013561062b565b6101ca61063f565b610326610645565b604080516001600160a01b039092168252519081900360200190f35b6101ca6004803603604081101561035857600080fd5b506001600160a01b0381358116916020013516610659565b6103266004803603602081101561038657600080fd5b5035610684565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b5050505050905090565b600061043761043061069f565b84846106a3565b50600192915050565b60045490565b600061045384848461078f565b6104c38461045f61069f565b6104be85604051806060016040528060288152602001610e14602891396001600160a01b038a1660009081526001602052604081209061049d61069f565b6001600160a01b0316815260208101919091526040016000205491906109b9565b6106a3565b5060019392505050565b600c5460ff1690565b60006104376104e361069f565b846104be85600160006104f461069f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610a50565b600260209081526000928352604080842090915290825290205481565b6001600160a01b031660009081526020819052604090205490565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104195780601f106103ee57610100808354040283529160200191610419565b60055481565b60006104376105d061069f565b846104be85604051806060016040528060258152602001610ec660259139600160006105fa61069f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906109b9565b600061043761063861069f565b848461078f565b60075481565b600c5461010090046001600160a01b031681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003602052600090815260409020546001600160a01b031681565b3390565b6001600160a01b0383166106e85760405162461bcd60e51b8152600401808060200182810382526024815260200180610ea26024913960400191505060405180910390fd5b6001600160a01b03821661072d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610dcc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166107d45760405162461bcd60e51b8152600401808060200182810382526025815260200180610e7d6025913960400191505060405180910390fd5b6001600160a01b0382166108195760405162461bcd60e51b8152600401808060200182810382526023815260200180610d876023913960400191505060405180910390fd5b600061082482610ab1565b90506108303382610ac0565b600061083b83610bcb565b6008549091506108569033906001600160a01b031683610bd9565b600061086184610c75565b60095490915061087c9033906001600160a01b031683610bd9565b61088883600654610c84565b6001600160a01b03851660009081526020819052604090205460028402830182018503906108b69082610a50565b600080886001600160a01b03166001600160a01b031681526020019081526020016000208190555061091b85604051806060016040528060268152602001610dee602691396001600160a01b038a1660009081526020819052604090205491906109b9565b6001600160a01b0380891660008181526020818152604080832095909555600654825260028152848220938b16808352938152908490208590558351858152935192939192600080516020610e3c8339815191529281900390910190a3505060068054600090815260036020526040902080546001600160a01b0319166001600160a01b039690961695909517909455505081546001019091555050565b60008184841115610a485760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a0d5781810151838201526020016109f5565b50505050905090810190601f168015610a3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610aaa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000806064835b049392505050565b6001600160a01b038216610b055760405162461bcd60e51b8152600401808060200182810382526021815260200180610e5c6021913960400191505060405180910390fd5b6d027716b6a0adc2d677c0800000006005541015610b2257600080fd5b610b5f81604051806060016040528060228152602001610daa602291396001600160a01b03851660009081526020819052604090205491906109b9565b6001600160a01b038316600090815260208190526040902055600454610b859082610d44565b600455600554610b959082610d44565b6005556040805182815290516000916001600160a01b03851691600080516020610e3c8339815191529181900360200190a35050565b600080606460028402610ab8565b6001600160a01b038216600090815260208190526040902054610bfc9082610a50565b6001600160a01b038084166000908152602081905260408082209390935590851681522054610c2b9082610d44565b6001600160a01b03808516600081815260208181526040918290209490945580518581529051928616939192600080516020610e3c833981519152929181900390910190a3505050565b6000806103e860028402610ab8565b6000818381610c8f57fe5b0460075560015b828111610d145760008181526003602090815260408083205460078054600285528386206001600160a01b0390931680875292855283862080549091019055805485855294839020805490950190945592548151908152905192945084923392600080516020610e3c833981519152928290030190a3600101610c96565b5033600090815260208190526040902054610d2f9084610d44565b33600090815260208190526040902055505050565b6000610aaa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109b956fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122020affff926bc6e882bf198c6770ba1184422fc007b50156d99294450d81c2d3864736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806395d89b4111610097578063adcef8d411610066578063adcef8d414610316578063b2bdfa7b1461031e578063dd62ed3e14610342578063ff0782911461037057610100565b806395d89b41146102ae578063a253c06e146102b6578063a457c2d7146102be578063a9059cbb146102ea57610100565b8063313ce567116100d3578063313ce5671461021257806339509351146102305780635a76665c1461025c57806370a082311461028857610100565b806306fdde0314610105578063095ea7b31461018257806318160ddd146101c257806323b872dd146101dc575b600080fd5b61010d61038d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014757818101518382015260200161012f565b50505050905090810190601f1680156101745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ae6004803603604081101561019857600080fd5b506001600160a01b038135169060200135610423565b604080519115158252519081900360200190f35b6101ca610440565b60408051918252519081900360200190f35b6101ae600480360360608110156101f257600080fd5b506001600160a01b03813581169160208101359091169060400135610446565b61021a6104cd565b6040805160ff9092168252519081900360200190f35b6101ae6004803603604081101561024657600080fd5b506001600160a01b0381351690602001356104d6565b6101ca6004803603604081101561027257600080fd5b50803590602001356001600160a01b0316610524565b6101ca6004803603602081101561029e57600080fd5b50356001600160a01b0316610541565b61010d61055c565b6101ca6105bd565b6101ae600480360360408110156102d457600080fd5b506001600160a01b0381351690602001356105c3565b6101ae6004803603604081101561030057600080fd5b506001600160a01b03813516906020013561062b565b6101ca61063f565b610326610645565b604080516001600160a01b039092168252519081900360200190f35b6101ca6004803603604081101561035857600080fd5b506001600160a01b0381358116916020013516610659565b6103266004803603602081101561038657600080fd5b5035610684565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104195780601f106103ee57610100808354040283529160200191610419565b820191906000526020600020905b8154815290600101906020018083116103fc57829003601f168201915b5050505050905090565b600061043761043061069f565b84846106a3565b50600192915050565b60045490565b600061045384848461078f565b6104c38461045f61069f565b6104be85604051806060016040528060288152602001610e14602891396001600160a01b038a1660009081526001602052604081209061049d61069f565b6001600160a01b0316815260208101919091526040016000205491906109b9565b6106a3565b5060019392505050565b600c5460ff1690565b60006104376104e361069f565b846104be85600160006104f461069f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610a50565b600260209081526000928352604080842090915290825290205481565b6001600160a01b031660009081526020819052604090205490565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104195780601f106103ee57610100808354040283529160200191610419565b60055481565b60006104376105d061069f565b846104be85604051806060016040528060258152602001610ec660259139600160006105fa61069f565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906109b9565b600061043761063861069f565b848461078f565b60075481565b600c5461010090046001600160a01b031681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003602052600090815260409020546001600160a01b031681565b3390565b6001600160a01b0383166106e85760405162461bcd60e51b8152600401808060200182810382526024815260200180610ea26024913960400191505060405180910390fd5b6001600160a01b03821661072d5760405162461bcd60e51b8152600401808060200182810382526022815260200180610dcc6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166107d45760405162461bcd60e51b8152600401808060200182810382526025815260200180610e7d6025913960400191505060405180910390fd5b6001600160a01b0382166108195760405162461bcd60e51b8152600401808060200182810382526023815260200180610d876023913960400191505060405180910390fd5b600061082482610ab1565b90506108303382610ac0565b600061083b83610bcb565b6008549091506108569033906001600160a01b031683610bd9565b600061086184610c75565b60095490915061087c9033906001600160a01b031683610bd9565b61088883600654610c84565b6001600160a01b03851660009081526020819052604090205460028402830182018503906108b69082610a50565b600080886001600160a01b03166001600160a01b031681526020019081526020016000208190555061091b85604051806060016040528060268152602001610dee602691396001600160a01b038a1660009081526020819052604090205491906109b9565b6001600160a01b0380891660008181526020818152604080832095909555600654825260028152848220938b16808352938152908490208590558351858152935192939192600080516020610e3c8339815191529281900390910190a3505060068054600090815260036020526040902080546001600160a01b0319166001600160a01b039690961695909517909455505081546001019091555050565b60008184841115610a485760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610a0d5781810151838201526020016109f5565b50505050905090810190601f168015610a3a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610aaa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000806064835b049392505050565b6001600160a01b038216610b055760405162461bcd60e51b8152600401808060200182810382526021815260200180610e5c6021913960400191505060405180910390fd5b6d027716b6a0adc2d677c0800000006005541015610b2257600080fd5b610b5f81604051806060016040528060228152602001610daa602291396001600160a01b03851660009081526020819052604090205491906109b9565b6001600160a01b038316600090815260208190526040902055600454610b859082610d44565b600455600554610b959082610d44565b6005556040805182815290516000916001600160a01b03851691600080516020610e3c8339815191529181900360200190a35050565b600080606460028402610ab8565b6001600160a01b038216600090815260208190526040902054610bfc9082610a50565b6001600160a01b038084166000908152602081905260408082209390935590851681522054610c2b9082610d44565b6001600160a01b03808516600081815260208181526040918290209490945580518581529051928616939192600080516020610e3c833981519152929181900390910190a3505050565b6000806103e860028402610ab8565b6000818381610c8f57fe5b0460075560015b828111610d145760008181526003602090815260408083205460078054600285528386206001600160a01b0390931680875292855283862080549091019055805485855294839020805490950190945592548151908152905192945084923392600080516020610e3c833981519152928290030190a3600101610c96565b5033600090815260208190526040902054610d2f9084610d44565b33600090815260208190526040902055505050565b6000610aaa83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109b956fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122020affff926bc6e882bf198c6770ba1184422fc007b50156d99294450d81c2d3864736f6c63430007060033

Deployed Bytecode Sourcemap

10576:452:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8462:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3247:158;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3247:158:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2705:97;;;:::i;:::-;;;;;;;;;;;;;;;;3411:310;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3411:310:0;;;;;;;;;;;;;;;;;:::i;8644:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3727:207;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3727:207:0;;;;;;;;:::i;2270:62::-;;;;;;;;;;;;;;;;-1:-1:-1;2270:62:0;;;;;;-1:-1:-1;;;;;2270:62:0;;:::i;2808:116::-;;;;;;;;;;;;;;;;-1:-1:-1;2808:116:0;-1:-1:-1;;;;;2808:116:0;;:::i;8551:87::-;;;:::i;2440:30::-;;;:::i;3940:258::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3940:258:0;;;;;;;;:::i;2930:165::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2930:165:0;;;;;;;;:::i;2515:28::-;;;:::i;10718:21::-;;;:::i;:::-;;;;-1:-1:-1;;;;;10718:21:0;;;;;;;;;;;;;;3101:140;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3101:140:0;;;;;;;;;;:::i;2346:46::-;;;;;;;;;;;;;;;;-1:-1:-1;2346:46:0;;:::i;8462:83::-;8532:5;8525:12;;;;;;;;-1:-1:-1;;8525:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8499:13;;8525:12;;8532:5;;8525:12;;8532:5;8525:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8462:83;:::o;3247:158::-;3319:4;3336:39;3345:12;:10;:12::i;:::-;3359:7;3368:6;3336:8;:39::i;:::-;-1:-1:-1;3393:4:0;3247:158;;;;:::o;2705:97::-;2782:12;;2705:97;:::o;3411:310::-;3506:4;3523:36;3533:6;3541:9;3552:6;3523:9;:36::i;:::-;3570:121;3579:6;3587:12;:10;:12::i;:::-;3601:89;3639:6;3601:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3601:19:0;;;;;;:11;:19;;;;;;3621:12;:10;:12::i;:::-;-1:-1:-1;;;;;3601:33:0;;;;;;;;;;;;-1:-1:-1;3601:33:0;;;:89;:37;:89::i;:::-;3570:8;:121::i;:::-;-1:-1:-1;3709:4:0;3411:310;;;;;:::o;8644:83::-;8710:9;;;;8644:83;:::o;3727:207::-;3804:4;3821:83;3830:12;:10;:12::i;:::-;3844:7;3853:50;3892:10;3853:11;:25;3865:12;:10;:12::i;:::-;-1:-1:-1;;;;;3853:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;3853:25:0;;;:34;;;;;;;;;;;:38;:50::i;2270:62::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;2808:116::-;-1:-1:-1;;;;;2898:18:0;2874:4;2898:18;;;;;;;;;;;;2808:116::o;8551:87::-;8623:7;8616:14;;;;;;;;-1:-1:-1;;8616:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8590:13;;8616:14;;8623:7;;8616:14;;8623:7;8616:14;;;;;;;;;;;;;;;;;;;;;;;;2440:30;;;;:::o;3940:258::-;4022:4;4039:129;4048:12;:10;:12::i;:::-;4062:7;4071:96;4110:15;4071:96;;;;;;;;;;;;;;;;;:11;:25;4083:12;:10;:12::i;:::-;-1:-1:-1;;;;;4071:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;4071:25:0;;;:34;;;;;;;;;;;:96;:38;:96::i;2930:165::-;3006:4;3023:42;3033:12;:10;:12::i;:::-;3047:9;3058:6;3023:9;:42::i;2515:28::-;;;;:::o;10718:21::-;;;;;;-1:-1:-1;;;;;10718:21:0;;:::o;3101:140::-;-1:-1:-1;;;;;3206:18:0;;;3182:4;3206:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3101:140::o;2346:46::-;;;;;;;;;;;;-1:-1:-1;;;;;2346:46:0;;:::o;1967:90::-;2039:10;1967:90;:::o;6095:335::-;-1:-1:-1;;;;;6186:19:0;;6178:68;;;;-1:-1:-1;;;6178:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6265:21:0;;6257:68;;;;-1:-1:-1;;;6257:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6338:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6390:32;;;;;;;;;;;;;;;;;6095:335;;;:::o;4204:1204::-;-1:-1:-1;;;;;4299:20:0;;4291:70;;;;-1:-1:-1;;;4291:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4380:23:0;;4372:71;;;;-1:-1:-1;;;4372:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4456:19;4478:27;4498:6;4478:19;:27::i;:::-;4456:49;;4516:30;4522:10;4534:11;4516:5;:30::i;:::-;4567:19;4589:27;4609:6;4589:19;:27::i;:::-;4652:13;;4567:49;;-1:-1:-1;4627:52:0;;4640:10;;-1:-1:-1;;;;;4652:13:0;4567:49;4627:12;:52::i;:::-;4710:24;4737:32;4762:6;4737:24;:32::i;:::-;4809:11;;4710:59;;-1:-1:-1;4780:58:0;;4798:10;;-1:-1:-1;;;;;4809:11:0;4710:59;4780:17;:58::i;:::-;4849:38;4868:11;4881:5;;4849:18;:38::i;:::-;-1:-1:-1;;;;;5044:20:0;;4908:21;5044:20;;;;;;;;;;;4957:1;4943:15;;4942:31;;:50;;4932:61;;;5044:39;;4932:61;5044:24;:39::i;:::-;5021:9;:20;5031:9;-1:-1:-1;;;;;5021:20:0;-1:-1:-1;;;;;5021:20:0;;;;;;;;;;;;:62;;;;5114:71;5136:6;5114:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5114:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;5094:17:0;;;:9;:17;;;;;;;;;;;:91;;;;5217:5;;5204:19;;:12;:19;;;;;:30;;;;;;;;;;;;;:46;;;5266:42;;;;;;;5204:30;;5094:17;;-1:-1:-1;;;;;;;;;;;5266:42:0;;;;;;;;;-1:-1:-1;;5344:5:0;;;5329:21;;;;:14;:21;;;;;:33;;-1:-1:-1;;;;;;5329:33:0;-1:-1:-1;;;;;5329:33:0;;;;;;;;;;;-1:-1:-1;;5373:7:0;;-1:-1:-1;5373:7:0;;;;-1:-1:-1;;4204:1204:0:o;1044:180::-;1124:4;1157:12;1149:6;;;;1141:29;;;;-1:-1:-1;;;1141:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1190:5:0;;;1044:180::o;736:169::-;788:4;814:5;;;838:6;;;;830:46;;;;;-1:-1:-1;;;830:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;896:1;736:169;-1:-1:-1;;;736:169:0:o;6447:162::-;6510:7;;6570:3;6561:6;6557:16;;;6447:162;-1:-1:-1;;;6447:162:0:o;7671:474::-;-1:-1:-1;;;;;7744:21:0;;7736:67;;;;-1:-1:-1;;;7736:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7845:25;7822:18;;:49;;7814:58;;;;;;7904:68;7927:6;7904:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7904:18:0;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;7883:18:0;;:9;:18;;;;;;;;;;:89;7998:12;;:24;;8015:6;7998:16;:24::i;:::-;7983:12;:39;8054:18;;:30;;8077:6;8054:22;:30::i;:::-;8033:18;:51;8100:37;;;;;;;;8126:1;;-1:-1:-1;;;;;8100:37:0;;;-1:-1:-1;;;;;;;;;;;8100:37:0;;;;;;;;7671:474;;:::o;6622:162::-;6685:7;;6745:3;6732:1;:10;;:16;;6983:315;-1:-1:-1;;;;;7115:18:0;;:9;:18;;;;;;;;;;;:35;;7138:11;7115:22;:35::i;:::-;-1:-1:-1;;;;;7094:18:0;;;:9;:18;;;;;;;;;;;:56;;;;7181:17;;;;;;;:34;;7203:11;7181:21;:34::i;:::-;-1:-1:-1;;;;;7161:17:0;;;:9;:17;;;;;;;;;;;;:54;;;;7231:38;;;;;;;;;;;7161:17;;-1:-1:-1;;;;;;;;;;;7231:38:0;;;;;;;;;;6983:315;;;:::o;6803:168::-;6871:7;;6931:4;6927:1;6918:10;;:17;;5420:661;5518:21;5580:6;5566:11;:20;;;;;;5550:13;:36;5613:1;5597:364;5619:6;5616:1;:9;5597:364;;5673:17;;;;:14;:17;;;;;;;;;5771:13;;;5738:12;:15;;;;;-1:-1:-1;;;;;5673:17:0;;;5738:30;;;;;;;;;;;:46;;;5705:79;;5852:13;;5825:24;;;;;;;;;:40;;;5799:66;;;5935:13;;5898:51;;;;;;;5673:17;;-1:-1:-1;5673:17:0;;5907:10;;-1:-1:-1;;;;;;;;;;;5898:51:0;;;;;;;5628:3;;5597:364;;;-1:-1:-1;6015:10:0;6005:9;:21;;;;;;;;;;;:38;;6031:11;6005:25;:38::i;:::-;5991:10;5981:9;:21;;;;;;;;;;:62;-1:-1:-1;;;5420:661:0:o;911:127::-;963:4;987:43;991:1;994;987:43;;;;;;;;;;;;;;;;;:3;:43::i

Swarm Source

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