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

Update BoLD Submodule and Add Newly Supported Flags to BoLD Staker #2835

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

rauljordan
Copy link
Contributor

This PR updates the BoLD submodule with commit d3f4d600abdacec800e9e27a429a730639233073 from the repo's main branch. The PR adds support for the following features:

  • Auto deposit when making txs that involve the stake token, enabled by default
  • Auto increase spending allowance for the rollup and challenge manager contracts, enabled by default
  • Support a custom withdrawal address for staking on assertions, default uses the sender's tx opts
  • Support delegated staking by calling newStake on startup for the validator, disabled by default
  • Support specifying a RPC block number such as latest, safe, or finalized for BoLD to read onchain data

@cla-bot cla-bot bot added the s Automatically added by the CLA bot if the creator of a PR is registered as having signed the CLA. label Dec 16, 2024
@PlasmaPower
Copy link
Collaborator

I think the nitro-testnode submodule was accidentally reverted in this PR

stackOpts = append(stackOpts, challengemanager.StackWithoutAutoDeposit())
}
if !config.AutoIncreaseAllowance {
stackOpts = append(stackOpts, challengemanager.StackWithoutAutoAllowanceApproval())
Copy link
Collaborator

@PlasmaPower PlasmaPower Dec 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why isn't this code also for the assertion chain? Does the assertion chain not do auto allowance? Same thing for the delegated staking, maybe I'm just not sure what's the responsibility of the challenge manager vs assertion chain.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The challenge manager spins up something called an assertion manager, and it is the assertion manager that does the auto allowance approval, auto deposit, and delegated staking on startup. The assertion chain is an abstraction over the Go bindings to Solidity which also do auto-deposit each time it makes a move related to the stake token. Perhaps we should unify all those responsibilities under the assertion chain?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for now, makes sense and LGTM aside from the presumably accidental testnode change

Copy link
Member

@eljobe eljobe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design-approved s Automatically added by the CLA bot if the creator of a PR is registered as having signed the CLA.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants