The Beanstalk Community Multisig (BCM) custodies ownership of the Beanstalk contract. The BCM has the exclusive ability upgrade Beanstalk. In the future, it is expected that BIPs will reimplement permissionless governance and revoke these abilities from the BCM.
Per the Verifying and Signing Transactions section of the BCM Process, all BCM Signers are expected to know how to verify
diamondCut data and confirm they have verified transactions by uploading signed messages to Arweave.
Table of Contents
If you aren’t familiar with EIP-2535 Diamonds and the corresponding data structures for the inputs to a
diamondCut call (facet cuts, the init address, etc.) that upgrades an Ethereum Diamond, check out these resources before continuing:
In order to set your environment up in preparation for following the Runbook to test a BIP, follow this guide:
- : How To GuidesVerification Guides
- : Procedures to follow to verify a BIP, along with verified message signatures from BCM Signers for that BIP.BIP Runbooks
How To Verify a BIP
Using the information in the
- Execute the
diamondCutand verify that the correct facets and selectors have been added, changed or removed.
diamondCutmatch the addresses listed in the Contract Changes section of the written Snapshot proposal.
_initaddress has verified code on Etherscan.
_initaddress is the
InitMintaddress, verify that the correct number of Beans are minted to the correct address based on the Beans Minted section of the written Snapshot proposal.
_initaddress is neither the
InitMintaddress nor the null address, verify that the contract has the same source code as the pull request.
- Checking code coverage of tests.
- Testing UI functionality.