-
Notifications
You must be signed in to change notification settings - Fork 40
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
Native USDC Support Revisions #75
Open
psparacino
wants to merge
27
commits into
main
Choose a base branch
from
tufnel/native-usdc-revisions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
psparacino
changed the title
Native USDC Support Revision
Native USDC Support Revisions
Dec 17, 2024
Atmosfearful
approved these changes
Dec 17, 2024
const signature = await protocolKitOwner1.signHash(safeTxHash); | ||
|
||
// Propose transaction to the service | ||
await apiKit.proposeTransaction({ |
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.
Cool will re-use this template to push the marketplace upgrades as well!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Given there is no apparent native usdc liquidity in v2 pools, if the
sourceToken
is native usdc then an initial swap to bridged takes place, which is then used for the subsequent operations.If there is dust post-retirement and the originalSourceToken was native, then bridged is swapped back to native before returning dust to the user.
Quotes:
This PR depends on the uniswap view quoter: https://github.com/Uniswap/view-quoter-v3. I couldn't locate reference to the view quoter in their docs but in every other respect has been reliable.
RetirementQuoter
usesquoteExactOutputSingle
so the exact amount of usdc required for the retirement is returned.Retire functions then optimistically use
exactInputSingle
given the quote is already returningamountIn
of the sourceToken.Tests:
Applicable tests updated for native usdc as source.
There were several others broken/out-of-date tests (ICR, Bonds) which also have been fixed along the way. Ownership and a few bond tests still failing, but those fail on main and can be adjusted in a follow up PR.
Notes:
The usdc -> usdc.e swap logic could potentially have gone in the
getSourceAmount
and related functions, but the goal here was to keep v3 and v2 functions and operations distinct.The following functions:
c3RedeemPoolDefault
,toucanRedeemExactCarbonPoolDefault
,retireExactSourceSpecific
,retireExactSourceDefault
are currently not used in any app or api, and therefore have not been updated.forge versions might have changed since the last main merge. Potential dependent PR: Forge format on repo #76
To-Dos
: