balancer / pool-creator

A user friendly interface for creating and initializing pools
https://pool-creator.balancer.fi/
MIT License
5 stars 0 forks source link

First Review Issue/Feedback List #17

Open johngrantuk opened 2 weeks ago

johngrantuk commented 2 weeks ago

Please add issues here.

Tritium-VLK commented 2 weeks ago

Maybe we shouldn't offer UI users the ability to launch stableswaps with fee exempt rate providers. In general the default should be that we collect yield fees, without it being the most apparent that there is another option. If someone wants to avoid that, they can at least figure out how to use the factory

Tritium-VLK commented 2 weeks ago

Made an 60/40 WETH/USDC pool. Here is my feedback.

Somehow shows a WETH balance even when no wallet connected:

image

Connecting wallet tries to go back to ethereum, erasing prior work:

image

Need more info about what this means. Also maybe a recommendation of defaults if you don't understand and a bit more info about what DAO governance looks like?

image

There are some rules about pool name lengths here that are relevant for gauge creation. I can't remember what they are, but basically both symbol and pool need to be capped at a certain length. Will ask around and see if I can find details. LMK if you already have them.

Settings exposed that I can not change and as a user may not understand:

image

Disable Unbalanced Liquidity? Donations Enabled?

Finally, it would be nice to have a link to my new pool in the UI in the successful transaction thing, and not just a little bubble that pops up. In the end after executing I end up back on the create page being asked to approve again. This could prompt someone to create multiple pools. Once creation is done, suggest you take the user to a final page that shows what happened and links to the new pool, but doesn't provide easy access to create another one without starting the process over again.

Looks/works great. This is all cosmetic stuff.

Tritium-VLK commented 2 weeks ago

Ahh. Now I understand I still needed to initjoin :). Nevermind, understand what that interface was for. Next question. Can I iniitjoin a pool when I left the interface? 😅

Tritium-VLK commented 2 weeks ago

Second pass new pool. Noticed that the first time I put in 60/40 but equal amounts of both. Maybe a warning if users are depositing away from market price on the initjoin?

It also feels a bit odd to sign both approves and permits on chain. It would be good to maybe clarify why. Maybe that's just a me thing?

Finished everything. Still would like a link to the pool in the UI on this final page. Here it makes sense to show all parameters set, even if I didn't/couldn't choose them I think, or at least more so.

image

It may also be cool if there was a way to add a gauge, maybe that doesn't belong in this interface.

The ability to resume some way through the transaction flow would also be nice.

Zen-Maxi commented 2 weeks ago

So a few comments, some echoing tritiums. I recorded myself through the process.

  1. Gauge creation would be great here, if we can do child chain and root gauge even more powerful. This comes with the comment I made on slack and in our call. The pool name for our gauges needs be 32 characters or less or gauge creation reverts. A custom name convention should be suggested whenever the string.length() > 32
  2. When clicking the rate provider require option do we have any check against the registry? I can picture that cell as a drop down and a link for "If your rate provider contract has not been reviewed, please submit a request here" with a link. Or if no drop down a "is reviewed" or not flag coming up to let pool creation continue / a warning saying our ui will be frozen until it is. If people select USDC or wETH (anything boostable) an option to boost a token would be great and select from buffers we support. Edit: Seems it currently does this, with "invalid address" but is not aware of the network a rate provider is meant for and should like to a new issue in the repo in the case someone has a legitimate contract.
  3. Where can I find the pool or poolId ? A link to the pool you created on our UI at the end would be great so users can see if any alerts are showing, if any tokens need an image added etc. I could not find the poolId on the contracts or creation/initialization txns either to even go find the pool on the ui but am aware I can be dense on etherscan so maybe a "me" thing. Heres my creation txn.
  4. Can we batch the approvals and permits? I did a 3 token pool and it was a process, would be great and possibly more economic on mainnet if we can batch at least those actions respectively if not all of them.

image

  1. Like Tritium mentioned some proportional init join guard rails would be nice, but I understand its kind of a risk too if our pricing is "wrong" if its just pointing to coingecko though its not exactly on us per say.

Stableswaps:

  1. For A factor and fees does it make sense to make recommendations based on pair type. "Loosely correlated: For liquid wrappers and less stable pairs like auraBAL" A=10 swapFee =0.25% , "Correlated: For new deployments of stablecoins and liquid staking derivatives" A=200 swapFee=0.04% "Highly correlated: For mature stablecoins and liquid staking derivatives" A=500 swapFee =0.01%.... Then anything more aggressive would be a customization. I can be swayed on these numbers, just an idea and imagine 69 / 420 are also placeholders :)
  2. I think I broke the creation by using this incorrect rate provider? Unless its USDT related see revert txns. image
Zen-Maxi commented 2 weeks ago

Idk if this is useful or not just to see how a pleb would search around for things: https://github.com/user-attachments/assets/e4ffd7a8-6854-4c68-97e7-a0deb5b0fece