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

Allow updating liquidity pool fee rates with certain restrictions #2604

Closed
2 of 17 tasks
abitmore opened this issue Jun 30, 2022 · 8 comments · Fixed by #2720
Closed
2 of 17 tasks

Allow updating liquidity pool fee rates with certain restrictions #2604

abitmore opened this issue Jun 30, 2022 · 8 comments · Fixed by #2720

Comments

@abitmore
Copy link
Member

User Story

As a liquidity contributor, I think

  • non-zero withdrawal fee rates is a barrier for funds to enter the liquidity pools, and,
  • lack of ability to update fee rates is another obstacle for the liquidity pools to adapt effectively to the market.

To improve market freedom and liquidity, I think it is better to allow updating of liquidity pool fee rates. Therefore, I propose the following new rules:

  • The withdrawal fee percentage of a liquidity pool can be updated by the owner, but only to zero.
  • The taker fee percentage of a liquidity pool can be updated at any time by the owner if the withdrawal fee percentage is zero.

Impacts
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.

  • API (the application programming interface)
  • Build (the build process or something prior to compiled code)
  • CLI (the command line wallet)
  • Deployment (the deployment process after building such as Docker, Travis, etc.)
  • DEX (the Decentralized EXchange, market engine, etc.)
  • P2P (the peer-to-peer network for transaction/block propagation)
  • Performance (system or user efficiency, etc.)
  • Protocol (the blockchain logic, consensus, validation, etc.)
  • Security (the security of system or user data, etc.)
  • UX (the User Experience)
  • Other (please add below)

Additional Context (optional)
Add any other context about your request here.

CORE TEAM TASK LIST

  • Evaluate / Prioritize Feature Request
  • Refine User Stories / Requirements
  • Define Test Cases
  • Design / Develop Solution
  • Perform QA/Testing
  • Update Documentation
@ioBanker
Copy link
Member

This will give liquidity pool owner a new control; I believe it's fair for them to control their own liquidity pool taker fee % anytime as it's their model initially and it wouldn't break the contract as the user can withdraw their contribution freely without paying the withdraw fees as per the 0 rule; perhaps such a feature will drive competitions between liquidity pool owners, same pairs of assets but dynamic taker fees across liquidity pools owned by different users, this will allow owner to increase revenues of contributors; owner will be acting like a shop selling products under consignment :)

@froooze
Copy link

froooze commented Nov 28, 2022

non-zero withdrawal fee rates is a barrier for funds to enter the liquidity pools

Why do you think so ?

The withdrawal fee percentage of a liquidity pool can be updated by the owner, but only to zero.

Why not limiting to a lower number?

The taker fee percentage of a liquidity pool can be updated at any time by the owner if the withdrawal fee percentage is zero.

The taker fee percentage of a liquidity pool can be updated at any time by the owner.
Why should the change of the taker fee be limited to 0 withdrawal fees? I don't see any benefit narrowing down the options for taker fee updates.

Maybe limiting max. withdrawal and taker fee to 1% in general, than limiting the update options ?

@litepresence
Copy link
Contributor

withdrawal fee rates are essentially paying for "konstant gateway services" and trade fees are paying for "konstant orderbook matching services"

I would prefer we all just agree on hard caps of 1% each on these things and move them to global constants.

GRAPHENE_MAX_LIQUIDITY_WITHDRAWAL_FEE_PERCENT = 100
GRAPHENE_MAX_LIQUIDITY_SWAP_FEE_PERCENT = 100

@ioxbank
Copy link

ioxbank commented Nov 28, 2022

withdrawal fee rates are essentially paying for "konstant gateway services" and trade fees are paying for "konstant orderbook matching services"

I would prefer we all just agree on hard caps of 1% each on these things and move them to global constants.

GRAPHENE_MAX_LIQUIDITY_WITHDRAWAL_FEE_PERCENT = 100 GRAPHENE_MAX_LIQUIDITY_SWAP_FEE_PERCENT = 100

I believe this will only be fair if there was another flag allowing owner to change or disallowing him to change and shall be set while LP is null only.

@ioxbank
Copy link

ioxbank commented Nov 28, 2022

Restriction can be:

NEW_LIQUIDITY_WITHDRAWAL_FEE_PERCENT < CURRENT_LIQUIDITY_WITHDRAWAL_FEE_PERCENT
NEW_LIQUIDITY_SWAP_FEE_PERCENT < CURRENT_LIQUIDITY_WITHDRAWAL_FEE_PERCENT

@litepresence
Copy link
Contributor

litepresence commented Nov 28, 2022

raising or lower is a market decision for the owner not the protocol; as protocol you just don't want to be smart contract scam factory. range bounding seems more in line with that end than limiting an asset owners options over time.

is there any legit use case for swap fees or exit fees over 1%?

@abitmore abitmore changed the title Allows to update the fee rate of the liquidity pool with certain restrictions Allow updating liquidity pool fee rates with certain restrictions Jan 23, 2023
@abitmore abitmore linked a pull request Jan 27, 2023 that will close this issue
@abitmore
Copy link
Member Author

This is all for free market principles.

non-zero withdrawal fee rates is a barrier for funds to enter the liquidity pools

Why do you think so ?

People don't like being "locked in".

Generally speaking, the profits of a business should come from customers (taker fees in our case), not from investors (withdrawal fees in our case).

The withdrawal fee percentage of a liquidity pool can be updated by the owner, but only to zero.

Why not limiting to a lower number?

Participants should be "free to leave" when "terms and conditions" change.

The taker fee percentage of a liquidity pool can be updated at any time by the owner if the withdrawal fee percentage is zero.

The taker fee percentage of a liquidity pool can be updated at any time by the owner. Why should the change of the taker fee be limited to 0 withdrawal fees? I don't see any benefit narrowing down the options for taker fee updates.

Participants should be "free to leave" when "terms and conditions" change.

Maybe limiting max. withdrawal and taker fee to 1% in general, than limiting the update options ?

The free market will find the best price (the best taker fee rates in our case).

@abitmore
Copy link
Member Author

Done via #2720.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants