https://github.com/generationsoftware/pt-v5-fixed-price-liquidator
https://github.com/generationsoftware/pt-v5-fixed-price-liquidator
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/generationsoftware/pt-v5-fixed-price-liquidator
- Owner: GenerationSoftware
- License: mit
- Created: 2024-10-17T19:35:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-17T20:13:39.000Z (over 1 year ago)
- Last Synced: 2024-10-20T08:04:22.580Z (over 1 year ago)
- Language: Solidity
- Size: 55.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fixed Price Auction Liquidation Pair
[](https://github.com/generationsoftware/pt-v5-fixed-price-liquidator/actions/workflows/coverage.yml?)

The FixedPriceLiquidationPair is designed to liquidate accrued yield on PoolTogether V5 vaults. The Fixed Price Auction has a fixed price for the yield. Once the yield accrues to the fixed price value, arbitrageurs are motivated to swap.
## Deployments
| Chain | Contract | Address |
| ---- | ----- | ------ |
| Ethereum | FixedPriceLiquidationPairFactory | [0xa1739ECE7a90243443543EA57EB5bfB5f4f8E606](https://etherscan.io/address/0xa1739ECE7a90243443543EA57EB5bfB5f4f8E606) |
| Ethereum | FixedPriceLiquidationRouter | [0x91b718F250A74Ad80da828d7D60b13993275d43c](https://etherscan.io/address/0x91b718F250A74Ad80da828d7D60b13993275d43c) |
## Motivation
The fixed price lets us efficiently liquidate yield for vaults that have very low amounts of TVL.
## How it works
At any time a liquidator can swap the liquidatable balance for the fixed price of tokens.
## Smoothing
The fixed-price Liquidation Pair offers smoothing, so that spikes in yield do not result in inefficient auctions.
Some yield sources may accrue in bursts; this means there would be periods of time where there is no yield, then large bursts of yield. This is not ideal, as the algorithm works best with consistent yield growth.
For example, the Prize Pool in PoolTogether V5 will accrue reserve when the draw occurs. For a daily draw, this means that the reserve increases once per day.
The fixed-price Liquidation Pair also takes a "smoothing" parameter during construction. Smoothing is applied as a multiplier of the currently available balance.
$$auctionTokens = (1 - smoothing) * availableBalance$$
For example, if smoothing = 0.9 and there are 100 tokens available to auction, then only 10 will be auctioned. Each subsequent auction will be for 10% of the remaining tokens.