Note on Rebasing Assets
Buttonwood auction contracts are not designed to support rebasing tokens (tokens where user balances can change outside of transfer operations). As a result, we advise against creating or participating in auctions where one or both assets are rebasing tokens.
This is because it conceptually doesn't make sense. Auctions operate with order amounts and order prices, and rebasing tokens interfere with both. Whilst it might be possible to rationalise how an auction might handle this scenario, it's nevertheless unintuitive for users to engage with and complicates the contract design immensely.
Advanced users might observe that some rebasing assets rebase periodically at set intervals, inbetween which their supply adjustments don't occur. Users could potentially host auctions for these assets during times of static supply without any adverse effects. It is important to note however that other rebasing assets rebase continuously. These would consequently not be safe to use in short lived auctions.
Examples of rebasing assets:
Button Wrapped assets (eg. bETH, bWBTC)
AAVE interest bearing deposit tokens (eg. aUSDC)
If you are uncertain about whether an asset is rebasing or not please ask in our discord server and we would be happy to clarify.
Users can simply use our Unbutton Wrapper to transform a rebasing asset into a non-rebasing one, and then create the auction using that.
eg. rather than an AMPL/USDT auction, one would wrap AMPL into ubAMPL (otherwise known as WAMPL) and create a ubAMPL/USDT auction instead
Note: at the time of writing this we have yet to open up the frontend for creating custom unbutton wrapped assets, so please contact us to assist with that process.