da-bao-jian / am-amm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

am-amm

Entry: Uniswap Hook Incubator Hackathon

Paper: AM-AMM

Biddog: Biddog

Miro: Miro board

Slides: Gamma slides

Presentation Video: Loom video

Flows

image

Tests

Screenshot 2024-06-10 at 5 13 54 PM

TODO

  • Convert topBid, nextBid just to use Epochs
  • function bid(epoch) epoch != getEpoch() setSwapFeeRate()
  • create balances[address]
  • function deposit
  • function withdraw() can't withdraw rent if the current manager
  • setBidPayload() -> setSwapFeeRate()
  • afterSwap - to redistribute the swap fee to the current manager (Lecky)
  • _burnBidToken() -> _chargeRent() - we charge with bidToken
  • Unit tests for current implementation.
  • beforeSwap hook to update dynamic fee
  • update Bid to have swapFee so that user could bid and set swapFee together
  • hook initialisation to set contract address for AMAMM
  • user firstly needs to add liquidity to obtain the pool token, then can use it as rent to bid
  • "The current highest bidder in the ongoing auction, known as the manager, pays rent to liquidity providers." - need to send rent from AMAMM back to LP
  • Integration test to deploy AMAMM first, then deploy hook contract and initialise with AMAMM address with all the test scenarios
  • Record the video and prepare it for submission.

Integration test scenarios:

  • As a user, I should be able to bid an epoch to be a manager so that I can collect all fees as expecting high volume
  • As a user, I should be able to bid an epoch to be a manager so that I can set a high swap fee that I would be the only arbitrageur

About


Languages

Language:Solidity 100.0%