Entry: Uniswap Hook Incubator Hackathon
Paper: AM-AMM
Biddog: Biddog
Miro: Miro board
Slides: Gamma slides
Presentation Video: Loom video
![image](https://private-user-images.githubusercontent.com/148800/338136098-f830e3fe-101f-4792-a5e9-baafdb62ef71.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDA2NDgsIm5iZiI6MTcyNDcwMDM0OCwicGF0aCI6Ii8xNDg4MDAvMzM4MTM2MDk4LWY4MzBlM2ZlLTEwMWYtNDc5Mi1hNWU5LWJhYWZkYjYyZWY3MS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyNlQxOTI1NDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMzJjNTNkMzQ1N2ZjYzc0NDJhNDVkMGFhMTA5YmU0MTRlM2Q5NjIwZDUyMjc0NzViODY4YzhiNGY1YTA0MWQxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.UKJpov-7wsK4wAODGxBi9DFsQdGR9CbyBC992mcHARE)
![Screenshot 2024-06-10 at 5 13 54 PM](https://private-user-images.githubusercontent.com/47234753/338388162-1fca5708-84e9-4789-8ac6-92873d40ab88.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDA2NDgsIm5iZiI6MTcyNDcwMDM0OCwicGF0aCI6Ii80NzIzNDc1My8zMzgzODgxNjItMWZjYTU3MDgtODRlOS00Nzg5LThhYzYtOTI4NzNkNDBhYjg4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDE5MjU0OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTFhMmM4OGU0ZjEwOGIwYTk5OWI1YmIzMmI0ZTc2NzYyNGFiZGUxODIyNzU5OTVlODU4YWY0Y2ZmYTFlOTc5OWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HX6x5u78asE7EwF-tIYhpUlZOe2yu1FLF4nuEoTiazk)
- 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