[ { "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" }, { "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": "pure", "type": "function" }, { "inputs": [], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mintAny", "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": [], "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": "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": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b50336040518060400160405280601281526020017f426f6e64696e6773204d6f636b205553444200000000000000000000000000008152506040518060400160405280600681526020017f626d55534442000000000000000000000000000000000000000000000000000081525081600390816200009091906200077a565b508060049081620000a291906200077a565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011a5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001119190620008a6565b60405180910390fd5b6200012b816200017460201b60201c565b506200016e33620001416200023a60201b60201c565b60ff16600a62000152919062000a46565b620f424062000162919062000a97565b6200024360201b60201c565b62000b88565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006006905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002b85760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620002af9190620008a6565b60405180910390fd5b620002cc60008383620002d060201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200032657806002600082825462000319919062000ae2565b92505081905550620003fc565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015620003b5578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620003ac9392919062000b2e565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000447578060026000828254039250508190555062000494565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004f3919062000b6b565b60405180910390a3505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200058257607f821691505b6020821081036200059857620005976200053a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005c3565b6200060e8683620005c3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200065b620006556200064f8462000626565b62000630565b62000626565b9050919050565b6000819050919050565b62000677836200063a565b6200068f620006868262000662565b848454620005d0565b825550505050565b600090565b620006a662000697565b620006b38184846200066c565b505050565b5b81811015620006db57620006cf6000826200069c565b600181019050620006b9565b5050565b601f8211156200072a57620006f4816200059e565b620006ff84620005b3565b810160208510156200070f578190505b620007276200071e85620005b3565b830182620006b8565b50505b505050565b600082821c905092915050565b60006200074f600019846008026200072f565b1980831691505092915050565b60006200076a83836200073c565b9150826002028217905092915050565b620007858262000500565b67ffffffffffffffff811115620007a157620007a06200050b565b5b620007ad825462000569565b620007ba828285620006df565b600060209050601f831160018114620007f25760008415620007dd578287015190505b620007e985826200075c565b86555062000859565b601f19841662000802866200059e565b60005b828110156200082c5784890151825560018201915060208501945060208101905062000805565b868310156200084c578489015162000848601f8916826200073c565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200088e8262000861565b9050919050565b620008a08162000881565b82525050565b6000602082019050620008bd600083018462000895565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200095157808604811115620009295762000928620008c3565b5b6001851615620009395780820291505b80810290506200094985620008f2565b945062000909565b94509492505050565b6000826200096c576001905062000a3f565b816200097c576000905062000a3f565b8160018114620009955760028114620009a057620009d6565b600191505062000a3f565b60ff841115620009b557620009b4620008c3565b5b8360020a915084821115620009cf57620009ce620008c3565b5b5062000a3f565b5060208310610133831016604e8410600b841016171562000a105782820a90508381111562000a0a5762000a09620008c3565b5b62000a3f565b62000a1f8484846001620008ff565b9250905081840481111562000a395762000a38620008c3565b5b81810290505b9392505050565b600062000a538262000626565b915062000a608362000626565b925062000a8f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200095a565b905092915050565b600062000aa48262000626565b915062000ab18362000626565b925082820262000ac18162000626565b9150828204841483151762000adb5762000ada620008c3565b5b5092915050565b600062000aef8262000626565b915062000afc8362000626565b925082820190508082111562000b175762000b16620008c3565b5b92915050565b62000b288162000626565b82525050565b600060608201905062000b45600083018662000895565b62000b54602083018562000b1d565b62000b63604083018462000b1d565b949350505050565b600060208201905062000b82600083018462000b1d565b92915050565b6113ae8062000b986000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a9059cbb11610066578063a9059cbb14610229578063dd62ed3e14610259578063f2fde38b14610289578063fd9c155f146102a5576100ea565b8063715018a6146101e35780638da5cb5b146101ed57806395d89b411461020b576100ea565b806318160ddd116100c857806318160ddd1461014757806323b872dd14610165578063313ce5671461019557806370a08231146101b3576100ea565b806306fdde03146100ef578063095ea7b31461010d5780631249c58b1461013d575b600080fd5b6100f76102c1565b6040516101049190610e42565b60405180910390f35b61012760048036038101906101229190610efd565b610353565b6040516101349190610f58565b60405180910390f35b610145610376565b005b61014f6103a5565b60405161015c9190610f82565b60405180910390f35b61017f600480360381019061017a9190610f9d565b6103af565b60405161018c9190610f58565b60405180910390f35b61019d6103de565b6040516101aa919061100c565b60405180910390f35b6101cd60048036038101906101c89190611027565b6103e7565b6040516101da9190610f82565b60405180910390f35b6101eb61042f565b005b6101f5610443565b6040516102029190611063565b60405180910390f35b61021361046d565b6040516102209190610e42565b60405180910390f35b610243600480360381019061023e9190610efd565b6104ff565b6040516102509190610f58565b60405180910390f35b610273600480360381019061026e919061107e565b610522565b6040516102809190610f82565b60405180910390f35b6102a3600480360381019061029e9190611027565b6105a9565b005b6102bf60048036038101906102ba9190610efd565b61062f565b005b6060600380546102d0906110ed565b80601f01602080910402602001604051908101604052809291908181526020018280546102fc906110ed565b80156103495780601f1061031e57610100808354040283529160200191610349565b820191906000526020600020905b81548152906001019060200180831161032c57829003601f168201915b5050505050905090565b60008061035e610645565b905061036b81858561064d565b600191505092915050565b6103a3336103826103de565b60ff16600a6103919190611280565b6103e861039e91906112cb565b61065f565b565b6000600254905090565b6000806103ba610645565b90506103c78582856106e1565b6103d2858585610775565b60019150509392505050565b60006006905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610437610869565b61044160006108f0565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461047c906110ed565b80601f01602080910402602001604051908101604052809291908181526020018280546104a8906110ed565b80156104f55780601f106104ca576101008083540402835291602001916104f5565b820191906000526020600020905b8154815290600101906020018083116104d857829003601f168201915b5050505050905090565b60008061050a610645565b9050610517818585610775565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6105b1610869565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106235760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161061a9190611063565b60405180910390fd5b61062c816108f0565b50565b610637610869565b610641828261065f565b5050565b600033905090565b61065a83838360016109b6565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106d15760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016106c89190611063565b60405180910390fd5b6106dd60008383610b8d565b5050565b60006106ed8484610522565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461076f578181101561075f578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107569392919061130d565b60405180910390fd5b61076e848484840360006109b6565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107e75760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016107de9190611063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108595760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108509190611063565b60405180910390fd5b610864838383610b8d565b505050565b610871610645565b73ffffffffffffffffffffffffffffffffffffffff1661088f610443565b73ffffffffffffffffffffffffffffffffffffffff16146108ee576108b2610645565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016108e59190611063565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a285760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610a1f9190611063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a9a5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a919190611063565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610b87578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b7e9190610f82565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bdf578060026000828254610bd39190611344565b92505081905550610cb2565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610c6b578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610c629392919061130d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cfb5780600260008282540392505081905550610d48565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610da59190610f82565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610dec578082015181840152602081019050610dd1565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e1482610db2565b610e1e8185610dbd565b9350610e2e818560208601610dce565b610e3781610df8565b840191505092915050565b60006020820190508181036000830152610e5c8184610e09565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610e9482610e69565b9050919050565b610ea481610e89565b8114610eaf57600080fd5b50565b600081359050610ec181610e9b565b92915050565b6000819050919050565b610eda81610ec7565b8114610ee557600080fd5b50565b600081359050610ef781610ed1565b92915050565b60008060408385031215610f1457610f13610e64565b5b6000610f2285828601610eb2565b9250506020610f3385828601610ee8565b9150509250929050565b60008115159050919050565b610f5281610f3d565b82525050565b6000602082019050610f6d6000830184610f49565b92915050565b610f7c81610ec7565b82525050565b6000602082019050610f976000830184610f73565b92915050565b600080600060608486031215610fb657610fb5610e64565b5b6000610fc486828701610eb2565b9350506020610fd586828701610eb2565b9250506040610fe686828701610ee8565b9150509250925092565b600060ff82169050919050565b61100681610ff0565b82525050565b60006020820190506110216000830184610ffd565b92915050565b60006020828403121561103d5761103c610e64565b5b600061104b84828501610eb2565b91505092915050565b61105d81610e89565b82525050565b60006020820190506110786000830184611054565b92915050565b6000806040838503121561109557611094610e64565b5b60006110a385828601610eb2565b92505060206110b485828601610eb2565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061110557607f821691505b602082108103611118576111176110be565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156111a4578086048111156111805761117f61111e565b5b600185161561118f5780820291505b808102905061119d8561114d565b9450611164565b94509492505050565b6000826111bd5760019050611279565b816111cb5760009050611279565b81600181146111e157600281146111eb5761121a565b6001915050611279565b60ff8411156111fd576111fc61111e565b5b8360020a9150848211156112145761121361111e565b5b50611279565b5060208310610133831016604e8410600b841016171561124f5782820a90508381111561124a5761124961111e565b5b611279565b61125c848484600161115a565b925090508184048111156112735761127261111e565b5b81810290505b9392505050565b600061128b82610ec7565b915061129683610ec7565b92506112c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846111ad565b905092915050565b60006112d682610ec7565b91506112e183610ec7565b92508282026112ef81610ec7565b915082820484148315176113065761130561111e565b5b5092915050565b60006060820190506113226000830186611054565b61132f6020830185610f73565b61133c6040830184610f73565b949350505050565b600061134f82610ec7565b915061135a83610ec7565b92508282019050808211156113725761137161111e565b5b9291505056fea2646970667358221220d05685fadcff429f6f174353a8e1c05ba09238ba1243bb192f3340d2b6c2ab5e64736f6c63430008140033