Contract Architecture

BitcoinPodManager.sol

This contract is the entry point for the client for all actions related to BitcoinPod, aka BOD. This contract:

  1. Deploys the BOD

  2. Handles bitcoin deposit/withdrawal requests

  3. Interacts with the service manager

  4. Delegates to Apps

BitcoinPod.sol

This is a unique contract deployed everytime for a new bitcoin address created a BOD. This contract:

  1. Maps a Bitcoin address to an Ethereum address

  2. Tracks Bitcoin balances in the BOD

  3. Delegates to apps via BitcoinPodManager.sol

  4. Manages bitcoin transaction storage

BitDSMRegistry.sol

  1. Handles operator's registration/deregistration

  2. Stores a mapping for operator's bitcoin pubkey

AppRegistry.sol

This is the entrypoint for Apps to gain access to in-kind Bitcoin. This contract

  1. Maintains a mapping of the contract address for the app and the BODs delegated to it.

BitDSMServiceManager.sol

This is the AVS service manager contract deployed on Eigenlayer's AVSDirectory.sol. This contract:

  1. Manages Bitcoin pod operations through IBitcoinPodManager

  2. Handles deposit/withdrawal confirmations from operators

  3. Integrates with EigenLayer for staking and delegation

Was this helpful?