ERC-20
Overview
Max Total Supply
8,927,935.213502213420537445 MEDAL
Holders
470
Market
Price
$0.00 @ 0.000000 FTM
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
33,282.288660372348539076 MEDALValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x97DeB227...Cb8EF2126 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
ERC20
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at ftmscan.com on 2022-03-20 */ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.10; contract ERC20 { string public name; string public symbol; uint8 constant public decimals = 18; uint public totalSupply; address public operator; bool public transferable; mapping(address => uint) public balanceOf; mapping(address => mapping(address => uint)) public allowance; mapping (address => bool) public minters; mapping(address => bool) public recipientWhitelist; bytes32 public DOMAIN_SEPARATOR; bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9; mapping(address => uint) public nonces; modifier onlyOperator { require(msg.sender == operator, "ONLY OPERATOR"); _; } constructor(string memory name_, string memory symbol_) { name = name_; symbol = symbol_; operator = msg.sender; DOMAIN_SEPARATOR = keccak256( abi.encode( keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)'), keccak256(bytes(name)), keccak256(bytes('1')), block.chainid, address(this) ) ); } function setOperator(address newOperator_) public onlyOperator { operator = newOperator_; emit ChangeOperator(operator); } function addMinter(address minter_) public onlyOperator { minters[minter_] = true; emit AddMinter(minter_); } function removeMinter(address minter_) public onlyOperator { minters[minter_] = false; emit RemoveMinter(minter_); } function mint(address to, uint amount) public { require(minters[msg.sender] == true || msg.sender == operator, "ONLY MINTERS OR OPERATOR"); _mint(to, amount); } function burn(uint amount) public { _burn(msg.sender, amount); } function _mint(address to, uint value) internal { totalSupply = totalSupply + value; balanceOf[to] = balanceOf[to] + value; emit Transfer(address(0), to, value); } function _burn(address from, uint value) internal { balanceOf[from] = balanceOf[from] - value; totalSupply = totalSupply - value; emit Transfer(from, address(0), value); } function _approve(address owner, address spender, uint value) private { allowance[owner][spender] = value; emit Approval(owner, spender, value); } function _transfer(address from, address to, uint value) private { require(transferable || recipientWhitelist[to], "Token is not transferrable and the recipient is not whitelisted!"); balanceOf[from] = balanceOf[from] - value; balanceOf[to] = balanceOf[to] + value; emit Transfer(from, to, value); } function approve(address spender, uint value) external returns (bool) { _approve(msg.sender, spender, value); return true; } function transfer(address to, uint value) external returns (bool) { _transfer(msg.sender, to, value); return true; } function transferFrom(address from, address to, uint value) external returns (bool) { if (allowance[from][msg.sender] != type(uint).max) { allowance[from][msg.sender] = allowance[from][msg.sender] - value; } _transfer(from, to, value); return true; } function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external { require(deadline >= block.timestamp, 'EXPIRED'); bytes32 digest = keccak256( abi.encodePacked( '\x19\x01', DOMAIN_SEPARATOR, keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, nonces[owner]++, deadline)) ) ); address recoveredAddress = ecrecover(digest, v, r, s); require(recoveredAddress != address(0) && recoveredAddress == owner, 'INVALID_SIGNATURE'); _approve(owner, spender, value); } function whitelist(address _recipient, bool _isWhitelisted) public onlyOperator { recipientWhitelist[_recipient] = _isWhitelisted; emit WhiteList(_recipient, _isWhitelisted); } function openTheGates() public onlyOperator { transferable = true; } event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); event AddMinter(address indexed minter); event RemoveMinter(address indexed minter); event ChangeOperator(address indexed newOperator); event WhiteList(address indexed _recipient, bool _isWhitelisted); } interface IERC20 { function transferFrom(address,address,uint) external returns (bool); function transfer(address,uint) external returns (bool); } contract ToxicityBond { address public dev; IERC20 public immutable dola; ERC20 public immutable ticket; uint public escapeTimestamp = block.timestamp + 90 days; uint public immutable joinDeadline = block.timestamp + 7 days; mapping (address => uint) public bonds; constructor(IERC20 _dola) { dev = msg.sender; dola = _dola; ticket = new ERC20("DeFi Olympiads Ticket", "TICKET"); ticket.addMinter(address(this)); ticket.setOperator(msg.sender); } function kneel(uint bond) public { require(block.timestamp < joinDeadline, "too late"); bonds[msg.sender] += bond; dola.transferFrom(msg.sender, address(this), bond); ticket.mint(msg.sender, bond); } function escape() public { require(block.timestamp > escapeTimestamp, "too early"); dola.transfer(msg.sender, bonds[msg.sender]); bonds[msg.sender] = 0; } function punish() public { require(msg.sender == dev, "only dev can punish"); require(block.timestamp < escapeTimestamp, "they've escaped!"); require(escapeTimestamp - block.timestamp < 30 days, "only when < 30 days are left to escape"); escapeTimestamp += 30 days; } function setDev(address _dev) public { require(msg.sender == dev, "only dev can set dev"); dev = _dev; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"AddMinter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newOperator","type":"address"}],"name":"ChangeOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"}],"name":"RemoveMinter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_recipient","type":"address"},{"indexed":false,"internalType":"bool","name":"_isWhitelisted","type":"bool"}],"name":"WhiteList","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter_","type":"address"}],"name":"addMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"minters","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTheGates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"operator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"recipientWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"minter_","type":"address"}],"name":"removeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOperator_","type":"address"}],"name":"setOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"bool","name":"_isWhitelisted","type":"bool"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b506040516200136f3803806200136f83398101604081905262000034916200029e565b8151620000499060009060208501906200012b565b5080516200005f9060019060208401906200012b565b50600380546001600160a01b031916331790556040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90620000a59060009062000345565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c001604051602081830303815290604052805190602001206008819055505050620003e9565b828054620001399062000308565b90600052602060002090601f0160209004810192826200015d5760008555620001a8565b82601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f957600080fd5b81516001600160401b0380821115620002165762000216620001d1565b604051601f8301601f19908116603f01168101908282118183101715620002415762000241620001d1565b816040528381526020925086838588010111156200025e57600080fd5b600091505b8382101562000282578582018301518183018401529082019062000263565b83821115620002945760008385830101525b9695505050505050565b60008060408385031215620002b257600080fd5b82516001600160401b0380821115620002ca57600080fd5b620002d886838701620001e7565b93506020850151915080821115620002ef57600080fd5b50620002fe85828601620001e7565b9150509250929050565b600181811c908216806200031d57607f821691505b602082108114156200033f57634e487b7160e01b600052602260045260246000fd5b50919050565b600080835481600182811c9150808316806200036257607f831692505b60208084108214156200038357634e487b7160e01b86526022600452602486fd5b8180156200039a5760018114620003ac57620003db565b60ff19861689528489019650620003db565b60008a81526020902060005b86811015620003d35781548b820152908501908301620003b8565b505084890196505b509498975050505050505050565b610f7680620003f96000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80637bbdad11116100c3578063a9059cbb1161007c578063a9059cbb14610312578063b3ab15fb14610325578063d505accf14610338578063dd62ed3e1461034b578063f46eccc414610376578063f59c37081461039957600080fd5b80637bbdad11146102985780637ecebe00146102a057806392ff0d31146102c057806395d89b41146102d4578063983b2d56146102dc578063a8186558146102ef57600080fd5b8063313ce56711610115578063313ce567146102045780633644e5151461021e57806340c10f191461022757806342966c681461023a578063570ca7351461024d57806370a082311461027857600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b55780633092afd5146101c857806330adf81f146101dd575b600080fd5b6101656103ac565b6040516101729190610c8a565b60405180910390f35b61018e610189366004610cfb565b61043a565b6040519015158152602001610172565b6101a760025481565b604051908152602001610172565b61018e6101c3366004610d25565b610450565b6101db6101d6366004610d61565b6104e5565b005b6101a77f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61020c601281565b60405160ff9091168152602001610172565b6101a760085481565b6101db610235366004610cfb565b610561565b6101db610248366004610d83565b6105e8565b600354610260906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b6101a7610286366004610d61565b60046020526000908152604090205481565b6101db6105f5565b6101a76102ae366004610d61565b60096020526000908152604090205481565b60035461018e90600160a01b900460ff1681565b610165610634565b6101db6102ea366004610d61565b610641565b61018e6102fd366004610d61565b60076020526000908152604090205460ff1681565b61018e610320366004610cfb565b6106b7565b6101db610333366004610d61565b6106c4565b6101db610346366004610d9c565b610738565b6101a7610359366004610e0f565b600560209081526000928352604080842090915290825290205481565b61018e610384366004610d61565b60066020526000908152604090205460ff1681565b6101db6103a7366004610e42565b610935565b600080546103b990610e7e565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590610e7e565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b505050505081565b60006104473384846109be565b50600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104d0576001600160a01b03841660009081526005602090815260408083203384529091529020546104ab908390610ecf565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104db848484610a20565b5060019392505050565b6003546001600160a01b031633146105185760405162461bcd60e51b815260040161050f90610ee6565b60405180910390fd5b6001600160a01b038116600081815260066020526040808220805460ff19169055517f2f91b591fc56ac0917953ad01ec225524ee5ef0555213e4c8a9d8c9728ee7ffb9190a250565b3360009081526006602052604090205460ff1615156001148061058e57506003546001600160a01b031633145b6105da5760405162461bcd60e51b815260206004820152601860248201527f4f4e4c59204d494e54455253204f52204f50455241544f520000000000000000604482015260640161050f565b6105e48282610b6c565b5050565b6105f23382610bfe565b50565b6003546001600160a01b0316331461061f5760405162461bcd60e51b815260040161050f90610ee6565b6003805460ff60a01b1916600160a01b179055565b600180546103b990610e7e565b6003546001600160a01b0316331461066b5760405162461bcd60e51b815260040161050f90610ee6565b6001600160a01b038116600081815260066020526040808220805460ff19166001179055517f16baa937b08d58713325f93ac58b8a9369a4359bbefb4957d6d9b402735722ab9190a250565b6000610447338484610a20565b6003546001600160a01b031633146106ee5760405162461bcd60e51b815260040161050f90610ee6565b600380546001600160a01b0319166001600160a01b0383169081179091556040517f8eb831fe42156caaf4721a87ad40c6e662b893dbeee76d7a3ed2564a318b091c90600090a250565b428410156107725760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b604482015260640161050f565b6008546001600160a01b038816600090815260096020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876107c583610f0d565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161083e92919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156108a9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906108df5750886001600160a01b0316816001600160a01b0316145b61091f5760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015260640161050f565b61092a8989896109be565b505050505050505050565b6003546001600160a01b0316331461095f5760405162461bcd60e51b815260040161050f90610ee6565b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f606548d83067f365e979d5a0f16d7a3bff7c9184f76176a71e8a67c55a8cc7bd910160405180910390a25050565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600354600160a01b900460ff1680610a5057506001600160a01b03821660009081526007602052604090205460ff165b610ac4576040805162461bcd60e51b81526020600482015260248101919091527f546f6b656e206973206e6f74207472616e736665727261626c6520616e64207460448201527f686520726563697069656e74206973206e6f742077686974656c697374656421606482015260840161050f565b6001600160a01b038316600090815260046020526040902054610ae8908290610ecf565b6001600160a01b038085166000908152600460205260408082209390935590841681522054610b18908290610f28565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a139085815260200190565b80600254610b7a9190610f28565b6002556001600160a01b038216600090815260046020526040902054610ba1908290610f28565b6001600160a01b0383166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bf29085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260046020526040902054610c22908290610ecf565b6001600160a01b038316600090815260046020526040902055600254610c49908290610ecf565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b600060208083528351808285015260005b81811015610cb757858101830151858201604001528201610c9b565b81811115610cc9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610cf657600080fd5b919050565b60008060408385031215610d0e57600080fd5b610d1783610cdf565b946020939093013593505050565b600080600060608486031215610d3a57600080fd5b610d4384610cdf565b9250610d5160208501610cdf565b9150604084013590509250925092565b600060208284031215610d7357600080fd5b610d7c82610cdf565b9392505050565b600060208284031215610d9557600080fd5b5035919050565b600080600080600080600060e0888a031215610db757600080fd5b610dc088610cdf565b9650610dce60208901610cdf565b95506040880135945060608801359350608088013560ff81168114610df257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610e2257600080fd5b610e2b83610cdf565b9150610e3960208401610cdf565b90509250929050565b60008060408385031215610e5557600080fd5b610e5e83610cdf565b915060208301358015158114610e7357600080fd5b809150509250929050565b600181811c90821680610e9257607f821691505b60208210811415610eb357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610ee157610ee1610eb9565b500390565b6020808252600d908201526c27a7262c9027a822a920aa27a960991b604082015260600190565b6000600019821415610f2157610f21610eb9565b5060010190565b60008219821115610f3b57610f3b610eb9565b50019056fea2646970667358221220ee6bf055c1ccb0fff16dc228d833dfb954028b9d50a649b3bc993ac11ff51f7464736f6c634300080a003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001544654669204f6c796d7069616473205469636b6574000000000000000000000000000000000000000000000000000000000000000000000000000000000000065449434b45540000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101585760003560e01c80637bbdad11116100c3578063a9059cbb1161007c578063a9059cbb14610312578063b3ab15fb14610325578063d505accf14610338578063dd62ed3e1461034b578063f46eccc414610376578063f59c37081461039957600080fd5b80637bbdad11146102985780637ecebe00146102a057806392ff0d31146102c057806395d89b41146102d4578063983b2d56146102dc578063a8186558146102ef57600080fd5b8063313ce56711610115578063313ce567146102045780633644e5151461021e57806340c10f191461022757806342966c681461023a578063570ca7351461024d57806370a082311461027857600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b55780633092afd5146101c857806330adf81f146101dd575b600080fd5b6101656103ac565b6040516101729190610c8a565b60405180910390f35b61018e610189366004610cfb565b61043a565b6040519015158152602001610172565b6101a760025481565b604051908152602001610172565b61018e6101c3366004610d25565b610450565b6101db6101d6366004610d61565b6104e5565b005b6101a77f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61020c601281565b60405160ff9091168152602001610172565b6101a760085481565b6101db610235366004610cfb565b610561565b6101db610248366004610d83565b6105e8565b600354610260906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b6101a7610286366004610d61565b60046020526000908152604090205481565b6101db6105f5565b6101a76102ae366004610d61565b60096020526000908152604090205481565b60035461018e90600160a01b900460ff1681565b610165610634565b6101db6102ea366004610d61565b610641565b61018e6102fd366004610d61565b60076020526000908152604090205460ff1681565b61018e610320366004610cfb565b6106b7565b6101db610333366004610d61565b6106c4565b6101db610346366004610d9c565b610738565b6101a7610359366004610e0f565b600560209081526000928352604080842090915290825290205481565b61018e610384366004610d61565b60066020526000908152604090205460ff1681565b6101db6103a7366004610e42565b610935565b600080546103b990610e7e565b80601f01602080910402602001604051908101604052809291908181526020018280546103e590610e7e565b80156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b505050505081565b60006104473384846109be565b50600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104d0576001600160a01b03841660009081526005602090815260408083203384529091529020546104ab908390610ecf565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104db848484610a20565b5060019392505050565b6003546001600160a01b031633146105185760405162461bcd60e51b815260040161050f90610ee6565b60405180910390fd5b6001600160a01b038116600081815260066020526040808220805460ff19169055517f2f91b591fc56ac0917953ad01ec225524ee5ef0555213e4c8a9d8c9728ee7ffb9190a250565b3360009081526006602052604090205460ff1615156001148061058e57506003546001600160a01b031633145b6105da5760405162461bcd60e51b815260206004820152601860248201527f4f4e4c59204d494e54455253204f52204f50455241544f520000000000000000604482015260640161050f565b6105e48282610b6c565b5050565b6105f23382610bfe565b50565b6003546001600160a01b0316331461061f5760405162461bcd60e51b815260040161050f90610ee6565b6003805460ff60a01b1916600160a01b179055565b600180546103b990610e7e565b6003546001600160a01b0316331461066b5760405162461bcd60e51b815260040161050f90610ee6565b6001600160a01b038116600081815260066020526040808220805460ff19166001179055517f16baa937b08d58713325f93ac58b8a9369a4359bbefb4957d6d9b402735722ab9190a250565b6000610447338484610a20565b6003546001600160a01b031633146106ee5760405162461bcd60e51b815260040161050f90610ee6565b600380546001600160a01b0319166001600160a01b0383169081179091556040517f8eb831fe42156caaf4721a87ad40c6e662b893dbeee76d7a3ed2564a318b091c90600090a250565b428410156107725760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b604482015260640161050f565b6008546001600160a01b038816600090815260096020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876107c583610f0d565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161083e92919061190160f01b81526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156108a9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906108df5750886001600160a01b0316816001600160a01b0316145b61091f5760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015260640161050f565b61092a8989896109be565b505050505050505050565b6003546001600160a01b0316331461095f5760405162461bcd60e51b815260040161050f90610ee6565b6001600160a01b038216600081815260076020908152604091829020805460ff191685151590811790915591519182527f606548d83067f365e979d5a0f16d7a3bff7c9184f76176a71e8a67c55a8cc7bd910160405180910390a25050565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600354600160a01b900460ff1680610a5057506001600160a01b03821660009081526007602052604090205460ff165b610ac4576040805162461bcd60e51b81526020600482015260248101919091527f546f6b656e206973206e6f74207472616e736665727261626c6520616e64207460448201527f686520726563697069656e74206973206e6f742077686974656c697374656421606482015260840161050f565b6001600160a01b038316600090815260046020526040902054610ae8908290610ecf565b6001600160a01b038085166000908152600460205260408082209390935590841681522054610b18908290610f28565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a139085815260200190565b80600254610b7a9190610f28565b6002556001600160a01b038216600090815260046020526040902054610ba1908290610f28565b6001600160a01b0383166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bf29085815260200190565b60405180910390a35050565b6001600160a01b038216600090815260046020526040902054610c22908290610ecf565b6001600160a01b038316600090815260046020526040902055600254610c49908290610ecf565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b600060208083528351808285015260005b81811015610cb757858101830151858201604001528201610c9b565b81811115610cc9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610cf657600080fd5b919050565b60008060408385031215610d0e57600080fd5b610d1783610cdf565b946020939093013593505050565b600080600060608486031215610d3a57600080fd5b610d4384610cdf565b9250610d5160208501610cdf565b9150604084013590509250925092565b600060208284031215610d7357600080fd5b610d7c82610cdf565b9392505050565b600060208284031215610d9557600080fd5b5035919050565b600080600080600080600060e0888a031215610db757600080fd5b610dc088610cdf565b9650610dce60208901610cdf565b95506040880135945060608801359350608088013560ff81168114610df257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610e2257600080fd5b610e2b83610cdf565b9150610e3960208401610cdf565b90509250929050565b60008060408385031215610e5557600080fd5b610e5e83610cdf565b915060208301358015158114610e7357600080fd5b809150509250929050565b600181811c90821680610e9257607f821691505b60208210811415610eb357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610ee157610ee1610eb9565b500390565b6020808252600d908201526c27a7262c9027a822a920aa27a960991b604082015260600190565b6000600019821415610f2157610f21610eb9565b5060010190565b60008219821115610f3b57610f3b610eb9565b50019056fea2646970667358221220ee6bf055c1ccb0fff16dc228d833dfb954028b9d50a649b3bc993ac11ff51f7464736f6c634300080a0033
Deployed Bytecode Sourcemap
67:4843:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;89:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2964:147;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;2964:147:0;1053:187:1;183:23:0;;;;;;;;;1391:25:1;;;1379:2;1364:18;183:23:0;1245:177:1;3266:304:0;;;;;;:::i;:::-;;:::i;1601:139::-;;;;;;:::i;:::-;;:::i;:::-;;534:108;;576:66;534:108;;141:35;;174:2;141:35;;;;;2305:4:1;2293:17;;;2275:36;;2263:2;2248:18;141:35:0;2133:184:1;496:31:0;;;;;;1748:183;;;;;;:::i;:::-;;:::i;1939:78::-;;;;;;:::i;:::-;;:::i;213:23::-;;;;;-1:-1:-1;;;;;213:23:0;;;;;;-1:-1:-1;;;;;2671:32:1;;;2653:51;;2641:2;2626:18;213:23:0;2507:203:1;274:41:0;;;;;;:::i;:::-;;;;;;;;;;;;;;4445:82;;;:::i;649:38::-;;;;;;:::i;:::-;;;;;;;;;;;;;;243:24;;;;;-1:-1:-1;;;243:24:0;;;;;;114:20;;;:::i;1461:132::-;;;;;;:::i;:::-;;:::i;437:50::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3119:139;;;;;;:::i;:::-;;:::i;1308:145::-;;;;;;:::i;:::-;;:::i;3578:652::-;;;;;;:::i;:::-;;:::i;322:61::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;390:40;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4238:199;;;;;;:::i;:::-;;:::i;89:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2964:147::-;3028:4;3045:36;3054:10;3066:7;3075:5;3045:8;:36::i;:::-;-1:-1:-1;3099:4:0;2964:147;;;;:::o;3266:304::-;-1:-1:-1;;;;;3365:15:0;;3344:4;3365:15;;;:9;:15;;;;;;;;3381:10;3365:27;;;;;;;;-1:-1:-1;;3365:45:0;3361:143;;-1:-1:-1;;;;;3457:15:0;;;;;;:9;:15;;;;;;;;3473:10;3457:27;;;;;;;;:35;;3487:5;;3457:35;:::i;:::-;-1:-1:-1;;;;;3427:15:0;;;;;;:9;:15;;;;;;;;3443:10;3427:27;;;;;;;:65;3361:143;3514:26;3524:4;3530:2;3534:5;3514:9;:26::i;:::-;-1:-1:-1;3558:4:0;3266:304;;;;;:::o;1601:139::-;751:8;;-1:-1:-1;;;;;751:8:0;737:10;:22;729:48;;;;-1:-1:-1;;;729:48:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;1671:16:0;::::1;1690:5;1671:16:::0;;;:7:::1;:16;::::0;;;;;:24;;-1:-1:-1;;1671:24:0::1;::::0;;1711:21;::::1;::::0;1690:5;1711:21:::1;1601:139:::0;:::o;1748:183::-;1821:10;1813:19;;;;:7;:19;;;;;;;;:27;;:19;:27;;:53;;-1:-1:-1;1858:8:0;;-1:-1:-1;;;;;1858:8:0;1844:10;:22;1813:53;1805:90;;;;-1:-1:-1;;;1805:90:0;;5221:2:1;1805:90:0;;;5203:21:1;5260:2;5240:18;;;5233:30;5299:26;5279:18;;;5272:54;5343:18;;1805:90:0;5019:348:1;1805:90:0;1906:17;1912:2;1916:6;1906:5;:17::i;:::-;1748:183;;:::o;1939:78::-;1984:25;1990:10;2002:6;1984:5;:25::i;:::-;1939:78;:::o;4445:82::-;751:8;;-1:-1:-1;;;;;751:8:0;737:10;:22;729:48;;;;-1:-1:-1;;;729:48:0;;;;;;;:::i;:::-;4500:12:::1;:19:::0;;-1:-1:-1;;;;4500:19:0::1;-1:-1:-1::0;;;4500:19:0::1;::::0;;4445:82::o;114:20::-;;;;;;;:::i;1461:132::-;751:8;;-1:-1:-1;;;;;751:8:0;737:10;:22;729:48;;;;-1:-1:-1;;;729:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1528:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;:23;;-1:-1:-1;;1528:23:0::1;1547:4;1528:23;::::0;;1567:18;::::1;::::0;1528:16;1567:18:::1;1461:132:::0;:::o;3119:139::-;3179:4;3196:32;3206:10;3218:2;3222:5;3196:9;:32::i;1308:145::-;751:8;;-1:-1:-1;;;;;751:8:0;737:10;:22;729:48;;;;-1:-1:-1;;;729:48:0;;;;;;;:::i;:::-;1382:8:::1;:23:::0;;-1:-1:-1;;;;;;1382:23:0::1;-1:-1:-1::0;;;;;1382:23:0;::::1;::::0;;::::1;::::0;;;1421:24:::1;::::0;::::1;::::0;-1:-1:-1;;1421:24:0::1;1308:145:::0;:::o;3578:652::-;3724:15;3712:8;:27;;3704:47;;;;-1:-1:-1;;;3704:47:0;;5574:2:1;3704:47:0;;;5556:21:1;5613:1;5593:18;;;5586:29;-1:-1:-1;;;5631:18:1;;;5624:37;5678:18;;3704:47:0;5372:330:1;3704:47:0;3867:16;;-1:-1:-1;;;;;3963:13:0;;3762:14;3963:13;;;:6;:13;;;;;:15;;3762:14;;3867:16;576:66;;3940:5;;3947:7;;3956:5;;3963:15;3762:14;3963:15;;;:::i;:::-;;;;-1:-1:-1;3912:77:0;;;;;;6134:25:1;;;;-1:-1:-1;;;;;6233:15:1;;;6213:18;;;6206:43;6285:15;;;;6265:18;;;6258:43;6317:18;;;6310:34;6360:19;;;6353:35;6404:19;;;6397:35;;;6106:19;;3912:77:0;;;;;;;;;;;;3902:88;;;;;;3803:202;;;;;;;;-1:-1:-1;;;6701:27:1;;6753:1;6744:11;;6737:27;;;;6789:2;6780:12;;6773:28;6826:2;6817:12;;6443:392;3803:202:0;;;;-1:-1:-1;;3803:202:0;;;;;;;;;3779:237;;3803:202;3779:237;;;;4027:24;4054:26;;;;;;;;;7067:25:1;;;7140:4;7128:17;;7108:18;;;7101:45;;;;7162:18;;;7155:34;;;7205:18;;;7198:34;;;3779:237:0;;-1:-1:-1;4027:24:0;4054:26;;7039:19:1;;4054:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4054:26:0;;-1:-1:-1;;4054:26:0;;;-1:-1:-1;;;;;;;4099:30:0;;;;;;:59;;;4153:5;-1:-1:-1;;;;;4133:25:0;:16;-1:-1:-1;;;;;4133:25:0;;4099:59;4091:89;;;;-1:-1:-1;;;4091:89:0;;7445:2:1;4091:89:0;;;7427:21:1;7484:2;7464:18;;;7457:30;-1:-1:-1;;;7503:18:1;;;7496:47;7560:18;;4091:89:0;7243:341:1;4091:89:0;4191:31;4200:5;4207:7;4216:5;4191:8;:31::i;:::-;3693:537;;3578:652;;;;;;;:::o;4238:199::-;751:8;;-1:-1:-1;;;;;751:8:0;737:10;:22;729:48;;;;-1:-1:-1;;;729:48:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4329:30:0;::::1;;::::0;;;:18:::1;:30;::::0;;;;;;;;:47;;-1:-1:-1;;4329:47:0::1;::::0;::::1;;::::0;;::::1;::::0;;;4392:37;;1193:41:1;;;4392:37:0::1;::::0;1166:18:1;4392:37:0::1;;;;;;;4238:199:::0;;:::o;2439:169::-;-1:-1:-1;;;;;2520:16:0;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;2569:31;;1391:25:1;;;2569:31:0;;1364:18:1;2569:31:0;;;;;;;;2439:169;;;:::o;2616:340::-;2700:12;;-1:-1:-1;;;2700:12:0;;;;;:38;;-1:-1:-1;;;;;;2716:22:0;;;;;;:18;:22;;;;;;;;2700:38;2692:115;;;;;-1:-1:-1;;;2692:115:0;;7791:2:1;2692:115:0;;;7773:21:1;7810:18;;;7803:30;;;;7869:34;7849:18;;;7842:62;7940:34;7920:18;;;7913:62;7992:19;;2692:115:0;7589:428:1;2692:115:0;-1:-1:-1;;;;;2836:15:0;;;;;;:9;:15;;;;;;:23;;2854:5;;2836:23;:::i;:::-;-1:-1:-1;;;;;2818:15:0;;;;;;;:9;:15;;;;;;:41;;;;2886:13;;;;;;;:21;;2902:5;;2886:21;:::i;:::-;-1:-1:-1;;;;;2870:13:0;;;;;;;:9;:13;;;;;;;:37;;;;2923:25;;;;;;;;;;2942:5;1391:25:1;;1379:2;1364:18;;1245:177;2025:195:0;2112:5;2098:11;;:19;;;;:::i;:::-;2084:11;:33;-1:-1:-1;;;;;2144:13:0;;;;;;:9;:13;;;;;;:21;;2160:5;;2144:21;:::i;:::-;-1:-1:-1;;;;;2128:13:0;;;;;;:9;:13;;;;;;:37;;;;2181:31;;2128:13;;;2181:31;;;;2206:5;1391:25:1;;1379:2;1364:18;;1245:177;2181:31:0;;;;;;;;2025:195;;:::o;2228:203::-;-1:-1:-1;;;;;2307:15:0;;;;;;:9;:15;;;;;;:23;;2325:5;;2307:23;:::i;:::-;-1:-1:-1;;;;;2289:15:0;;;;;;:9;:15;;;;;:41;2355:11;;:19;;2369:5;;2355:19;:::i;:::-;2341:11;:33;2390;;1391:25:1;;;2413:1:0;;-1:-1:-1;;;;;2390:33:0;;;;;1379:2:1;1364:18;2390:33:0;1245:177:1;14:597;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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;713:70;616:173;;;:::o;794:254::-;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1427:328::-;1504:6;1512;1520;1573:2;1561:9;1552:7;1548:23;1544:32;1541:52;;;1589:1;1586;1579:12;1541:52;1612:29;1631:9;1612:29;:::i;:::-;1602:39;;1660:38;1694:2;1683:9;1679:18;1660:38;:::i;:::-;1650:48;;1745:2;1734:9;1730:18;1717:32;1707:42;;1427:328;;;;;:::o;1760:186::-;1819:6;1872:2;1860:9;1851:7;1847:23;1843:32;1840:52;;;1888:1;1885;1878:12;1840:52;1911:29;1930:9;1911:29;:::i;:::-;1901:39;1760:186;-1:-1:-1;;;1760:186:1:o;2322:180::-;2381:6;2434:2;2422:9;2413:7;2409:23;2405:32;2402:52;;;2450:1;2447;2440:12;2402:52;-1:-1:-1;2473:23:1;;2322:180;-1:-1:-1;2322:180:1:o;2715:693::-;2826:6;2834;2842;2850;2858;2866;2874;2927:3;2915:9;2906:7;2902:23;2898:33;2895:53;;;2944:1;2941;2934:12;2895:53;2967:29;2986:9;2967:29;:::i;:::-;2957:39;;3015:38;3049:2;3038:9;3034:18;3015:38;:::i;:::-;3005:48;;3100:2;3089:9;3085:18;3072:32;3062:42;;3151:2;3140:9;3136:18;3123:32;3113:42;;3205:3;3194:9;3190:19;3177:33;3250:4;3243:5;3239:16;3232:5;3229:27;3219:55;;3270:1;3267;3260:12;3219:55;2715:693;;;;-1:-1:-1;2715:693:1;;;;3293:5;3345:3;3330:19;;3317:33;;-1:-1:-1;3397:3:1;3382:19;;;3369:33;;2715:693;-1:-1:-1;;2715:693:1:o;3413:260::-;3481:6;3489;3542:2;3530:9;3521:7;3517:23;3513:32;3510:52;;;3558:1;3555;3548:12;3510:52;3581:29;3600:9;3581:29;:::i;:::-;3571:39;;3629:38;3663:2;3652:9;3648:18;3629:38;:::i;:::-;3619:48;;3413:260;;;;;:::o;3678:347::-;3743:6;3751;3804:2;3792:9;3783:7;3779:23;3775:32;3772:52;;;3820:1;3817;3810:12;3772:52;3843:29;3862:9;3843:29;:::i;:::-;3833:39;;3922:2;3911:9;3907:18;3894:32;3969:5;3962:13;3955:21;3948:5;3945:32;3935:60;;3991:1;3988;3981:12;3935:60;4014:5;4004:15;;;3678:347;;;;;:::o;4030:380::-;4109:1;4105:12;;;;4152;;;4173:61;;4227:4;4219:6;4215:17;4205:27;;4173:61;4280:2;4272:6;4269:14;4249:18;4246:38;4243:161;;;4326:10;4321:3;4317:20;4314:1;4307:31;4361:4;4358:1;4351:15;4389:4;4386:1;4379:15;4243:161;;4030:380;;;:::o;4415:127::-;4476:10;4471:3;4467:20;4464:1;4457:31;4507:4;4504:1;4497:15;4531:4;4528:1;4521:15;4547:125;4587:4;4615:1;4612;4609:8;4606:34;;;4620:18;;:::i;:::-;-1:-1:-1;4657:9:1;;4547:125::o;4677:337::-;4879:2;4861:21;;;4918:2;4898:18;;;4891:30;-1:-1:-1;;;4952:2:1;4937:18;;4930:43;5005:2;4990:18;;4677:337::o;5707:135::-;5746:3;-1:-1:-1;;5767:17:1;;5764:43;;;5787:18;;:::i;:::-;-1:-1:-1;5834:1:1;5823:13;;5707:135::o;8022:128::-;8062:3;8093:1;8089:6;8086:1;8083:13;8080:39;;;8099:18;;:::i;:::-;-1:-1:-1;8135:9:1;;8022:128::o
Swarm Source
ipfs://ee6bf055c1ccb0fff16dc228d833dfb954028b9d50a649b3bc993ac11ff51f74
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.