0 txs
1 call
constructor
constructor(address _router, address _feeReceiver, address _priceFeed)
functions
calculateETHFee
viewfunction calculateETHFee() view returns (uint256 ethAmount)
feeAmountUSD
viewfunction feeAmountUSD() view returns (uint256)
feeReceiver
viewfunction feeReceiver() view returns (address)
getCurrentFee
viewfunction getCurrentFee() view returns (uint256 ethFee, uint256 usdFee)
getETHBalance
viewfunction getETHBalance() view returns (uint256)
getETHPriceInUSD
viewfunction getETHPriceInUSD() view returns (uint256 price)
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)
hasUserPaidFee
viewfunction hasUserPaidFee(address tokenA, address tokenB, address user) view returns (bool)
owner
viewfunction owner() view returns (address)
PRICE_PRECISION
viewfunction PRICE_PRECISION() view returns (uint256)
priceFeed
viewfunction priceFeed() view returns (address)
router
viewfunction router() view returns (address)
USD_PRECISION
viewfunction USD_PRECISION() view returns (uint256)
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()
resetFeeStatus
nonpayablefunction resetFeeStatus(address tokenA, address tokenB, address user)
setFeeAmountUSD
nonpayablefunction setFeeAmountUSD(uint256 newFeeUSD)
setFeeReceiver
nonpayablefunction setFeeReceiver(address newReceiver)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
FeePaid
event FeePaid(address indexed user, bytes32 indexed pairHash, uint256 feeETH, uint256 feeUSD)
FeeReceiverUpdated
event FeeReceiverUpdated(address newReceiver)
FeeUpdated
event FeeUpdated(uint256 newFeeUSD)
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
ApprovalFailed
error ApprovalFailed()
DeadlineExpired
error DeadlineExpired()
InsufficientAllowance
error InsufficientAllowance()
InsufficientBalance
error InsufficientBalance()
InsufficientETHForLiquidity
error InsufficientETHForLiquidity()
InsufficientFee
error InsufficientFee()
InvalidAmount
error InvalidAmount()
InvalidFeeReceiver
error InvalidFeeReceiver()
InvalidPriceFeed
error InvalidPriceFeed()
InvalidRecipient
error InvalidRecipient()
InvalidRouter
error InvalidRouter()
InvalidToken
error InvalidToken()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
RefundFailed
error RefundFailed()
SameTokens
error SameTokens()
StalePrice
error StalePrice()
TransferFailed
error TransferFailed()
creation bytecode
0x60c03461017e57601f61197a38819003918201601f19168301916001600160401b038311848410176101835780849260609460405283398101031261017e5761004781610199565b90610060604061005960208401610199565b9201610199565b33156101685760008054336001600160a01b0319821681178355604051959290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001805560646003556001600160a01b0316918215610157576001600160a01b0316908115610146576001600160a01b031691821561013557608052600280546001600160a01b03191691909117905560a0526117cc90816101ae823960805181818161013d0152818161031d0152610ac5015260a0518181816112df01526116670152f35b6352cc3f7d60e01b60005260046000fd5b633480121760e21b60005260046000fd5b63466d7fef60e01b60005260046000fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361017e5756fe608080604052600436101561001d575b50361561001b57600080fd5b005b60003560e01c9081633aecd0e3146114085750806347184a33146113ea5780634bfdfa6f146113c757806363a83060146113835780636e94729814611367578063715018a61461130e578063741bef1a146112c95780638da5cb5b146112a057806394517ea41461128557806395082d251461126657806395ccea67146110ad578063b3f0067414611084578063b62e3c5a14611061578063b9bf0e8a14611014578063bae94db214610f9b578063c35bf2c814610f4f578063e8e337001461088c578063efdcd9741461080a578063f2039fb514610786578063f2fde38b146106fd578063f305d7191461019b578063f70d9362146101715763f887ea4014610127573861000f565b3461016c57600036600319011261016c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600080fd5b3461016c57600036600319011261016c57604061018c611534565b60035482519182526020820152f35b60c036600319011261016c576101af61148e565b6084356001600160a01b03811691606435916024359084900361016c5760a435926101d8611774565b6001600160a01b0383169283156106ec5782156106db5785156106ca574285106106b95760405160208101916001600160601b03199060601b168252600060348201526028815261022a6048826114d0565b51902060008181526004602090815260408083203384529091529020543496919060ff161561060d575b508186106105fc576040516370a0823160e01b8152336004820152602081602481885afa80156104ca5784916000916105c7575b50106105b657604051636eb1769f60e11b8152336004820152306024820152602081604481885afa80156104ca578491600091610581575b5010610570576040516323b872dd60e01b8152336004820152306024820152604481018490526020816064816000895af19081156104ca57600091610551575b50156105405760405163095ea7b360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201819052602482018590529060208160448160008a5af19081156104ca57600091610521575b5015610510576060928760c492604051988995869463f305d71960e01b86528a600487015289602487015260443560448701526064860152608485015260a48401525af19081156104ca576000916000946000916104d6575b509061040992916040519085825283602083015286604083015260608201527fed8a418d9be0c956acd2f8cc248ae8c87638531e2c68a9499da225fccb056a2b60803392a2611645565b80610454575b505061041a91611645565b80610426575b60018055005b600080808093335af16104376115ee565b50156104435780610420565b633c31275160e21b60005260046000fd5b60405163a9059cbb60e01b8152336004820152602481019190915290602090829060449082906000905af19081156104ca5760009161049b575b501561044357828061040f565b6104bd915060203d6020116104c3575b6104b581836114d0565b8101906115d6565b8361048e565b503d6104ab565b6040513d6000823e3d90fd5b9050610500919450610409925060603d606011610509575b6104f881836114d0565b810190611730565b909491926103bf565b503d6104ee565b6340b27c2160e11b60005260046000fd5b61053a915060203d6020116104c3576104b581836114d0565b88610366565b6312171d8360e31b60005260046000fd5b61056a915060203d6020116104c3576104b581836114d0565b87610300565b6313be252b60e01b60005260046000fd5b9150506020813d6020116105ae575b8161059d602093836114d0565b8101031261016c57839051886102c0565b3d9150610590565b631e9acf1760e31b60005260046000fd5b9150506020813d6020116105f4575b816105e3602093836114d0565b8101031261016c5783905188610288565b3d91506105d6565b637c4f338960e01b60005260046000fd5b9550610617611534565b958634106106a95760008181526004602090815260408083203384529091529020805460ff1916600117905561064d8734611645565b9660008080808460018060a01b03600254165af16106696115ee565b50156105405760035460405191825260208201527fa20ddb142971c82c436b429ce63991f17245019549e65aa0ec434dd8296edb4560403392a386610254565b62976f7560e21b60005260046000fd5b631ab7da6b60e01b60005260046000fd5b634e46966960e11b60005260046000fd5b63162908e360e11b60005260046000fd5b63c1ab6dc160e01b60005260046000fd5b3461016c57602036600319011261016c5761071661148e565b61071e61174b565b6001600160a01b0316801561077057600080546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b600052600060045260246000fd5b3461016c57606036600319011261016c5761079f61148e565b6107a76114a4565b906107c86107d66107b66114ba565b93604051928391602083019586611508565b03601f1981018352826114d0565b519020600052600460205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461016c57602036600319011261016c5761082361148e565b61082b61174b565b6001600160a01b0316801561087b576020817f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee926001600160601b0360a01b6002541617600255604051908152a1005b633480121760e21b60005260046000fd5b61010036600319011261016c576108a161148e565b6108a96114a4565b60c4356001600160a01b0381169260643591604435919085900361016c5760e435916108d3611774565b6001600160a01b0382169182158015610f3e575b6106ec576001600160a01b03861695838714610f2d5782158015610f25575b6106db5787156106ca574285106106b95761092f6107c891604051928391602083019586611508565b51902060008181526004602090815260408083203384529091528120549097919060ff1615610e90575b506040516370a0823160e01b8152336004820152602081602481875afa80156104ca578391600091610e5b575b50106105b6576040516370a0823160e01b81523360048201526020816024818a5afa80156104ca578691600091610e26575b50106105b657604051636eb1769f60e11b8152336004820152306024820152602081604481875afa80156104ca578391600091610df1575b501061057057604051636eb1769f60e11b81523360048201523060248201526020816044818a5afa80156104ca578691600091610dbc575b5010610570576040516323b872dd60e01b8152336004820152306024820152604481018390526020816064816000885af19081156104ca57600091610d9d575b5015610540576040516323b872dd60e01b81523360048201523060248201526044810186905260208160648160008b5af19081156104ca57600091610d7e575b50156105405760405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016600482018190526024820184905294906020816044816000895af19081156104ca57600091610d5f575b50156105105760405163095ea7b360e01b81526001600160a01b03861660048201526024810187905260208160448160008c5af19081156104ca57600091610d40575b5015610510576101046060926000604051978894859362e8e33760e81b85528960048601528c60248601528860448601528b6064860152608435608486015260a43560a486015260c485015260e48401525af19081156104ca57600091600094600091610d16575b5090610c0a92916040519085825288602083015283604083015286606083015260808201527f8542fc4abf1031f406642245718393b3e16c2915e7eeec36f623754c6c56fcb660a03392a2611645565b80610cb0575b5050610c1b91611645565b9081610c4b575b5050803411610c315760018055005b60008080610c40819434611645565b335af16104376115ee565b60405163a9059cbb60e01b81523360048201526024810192909252602090829060449082906000905af19081156104ca57600091610c91575b5015610443578180610c22565b610caa915060203d6020116104c3576104b581836114d0565b82610c84565b60405163a9059cbb60e01b8152336004820152602481019190915290602090829060449082906000905af19081156104ca57600091610cf7575b5015610443578480610c10565b610d10915060203d6020116104c3576104b581836114d0565b85610cea565b9050610d37919450610c0a925060603d606011610509576104f881836114d0565b90949192610bba565b610d59915060203d6020116104c3576104b581836114d0565b89610b52565b610d78915060203d6020116104c3576104b581836114d0565b89610b0f565b610d97915060203d6020116104c3576104b581836114d0565b88610aa8565b610db6915060203d6020116104c3576104b581836114d0565b88610a68565b9150506020813d602011610de9575b81610dd8602093836114d0565b8101031261016c5785905189610a28565b3d9150610dcb565b9150506020813d602011610e1e575b81610e0d602093836114d0565b8101031261016c57829051896109f0565b3d9150610e00565b9150506020813d602011610e53575b81610e42602093836114d0565b8101031261016c57859051896109b8565b3d9150610e35565b9150506020813d602011610e88575b81610e77602093836114d0565b8101031261016c5782905189610986565b3d9150610e6a565b9650610e9a611534565b968734106106a95760008181526004602090815260408083203384529091528120805460ff191660011790556002548190819081908c906001600160a01b03165af1610ee46115ee565b5015610540576003546040519089825260208201527fa20ddb142971c82c436b429ce63991f17245019549e65aa0ec434dd8296edb4560403392a387610959565b508515610906565b630d11785f60e21b60005260046000fd5b506001600160a01b038616156108e7565b3461016c57602036600319011261016c577f8c4d35e54a3f2ef1134138fd8ea3daee6a3c89e10d2665996babdf70261e2c766020600435610f8e61174b565b80600355604051908152a1005b3461016c57606036600319011261016c57610fb461148e565b610fbc6114a4565b906107c8610fe5610fcb6114ba565b93610fd461174b565b604051928391602083019586611508565b51902060009081526004602090815260408083206001600160a01b03909416835292905220805460ff19169055005b3461016c57604036600319011261016c5761102d6114a4565b600435600052600460205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461016c57600036600319011261016c57602061107c611652565b604051908152f35b3461016c57600036600319011261016c576002546040516001600160a01b039091168152602090f35b3461016c57604036600319011261016c576110c661148e565b602435906110d261174b565b6001600160a01b03168061114f575080471061110a5760008080809360018060a01b038254165af16111026115ee565b501561054057005b60405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e636500000000000000006044820152606490fd5b6040516370a0823160e01b8152306004820152602081602481855afa80156104ca578391600091611231575b50106111ec576000805460405163a9059cbb60e01b81526001600160a01b039091166004820152602481019390935260209183916044918391905af19081156104ca576000916111cd57501561054057005b6111e6915060203d6020116104c3576104b581836114d0565b81611102565b60405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e63650000000000006044820152606490fd5b9150506020813d60201161125e575b8161124d602093836114d0565b8101031261016c578290518461117b565b3d9150611240565b3461016c57600036600319011261016c5760206040516305f5e1008152f35b3461016c57600036600319011261016c57602061107c611534565b3461016c57600036600319011261016c576000546040516001600160a01b039091168152602090f35b3461016c57600036600319011261016c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461016c57600036600319011261016c5761132761174b565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461016c57600036600319011261016c57602047604051908152f35b3461016c57604036600319011261016c57602061139e61148e565b6107c86113bc6113ac6114a4565b6040519283918683019586611508565b519020604051908152f35b3461016c57600036600319011261016c576020604051670de0b6b3a76400008152f35b3461016c57600036600319011261016c576020600354604051908152f35b3461016c57602036600319011261016c576020816024816001600160a01b0361142f61148e565b6370a0823160e01b8352306004840152165afa80156104ca5760009061145b575b602090604051908152f35b506020813d602011611486575b81611475602093836114d0565b8101031261016c5760209051611450565b3d9150611468565b600435906001600160a01b038216820361016c57565b602435906001600160a01b038216820361016c57565b604435906001600160a01b038216820361016c57565b90601f8019910116810190811067ffffffffffffffff8211176114f257604052565b634e487b7160e01b600052604160045260246000fd5b90916028926001600160601b03199060601b1682526001600160601b03199060601b1660148201520190565b61153c611652565b600354670de0b6b3a7640000810290808204670de0b6b3a764000014811517156115c0576a52b7d2dcc80cd2e400000002908082046305f5e10014901517156115c057670de0b6b3a7640000820291808304670de0b6b3a764000014901517156115c05781156115aa570490565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b9081602091031261016c5751801515810361016c5790565b3d15611629573d9067ffffffffffffffff82116114f2576040519161161d601f8201601f1916602001846114d0565b82523d6000602084013e565b606090565b519069ffffffffffffffffffff8216820361016c57565b919082039182116115c057565b604051633fabe5a360e21b815260a0816004817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156104ca5760009182916116d1575b506116af610e109142611645565b116116c05760008113156116c05790565b630cd5fa0760e11b60005260046000fd5b91905060a0823d60a011611728575b816116ed60a093836114d0565b8101031261172557506116ff8161162e565b50610e106116af602083015161171c60806060860151950161162e565b509291506116a1565b80fd5b3d91506116e0565b9081606091031261016c578051916040602083015192015190565b6000546001600160a01b0316330361175f57565b63118cdaa760e01b6000523360045260246000fd5b600260015414611785576002600155565b633ee5aeb560e01b60005260046000fdfea26469706673582212201ba3d5961a8d9cdc39948e46b4644193919acc43820545a8dd275671c30d4f7f64736f6c634300081c00330000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad2400000000000000000000000080577c7423795f1cd4061a15096a9393c72e1c3300000000000000000000000071041dddad3595f9ced3dccfbe3d1f4b0a16bb70