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

put the pool logic in the factory contract (singleton uniswap contract) #3

Closed
moodysalem opened this issue Nov 4, 2021 · 2 comments · Fixed by #13
Closed

put the pool logic in the factory contract (singleton uniswap contract) #3

moodysalem opened this issue Nov 4, 2021 · 2 comments · Fixed by #13

Comments

@moodysalem
Copy link
Contributor

moodysalem commented Nov 4, 2021

tracked here: https://github.com/Uniswap/core-experiments/tree/singleton

benefits:

  • lower gas fees for hopping between pools (no transfers are necessary)
  • fewer storage slots for tracking a token's balance
  • aggregation is way cheaper
  • allows you to flash anything across all pools (e.g. any combination of swap/mint/burn for any pool, huge network effects)
  • allows you to flash borrow the entire aggregate balance of a token from uniswap
@moodysalem
Copy link
Contributor Author

moodysalem commented Nov 4, 2021

we will want to consider a separate contract vault that accounts the balances of each pool contract to protect bad pool/token logic from draining all the pools
not necessary, can still be one contract

@moodysalem moodysalem changed the title put the pool logic in the factory contract put the pool logic in the factory contract (singleton uniswap contract Nov 29, 2021
@moodysalem moodysalem changed the title put the pool logic in the factory contract (singleton uniswap contract put the pool logic in the factory contract (singleton uniswap contract) Nov 29, 2021
@moodysalem moodysalem self-assigned this Nov 30, 2021
@moodysalem
Copy link
Contributor Author

depends on ethereum/pm#438 for gas cost competitiveness

@moodysalem moodysalem removed their assignment May 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant