Loading
[ { "inputs": [ { "internalType": "address", "name": "initialOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "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": "value", "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": "account", "type": "address" } ], "name": "hasRestrictionFlag", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "increaseSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "removeRestrictionFlag", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "setRestrictionFlag", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801562000010575f80fd5b506040516200206738038062002067833981810160405281019062000036919062000576565b806040518060400160405280600881526020017f46726565504550450000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f46525045504500000000000000000000000000000000000000000000000000008152508160039081620000b491906200080a565b508060049081620000c691906200080a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013c575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001339190620008ff565b60405180910390fd5b6200014d816200019860201b60201c565b506200019181620001636200025b60201b60201c565b60ff16600a62000174919062000a97565b633b9aca0062000185919062000ae7565b6200026360201b60201c565b5062000bd2565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d6575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002cd9190620008ff565b60405180910390fd5b620002e95f8383620002ed60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000341578060025f82825462000334919062000b31565b9250508190555062000412565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620003cd578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620003c49392919062000b7c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200045b578060025f8282540392505081905550620004a5565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000504919062000bb7565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005408262000515565b9050919050565b620005528162000534565b81146200055d575f80fd5b50565b5f81519050620005708162000547565b92915050565b5f602082840312156200058e576200058d62000511565b5b5f6200059d8482850162000560565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200062257607f821691505b602082108103620006385762000637620005dd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200069c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200065f565b620006a886836200065f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006f2620006ec620006e684620006c0565b620006c9565b620006c0565b9050919050565b5f819050919050565b6200070d83620006d2565b620007256200071c82620006f9565b8484546200066b565b825550505050565b5f90565b6200073b6200072d565b6200074881848462000702565b505050565b5b818110156200076f57620007635f8262000731565b6001810190506200074e565b5050565b601f821115620007be5762000788816200063e565b620007938462000650565b81016020851015620007a3578190505b620007bb620007b28562000650565b8301826200074d565b50505b505050565b5f82821c905092915050565b5f620007e05f1984600802620007c3565b1980831691505092915050565b5f620007fa8383620007cf565b9150826002028217905092915050565b6200081582620005a6565b67ffffffffffffffff811115620008315762000830620005b0565b5b6200083d82546200060a565b6200084a82828562000773565b5f60209050601f83116001811462000880575f84156200086b578287015190505b620008778582620007ed565b865550620008e6565b601f19841662000890866200063e565b5f5b82811015620008b95784890151825560018201915060208501945060208101905062000892565b86831015620008d95784890151620008d5601f891682620007cf565b8355505b6001600288020188555050505b505050505050565b620008f98162000534565b82525050565b5f602082019050620009145f830184620008ee565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620009a4578086048111156200097c576200097b6200091a565b5b60018516156200098c5780820291505b80810290506200099c8562000947565b94506200095c565b94509492505050565b5f82620009be576001905062000a90565b81620009cd575f905062000a90565b8160018114620009e65760028114620009f15762000a27565b600191505062000a90565b60ff84111562000a065762000a056200091a565b5b8360020a91508482111562000a205762000a1f6200091a565b5b5062000a90565b5060208310610133831016604e8410600b841016171562000a615782820a90508381111562000a5b5762000a5a6200091a565b5b62000a90565b62000a70848484600162000953565b9250905081840481111562000a8a5762000a896200091a565b5b81810290505b9392505050565b5f62000aa382620006c0565b915062000ab083620006c0565b925062000adf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009ad565b905092915050565b5f62000af382620006c0565b915062000b0083620006c0565b925082820262000b1081620006c0565b9150828204841483151762000b2a5762000b296200091a565b5b5092915050565b5f62000b3d82620006c0565b915062000b4a83620006c0565b925082820190508082111562000b655762000b646200091a565b5b92915050565b62000b7681620006c0565b82525050565b5f60608201905062000b915f830186620008ee565b62000ba0602083018562000b6b565b62000baf604083018462000b6b565b949350505050565b5f60208201905062000bcc5f83018462000b6b565b92915050565b6114878062000be05f395ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb1461029a578063c076a22d146102ca578063dd62ed3e146102e6578063f2fde38b14610316576100fe565b8063715018a61461023857806379fcd8ee146102425780638da5cb5b1461025e57806395d89b411461027c576100fe565b8063313ce567116100d1578063313ce5671461019e5780634310860e146101bc5780634e1738cd146101ec57806370a0823114610208576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a610332565b6040516101179190611030565b60405180910390f35b61013a600480360381019061013591906110e1565b6103c2565b6040516101479190611139565b60405180910390f35b6101586103e4565b6040516101659190611161565b60405180910390f35b6101886004803603810190610183919061117a565b6103ed565b6040516101959190611139565b60405180910390f35b6101a661040c565b6040516101b391906111e5565b60405180910390f35b6101d660048036038101906101d191906111fe565b610414565b6040516101e39190611139565b60405180910390f35b610206600480360381019061020191906111fe565b610425565b005b610222600480360381019061021d91906111fe565b61043b565b60405161022f9190611161565b60405180910390f35b610240610480565b005b61025c600480360381019061025791906110e1565b610493565b005b6102666104a9565b6040516102739190611238565b60405180910390f35b6102846104d1565b6040516102919190611030565b60405180910390f35b6102b460048036038101906102af91906110e1565b610561565b6040516102c19190611139565b60405180910390f35b6102e460048036038101906102df91906111fe565b610585565b005b61030060048036038101906102fb9190611251565b61059a565b60405161030d9190611161565b60405180910390f35b610330600480360381019061032b91906111fe565b61061c565b005b606060038054610341906112bc565b80601f016020809104026020016040519081016040528092919081815260200182805461036d906112bc565b80156103b85780601f1061038f576101008083540402835291602001916103b8565b820191905f5260205f20905b81548152906001019060200180831161039b57829003601f168201915b5050505050905090565b5f806103cc6106a0565b90506103d98185856106a7565b600191505092915050565b5f600254905090565b5f6103f884846106b9565b61040384848461074f565b90509392505050565b5f6012905090565b5f61041e8261077d565b9050919050565b61042d6107cf565b610438816001610856565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104886107cf565b6104915f6108ae565b565b61049b6107cf565b6104a58282610971565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546104e0906112bc565b80601f016020809104026020016040519081016040528092919081815260200182805461050c906112bc565b80156105575780601f1061052e57610100808354040283529160200191610557565b820191905f5260205f20905b81548152906001019060200180831161053a57829003601f168201915b5050505050905090565b5f61057361056d6106a0565b846106b9565b61057d838361097f565b905092915050565b61058d6107cf565b610597815f610856565b50565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6106246107cf565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610694575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161068b9190611238565b60405180910390fd5b61069d816108ae565b50565b5f33905090565b6106b483838360016109a1565b505050565b6106c28261077d565b15610702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f990611336565b60405180910390fd5b61070b8161077d565b1561074b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107429061139e565b60405180910390fd5b5050565b5f806107596106a0565b9050610766858285610b70565b610771858585610c02565b60019150509392505050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6107d76106a0565b73ffffffffffffffffffffffffffffffffffffffff166107f56104a9565b73ffffffffffffffffffffffffffffffffffffffff1614610854576108186106a0565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161084b9190611238565b60405180910390fd5b565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61097b8282610cf2565b5050565b5f806109896106a0565b9050610996818585610c02565b600191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a11575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610a089190611238565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a81575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a789190611238565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610b6a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b619190611161565b60405180910390a35b50505050565b5f610b7b848461059a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bfc5781811015610bed578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610be4939291906113bc565b60405180910390fd5b610bfb84848484035f6109a1565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c72575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c699190611238565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ce2575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610cd99190611238565b60405180910390fd5b610ced838383610d00565b505050565b610cfc8282610f19565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d50578060025f828254610d44919061141e565b92505081905550610e1e565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610dd9578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610dd0939291906113bc565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e65578060025f8282540392505081905550610eaf565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f0c9190611161565b60405180910390a3505050565b610f238282610f27565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f97575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f8e9190611238565b60405180910390fd5b610fa25f8383610d00565b5050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610fdd578082015181840152602081019050610fc2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61100282610fa6565b61100c8185610fb0565b935061101c818560208601610fc0565b61102581610fe8565b840191505092915050565b5f6020820190508181035f8301526110488184610ff8565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61107d82611054565b9050919050565b61108d81611073565b8114611097575f80fd5b50565b5f813590506110a881611084565b92915050565b5f819050919050565b6110c0816110ae565b81146110ca575f80fd5b50565b5f813590506110db816110b7565b92915050565b5f80604083850312156110f7576110f6611050565b5b5f6111048582860161109a565b9250506020611115858286016110cd565b9150509250929050565b5f8115159050919050565b6111338161111f565b82525050565b5f60208201905061114c5f83018461112a565b92915050565b61115b816110ae565b82525050565b5f6020820190506111745f830184611152565b92915050565b5f805f6060848603121561119157611190611050565b5b5f61119e8682870161109a565b93505060206111af8682870161109a565b92505060406111c0868287016110cd565b9150509250925092565b5f60ff82169050919050565b6111df816111ca565b82525050565b5f6020820190506111f85f8301846111d6565b92915050565b5f6020828403121561121357611212611050565b5b5f6112208482850161109a565b91505092915050565b61123281611073565b82525050565b5f60208201905061124b5f830184611229565b92915050565b5f806040838503121561126757611266611050565b5b5f6112748582860161109a565b92505060206112858582860161109a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806112d357607f821691505b6020821081036112e6576112e561128f565b5b50919050565b7f5472616e736665722066726f6d207265737472696374656420616464726573735f82015250565b5f611320602083610fb0565b915061132b826112ec565b602082019050919050565b5f6020820190508181035f83015261134d81611314565b9050919050565b7f5472616e7366657220746f2072657374726963746564206164647265737300005f82015250565b5f611388601e83610fb0565b915061139382611354565b602082019050919050565b5f6020820190508181035f8301526113b58161137c565b9050919050565b5f6060820190506113cf5f830186611229565b6113dc6020830185611152565b6113e96040830184611152565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611428826110ae565b9150611433836110ae565b925082820190508082111561144b5761144a6113f1565b5b9291505056fea26469706673582212201d8e601b78cabcbe218c70d50988c9d21485197efc828fb5088dcac6f498e8bf64736f6c634300081400330000000000000000000000002ba89ed2547f3ded27865e43c3acd5010eb607ed