[ { "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": [], "name": "HARD_CAP", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "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" } ]
608060405234801562000010575f80fd5b50336040518060400160405280600a81526020017f424c4f4220546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f424c4f420000000000000000000000000000000000000000000000000000000081525081600390816200008f919062000456565b508060049081620000a1919062000456565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000117575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200010e91906200057d565b60405180910390fd5b62000128816200012f60201b60201c565b5062000598565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200026e57607f821691505b60208210810362000284576200028362000229565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002ab565b620002f48683620002ab565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200033e6200033862000332846200030c565b62000315565b6200030c565b9050919050565b5f819050919050565b62000359836200031e565b62000371620003688262000345565b848454620002b7565b825550505050565b5f90565b6200038762000379565b620003948184846200034e565b505050565b5b81811015620003bb57620003af5f826200037d565b6001810190506200039a565b5050565b601f8211156200040a57620003d4816200028a565b620003df846200029c565b81016020851015620003ef578190505b62000407620003fe856200029c565b83018262000399565b50505b505050565b5f82821c905092915050565b5f6200042c5f19846008026200040f565b1980831691505092915050565b5f6200044683836200041b565b9150826002028217905092915050565b6200046182620001f2565b67ffffffffffffffff8111156200047d576200047c620001fc565b5b62000489825462000256565b62000496828285620003bf565b5f60209050601f831160018114620004cc575f8415620004b7578287015190505b620004c3858262000439565b86555062000532565b601f198416620004dc866200028a565b5f5b828110156200050557848901518255600182019150602085019450602081019050620004de565b8683101562000525578489015162000521601f8916826200041b565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000565826200053a565b9050919050565b620005778162000559565b82525050565b5f602082019050620005925f8301846200056c565b92915050565b61137580620005a65f395ff3fe608060405234801561000f575f80fd5b50600436106100fe575f3560e01c806370a082311161009557806395d89b411161006457806395d89b4114610286578063a9059cbb146102a4578063dd62ed3e146102d4578063f2fde38b14610304576100fe565b806370a0823114610212578063715018a61461024257806379cc67901461024c5780638da5cb5b14610268576100fe565b8063313ce567116100d1578063313ce5671461019e5780633a03171c146101bc57806340c10f19146101da57806342966c68146101f6576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a610320565b6040516101179190610f5b565b60405180910390f35b61013a6004803603810190610135919061100c565b6103b0565b6040516101479190611064565b60405180910390f35b6101586103d2565b604051610165919061108c565b60405180910390f35b610188600480360381019061018391906110a5565b6103db565b6040516101959190611064565b60405180910390f35b6101a6610409565b6040516101b39190611110565b60405180910390f35b6101c4610411565b6040516101d1919061108c565b60405180910390f35b6101f460048036038101906101ef919061100c565b610422565b005b610210600480360381019061020b9190611129565b61049a565b005b61022c60048036038101906102279190611154565b6104ae565b604051610239919061108c565b60405180910390f35b61024a6104f3565b005b6102666004803603810190610261919061100c565b610506565b005b610270610526565b60405161027d919061118e565b60405180910390f35b61028e61054e565b60405161029b9190610f5b565b60405180910390f35b6102be60048036038101906102b9919061100c565b6105de565b6040516102cb9190611064565b60405180910390f35b6102ee60048036038101906102e991906111a7565b610600565b6040516102fb919061108c565b60405180910390f35b61031e60048036038101906103199190611154565b610682565b005b60606003805461032f90611212565b80601f016020809104026020016040519081016040528092919081815260200182805461035b90611212565b80156103a65780601f1061037d576101008083540402835291602001916103a6565b820191905f5260205f20905b81548152906001019060200180831161038957829003601f168201915b5050505050905090565b5f806103ba610706565b90506103c781858561070d565b600191505092915050565b5f600254905090565b5f806103e5610706565b90506103f285828561071f565b6103fd8585856107b1565b60019150509392505050565b5f6012905090565b6c0c9f2c9cd04674edea4000000081565b61042a6108a1565b6c0c9f2c9cd04674edea40000000816104416103d2565b61044b919061126f565b111561048c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610483906112ec565b60405180910390fd5b6104968282610928565b5050565b6104ab6104a5610706565b826109a7565b50565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104fb6108a1565b6105045f610a26565b565b61051882610512610706565b8361071f565b61052282826109a7565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461055d90611212565b80601f016020809104026020016040519081016040528092919081815260200182805461058990611212565b80156105d45780601f106105ab576101008083540402835291602001916105d4565b820191905f5260205f20905b8154815290600101906020018083116105b757829003601f168201915b5050505050905090565b5f806105e8610706565b90506105f58185856107b1565b600191505092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61068a6108a1565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106fa575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016106f1919061118e565b60405180910390fd5b61070381610a26565b50565b5f33905090565b61071a8383836001610ae9565b505050565b5f61072a8484610600565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107ab578181101561079c578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016107939392919061130a565b60405180910390fd5b6107aa84848484035f610ae9565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610821575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610818919061118e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610891575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610888919061118e565b60405180910390fd5b61089c838383610cb8565b505050565b6108a9610706565b73ffffffffffffffffffffffffffffffffffffffff166108c7610526565b73ffffffffffffffffffffffffffffffffffffffff1614610926576108ea610706565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161091d919061118e565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610998575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161098f919061118e565b60405180910390fd5b6109a35f8383610cb8565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a17575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610a0e919061118e565b60405180910390fd5b610a22825f83610cb8565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610b59575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610b50919061118e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bc9575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610bc0919061118e565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610cb2578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ca9919061108c565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d08578060025f828254610cfc919061126f565b92505081905550610dd6565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610d91578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610d889392919061130a565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e1d578060025f8282540392505081905550610e67565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ec4919061108c565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610f08578082015181840152602081019050610eed565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610f2d82610ed1565b610f378185610edb565b9350610f47818560208601610eeb565b610f5081610f13565b840191505092915050565b5f6020820190508181035f830152610f738184610f23565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610fa882610f7f565b9050919050565b610fb881610f9e565b8114610fc2575f80fd5b50565b5f81359050610fd381610faf565b92915050565b5f819050919050565b610feb81610fd9565b8114610ff5575f80fd5b50565b5f8135905061100681610fe2565b92915050565b5f806040838503121561102257611021610f7b565b5b5f61102f85828601610fc5565b925050602061104085828601610ff8565b9150509250929050565b5f8115159050919050565b61105e8161104a565b82525050565b5f6020820190506110775f830184611055565b92915050565b61108681610fd9565b82525050565b5f60208201905061109f5f83018461107d565b92915050565b5f805f606084860312156110bc576110bb610f7b565b5b5f6110c986828701610fc5565b93505060206110da86828701610fc5565b92505060406110eb86828701610ff8565b9150509250925092565b5f60ff82169050919050565b61110a816110f5565b82525050565b5f6020820190506111235f830184611101565b92915050565b5f6020828403121561113e5761113d610f7b565b5b5f61114b84828501610ff8565b91505092915050565b5f6020828403121561116957611168610f7b565b5b5f61117684828501610fc5565b91505092915050565b61118881610f9e565b82525050565b5f6020820190506111a15f83018461117f565b92915050565b5f80604083850312156111bd576111bc610f7b565b5b5f6111ca85828601610fc5565b92505060206111db85828601610fc5565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061122957607f821691505b60208210810361123c5761123b6111e5565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61127982610fd9565b915061128483610fd9565b925082820190508082111561129c5761129b611242565b5b92915050565b7f424c4f42546f6b656e3a206361702065786365656465640000000000000000005f82015250565b5f6112d6601783610edb565b91506112e1826112a2565b602082019050919050565b5f6020820190508181035f830152611303816112ca565b9050919050565b5f60608201905061131d5f83018661117f565b61132a602083018561107d565b611337604083018461107d565b94935050505056fea26469706673582212202f9622387f864d1c71de2034d70d28054188ee139ba95bf3cfa5ed3ad823904464736f6c63430008180033