[ { "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": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINT_AMOUNT", "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": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "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" } ]
608060405234801561001057600080fd5b50336040518060400160405280600581526020017f446172616d0000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f446172616d000000000000000000000000000000000000000000000000000000815250816003908161008d919061043d565b50806004908161009d919061043d565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101125760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016101099190610550565b60405180910390fd5b6101218161012760201b60201c565b5061056b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061026e57607f821691505b60208210810361028157610280610227565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026102e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102ac565b6102f386836102ac565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061033a6103356103308461030b565b610315565b61030b565b9050919050565b6000819050919050565b6103548361031f565b61036861036082610341565b8484546102b9565b825550505050565b600090565b61037d610370565b61038881848461034b565b505050565b5b818110156103ac576103a1600082610375565b60018101905061038e565b5050565b601f8211156103f1576103c281610287565b6103cb8461029c565b810160208510156103da578190505b6103ee6103e68561029c565b83018261038d565b50505b505050565b600082821c905092915050565b6000610414600019846008026103f6565b1980831691505092915050565b600061042d8383610403565b9150826002028217905092915050565b610446826101ed565b67ffffffffffffffff81111561045f5761045e6101f8565b5b6104698254610256565b6104748282856103b0565b600060209050601f8311600181146104a75760008415610495578287015190505b61049f8582610421565b865550610507565b601f1984166104b586610287565b60005b828110156104dd578489015182556001820191506020850194506020810190506104b8565b868310156104fa57848901516104f6601f891682610403565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061053a8261050f565b9050919050565b61054a8161052f565b82525050565b60006020820190506105656000830184610541565b92915050565b6115358061057a6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80635427789c1161009757806395d89b411161006657806395d89b4114610252578063a9059cbb14610270578063dd62ed3e146102a0578063f2fde38b146102d0576100f5565b80635427789c146101dc57806370a08231146101fa578063715018a61461022a5780638da5cb5b14610234576100f5565b806318160ddd116100d357806318160ddd1461015257806323b872dd14610170578063313ce567146101a057806332cb6b0c146101be576100f5565b806306fdde03146100fa578063095ea7b3146101185780631249c58b14610148575b600080fd5b6101026102ec565b60405161010f919061101f565b60405180910390f35b610132600480360381019061012d91906110da565b61037e565b60405161013f9190611135565b60405180910390f35b6101506103a1565b005b61015a610578565b604051610167919061115f565b60405180910390f35b61018a6004803603810190610185919061117a565b610582565b6040516101979190611135565b60405180910390f35b6101a86105b1565b6040516101b591906111e9565b60405180910390f35b6101c66105ba565b6040516101d3919061115f565b60405180910390f35b6101e46105cb565b6040516101f1919061115f565b60405180910390f35b610214600480360381019061020f9190611204565b6105da565b604051610221919061115f565b60405180910390f35b610232610622565b005b61023c610636565b6040516102499190611240565b60405180910390f35b61025a610660565b604051610267919061101f565b60405180910390f35b61028a600480360381019061028591906110da565b6106f2565b6040516102979190611135565b60405180910390f35b6102ba60048036038101906102b5919061125b565b610715565b6040516102c7919061115f565b60405180910390f35b6102ea60048036038101906102e59190611204565b61079c565b005b6060600380546102fb906112ca565b80601f0160208091040260200160405190810160405280929190818152602001828054610327906112ca565b80156103745780601f1061034957610100808354040283529160200191610374565b820191906000526020600020905b81548152906001019060200180831161035757829003601f168201915b5050505050905090565b600080610389610822565b905061039681858561082a565b600191505092915050565b6c02a68bedbb190931f6500000006a0422ca8b0a00a4250000006103c3610578565b6103cd919061132a565b111561040e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610405906113aa565b60405180910390fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561049b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049290611416565b60405180910390fd5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610509576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610500906114a8565b60405180910390fd5b6001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610576336a0422ca8b0a00a42500000061083c565b565b6000600254905090565b60008061058d610822565b905061059a8582856108be565b6105a5858585610952565b60019150509392505050565b60006012905090565b6c02a68bedbb190931f65000000081565b6a0422ca8b0a00a42500000081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61062a610a46565b6106346000610acd565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461066f906112ca565b80601f016020809104026020016040519081016040528092919081815260200182805461069b906112ca565b80156106e85780601f106106bd576101008083540402835291602001916106e8565b820191906000526020600020905b8154815290600101906020018083116106cb57829003601f168201915b5050505050905090565b6000806106fd610822565b905061070a818585610952565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6107a4610a46565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108165760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161080d9190611240565b60405180910390fd5b61081f81610acd565b50565b600033905090565b6108378383836001610b93565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108ae5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016108a59190611240565b60405180910390fd5b6108ba60008383610d6a565b5050565b60006108ca8484610715565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461094c578181101561093c578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610933939291906114c8565b60405180910390fd5b61094b84848484036000610b93565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c45760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016109bb9190611240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a365760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610a2d9190611240565b60405180910390fd5b610a41838383610d6a565b505050565b610a4e610822565b73ffffffffffffffffffffffffffffffffffffffff16610a6c610636565b73ffffffffffffffffffffffffffffffffffffffff1614610acb57610a8f610822565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610ac29190611240565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610c055760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610bfc9190611240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c775760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610c6e9190611240565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610d64578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d5b919061115f565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dbc578060026000828254610db0919061132a565b92505081905550610e8f565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e48578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610e3f939291906114c8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ed85780600260008282540392505081905550610f25565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f82919061115f565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fc9578082015181840152602081019050610fae565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ff182610f8f565b610ffb8185610f9a565b935061100b818560208601610fab565b61101481610fd5565b840191505092915050565b600060208201905081810360008301526110398184610fe6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061107182611046565b9050919050565b61108181611066565b811461108c57600080fd5b50565b60008135905061109e81611078565b92915050565b6000819050919050565b6110b7816110a4565b81146110c257600080fd5b50565b6000813590506110d4816110ae565b92915050565b600080604083850312156110f1576110f0611041565b5b60006110ff8582860161108f565b9250506020611110858286016110c5565b9150509250929050565b60008115159050919050565b61112f8161111a565b82525050565b600060208201905061114a6000830184611126565b92915050565b611159816110a4565b82525050565b60006020820190506111746000830184611150565b92915050565b60008060006060848603121561119357611192611041565b5b60006111a18682870161108f565b93505060206111b28682870161108f565b92505060406111c3868287016110c5565b9150509250925092565b600060ff82169050919050565b6111e3816111cd565b82525050565b60006020820190506111fe60008301846111da565b92915050565b60006020828403121561121a57611219611041565b5b60006112288482850161108f565b91505092915050565b61123a81611066565b82525050565b60006020820190506112556000830184611231565b92915050565b6000806040838503121561127257611271611041565b5b60006112808582860161108f565b92505060206112918582860161108f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112e257607f821691505b6020821081036112f5576112f461129b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611335826110a4565b9150611340836110a4565b9250828201905080821115611358576113576112fb565b5b92915050565b7f546f74616c20737570706c792065786365656465640000000000000000000000600082015250565b6000611394601583610f9a565b915061139f8261135e565b602082019050919050565b600060208201905081810360008301526113c381611387565b9050919050565b7f416464726573732068617320616c7265616479206d696e746564000000000000600082015250565b6000611400601a83610f9a565b915061140b826113ca565b602082019050919050565b6000602082019050818103600083015261142f816113f3565b9050919050565b7f436f6e74726163747320617265206e6f7420616c6c6f77656420746f206d696e60008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611492602183610f9a565b915061149d82611436565b604082019050919050565b600060208201905081810360008301526114c181611485565b9050919050565b60006060820190506114dd6000830186611231565b6114ea6020830185611150565b6114f76040830184611150565b94935050505056fea2646970667358221220c5a026801574b6c215a2e30a4130b0b801f581aaebb8ec91cbbce0936422033364736f6c634300081a0033