Skip to content
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

Merged
merged 9 commits into from
Mar 23, 2022
Merged

Add BAL Token Holder contract #1149

merged 9 commits into from
Mar 23, 2022

Conversation

nventuro
Copy link
Contributor

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.

@nventuro nventuro requested a review from TomAFrench February 16, 2022 13:59
@nventuro nventuro added this to the veBAL milestone Feb 16, 2022
Copy link
Contributor

@TomAFrench TomAFrench left a 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.

@nventuro nventuro requested a review from TomAFrench March 23, 2022 14:57
@TomAFrench TomAFrench merged commit 8c76fc0 into master Mar 23, 2022
@TomAFrench TomAFrench deleted the bal-token-holder branch March 23, 2022 15:13
TomAFrench added a commit that referenced this pull request Mar 24, 2022
* 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants