-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add BAL Token Holder contract #1149
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I imagine the main usecase for this would be for the funds which the LM committee is supposed to distribute, correct? If so it might be worth adding another function to allow other tokens which are sent to this address to be recovered.
Justification being that there's a decent chance that if the pools have co-incentives with another token then there's a decent chance that someone sometime is going to send that token to this contract.
I'd keep this as a separate function to BAL so that we can have separate authorisation for withdrawing BAL vs other tokens.
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
* master: Deploy Batch Relayer V2 to Polygon (#1182) Fix reading historical balances/total supply by timestamp (#1201) Prevent duplicate gauges for a pool being added to GaugeController (#1185) Authorizer: Fix missing renames (#1193) Misc fixes on LM system (#1196) Lock gauge implementation on LiquidityGaugeFactory (#1195) Create bal_supply.md (#1192) Use BALTokenHolder factory in coordinator (#1194) fix: Decimal math errors in stable-pool math.ts (#1188) Fix tests for real now Fix tests Add BAL Token Holder contract (#1149) Authorizer: Rename and improve wording (#1167) ManagedPool weight storage (#1102) Add snapshot link to veBAL script readme (#1189) veBALDeploymentCoordinator gauge deployment (#1187)
This contract is meant to act as the recipient of a single recipient gauge (#1144). I've thought of alternative ways to tackle the problem, such as embeddeding this in the gauge itself, but I wanted to keep the
checkpoint()
interface in the gauge, and so this pattern seemed to make sense.I don't think the need for multiple calls (
checkpoint
+withdrawFunds
) is a problem, since these can always be scripted in a contract if desired, or even batched by e.g. a Gnosis Safe, which we expect the authorized parties to use.