Axis-Fi / axis-core

Axis Protocol
https://axis.finance
Other
6 stars 1 forks source link

Fee management and claiming #29

Closed 0xJem closed 7 months ago

0xJem commented 7 months ago
Oighty commented 7 months ago

Per the conversation this morning, we need to rework the fee logic. There will be three types of fees:

  1. Protocol fee - taken in the quote token, fee amount should be configurable by module (i.e. auction type) up to a hard-coded maximum (TBD), protocol sets this
  2. Referrer fee - taken in the quote token, fee amount should be configurable by module (i.e. auction type) up to a hard-coded maximum (TBD), protocol sets this
  3. Curator fee - taken in the payout token (incl if derivative), fee amount should be configurable by module (i.e. auction type) up to a hard-coded maximum (TBD), curator sets this themselves

There are certain cases where fees are not taken:

  1. Protocol fee is always taken if configured for the module type
  2. Referrer fee is not taken if the referrer is the auction owner (seller) or the zero address
  3. Curator fee must confirm they are curating an auction for their fee to be taken

A related topic to this is the confirmation of auctions by a curator after they are created. I think the easiest way to do this is to allow the auction creator to pass in a curator address in auction as part of the base params. Then, the curator must go to the contract and curate the auction. Calling curate would change a curated flag on the auction to true, which would enable their fee. We would set the front-end to not show the curator of an auction unless this flag was triggered. In this way, it doesn't block the start of an auction to not have the curator confirm beforehand.

@0xTex wdyt?

0xJem commented 7 months ago

What's the reason for the curator taking payment in the payout token and being paid at settlement/purchase?

I assume there can be multiple curators per auction?

Why does the curator need to confirm they are curating an auction?

0xJem commented 7 months ago

What's the reason for the curator taking payment in the payout token and being paid at settlement/purchase?

Curator paid in payout tokens to align incentives, instead of being paid in "cash".

I assume there can be multiple curators per auction?

Just one.

Why does the curator need to confirm they are curating an auction?

Low-quality projects could select a curator that doesn't agree to it.