Documentation
¶
Index ¶
- Constants
- func GetERC20ABI() (abi.ABI, error)
- func NewERC20Contract(address common.Address, client *ethclient.Client) (*bind.BoundContract, error)
- func PackAddChainIDsToWhitelistCall(chainIds []*big.Int, operatorTableUpdaters []common.Address) ([]byte, error)
- func PackTransferCall(to common.Address, amount *big.Int) ([]byte, error)
- type ContractInfo
- type ContractInstance
- type ContractRegistry
- func (cr *ContractRegistry) GetAllocationManager(address common.Address) (*allocationmanager.AllocationManager, error)
- func (cr *ContractRegistry) GetContract(contractType ContractType, address common.Address) (*ContractInstance, error)
- func (cr *ContractRegistry) GetCrossChainRegistry(address common.Address) (*crosschainregistry.CrossChainRegistry, error)
- func (cr *ContractRegistry) GetDelegationManager(address common.Address) (*delegationmanager.DelegationManager, error)
- func (cr *ContractRegistry) GetERC20(address common.Address) (*bind.BoundContract, error)
- func (cr *ContractRegistry) GetKeyRegistrar(address common.Address) (*keyregistrar.KeyRegistrar, error)
- func (cr *ContractRegistry) GetReleaseManager(address common.Address) (*releasemanager.ReleaseManager, error)
- func (cr *ContractRegistry) GetStrategy(address common.Address) (*istrategy.IStrategy, error)
- func (cr *ContractRegistry) GetStrategyManager(address common.Address) (*strategymanager.StrategyManager, error)
- func (cr *ContractRegistry) ListContracts(contractType ContractType) []ContractInfo
- func (cr *ContractRegistry) RegisterContract(info ContractInfo) error
- type ContractType
- type RegistryBuilder
- func (rb *RegistryBuilder) AddERC20(address common.Address, symbol string) (*RegistryBuilder, error)
- func (rb *RegistryBuilder) AddEigenLayerCore(...) (*RegistryBuilder, error)
- func (rb *RegistryBuilder) AddReleaseManager(address common.Address) (*RegistryBuilder, error)
- func (rb *RegistryBuilder) AddStrategy(address common.Address, name string) (*RegistryBuilder, error)
- func (rb *RegistryBuilder) Build() *ContractRegistry
Constants ¶
const EIGEN_CONTRACT_ABI = `` /* 160-byte string literal not displayed */
const ERC20ABI = `` /* 2608-byte string literal not displayed */
Standard ERC20 ABI
const ST_ETH_CONTRACT_ABI = `` /* 159-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
func NewERC20Contract ¶
func NewERC20Contract(address common.Address, client *ethclient.Client) (*bind.BoundContract, error)
NewERC20Contract creates a new ERC20 contract instance
Types ¶
type ContractInfo ¶
type ContractInfo struct {
Name string
Type ContractType
Address common.Address
Description string
}
ContractInfo holds metadata about a contract
type ContractInstance ¶
type ContractInstance struct {
Info ContractInfo
Instance interface{}
}
ContractInstance holds a contract instance with its metadata
type ContractRegistry ¶
type ContractRegistry struct {
// contains filtered or unexported fields
}
ContractRegistry manages contract instances and metadata
func NewContractRegistry ¶
func NewContractRegistry(client *ethclient.Client) *ContractRegistry
NewContractRegistry creates a new contract registry
func (*ContractRegistry) GetAllocationManager ¶
func (cr *ContractRegistry) GetAllocationManager(address common.Address) (*allocationmanager.AllocationManager, error)
GetAllocationManager returns an AllocationManager instance
func (*ContractRegistry) GetContract ¶
func (cr *ContractRegistry) GetContract(contractType ContractType, address common.Address) (*ContractInstance, error)
GetContract retrieves a contract instance by type and address
func (*ContractRegistry) GetCrossChainRegistry ¶
func (cr *ContractRegistry) GetCrossChainRegistry(address common.Address) (*crosschainregistry.CrossChainRegistry, error)
GetCrossChainRegistry returns a CrossChainRegistry instance
func (*ContractRegistry) GetDelegationManager ¶
func (cr *ContractRegistry) GetDelegationManager(address common.Address) (*delegationmanager.DelegationManager, error)
GetDelegationManager returns a DelegationManager instance
func (*ContractRegistry) GetERC20 ¶
func (cr *ContractRegistry) GetERC20(address common.Address) (*bind.BoundContract, error)
GetERC20 returns an ERC20 bound contract instance
func (*ContractRegistry) GetKeyRegistrar ¶
func (cr *ContractRegistry) GetKeyRegistrar(address common.Address) (*keyregistrar.KeyRegistrar, error)
GetKeyRegistrar returns a KeyRegistrar instance
func (*ContractRegistry) GetReleaseManager ¶ added in v0.0.10
func (cr *ContractRegistry) GetReleaseManager(address common.Address) (*releasemanager.ReleaseManager, error)
GetReleaseManager returns a ReleaseManager instance
func (*ContractRegistry) GetStrategy ¶
GetStrategy returns an IStrategy instance
func (*ContractRegistry) GetStrategyManager ¶
func (cr *ContractRegistry) GetStrategyManager(address common.Address) (*strategymanager.StrategyManager, error)
GetStrategyManager returns a StrategyManager instance
func (*ContractRegistry) ListContracts ¶
func (cr *ContractRegistry) ListContracts(contractType ContractType) []ContractInfo
ListContracts returns all registered contracts of a specific type
func (*ContractRegistry) RegisterContract ¶
func (cr *ContractRegistry) RegisterContract(info ContractInfo) error
RegisterContract registers a contract with the registry
type ContractType ¶
type ContractType string
ContractType represents different contract types
const ( AllocationManagerContract ContractType = "AllocationManager" DelegationManagerContract ContractType = "DelegationManager" StrategyManagerContract ContractType = "StrategyManager" StrategyContract ContractType = "Strategy" ERC20Contract ContractType = "ERC20" KeyRegistrarContract ContractType = "KeyRegistrar" CrossChainRegistryContract ContractType = "CrossChainRegistry" ReleaseManagerContract ContractType = "ReleaseManager" )
type RegistryBuilder ¶
type RegistryBuilder struct {
// contains filtered or unexported fields
}
RegistryBuilder helps build a registry with predefined contracts
func NewRegistryBuilder ¶
func NewRegistryBuilder(client *ethclient.Client) *RegistryBuilder
NewRegistryBuilder creates a new registry builder
func (*RegistryBuilder) AddERC20 ¶
func (rb *RegistryBuilder) AddERC20(address common.Address, symbol string) (*RegistryBuilder, error)
AddERC20 adds an ERC20 token contract
func (*RegistryBuilder) AddEigenLayerCore ¶
func (rb *RegistryBuilder) AddEigenLayerCore( allocationManagerAddr, delegationManagerAddr, strategyManagerAddr common.Address, keystoreRegistrarAddr common.Address, crossChainRegistryAddr common.Address, releaseManagerAddr common.Address, ) (*RegistryBuilder, error)
AddEigenLayerCore adds the core EigenLayer contracts
func (*RegistryBuilder) AddReleaseManager ¶ added in v0.0.10
func (rb *RegistryBuilder) AddReleaseManager(address common.Address) (*RegistryBuilder, error)
func (*RegistryBuilder) AddStrategy ¶
func (rb *RegistryBuilder) AddStrategy(address common.Address, name string) (*RegistryBuilder, error)
AddStrategy adds a strategy contract
func (*RegistryBuilder) Build ¶
func (rb *RegistryBuilder) Build() *ContractRegistry
Build returns the constructed registry