[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "AMMPair", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isPair", "type": "bool" } ], "name": "AMMPairsUpdated", "type": "event" }, { "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": "OwnershipTransferStarted", "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": "routerV2", "type": "address" } ], "name": "RouterV2Updated", "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": "", "type": "address" } ], "name": "AMMPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "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": "amount", "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": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "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": "pairV2", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "routerV2", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "isPair", "type": "bool" } ], "name": "setAMMPair", "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": "amount", "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": "amount", "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" }, { "stateMutability": "payable", "type": "receive" } ]
60806040523480156200001157600080fd5b506040805180820182526004808252632624a7a760e11b60208084018290528451808601909552918452908301529060036200004e8382620002fd565b5060046200005d8282620002fd565b5050506200007a62000074620000eb60201b60201c565b620000ef565b73e4be0de4e4f10efe06ec8d1f02709706fbeb85ae620000c581600a620000a3601282620004de565b620000b390631dcd6500620004f6565b620000bf919062000510565b6200010d565b620000e473e4be0de4e4f10efe06ec8d1f02709706fbeb85ae620000ef565b5062000549565b3390565b600680546001600160a01b03191690556200010a81620001ef565b50565b6001600160a01b038216620001685760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b620001766000838362000241565b80600260008282546200018a919062000533565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620001eb6000838362000241565b5050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620002548383836001600160e01b038416565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200028457607f821691505b602082108103620002a557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200025457600081815260208120601f850160051c81016020861015620002d45750805b601f850160051c820191505b81811015620002f557828155600101620002e0565b505050505050565b81516001600160401b0381111562000319576200031962000259565b62000331816200032a84546200026f565b84620002ab565b602080601f831160018114620003695760008415620003505750858301515b600019600386901b1c1916600185901b178555620002f5565b600085815260208120601f198616915b828110156200039a5788860151825594840194600190910190840162000379565b5085821015620003b95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000420578160001904821115620004045762000404620003c9565b808516156200041257918102915b93841c9390800290620003e4565b509250929050565b6000826200043957506001620004d8565b816200044857506000620004d8565b81600181146200046157600281146200046c576200048c565b6001915050620004d8565b60ff841115620004805762000480620003c9565b50506001821b620004d8565b5060208310610133831016604e8410600b8410161715620004b1575081810a620004d8565b620004bd8383620003df565b8060001904821115620004d457620004d4620003c9565b0290505b92915050565b6000620004ef60ff84168362000428565b9392505050565b8082028115828204841417620004d857620004d8620003c9565b6000826200052e57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620004d857620004d8620003c9565b61122c80620005596000396000f3fe6080604052600436106101445760003560e01c806376856557116100b6578063a457c2d71161006f578063a457c2d7146103a3578063a9059cbb146103c3578063c4d66de8146103e3578063dd62ed3e14610403578063e30c397814610423578063f2fde38b1461044157600080fd5b806376856557146102eb57806379ba50971461031b57806379cc6790146103305780638da5cb5b146103505780638fffabed1461036e57806395d89b411461038e57600080fd5b8063313ce56711610108578063313ce5671461020c578063395093511461022857806342966c6814610248578063502f74461461026857806370a08231146102a0578063715018a6146102d657600080fd5b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101ab57806323b872dd146101ca5780632d99d32e146101ea57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610461565b6040516101729190611005565b60405180910390f35b34801561018757600080fd5b5061019b610196366004611068565b6104f3565b6040519015158152602001610172565b3480156101b757600080fd5b506002545b604051908152602001610172565b3480156101d657600080fd5b5061019b6101e5366004611094565b61050d565b3480156101f657600080fd5b5061020a6102053660046110d5565b610531565b005b34801561021857600080fd5b5060405160128152602001610172565b34801561023457600080fd5b5061019b610243366004611068565b6105c6565b34801561025457600080fd5b5061020a610263366004611113565b6105e8565b34801561027457600080fd5b50600754610288906001600160a01b031681565b6040516001600160a01b039091168152602001610172565b3480156102ac57600080fd5b506101bc6102bb36600461112c565b6001600160a01b031660009081526020819052604090205490565b3480156102e257600080fd5b5061020a6105f5565b3480156102f757600080fd5b5061019b61030636600461112c565b60096020526000908152604090205460ff1681565b34801561032757600080fd5b5061020a610609565b34801561033c57600080fd5b5061020a61034b366004611068565b610680565b34801561035c57600080fd5b506005546001600160a01b0316610288565b34801561037a57600080fd5b50600854610288906001600160a01b031681565b34801561039a57600080fd5b50610165610695565b3480156103af57600080fd5b5061019b6103be366004611068565b6106a4565b3480156103cf57600080fd5b5061019b6103de366004611068565b61071f565b3480156103ef57600080fd5b5061020a6103fe36600461112c565b61072d565b34801561040f57600080fd5b506101bc61041e366004611150565b6107fc565b34801561042f57600080fd5b506006546001600160a01b0316610288565b34801561044d57600080fd5b5061020a61045c36600461112c565b610827565b6060600380546104709061117e565b80601f016020809104026020016040519081016040528092919081815260200182805461049c9061117e565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050905090565b600033610501818585610898565b60019150505b92915050565b60003361051b8582856109bc565b610526858585610a36565b506001949350505050565b610539610bda565b6008546001600160a01b03908116908316036105b85760405162461bcd60e51b815260206004820152603360248201527f44656661756c74526f757465723a2043616e6e6f742072656d6f766520696e696044820152721d1a585b081c185a5c88199c9bdb481b1a5cdd606a1b60648201526084015b60405180910390fd5b6105c28282610c34565b5050565b6000336105018185856105d983836107fc565b6105e391906111b8565b610898565b6105f23382610c93565b50565b6105fd610bda565b6106076000610dc5565b565b60065433906001600160a01b031681146106775760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016105af565b6105f281610dc5565b61068b8233836109bc565b6105c28282610c93565b6060600480546104709061117e565b600033816106b282866107fc565b9050838110156107125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105af565b6105268286868403610898565b600033610501818585610a36565b600654600160a81b900460ff168061074f5750600654600160a01b900460ff16155b6107b25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105af565b600654600160a81b900460ff161580156107dc576006805461ffff60a01b191661010160a01b1790555b6107e582610dde565b80156105c2576006805460ff60a81b191690555050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61082f610bda565b600680546001600160a01b0383166001600160a01b031990911681179091556108606005546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b0383166108fa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b03821661095b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006109c884846107fc565b90506000198114610a305781811015610a235760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105af565b610a308484848403610898565b50505050565b6001600160a01b038316610a9a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610afc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b6001600160a01b03831660009081526020819052604090205481811015610b745760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105af565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a30565b6005546001600160a01b031633146106075760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105af565b6001600160a01b038216600081815260096020908152604091829020805460ff191685151590811790915591519182527f911aa18ddbbbc33c9b4c704a71bdaa0984b0aa2e82726a7f51e64bad0b0a8455910160405180910390a25050565b6001600160a01b038216610cf35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105af565b6001600160a01b03821660009081526020819052604090205481811015610d675760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105af565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b600680546001600160a01b03191690556105f281610fb3565b600780546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b91906111d9565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ebd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee191906111d9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610f2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5291906111d9565b600880546001600160a01b0319166001600160a01b03929092169182179055610f7c906001610c34565b6040516001600160a01b038216907fbc052db65df144ad4f71f02da93cae3d4401104c30ac374d7cc10d87ee07b60290600090a250565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b8181101561103257858101830151858201604001528201611016565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105f257600080fd5b6000806040838503121561107b57600080fd5b823561108681611053565b946020939093013593505050565b6000806000606084860312156110a957600080fd5b83356110b481611053565b925060208401356110c481611053565b929592945050506040919091013590565b600080604083850312156110e857600080fd5b82356110f381611053565b91506020830135801515811461110857600080fd5b809150509250929050565b60006020828403121561112557600080fd5b5035919050565b60006020828403121561113e57600080fd5b813561114981611053565b9392505050565b6000806040838503121561116357600080fd5b823561116e81611053565b9150602083013561110881611053565b600181811c9082168061119257607f821691505b6020821081036111b257634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561050757634e487b7160e01b600052601160045260246000fd5b6000602082840312156111eb57600080fd5b81516111498161105356fea264697066735822122065d451b687268b7cb8043379ca5b89a5f48d977b4ed65ccdf62de13af9ed676f64736f6c63430008130033