1 tx
2 calls
constructor
constructor(address _router, address _feeReceiver, uint256 _feeAmount)
functions
checkPreConditions
viewfunction checkPreConditions(address token, uint256 amountTokenDesired, uint256 amountETHMin, address user) view returns (uint256 userTokenBalance, uint256 userTokenAllowance, uint256 userETHBalance, bool feeAlreadyPaid, uint256 requiredFee)
feeAmount
viewfunction feeAmount() view returns (uint256)
feeReceiver
viewfunction feeReceiver() view returns (address)
getETHBalance
viewfunction getETHBalance() view returns (uint256)
getPairKey
purefunction getPairKey(address tokenA, address tokenB) pure returns (bytes32)
getTokenBalance
viewfunction getTokenBalance(address token) view returns (uint256)
hasPaidFee
viewfunction hasPaidFee(bytes32, address) view returns (bool)
owner
viewfunction owner() view returns (address)
router
viewfunction router() view returns (address)
addLiquidity
payablefunction addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) payable
addLiquidityETH
payablefunction addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) payable
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address token, uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeAmount
nonpayablefunction setFeeAmount(uint256 newFee)
setFeeReceiver
nonpayablefunction setFeeReceiver(address newReceiver)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
DebugInfo
event DebugInfo(string message, uint256 value)
FeePaid
event FeePaid(address indexed user, bytes32 indexed pairHash, uint256 fee)
FeeReceiverUpdated
event FeeReceiverUpdated(address newReceiver)
FeeUpdated
event FeeUpdated(uint256 newFee)
LiquidityETHAdded
event LiquidityETHAdded(address indexed user, address token, uint256 tokenAmount, uint256 ethAmount, uint256 liquidity)
LiquidityTokenAdded
event LiquidityTokenAdded(address indexed user, address tokenA, address tokenB, uint256 amountA, uint256 amountB, uint256 liquidity)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60a0346101b857601f61260738819003918201601f19168301916001600160401b038311848410176101bd578084926060946040528339810103126101b857610047816101d3565b6040610055602084016101d3565b9201519133156101a25760008054336001600160a01b0319821681178355604051949290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600180556001600160a01b031691821561016057506001600160a01b031690811561010c57608052600280546001600160a01b03191691909117905560035560405161241f90816101e8823960805181818160f00152818161058801526111100152f35b60405162461bcd60e51b815260206004820152602660248201527f4c41554e434845523a20496e76616c696420666565207265636569766572206160448201526564647265737360d01b6064820152608490fd5b62461bcd60e51b815260206004820181905260248201527f4c41554e434845523a20496e76616c696420726f7574657220616464726573736044820152606490fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101b85756fe608080604052600436101561001d575b50361561001b57600080fd5b005b60003560e01c9081633aecd0e314612043575080634e449c5b14611eb857806363a8306014611e4d57806369e1540414611e2f5780636b39268014611de35780636e94729814611dc7578063715018a614611d6e5780638da5cb5b14611d4557806395ccea6714611ab3578063b3f0067414611a8a578063b9bf0e8a14611a3d578063e8e3370014610e4c578063efdcd97414610d8b578063f2fde38b14610d02578063f305d719146101245763f887ea40146100da573861000f565b3461011f57600036600319011261011f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600080fd5b60c036600319011261011f576101386120c9565b6064356084356001600160a01b038116906024359082900361011f5760a435926101606123a7565b6000805160206123ca833981519152608060405160408152601960408201527f4c41554e434845523a2046756e6374696f6e2063616c6c6564000000000000006060820152346020820152a16001600160a01b038516948515610cbd578215610c62576101ce841515612185565b6101da428610156121dd565b6000805160206123ca83398151915260a060405160408152602260408201527f4c41554e434845523a2042617369632076616c69646174696f6e732070617373606082015261195960f21b6080820152876020820152a160405161026d8161025f6020820194856028916001600160601b03199060601b168152600060148201520190565b03601f1981018352826120f5565b5190209234846000526004602052604060002060018060a01b03331660005260205260ff6040600020541615600014610c0f57506102fb6003546000805160206123ca833981519152608060405160408152601a60408201527f4c41554e434845523a20466565206e6f742070616964207965740000000000006060820152836020820152a1341015612229565b60008481526004602090815260408083203384529091528120805460ff191660011790556003549490610354908080806103358a34612303565b600254909a906001600160a01b03165af161034e612145565b5061228a565b6003546040519081527ff00a7c52bb14b2246c8bffcad6f2cd3189a72d08bafa84277d182b95e0eb2c4e60203392a36000805160206123ca833981519152608060405160408152601f60408201527f4c41554e434845523a20466565207061796d656e7420636f6d706c65746564006060820152866020820152a15b818410610ba4576040516370a0823160e01b81523360048201526020816024818a5afa90811561092d57600091610b72575b50604051636eb1769f60e11b81523360048201523060248201526020816044818b5afa91821561092d578591600093610b38575b506000805160206123ca833981519152608060405160408152601c60408201527f4c41554e434845523a205573657220746f6b656e2062616c616e6365000000006060820152836020820152a16000805160206123ca833981519152608060405160408152601e60408201527f4c41554e434845523a205573657220746f6b656e20616c6c6f77616e636500006060820152856020820152a110610ad7578311610a6c576040516323b872dd60e01b81523360048201523060248201526044810184905260208160648160008b5af190811561092d57600091610a4d575b50156109ea576000805160206123ca83398151915260a060405160408152602260408201527f4c41554e434845523a20546f6b656e207472616e7366657220636f6d706c6574606082015261195960f21b6080820152856020820152a160405163095ea7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201819052602482018590529060208160448160008c5af190811561092d576000916109cb575b5015610973576060928560c4926000805160206123ca83398151915260a060405160408152602360408201527f4c41554e434845523a20526f7574657220617070726f76616c20636f6d706c6589820152621d195960ea1b6080820152896020820152a16000805160206123ca83398151915260a0476040519060408252602960408301527f4c41554e434845523a204554482062616c616e6365206265666f726520556e698a830152681cddd85c0818d85b1b60ba1b60808301526020820152a1604051988995869463f305d71960e01b86528c600487015289602487015260443560448701526064860152608485015260a48401525af190811561092d57600091600094600091610939575b509061078b92916000805160206123ca83398151915260a060405160408152602d60408201527f4c41554e434845523a20556e69737761702063616c6c20636f6d706c6574656460608201526c207375636365737366756c6c7960981b6080820152836020820152a16040519087825283602083015286604083015260608201527fed8a418d9be0c956acd2f8cc248ae8c87638531e2c68a9499da225fccb056a2b60803392a2612303565b9283610816575b5061079d9250612303565b806107a9575b60018055005b6080816107d560008080806000805160206123ca83398151915297335af16107cf612145565b50612326565b6040519060408252601e60408301527f4c41554e434845523a2045544820726566756e6420636f6d706c65746564000060608301526020820152a1806107a3565b60405163a9059cbb60e01b81523360048201526024810185905290602090829060449082906000905af190811561092d576000916108fe575b50156108ab576000805160206123ca833981519152608061079d946040519060408252602060408301527f4c41554e434845523a20546f6b656e20726566756e6420636f6d706c6574656460608301526020820152a183610792565b60405162461bcd60e51b815260206004820152602560248201527f4c41554e434845523a20546f6b656e20726566756e6420746f20757365722066604482015264185a5b195960da1b6064820152608490fd5b610920915060203d602011610926575b61091881836120f5565b81019061212d565b8461084f565b503d61090e565b6040513d6000823e3d90fd5b905061096391945061078b925060603d60601161096c575b61095b81836120f5565b8101906122e8565b909491926106df565b503d610951565b60405162461bcd60e51b815260206004820152602a60248201527f4c41554e434845523a20546f6b656e20617070726f76616c20666f7220726f756044820152691d195c8819985a5b195960b21b6064820152608490fd5b6109e4915060203d6020116109265761091881836120f5565b886105d1565b60405162461bcd60e51b815260206004820152603560248201527f4c41554e434845523a20546f6b656e207472616e736665722066726f6d207573604482015274195c881d1bc818dbdb9d1c9858dd0819985a5b1959605a1b6064820152608490fd5b610a66915060203d6020116109265761091881836120f5565b87610514565b60405162461bcd60e51b815260206004820152603860248201527f4c41554e434845523a20496e73756666696369656e7420746f6b656e20616c6c60448201527f6f77616e636520666f72207468697320636f6e747261637400000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152603360248201527f4c41554e434845523a20496e73756666696369656e7420746f6b656e2062616c604482015272185b98d9481a5b881d5cd95c881dd85b1b195d606a1b6064820152608490fd5b9150916020823d602011610b6a575b81610b54602093836120f5565b81010312610b6757508490519189610436565b80fd5b3d9150610b47565b906020823d602011610b9c575b81610b8c602093836120f5565b81010312610b6757505187610402565b3d9150610b7f565b60405162461bcd60e51b815260206004820152603a60248201527f4c41554e434845523a204e6f7420656e6f756768204554482072656d61696e6960448201527f6e6720666f72206c6971756964697479206166746572206665650000000000006064820152608490fd5b93506000805160206123ca833981519152608060405160408152601a60408201527f4c41554e434845523a2046656520616c726561647920706169640000000000006060820152346020820152a16103d0565b60405162461bcd60e51b815260206004820152602d60248201527f4c41554e434845523a20546f6b656e20616d6f756e74206d757374206265206760448201526c0726561746572207468616e203609c1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601f60248201527f4c41554e434845523a20496e76616c696420746f6b656e2061646472657373006044820152606490fd5b3461011f57602036600319011261011f57610d1b6120c9565b610d2361237e565b6001600160a01b03168015610d7557600080546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b600052600060045260246000fd5b3461011f57602036600319011261011f57610da46120c9565b610dac61237e565b6001600160a01b03168015610dfc576020817f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee926001600160601b0360a01b6002541617600255604051908152a1005b60405162461bcd60e51b815260206004820152602260248201527f4c41554e434845523a20496e76616c6964207265636569766572206164647265604482015261737360f01b6064820152608490fd5b61010036600319011261011f57610e616120c9565b610e696120df565b906064359060c4356001600160a01b03811691906044359083900361011f5760e43592610e946123a7565b6000805160206123ca83398151915260a060405160408152602660408201527f4c41554e434845523a206164644c69717569646974792066756e6374696f6e2060608201526518d85b1b195960d21b6080820152346020820152a16001600160a01b0383169283151580611a2b575b156119dc576001600160a01b0387169684881461198c5783151580611983575b1561192757610f7e61025f91610f3a851515612185565b610f46428910156121dd565b60405192839160208301958690916028926001600160601b03199060601b1682526001600160601b03199060601b1660148201520190565b519020600081815260046020908152604080832033845290915290205460ff161561189b575b506040516370a0823160e01b8152336004820152602081602481875afa801561092d578391600091611866575b5010611804576040516370a0823160e01b81523360048201526020816024818a5afa801561092d5786916000916117cf575b501061176d57604051636eb1769f60e11b8152336004820152306024820152602081604481875afa801561092d578391600091611738575b50106116d157604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa801561092d57869160009161169c575b5010611635576040516323b872dd60e01b8152336004820152306024820152604481018390526020816064816000885af190811561092d57600091611616575b50156115b2576040516323b872dd60e01b81523360048201523060248201526044810186905260208160648160008b5af190811561092d57600091611593575b501561152f5760405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482018190526024820184905294906020816044816000895af190811561092d57600091611510575b50156114b75760405163095ea7b360e01b81526001600160a01b03861660048201526024810187905260208160448160008c5af190811561092d57600091611498575b501561143f576101046060926000604051978894859362e8e33760e81b85528960048601528c60248601528860448601528b6064860152608435608486015260a43560a486015260c485015260e48401525af190811561092d57600091600094600091611415575b509061125592916040519085825288602083015283604083015286606083015260808201527f8542fc4abf1031f406642245718393b3e16c2915e7eeec36f623754c6c56fcb660a03392a2612303565b8061135b575b505061126691612303565b90816112a2575b505060035480341161127f5760018055005b600080808061129161129c9534612303565b335af16107cf612145565b806107a3565b60405163a9059cbb60e01b81523360048201526024810192909252602090829060449082906000905af190811561092d5760009161133c575b50156112e857808061126d565b60405162461bcd60e51b815260206004820152602660248201527f4c41554e434845523a20546f6b656e4220726566756e6420746f20757365722060448201526519985a5b195960d21b6064820152608490fd5b611355915060203d6020116109265761091881836120f5565b816112db565b60405163a9059cbb60e01b8152336004820152602481019190915290602090829060449082906000905af190811561092d576000916113f6575b50156113a257838061125b565b60405162461bcd60e51b815260206004820152602660248201527f4c41554e434845523a20546f6b656e4120726566756e6420746f20757365722060448201526519985a5b195960d21b6064820152608490fd5b61140f915060203d6020116109265761091881836120f5565b84611395565b9050611436919450611255925060603d60601161096c5761095b81836120f5565b90949192611205565b60405162461bcd60e51b815260206004820152602b60248201527f4c41554e434845523a20546f6b656e4220617070726f76616c20666f7220726f60448201526a1d5d195c8819985a5b195960aa1b6064820152608490fd5b6114b1915060203d6020116109265761091881836120f5565b8861119d565b60405162461bcd60e51b815260206004820152602b60248201527f4c41554e434845523a20546f6b656e4120617070726f76616c20666f7220726f60448201526a1d5d195c8819985a5b195960aa1b6064820152608490fd5b611529915060203d6020116109265761091881836120f5565b8861115a565b60405162461bcd60e51b815260206004820152603660248201527f4c41554e434845523a20546f6b656e42207472616e736665722066726f6d20756044820152751cd95c881d1bc818dbdb9d1c9858dd0819985a5b195960521b6064820152608490fd5b6115ac915060203d6020116109265761091881836120f5565b876110f3565b60405162461bcd60e51b815260206004820152603660248201527f4c41554e434845523a20546f6b656e41207472616e736665722066726f6d20756044820152751cd95c881d1bc818dbdb9d1c9858dd0819985a5b195960521b6064820152608490fd5b61162f915060203d6020116109265761091881836120f5565b876110b3565b60405162461bcd60e51b815260206004820152603960248201527f4c41554e434845523a20496e73756666696369656e7420746f6b656e4220616c6044820152781b1bddd85b98d948199bdc881d1a1a5cc818dbdb9d1c9858dd603a1b6064820152608490fd5b9150506020813d6020116116c9575b816116b8602093836120f5565b8101031261011f5785905188611073565b3d91506116ab565b60405162461bcd60e51b815260206004820152603960248201527f4c41554e434845523a20496e73756666696369656e7420746f6b656e4120616c6044820152781b1bddd85b98d948199bdc881d1a1a5cc818dbdb9d1c9858dd603a1b6064820152608490fd5b9150506020813d602011611765575b81611754602093836120f5565b8101031261011f578290518861103b565b3d9150611747565b60405162461bcd60e51b815260206004820152603460248201527f4c41554e434845523a20496e73756666696369656e7420746f6b656e422062616044820152731b185b98d9481a5b881d5cd95c881dd85b1b195d60621b6064820152608490fd5b9150506020813d6020116117fc575b816117eb602093836120f5565b8101031261011f5785905188611003565b3d91506117de565b60405162461bcd60e51b815260206004820152603460248201527f4c41554e434845523a20496e73756666696369656e7420746f6b656e412062616044820152731b185b98d9481a5b881d5cd95c881dd85b1b195d60621b6064820152608490fd5b9150506020813d602011611893575b81611882602093836120f5565b8101031261011f5782905188610fd1565b3d9150611875565b6118a9600354341015612229565b60008181526004602090815260408083203384529091528120805460ff191660011790556002546003546118f29291829182918291906001600160a01b03165af161034e612145565b6003546040519081527ff00a7c52bb14b2246c8bffcad6f2cd3189a72d08bafa84277d182b95e0eb2c4e60203392a386610fa4565b60405162461bcd60e51b815260206004820152602e60248201527f4c41554e434845523a20546f6b656e20616d6f756e7473206d7573742062652060448201526d067726561746572207468616e20360941b6064820152608490fd5b50861515610f23565b60405162461bcd60e51b815260206004820152602260248201527f4c41554e434845523a20546f6b656e73206d75737420626520646966666572656044820152611b9d60f21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f4c41554e434845523a20496e76616c696420746f6b656e2061646472657373656044820152607360f81b6064820152608490fd5b506001600160a01b0387161515610f03565b3461011f57604036600319011261011f57611a566120df565b600435600052600460205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461011f57600036600319011261011f576002546040516001600160a01b039091168152602090f35b3461011f57604036600319011261011f57611acc6120c9565b60243590611ad861237e565b6001600160a01b031680611bbf5750804710611b665760008080809360018060a01b038254165af1611b08612145565b5015611b1057005b60405162461bcd60e51b815260206004820152602860248201527f4c41554e434845523a20455448207769746864726177616c20746f206f776e656044820152671c8819985a5b195960c21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602b60248201527f4c41554e434845523a20496e73756666696369656e7420636f6e74726163742060448201526a4554482062616c616e636560a81b6064820152608490fd5b6040516370a0823160e01b8152306004820152602081602481855afa801561092d578391600091611d10575b5010611cb5576000805460405163a9059cbb60e01b81526001600160a01b039091166004820152602481019390935260209183916044918391905af190811561092d57600091611c96575b5015611c3e57005b60405162461bcd60e51b815260206004820152602a60248201527f4c41554e434845523a20546f6b656e207769746864726177616c20746f206f776044820152691b995c8819985a5b195960b21b6064820152608490fd5b611caf915060203d6020116109265761091881836120f5565b81611c36565b60405162461bcd60e51b815260206004820152602d60248201527f4c41554e434845523a20496e73756666696369656e7420636f6e74726163742060448201526c746f6b656e2062616c616e636560981b6064820152608490fd5b9150506020813d602011611d3d575b81611d2c602093836120f5565b8101031261011f5782905184611beb565b3d9150611d1f565b3461011f57600036600319011261011f576000546040516001600160a01b039091168152602090f35b3461011f57600036600319011261011f57611d8761237e565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461011f57600036600319011261011f57602047604051908152f35b3461011f57602036600319011261011f577f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c766020600435611e2261237e565b80600355604051908152a1005b3461011f57600036600319011261011f576020600354604051908152f35b3461011f57604036600319011261011f576020611e686120c9565b61025f611ead611e766120df565b604051928391868301958690916028926001600160601b03199060601b1682526001600160601b03199060601b1660148201520190565b519020604051908152f35b3461011f57608036600319011261011f57611ed16120c9565b6064356001600160a01b0381169081810361011f576040516bffffffffffffffffffffffff19606085901b1660208201908152600060348301526001600160a01b039094169390611f25816048810161025f565b5190206040516370a0823160e01b81526004810184905292602084602481885afa93841561092d5760009461200f575b50604051636eb1769f60e11b81526001600160a01b038416600482015230602482015294602090869060449082905afa92831561092d57600093611fda575b60a095503191600052600460205260406000209060005260205260ff60406000205416906003549260405194855260208501526040840152151560608301526080820152f35b92506020853d602011612007575b81611ff5602093836120f5565b8101031261011f5760a0945192611f94565b3d9150611fe8565b9093506020813d60201161203b575b8161202b602093836120f5565b8101031261011f57519285611f55565b3d915061201e565b3461011f57602036600319011261011f576020816024816001600160a01b0361206a6120c9565b6370a0823160e01b8352306004840152165afa801561092d57600090612096575b602090604051908152f35b506020813d6020116120c1575b816120b0602093836120f5565b8101031261011f576020905161208b565b3d91506120a3565b600435906001600160a01b038216820361011f57565b602435906001600160a01b038216820361011f57565b90601f8019910116810190811067ffffffffffffffff82111761211757604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261011f5751801515810361011f5790565b3d15612180573d9067ffffffffffffffff82116121175760405191612174601f8201601f1916602001846120f5565b82523d6000602084013e565b606090565b1561218c57565b60405162461bcd60e51b815260206004820152602360248201527f4c41554e434845523a20496e76616c696420726563697069656e74206164647260448201526265737360e81b6064820152608490fd5b156121e457565b60405162461bcd60e51b815260206004820152601e60248201527f4c41554e434845523a20446561646c696e6520686173206578706972656400006044820152606490fd5b1561223057565b60405162461bcd60e51b815260206004820152602c60248201527f4c41554e434845523a20496e73756666696369656e74204554482073656e742060448201526b746f20636f7665722066656560a01b6064820152608490fd5b1561229157565b60405162461bcd60e51b815260206004820152602960248201527f4c41554e434845523a20466565207472616e7366657220746f20726563656976604482015268195c8819985a5b195960ba1b6064820152608490fd5b9081606091031261011f578051916040602083015192015190565b9190820391821161231057565b634e487b7160e01b600052601160045260246000fd5b1561232d57565b60405162461bcd60e51b815260206004820152602360248201527f4c41554e434845523a2045544820726566756e6420746f2075736572206661696044820152621b195960ea1b6064820152608490fd5b6000546001600160a01b0316330361239257565b63118cdaa760e01b6000523360045260246000fd5b6002600154146123b8576002600155565b633ee5aeb560e01b60005260046000fdfe269153184c1f85a424e52a094fb652d18b2919c5b16af5508747e5ba69a9c7a1a26469706673582212208f31a6cff70a884bf20037cbb3663695b97b26f3dc9955da999b37091a21f46864736f6c634300081c00330000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2400000000000000000000000080577c7423795f1cd4061a15096a9393c72e1c33000000000000000000000000000000000000000000000000016345785d8a0000