This repo contains Obol Splits smart contracts. This suite of smart contracts and associated tests are intended to serve as a public good to enable the safe and secure creation of Distributed Validators for Ethereum Consensus-based networks.
The following smart contracts are provided as is, without warranty. Details of their audit can be consulted here.
This repo is built with foundry, a rust-based solidity development environment, and relies on solmate, an efficient solidity smart contract library. Read the docs on our docs site for more information on what Distributed Validators are, and their smart contract lifecycle.
Follow the instructions here to install foundry.
Then install the contract dependencies:
forge installTo test your changes to the codebase run the unit tests with:
cp .env.sample .env
forge testThis command runs all tests.
NOTE: To run a specific test:
forge test --match-contract ContractTest --match-test testFunction -vvTo compile your smart contracts and generate their ABIs run:
forge buildThis command generates compilation output into the out directory.
This repo can be deployed with forge create or running the deployment scripts.
ObolValidatorManagerFactory: TBD
ObolValidatorManagerFactory: TBD
OptimisticWithdrawalRecipientFactory: https://sepolia.etherscan.io/address/0xca78f8fda7ec13ae246e4d4cd38b9ce25a12e64a
OptimisticWithdrawalRecipient: https://sepolia.etherscan.io/address/0x99585e71ab1118682d51efefca0a170c70eef0d6
ObolValidatorManagerFactory: TBD
OptimisticWithdrawalRecipientFactory: https://etherscan.io/address/0x119acd7844cbdd5fc09b1c6a4408f490c8f7f522
OptimisticWithdrawalRecipient: https://etherscan.io/address/0xe11eabf19a49c389d3e8735c35f8f34f28bdcb22
ObolLidoSplitFactory: https://etherscan.io/address/0xA9d94139A310150Ca1163b5E23f3E1dbb7D9E2A6
ObolLidoSplit: https://etherscan.io/address/0x2fB59065F049e0D0E3180C6312FA0FeB5Bbf0FE3
ImmutableSplitControllerFactory: https://etherscan.io/address/0x49e7cA187F1E94d9A0d1DFBd6CCCd69Ca17F56a4
ImmutableSplitController: https://etherscan.io/address/0xaF129979b773374dD3025d3F97353e73B0A6Cc8d
Releases of this repo constitute post-fix review, audited commits. Consult the release notes and audits as not all contracts are in scope each audit.
