[ { "inputs": [], "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" }, { "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": "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": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTaxRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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" } ]
60806040523480156200001157600080fd5b506040518060400160405280600e81526020017f53686962612057696665204861740000000000000000000000000000000000008152506040518060400160405280600581526020017f534849424100000000000000000000000000000000000000000000000000000081525081600390816200008f91906200062b565b508060049081620000a191906200062b565b505050620000e533620000b9620000eb60201b60201c565b600a620000c79190620008a2565b6402540be400620000d99190620008f3565b620000f460201b60201c565b62000a46565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001695760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000160919062000983565b60405180910390fd5b6200017d600083836200018160201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001d7578060026000828254620001ca9190620009a0565b92505081905550620002ad565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000266578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016200025d93929190620009ec565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002f8578060026000828254039250508190555062000345565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003a4919062000a29565b60405180910390a3505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200043357607f821691505b602082108103620004495762000448620003eb565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004b37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000474565b620004bf868362000474565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200050c620005066200050084620004d7565b620004e1565b620004d7565b9050919050565b6000819050919050565b6200052883620004eb565b62000540620005378262000513565b84845462000481565b825550505050565b600090565b6200055762000548565b620005648184846200051d565b505050565b5b818110156200058c57620005806000826200054d565b6001810190506200056a565b5050565b601f821115620005db57620005a5816200044f565b620005b08462000464565b81016020851015620005c0578190505b620005d8620005cf8562000464565b83018262000569565b50505b505050565b600082821c905092915050565b60006200060060001984600802620005e0565b1980831691505092915050565b60006200061b8383620005ed565b9150826002028217905092915050565b6200063682620003b1565b67ffffffffffffffff811115620006525762000651620003bc565b5b6200065e82546200041a565b6200066b82828562000590565b600060209050601f831160018114620006a357600084156200068e578287015190505b6200069a85826200060d565b8655506200070a565b601f198416620006b3866200044f565b60005b82811015620006dd57848901518255600182019150602085019450602081019050620006b6565b86831015620006fd5784890151620006f9601f891682620005ed565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007a05780860481111562000778576200077762000712565b5b6001851615620007885780820291505b8081029050620007988562000741565b945062000758565b94509492505050565b600082620007bb57600190506200088e565b81620007cb57600090506200088e565b8160018114620007e45760028114620007ef5762000825565b60019150506200088e565b60ff84111562000804576200080362000712565b5b8360020a9150848211156200081e576200081d62000712565b5b506200088e565b5060208310610133831016604e8410600b84101617156200085f5782820a90508381111562000859576200085862000712565b5b6200088e565b6200086e84848460016200074e565b9250905081840481111562000888576200088762000712565b5b81810290505b9392505050565b600060ff82169050919050565b6000620008af82620004d7565b9150620008bc8362000895565b9250620008eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007a9565b905092915050565b60006200090082620004d7565b91506200090d83620004d7565b92508282026200091d81620004d7565b9150828204841483151762000937576200093662000712565b5b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200096b826200093e565b9050919050565b6200097d816200095e565b82525050565b60006020820190506200099a600083018462000972565b92915050565b6000620009ad82620004d7565b9150620009ba83620004d7565b9250828201905080821115620009d557620009d462000712565b5b92915050565b620009e681620004d7565b82525050565b600060608201905062000a03600083018662000972565b62000a126020830185620009db565b62000a216040830184620009db565b949350505050565b600060208201905062000a406000830184620009db565b92915050565b610f158062000a566000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063313ce56711610066578063313ce5671461015d57806370a082311461017b57806395d89b41146101ab578063a9059cbb146101c9578063dd62ed3e146101f95761009e565b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100f157806323b872dd1461010f57806324024efd1461013f575b600080fd5b6100ab610229565b6040516100b89190610a93565b60405180910390f35b6100db60048036038101906100d69190610b4e565b6102bb565b6040516100e89190610ba9565b60405180910390f35b6100f96102de565b6040516101069190610bd3565b60405180910390f35b61012960048036038101906101249190610bee565b6102e8565b6040516101369190610ba9565b60405180910390f35b61014761031f565b6040516101549190610bd3565b60405180910390f35b610165610324565b6040516101729190610c5d565b60405180910390f35b61019560048036038101906101909190610c78565b61032d565b6040516101a29190610bd3565b60405180910390f35b6101b3610375565b6040516101c09190610a93565b60405180910390f35b6101e360048036038101906101de9190610b4e565b610407565b6040516101f09190610ba9565b60405180910390f35b610213600480360381019061020e9190610ca5565b61041e565b6040516102209190610bd3565b60405180910390f35b60606003805461023890610d14565b80601f016020809104026020016040519081016040528092919081815260200182805461026490610d14565b80156102b15780601f10610286576101008083540402835291602001916102b1565b820191906000526020600020905b81548152906001019060200180831161029457829003601f168201915b5050505050905090565b6000806102c66104a5565b90506102d38185856104ad565b600191505092915050565b6000600254905090565b60006103098433846102fa883361041e565b6103049190610d74565b6104ad565b6103148484846104bf565b600190509392505050565b600281565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461038490610d14565b80601f01602080910402602001604051908101604052809291908181526020018280546103b090610d14565b80156103fd5780601f106103d2576101008083540402835291602001916103fd565b820191906000526020600020905b8154815290600101906020018083116103e057829003601f168201915b5050505050905090565b60006104143384846104bf565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b6104ba8383836001610513565b505050565b600060646002836104d09190610da8565b6104da9190610e19565b9050600081836104ea9190610d74565b90506104f78585836106ea565b600082111561050c5761050b8530846106ea565b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036105855760006040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161057c9190610e59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105f75760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016105ee9190610e59565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156106e4578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106db9190610bd3565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361075c5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016107539190610e59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107ce5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016107c59190610e59565b60405180910390fd5b6107d98383836107de565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108305780600260008282546108249190610e74565b92505081905550610903565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156108bc578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016108b393929190610ea8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361094c5780600260008282540392505081905550610999565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109f69190610bd3565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a3d578082015181840152602081019050610a22565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a6582610a03565b610a6f8185610a0e565b9350610a7f818560208601610a1f565b610a8881610a49565b840191505092915050565b60006020820190508181036000830152610aad8184610a5a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ae582610aba565b9050919050565b610af581610ada565b8114610b0057600080fd5b50565b600081359050610b1281610aec565b92915050565b6000819050919050565b610b2b81610b18565b8114610b3657600080fd5b50565b600081359050610b4881610b22565b92915050565b60008060408385031215610b6557610b64610ab5565b5b6000610b7385828601610b03565b9250506020610b8485828601610b39565b9150509250929050565b60008115159050919050565b610ba381610b8e565b82525050565b6000602082019050610bbe6000830184610b9a565b92915050565b610bcd81610b18565b82525050565b6000602082019050610be86000830184610bc4565b92915050565b600080600060608486031215610c0757610c06610ab5565b5b6000610c1586828701610b03565b9350506020610c2686828701610b03565b9250506040610c3786828701610b39565b9150509250925092565b600060ff82169050919050565b610c5781610c41565b82525050565b6000602082019050610c726000830184610c4e565b92915050565b600060208284031215610c8e57610c8d610ab5565b5b6000610c9c84828501610b03565b91505092915050565b60008060408385031215610cbc57610cbb610ab5565b5b6000610cca85828601610b03565b9250506020610cdb85828601610b03565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d2c57607f821691505b602082108103610d3f57610d3e610ce5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610d7f82610b18565b9150610d8a83610b18565b9250828203905081811115610da257610da1610d45565b5b92915050565b6000610db382610b18565b9150610dbe83610b18565b9250828202610dcc81610b18565b91508282048414831517610de357610de2610d45565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610e2482610b18565b9150610e2f83610b18565b925082610e3f57610e3e610dea565b5b828204905092915050565b610e5381610ada565b82525050565b6000602082019050610e6e6000830184610e4a565b92915050565b6000610e7f82610b18565b9150610e8a83610b18565b9250828201905080821115610ea257610ea1610d45565b5b92915050565b6000606082019050610ebd6000830186610e4a565b610eca6020830185610bc4565b610ed76040830184610bc4565b94935050505056fea26469706673582212206d15d57bfba2f9fd8d8653c026db6e0f5176dc15eea8ddc54e720679c39b89d264736f6c63430008180033