[ { "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": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "InvalidTransfer", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "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": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "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": [ { "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": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "totalSupply_", "type": "uint256" } ], "name": "initialize", "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": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pairBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair_", "type": "address" } ], "name": "setPair", "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" }, { "inputs": [], "name": "unblockPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b50336040518060400160405280600581526020016446616e6b6f60d81b8152506040518060400160405280600581526020016446414e4b4f60d81b815250816003908161005d91906101a0565b50600461006a82826101a0565b5050506001600160a01b03811661009b57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100a4816100af565b50600160065561025e565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061012b57607f821691505b60208210810361014b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561019b57806000526020600020601f840160051c810160208510156101785750805b601f840160051c820191505b818110156101985760008155600101610184565b50505b505050565b81516001600160401b038111156101b9576101b9610101565b6101cd816101c78454610117565b84610151565b6020601f82116001811461020157600083156101e95750848201515b600019600385901b1c1916600184901b178455610198565b600084815260208120601f198516915b828110156102315787850151825560209485019460019092019101610211565b508482101561024f5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6112cd8061026d6000396000f3fe608060405234801561001057600080fd5b50600436106101505760003560e01c806379cc6790116100cd578063a8aa1b3111610081578063b119490e11610066578063b119490e146102ea578063dd62ed3e146102fd578063f2fde38b1461034357600080fd5b8063a8aa1b31146102b7578063a9059cbb146102d757600080fd5b80638da5cb5b116100b25780638da5cb5b1461024b57806395d89b411461028a578063984b328f1461029257600080fd5b806379cc6790146102255780638187f5161461023857600080fd5b806323b872dd1161012457806342966c681161010957806342966c68146101d457806370a08231146101e7578063715018a61461021d57600080fd5b806323b872dd146101b2578063313ce567146101c557600080fd5b806281a0b21461015557806306fdde031461015f578063095ea7b31461017d57806318160ddd146101a0575b600080fd5b61015d610356565b005b610167610388565b6040516101749190610dcb565b60405180910390f35b61019061018b366004610e60565b61041a565b6040519015158152602001610174565b6002545b604051908152602001610174565b6101906101c0366004610e8a565b610434565b60405160128152602001610174565b61015d6101e2366004610ec7565b610458565b6101a46101f5366004610ee0565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61015d610465565b61015d610233366004610e60565b610479565b61015d610246366004610ee0565b610492565b60055473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610174565b6101676104e1565b6009546101909074010000000000000000000000000000000000000000900460ff1681565b6009546102659073ffffffffffffffffffffffffffffffffffffffff1681565b6101906102e5366004610e60565b6104f0565b61015d6102f8366004610ffd565b6104fe565b6101a461030b366004611070565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b61015d610351366004610ee0565b6106e3565b61035e610749565b600980547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff169055565b606060078054610397906110a3565b80601f01602080910402602001604051908101604052809291908181526020018280546103c3906110a3565b80156104105780601f106103e557610100808354040283529160200191610410565b820191906000526020600020905b8154815290600101906020018083116103f357829003601f168201915b5050505050905090565b60003361042881858561079c565b60019150505b92915050565b6000336104428582856107ae565b61044d85858561087d565b506001949350505050565b6104623382610928565b50565b61046d610749565b6104776000610984565b565b6104848233836107ae565b61048e8282610928565b5050565b61049a610749565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b606060088054610397906110a3565b60003361042881858561087d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156105495750825b905060008267ffffffffffffffff1660011480156105665750303b155b905081158015610574575080155b156105ab576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561060c5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b60076106188982611144565b5060086106258882611144565b5061063033876109fb565b61063933610984565b600980547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905583156106d95784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b6106eb610749565b73ffffffffffffffffffffffffffffffffffffffff8116610740576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b61046281610984565b60055473ffffffffffffffffffffffffffffffffffffffff163314610477576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610737565b6107a98383836001610a57565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108775781811015610868576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610737565b61087784848484036000610a57565b50505050565b73ffffffffffffffffffffffffffffffffffffffff83166108cd576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610737565b73ffffffffffffffffffffffffffffffffffffffff821661091d576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610737565b6107a9838383610b9f565b73ffffffffffffffffffffffffffffffffffffffff8216610978576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610737565b61048e82600083610b9f565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610a4b576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610737565b61048e60008383610b9f565b73ffffffffffffffffffffffffffffffffffffffff8416610aa7576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610737565b73ffffffffffffffffffffffffffffffffffffffff8316610af7576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610737565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209387168352929052208290558015610877578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b9191815260200190565b60405180910390a350505050565b60095473ffffffffffffffffffffffffffffffffffffffff8381169116148015610be3575060095474010000000000000000000000000000000000000000900460ff165b15610c1a576040517f2f35253100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107a983838373ffffffffffffffffffffffffffffffffffffffff8316610c58578060026000828254610c4d919061125d565b90915550610d0a9050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610cde576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810182905260448101839052606401610737565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff8216610d3357600280548290039055610d5f565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dbe91815260200190565b60405180910390a3505050565b602081526000825180602084015260005b81811015610df95760208186018101516040868401015201610ddc565b5060006040828501015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011684010191505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e5b57600080fd5b919050565b60008060408385031215610e7357600080fd5b610e7c83610e37565b946020939093013593505050565b600080600060608486031215610e9f57600080fd5b610ea884610e37565b9250610eb660208501610e37565b929592945050506040919091013590565b600060208284031215610ed957600080fd5b5035919050565b600060208284031215610ef257600080fd5b610efb82610e37565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610f4257600080fd5b813567ffffffffffffffff811115610f5c57610f5c610f02565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610fc857610fc8610f02565b604052818152838201602001851015610fe057600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561101257600080fd5b833567ffffffffffffffff81111561102957600080fd5b61103586828701610f31565b935050602084013567ffffffffffffffff81111561105257600080fd5b61105e86828701610f31565b93969395505050506040919091013590565b6000806040838503121561108357600080fd5b61108c83610e37565b915061109a60208401610e37565b90509250929050565b600181811c908216806110b757607f821691505b6020821081036110f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156107a957806000526020600020601f840160051c8101602085101561111d5750805b601f840160051c820191505b8181101561113d5760008155600101611129565b5050505050565b815167ffffffffffffffff81111561115e5761115e610f02565b6111728161116c84546110a3565b846110f6565b6020601f8211600181146111c4576000831561118e5750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b17845561113d565b6000848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561121257878501518255602094850194600190920191016111f2565b508482101561124e57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b8082018082111561042e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220245d21417b19ad94772aedabdbc0bdac5218735a1a1b6c85bc2fba1088d0940d64736f6c634300081a0033