-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Add dynamic fee modal #1031
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add dynamic fee modal #1031
Conversation
🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎ To accept the risk, merge this PR and you will not be notified again.
Next stepsWhat is dynamic require?Dynamic require can indicate the package is performing dangerous or unsafe dynamic code execution. Packages should avoid dynamic imports when possible. Audit the use of dynamic require to ensure it is not executing malicious or vulnerable code. What is filesystem access?Accesses the file system, and could potentially read sensitive data. If a package must read the file system, clarify what it will read and ensure it reads only what it claims to. If appropriate, packages can leave file system access to consumers and operate on data passed to it instead. Take a deeper look at the dependencyTake a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev. Remove the packageIf you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency. Mark a package as acceptable riskTo ignore an alert, reply with a comment starting with
|
New, updated, and removed dependencies detected. Learn more about Socket for GitHub ↗︎
|
bytes calldata /*data*/ | ||
) external override { | ||
// Record swap amount in history | ||
uint256 amount = uint256(abs(amount0Delta > 0 ? amount0Delta : amount1Delta)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It can save gas
uint256 amount = uint256(abs(amount0Delta > 0 ? amount0Delta : amount1Delta)); | |
uint256 amount = uint256(amount0Delta > 0 ? amount0Delta : abs(amount1Delta)); |
uint256 currentTime = block.timestamp; | ||
for (uint256 i = 0; i < swapHistory.length; i++) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's view
function, but also it's called in swapWithDynamicFee
and addLiquidityWithDynamicFee
functions.
So it should be gas optimized.
uint256 currentTime = block.timestamp; | |
for (uint256 i = 0; i < swapHistory.length; i++) { | |
uint256 currentTime = block.timestamp; | |
uint256 numHistory = swapHistory.length; | |
for (uint256 i = 0; i < numHistory; ++i) { |
|
||
// Enforce minimum and maximum fee bounds | ||
if (fee < MIN_FEE) fee = MIN_FEE; | ||
if (fee > MAX_FEE) fee = MAX_FEE; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If fee is below MIN_FEE
, it's not necessary to check whether it's above MAX_FEE
if (fee > MAX_FEE) fee = MAX_FEE; | |
else if (fee > MAX_FEE) fee = MAX_FEE; |
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward? This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting
No description provided.