Skip to content
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

Epic: AMM #10225

Open
1 of 9 tasks
Tracked by #9118
nventuro opened this issue Nov 26, 2024 · 0 comments
Open
1 of 9 tasks
Tracked by #9118

Epic: AMM #10225

nventuro opened this issue Nov 26, 2024 · 0 comments
Labels

Comments

@nventuro
Copy link
Contributor

nventuro commented Nov 26, 2024

#10153 implements an initial AMM that is already feature complete: this tracking issue is more about work that said contract revealed as necessary or re-valued, and not so much about missing AMM features.

AMM work

  1. C-aztec.nr team-fairies
  2. C-pxe team-fairies

Extra Stuff

  1. team-fairies
  2. C-pxe team-fairies
  3. C-aztec.nr S-needs-discussion team-fairies
  4. C-aztec.nr S-needs-discussion team-fairies
  5. C-aztec.js S-needs-discussion team-fairies
This was referenced Nov 26, 2024
nventuro added a commit that referenced this issue Dec 3, 2024
Opening in favor of
#8644 due to
@benesjan being away on vacation, and that PR using Graphite. Work here
starts from commit a404b58, which has
been squashed into 81d7607.

This is the first implementation of Uniswap v2 style AMM that provides
identity privacy. The contract is a single pool for two tokens with a
fixed 0.3% swap fee. Adding and removing liquidity is done
proportionally to the current ratio, resulting in no price impact and
therefore no fees. Swaps can be performed by specifying either the
amount in or the amount out. All three operations are completed in a
single transaction each by leveraging partial notes.

I created #10225
to track pending work. Some of the tasks in that epic are only work that
arises from the AMM, but are not technically required to have a fully
functioning system: this PR already achieves that.

Only a happy-path end to end test is included here, since TXE currently
lacks some of the features required in order to properly deal with
partial notes. We should later write those as this will be a good test
of TXE's capabilities and user experience, given the complexity of the
setup.

---

I added the e2e to be run on CI on all branches since it combines
multiple complex features, and likely contains our largest transactions
yet.
AztecBot pushed a commit to AztecProtocol/aztec-nr that referenced this issue Dec 4, 2024
Opening in favor of
AztecProtocol/aztec-packages#8644 due to
@benesjan being away on vacation, and that PR using Graphite. Work here
starts from commit a404b58e7d049ee7a56310702046f03a624fd1ee, which has
been squashed into 81d7607d9d551aea4d6de78ec3ff535ec5d5a29a.

This is the first implementation of Uniswap v2 style AMM that provides
identity privacy. The contract is a single pool for two tokens with a
fixed 0.3% swap fee. Adding and removing liquidity is done
proportionally to the current ratio, resulting in no price impact and
therefore no fees. Swaps can be performed by specifying either the
amount in or the amount out. All three operations are completed in a
single transaction each by leveraging partial notes.

I created AztecProtocol/aztec-packages#10225
to track pending work. Some of the tasks in that epic are only work that
arises from the AMM, but are not technically required to have a fully
functioning system: this PR already achieves that.

Only a happy-path end to end test is included here, since TXE currently
lacks some of the features required in order to properly deal with
partial notes. We should later write those as this will be a good test
of TXE's capabilities and user experience, given the complexity of the
setup.

---

I added the e2e to be run on CI on all branches since it combines
multiple complex features, and likely contains our largest transactions
yet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant