contracts

package
v0.1.0-preview.3.rc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const EIGEN_CONTRACT_ABI = `` /* 160-byte string literal not displayed */
View Source
const ERC20ABI = `` /* 2608-byte string literal not displayed */

Standard ERC20 ABI

View Source
const ST_ETH_CONTRACT_ABI = `` /* 159-byte string literal not displayed */

Variables

This section is empty.

Functions

func GetERC20ABI

func GetERC20ABI() (abi.ABI, error)

GetERC20ABI returns the parsed ERC20 ABI

func NewERC20Contract

func NewERC20Contract(address common.Address, client *ethclient.Client) (*bind.BoundContract, error)

NewERC20Contract creates a new ERC20 contract instance

func PackAddChainIDsToWhitelistCall

func PackAddChainIDsToWhitelistCall(chainIds []*big.Int, operatorTableUpdaters []common.Address) ([]byte, error)

PackAddChainIDsToWhitelistCall creates the call data for CrossChainRegistry addChainIDsToWhitelist

func PackTransferCall

func PackTransferCall(to common.Address, amount *big.Int) ([]byte, error)

PackTransferCall creates the call data for an ERC20 transfer

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

func (cr *ContractRegistry) GetStrategy(address common.Address) (*istrategy.IStrategy, error)

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"
	BN254CertificateVerifierContract ContractType = "BN254CertificateVerifier"
	ECDSACertificateVerifierContract ContractType = "ECDSACertificateVerifier"
)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL