bitshares / bitshares-core

BitShares Blockchain node and command-line wallet
https://bitshares.github.io/
Other
1.17k stars 643 forks source link

Allow updating liquidity pool fee rates with certain restrictions #2604

Closed abitmore closed 1 year ago

abitmore commented 2 years ago

User Story

As a liquidity contributor, I think

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:

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

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

CORE TEAM TASK LIST

ioBanker commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Restriction can be:

NEW_LIQUIDITY_WITHDRAWAL_FEE_PERCENT < CURRENT_LIQUIDITY_WITHDRAWAL_FEE_PERCENT NEW_LIQUIDITY_SWAP_FEE_PERCENT < CURRENT_LIQUIDITY_WITHDRAWAL_FEE_PERCENT

litepresence commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Done via #2720.