-
Notifications
You must be signed in to change notification settings - Fork 12
staking pools #717
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
base: main
Are you sure you want to change the base?
staking pools #717
Conversation
camembera
commented
Sep 12, 2025
- overview
- installation
- contract reference
- developer guide
- user guide
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
# Conflicts: # apps/bex/.vitepress/config.ts # apps/bex/content/developers/guides/pool-creation.md # apps/bex/content/developers/migration-guide.md # apps/core/.vitepress/config.ts # apps/core/content/developers/guides/create-helloworld-contract-using-hardhat.md # apps/core/content/developers/guides/deploy-contract-using-nextjs-walletconnect.md # apps/core/content/developers/quickstart/frontend.md
|
|
||
| - **Validator Setup**: A fully operational Berachain validator node | ||
| - **Validator Keys**: Your validator's public key and withdrawal credentials | ||
| - **Initial Stake**: At least {{ config.mainnet.minEffectiveBalance.toLocaleString() }} BERA for the initial deposit |
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.
same here, the initial stake must be 10K
| To generate the correct credentials: | ||
|
|
||
| 1. **Calculate the predicted addresses** using the factory's `predictStakingPoolContractsAddresses` function | ||
| 2. **Generate the withdrawal credentials** using the predicted withdrawal vault address (format: `0x01` + 20-byte withdrawal vault address) |
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 don't know if we need to be more specific 0x01 + 11 * 0x00 bytes + 20 bytes
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.
corrected. there were many spots with this
Updated the format description in the "Prepare Withdrawal Credentials" section
Updated the function parameter comment
Updated the deployment parameters description
Updated the JavaScript example comment
Updated the debugging section format verification
Updated the Solidity code example to use new bytes(11) for the 11 zero bytes
| bytes memory credentials = abi.encodePacked(bytes1(0x01), withdrawalVault); | ||
| ``` | ||
|
|
||
| **Problem: "Signature Verification Failed"** |
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.
This must be made more visible because it leads to a loss of funds. Currently, atm smart contracts do not support BSL signature verification. Hopefully, we will support it in a future upgrade
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 would also suggest adding a paragraph explaining that, during the activation process, the validator can deposit directly to the deposit contract in order to start with a greater amount staked, and then provide proof of the correct amount upon activation.
However, we would also advise against doing this for security reason, and underlign that any further direct deposits to the beacon deposit contract after activation are considered donations to the corresponding staking pool, which will be distributed among all shares holders.
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.
added detail on failed signatures