sysgo

package
v1.13.7 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2025 License: MIT Imports: 124 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultL1ID  = eth.ChainIDFromUInt64(900)
	DefaultL2AID = eth.ChainIDFromUInt64(901)
	DefaultL2BID = eth.ChainIDFromUInt64(902)
)

Functions

func ConnectP2P added in v1.13.5

func ConnectP2P(ctx context.Context, require *testreq.Assertions, initiator RpcCaller, acceptor RpcCaller)

ConnectP2P creates a p2p peer connection between node1 and node2.

func DefaultInteropProofsSystem added in v1.13.4

func DefaultInteropProofsSystem(dest *DefaultInteropSystemIDs) stack.Option[*Orchestrator]

func DefaultInteropSystem

func DefaultInteropSystem(dest *DefaultInteropSystemIDs) stack.Option[*Orchestrator]

func DefaultIsthmusSuperProofsSystem added in v1.13.6

func DefaultIsthmusSuperProofsSystem(dest *DefaultInteropSystemIDs) stack.Option[*Orchestrator]

func DefaultMinimalSystem added in v1.13.4

func DefaultMinimalSystem(dest *DefaultMinimalSystemIDs) stack.Option[*Orchestrator]

func DefaultMinimalSystemWithSyncTester added in v1.13.6

func DefaultMinimalSystemWithSyncTester(dest *DefaultMinimalSystemWithSyncTesterIDs, fcu eth.FCUState) stack.Option[*Orchestrator]

func DefaultSimpleSystemWithSyncTester added in v1.13.6

func DefaultSimpleSystemWithSyncTester(dest *DefaultSimpleSystemWithSyncTesterIDs) stack.Option[*Orchestrator]

func DefaultSingleChainInteropSystem added in v1.13.4

func DefaultSingleChainInteropSystem(dest *DefaultSingleChainInteropSystemIDs) stack.Option[*Orchestrator]

func DefaultSingleChainMultiNodeSystem added in v1.13.5

func DefaultSingleChainMultiNodeSystem(dest *DefaultSingleChainMultiNodeSystemIDs) stack.Option[*Orchestrator]

func ExternalELSystemWithEndpointAndSuperchainRegistry added in v1.13.7

func ExternalELSystemWithEndpointAndSuperchainRegistry(dest *DefaultMinimalExternalELSystemIDs, networkPreset stack.ExtNetworkConfig) stack.Option[*Orchestrator]

ExternalELSystemWithEndpointAndSuperchainRegistry creates a minimal external EL system using a network from the superchain registry instead of the deployer

func GetP2PClient

func GetP2PClient(ctx context.Context, logger log.Logger, l2CLNode L2CLNode) (*sources.P2PClient, error)

func GetPeerInfo

func GetPeerInfo(ctx context.Context, p2pClient *sources.P2PClient) (*apis.PeerInfo, error)

func GetPeers

func GetPeers(ctx context.Context, p2pClient *sources.P2PClient) (*apis.PeerDump, error)

func MultiSupervisorInteropSystem added in v1.13.4

func MultiSupervisorInteropSystem(dest *MultiSupervisorInteropSystemIDs) stack.Option[*Orchestrator]

func ProxyAddr added in v1.13.6

func ProxyAddr(require *testreq.Assertions, urlStr string) string

func WithBatcher

func WithBatcher(batcherID stack.L2BatcherID, l1ELID stack.L1ELNodeID, l2CLID stack.L2CLNodeID, l2ELID stack.L2ELNodeID) stack.Option[*Orchestrator]

func WithBatcherOption added in v1.13.4

func WithBatcherOption(opt BatcherOption) stack.Option[*Orchestrator]

func WithDeployer

func WithDeployer() stack.Option[*Orchestrator]

func WithDeployerOptions

func WithDeployerOptions(opts ...DeployerOption) stack.Option[*Orchestrator]

func WithDeployerPipelineOption added in v1.13.4

func WithDeployerPipelineOption(opt DeployerPipelineOption) stack.Option[*Orchestrator]

func WithExtL1Nodes added in v1.13.7

func WithExtL1Nodes(l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID, elRPCEndpoint string, clRPCEndpoint string) stack.Option[*Orchestrator]

WithExtL1Nodes initializes L1 EL and CL nodes that connect to external RPC endpoints

func WithFaucets

func WithFaucets(l1ELs []stack.L1ELNodeID, l2ELs []stack.L2ELNodeID) stack.Option[*Orchestrator]

func WithGlobalL2CLOption added in v1.13.6

func WithGlobalL2CLOption(opt L2CLOption) stack.Option[*Orchestrator]

WithGlobalL2CLOption applies the L2CLOption to all L2CLNode instances in this orchestrator

func WithGlobalL2ELOption added in v1.13.6

func WithGlobalL2ELOption(opt L2ELOption) stack.Option[*Orchestrator]

WithGlobalL2ELOption applies the L2ELOption to all L2ELNode instances in this orchestrator

func WithGlobalSyncTesterELOption added in v1.13.7

func WithGlobalSyncTesterELOption(opt SyncTesterELOption) stack.Option[*Orchestrator]

WithGlobalSyncTesterELOption applies the SyncTesterELOption to all SyncTesterEL instances in this orchestrator

func WithKonaNode added in v1.13.6

func WithKonaNode(l2CLID stack.L2CLNodeID, l1CLID stack.L1CLNodeID, l1ELID stack.L1ELNodeID, l2ELID stack.L2ELNodeID, opts ...L2CLOption) stack.Option[*Orchestrator]

func WithKonaSupervisor added in v1.13.6

func WithKonaSupervisor(supervisorID stack.SupervisorID, clusterID stack.ClusterID, l1ELID stack.L1ELNodeID) stack.Option[*Orchestrator]

func WithL1Nodes

func WithL1Nodes(l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID) stack.Option[*Orchestrator]

func WithL2CLNode

func WithL2CLNode(l2CLID stack.L2CLNodeID, l1CLID stack.L1CLNodeID, l1ELID stack.L1ELNodeID, l2ELID stack.L2ELNodeID, opts ...L2CLOption) stack.Option[*Orchestrator]

WithL2CLNode adds the default type of L2 CL node. The default can be configured with DEVSTACK_L2CL_KIND. Tests that depend on specific types can use options like WithKonaNode and WithOpNode directly.

func WithL2CLP2PConnection

func WithL2CLP2PConnection(l2CL1ID, l2CL2ID stack.L2CLNodeID) stack.Option[*Orchestrator]

WithL2CLP2PConnection connects P2P between two L2CLs

func WithL2Challenger added in v1.13.4

func WithL2Challenger(challengerID stack.L2ChallengerID, l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID,
	supervisorID *stack.SupervisorID, clusterID *stack.ClusterID, l2CLID *stack.L2CLNodeID, l2ELIDs []stack.L2ELNodeID,
) stack.Option[*Orchestrator]

func WithL2ChallengerPostDeploy added in v1.13.4

func WithL2ChallengerPostDeploy(orch *Orchestrator, challengerID stack.L2ChallengerID, l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID,
	supervisorID *stack.SupervisorID, clusterID *stack.ClusterID, l2CLID *stack.L2CLNodeID, l2ELIDs []stack.L2ELNodeID,
)

func WithL2ELNode

func WithL2ELNode(id stack.L2ELNodeID, opts ...L2ELOption) stack.Option[*Orchestrator]

WithL2ELNode adds the default type of L2 CL node. The default can be configured with DEVSTACK_L2EL_KIND. Tests that depend on specific types can use options like WithKonaNode and WithOpNode directly.

func WithL2ELP2PConnection added in v1.13.5

func WithL2ELP2PConnection(l2EL1ID, l2EL2ID stack.L2ELNodeID) stack.Option[*Orchestrator]

func WithL2NetworkFromSuperchainRegistry added in v1.13.7

func WithL2NetworkFromSuperchainRegistry(l2NetworkID stack.L2NetworkID, networkName string) stack.Option[*Orchestrator]

WithL2NetworkFromSuperchainRegistry creates an L2 network using the rollup config from the superchain registry

func WithL2NetworkFromSuperchainRegistryWithDependencySet added in v1.13.7

func WithL2NetworkFromSuperchainRegistryWithDependencySet(l2NetworkID stack.L2NetworkID, networkName string) stack.Option[*Orchestrator]

WithL2NetworkFromSuperchainRegistryWithDependencySet creates an L2 network using the rollup config from the superchain registry and also sets up the dependency set for interop support

func WithManagedBySupervisor

func WithManagedBySupervisor(l2CLID stack.L2CLNodeID, supervisorID stack.SupervisorID) stack.Option[*Orchestrator]

func WithMnemonicKeys

func WithMnemonicKeys(mnemonic string) stack.Option[*Orchestrator]

func WithOPSupervisor added in v1.13.6

func WithOPSupervisor(supervisorID stack.SupervisorID, clusterID stack.ClusterID, l1ELID stack.L1ELNodeID) stack.Option[*Orchestrator]

func WithOpGeth added in v1.13.6

func WithOpGeth(id stack.L2ELNodeID, opts ...L2ELOption) stack.Option[*Orchestrator]

func WithOpNode added in v1.13.6

func WithOpNode(l2CLID stack.L2CLNodeID, l1CLID stack.L1CLNodeID, l1ELID stack.L1ELNodeID, l2ELID stack.L2ELNodeID, opts ...L2CLOption) stack.Option[*Orchestrator]

func WithOpReth added in v1.13.6

func WithOpReth(id stack.L2ELNodeID, opts ...L2ELOption) stack.Option[*Orchestrator]

func WithProposer

func WithProposer(proposerID stack.L2ProposerID, l1ELID stack.L1ELNodeID,
	l2CLID *stack.L2CLNodeID, supervisorID *stack.SupervisorID) stack.Option[*Orchestrator]

func WithProposerOption added in v1.13.4

func WithProposerOption(opt ProposerOption) stack.Option[*Orchestrator]

func WithProposerPostDeploy added in v1.13.4

func WithProposerPostDeploy(orch *Orchestrator, proposerID stack.L2ProposerID, l1ELID stack.L1ELNodeID,
	l2CLID *stack.L2CLNodeID, supervisorID *stack.SupervisorID)

func WithSuperL2Challenger added in v1.13.4

func WithSuperL2Challenger(challengerID stack.L2ChallengerID, l1ELID stack.L1ELNodeID, l1CLID stack.L1CLNodeID,
	supervisorID *stack.SupervisorID, clusterID *stack.ClusterID, l2ELIDs []stack.L2ELNodeID,
) stack.Option[*Orchestrator]

func WithSuperProposer added in v1.13.4

func WithSuperProposer(proposerID stack.L2ProposerID, l1ELID stack.L1ELNodeID,
	supervisorID *stack.SupervisorID) stack.Option[*Orchestrator]

func WithSuperRoots added in v1.13.4

func WithSuperRoots(l1ChainID eth.ChainID, l1ELID stack.L1ELNodeID, l2CLID stack.L2CLNodeID, supervisorID stack.SupervisorID, primaryL2 eth.ChainID) stack.Option[*Orchestrator]

func WithSupervisor

func WithSupervisor(supervisorID stack.SupervisorID, clusterID stack.ClusterID, l1ELID stack.L1ELNodeID) stack.Option[*Orchestrator]

func WithSyncTester added in v1.13.6

func WithSyncTester(syncTesterID stack.SyncTesterID, l2ELs []stack.L2ELNodeID) stack.Option[*Orchestrator]

func WithSyncTesterL2ELNode added in v1.13.6

func WithSyncTesterL2ELNode(id, readonlyEL stack.L2ELNodeID, opts ...SyncTesterELOption) stack.Option[*Orchestrator]

WithSyncTesterL2ELNode creates a SyncTesterEL that satisfies the L2ELNode interface The sync tester acts as an EL node that can be used by CL nodes for testing sync.

func WithSyncTesterWithExternalEndpoint added in v1.13.7

func WithSyncTesterWithExternalEndpoint(syncTesterID stack.SyncTesterID, endpointRPC string, chainID eth.ChainID) stack.Option[*Orchestrator]

func WithTestSequencer added in v1.13.4

func WithTestSequencer(testSequencerID stack.TestSequencerID, l1CLID stack.L1CLNodeID, l2CLID stack.L2CLNodeID, l1ELID stack.L1ELNodeID, l2ELID stack.L2ELNodeID) stack.Option[*Orchestrator]

Types

type BatcherOption added in v1.13.4

type BatcherOption func(id stack.L2BatcherID, cfg *bss.CLIConfig)

type Cluster

type Cluster struct {
	// contains filtered or unexported fields
}

func (*Cluster) DepSet added in v1.13.4

type ContractPaths

type ContractPaths struct {
	// must be absolute paths, without file:// prefix
	FoundryArtifacts string
	SourceMap        string
}

type ControlPlane

type ControlPlane struct {
	// contains filtered or unexported fields
}

func (*ControlPlane) FakePoSState added in v1.13.4

func (c *ControlPlane) FakePoSState(id stack.L1CLNodeID, mode stack.ControlAction)

func (*ControlPlane) L2CLNodeState

func (c *ControlPlane) L2CLNodeState(id stack.L2CLNodeID, mode stack.ControlAction)

func (*ControlPlane) L2ELNodeState added in v1.13.5

func (c *ControlPlane) L2ELNodeState(id stack.L2ELNodeID, mode stack.ControlAction)

func (*ControlPlane) SupervisorState

func (c *ControlPlane) SupervisorState(id stack.SupervisorID, mode stack.ControlAction)

type DefaultInteropSystemIDs

type DefaultInteropSystemIDs struct {
	DefaultSingleChainInteropSystemIDs

	L2B   stack.L2NetworkID
	L2BCL stack.L2CLNodeID
	L2BEL stack.L2ELNodeID

	L2BBatcher    stack.L2BatcherID
	L2BProposer   stack.L2ProposerID
	L2ChallengerB stack.L2ChallengerID
}

struct of the services, so we can access them later and do not have to guess their IDs.

func NewDefaultInteropSystemIDs

func NewDefaultInteropSystemIDs(l1ID, l2AID, l2BID eth.ChainID) DefaultInteropSystemIDs

type DefaultMinimalExternalELSystemIDs added in v1.13.7

type DefaultMinimalExternalELSystemIDs struct {
	L1   stack.L1NetworkID
	L1EL stack.L1ELNodeID
	L1CL stack.L1CLNodeID

	L2   stack.L2NetworkID
	L2CL stack.L2CLNodeID
	L2EL stack.L2ELNodeID

	SyncTester stack.SyncTesterID
}

func NewExternalELSystemIDs added in v1.13.7

func NewExternalELSystemIDs(l1ID, l2ID eth.ChainID) DefaultMinimalExternalELSystemIDs

type DefaultMinimalSystemIDs added in v1.13.4

type DefaultMinimalSystemIDs struct {
	L1   stack.L1NetworkID
	L1EL stack.L1ELNodeID
	L1CL stack.L1CLNodeID

	L2   stack.L2NetworkID
	L2CL stack.L2CLNodeID
	L2EL stack.L2ELNodeID

	L2Batcher    stack.L2BatcherID
	L2Proposer   stack.L2ProposerID
	L2Challenger stack.L2ChallengerID

	TestSequencer stack.TestSequencerID
}

func NewDefaultMinimalSystemIDs added in v1.13.4

func NewDefaultMinimalSystemIDs(l1ID, l2ID eth.ChainID) DefaultMinimalSystemIDs

type DefaultMinimalSystemWithSyncTesterIDs added in v1.13.6

type DefaultMinimalSystemWithSyncTesterIDs struct {
	DefaultMinimalSystemIDs

	SyncTester stack.SyncTesterID
}

func NewDefaultMinimalSystemWithSyncTesterIDs added in v1.13.6

func NewDefaultMinimalSystemWithSyncTesterIDs(l1ID, l2ID eth.ChainID) DefaultMinimalSystemWithSyncTesterIDs

type DefaultSimpleSystemWithSyncTesterIDs added in v1.13.6

type DefaultSimpleSystemWithSyncTesterIDs struct {
	DefaultMinimalSystemIDs

	L2CL2          stack.L2CLNodeID
	SyncTesterL2EL stack.L2ELNodeID
	SyncTester     stack.SyncTesterID
}

func NewDefaultSimpleSystemWithSyncTesterIDs added in v1.13.6

func NewDefaultSimpleSystemWithSyncTesterIDs(l1ID, l2ID eth.ChainID) DefaultSimpleSystemWithSyncTesterIDs

type DefaultSingleChainInteropSystemIDs added in v1.13.4

type DefaultSingleChainInteropSystemIDs struct {
	L1   stack.L1NetworkID
	L1EL stack.L1ELNodeID
	L1CL stack.L1CLNodeID

	Superchain stack.SuperchainID
	Cluster    stack.ClusterID

	Supervisor    stack.SupervisorID
	TestSequencer stack.TestSequencerID

	L2A   stack.L2NetworkID
	L2ACL stack.L2CLNodeID
	L2AEL stack.L2ELNodeID

	L2ABatcher    stack.L2BatcherID
	L2AProposer   stack.L2ProposerID
	L2ChallengerA stack.L2ChallengerID
}

func NewDefaultSingleChainInteropSystemIDs added in v1.13.4

func NewDefaultSingleChainInteropSystemIDs(l1ID, l2AID eth.ChainID) DefaultSingleChainInteropSystemIDs

type DefaultSingleChainMultiNodeSystemIDs added in v1.13.5

type DefaultSingleChainMultiNodeSystemIDs struct {
	DefaultMinimalSystemIDs

	L2CLB stack.L2CLNodeID
	L2ELB stack.L2ELNodeID
}

func NewDefaultSingleChainMultiNodeSystemIDs added in v1.13.5

func NewDefaultSingleChainMultiNodeSystemIDs(l1ID, l2ID eth.ChainID) DefaultSingleChainMultiNodeSystemIDs

type DeployerOption

type DeployerOption func(p devtest.P, keys devkeys.Keys, builder intentbuilder.Builder)

func WithAdditionalDisputeGames added in v1.13.4

func WithAdditionalDisputeGames(games []state.AdditionalDisputeGame) DeployerOption

WithAdditionalDisputeGames adds additional dispute games to all L2s.

func WithCommons

func WithCommons(l1ChainID eth.ChainID) DeployerOption

func WithDevFeatureBitmap added in v1.13.7

func WithDevFeatureBitmap(devFlags common.Hash) DeployerOption

WithDevFeatureBitmap sets the dev feature bitmap.

func WithDisputeGameFinalityDelaySeconds added in v1.13.4

func WithDisputeGameFinalityDelaySeconds(seconds uint64) DeployerOption

func WithEmbeddedContractSources added in v1.13.6

func WithEmbeddedContractSources() DeployerOption

func WithFinalizationPeriodSeconds added in v1.13.4

func WithFinalizationPeriodSeconds(n uint64) DeployerOption

WithFinalizationPeriodSeconds overrides the number of L1 blocks in a sequencing window, applied to all L2s.

func WithGuardianMatchL1PAO added in v1.13.4

func WithGuardianMatchL1PAO() DeployerOption

func WithHardforkSequentialActivation added in v1.13.6

func WithHardforkSequentialActivation(startFork, endFork rollup.ForkName, delta *uint64) DeployerOption

WithHardforkSequentialActivation configures a deployment such that L2 chains activate hardforks sequentially, starting from startFork and continuing until (but not including) endFork. Each successive fork is scheduled at an increasing offset.

func WithInteropAtGenesis

func WithInteropAtGenesis() DeployerOption

WithInteropAtGenesis activates interop at genesis for all known L2s

func WithLocalContractSources

func WithLocalContractSources() DeployerOption

func WithPrefundedL2

func WithPrefundedL2(l1ChainID, l2ChainID eth.ChainID) DeployerOption

func WithProofMaturityDelaySeconds added in v1.13.4

func WithProofMaturityDelaySeconds(n uint64) DeployerOption

func WithSequencingWindow added in v1.13.4

func WithSequencingWindow(n uint64) DeployerOption

WithSequencingWindow overrides the number of L1 blocks in a sequencing window, applied to all L2s.

type DeployerPipelineOption added in v1.13.4

type DeployerPipelineOption func(wb *worldBuilder, intent *state.Intent, cfg *deployer.ApplyPipelineOpts)

func WithDeployerCacheDir added in v1.13.6

func WithDeployerCacheDir(dirPath string) DeployerPipelineOption

func WithDeployerMatchL1PAO added in v1.13.4

func WithDeployerMatchL1PAO() DeployerPipelineOption

type FakePoS added in v1.13.4

type FakePoS struct {
	// contains filtered or unexported fields
}

func (*FakePoS) Start added in v1.13.4

func (f *FakePoS) Start()

func (*FakePoS) Stop added in v1.13.4

func (f *FakePoS) Stop()

type FaucetService

type FaucetService struct {
	// contains filtered or unexported fields
}

type InteropMigration added in v1.13.4

type InteropMigration struct {
	DisputeGameFactory common.Address
}

type KonaNode added in v1.13.6

type KonaNode struct {
	// contains filtered or unexported fields
}

func (*KonaNode) InteropRPC added in v1.13.6

func (k *KonaNode) InteropRPC() (endpoint string, jwtSecret eth.Bytes32)

func (*KonaNode) Start added in v1.13.6

func (k *KonaNode) Start()

func (*KonaNode) Stop added in v1.13.6

func (k *KonaNode) Stop()

Stop stops the kona node. warning: no restarts supported yet, since the RPC port is not remembered.

func (*KonaNode) UserRPC added in v1.13.6

func (k *KonaNode) UserRPC() string

type KonaSupervisor added in v1.13.6

type KonaSupervisor struct {
	// contains filtered or unexported fields
}

func (*KonaSupervisor) Start added in v1.13.6

func (s *KonaSupervisor) Start()

func (*KonaSupervisor) Stop added in v1.13.6

func (s *KonaSupervisor) Stop()

func (*KonaSupervisor) UserRPC added in v1.13.6

func (s *KonaSupervisor) UserRPC() string

type L1CLNode

type L1CLNode struct {
	// contains filtered or unexported fields
}

type L1ELNode

type L1ELNode struct {
	// contains filtered or unexported fields
}

type L1Network

type L1Network struct {
	// contains filtered or unexported fields
}

type L2Batcher

type L2Batcher struct {
	// contains filtered or unexported fields
}

type L2CLConfig added in v1.13.6

type L2CLConfig struct {
	// SyncMode to run, if this is a sequencer
	SequencerSyncMode nodeSync.Mode
	// SyncMode to run, if this is a verifier
	VerifierSyncMode nodeSync.Mode

	// SafeDBPath is the path to the safe DB to use. Disabled if empty.
	SafeDBPath string

	IsSequencer  bool
	IndexingMode bool
}

func DefaultL2CLConfig added in v1.13.6

func DefaultL2CLConfig() *L2CLConfig

type L2CLNode

type L2CLNode interface {
	stack.Lifecycle
	UserRPC() string
	InteropRPC() (endpoint string, jwtSecret eth.Bytes32)
	// contains filtered or unexported methods
}

type L2CLOption added in v1.13.5

type L2CLOption interface {
	Apply(p devtest.P, id stack.L2CLNodeID, cfg *L2CLConfig)
}

func L2CLIndexing added in v1.13.6

func L2CLIndexing() L2CLOption

func L2CLSequencer added in v1.13.6

func L2CLSequencer() L2CLOption

type L2CLOptionBundle added in v1.13.6

type L2CLOptionBundle []L2CLOption

L2CLOptionBundle a list of multiple L2CLOption, to all be applied in order.

func (L2CLOptionBundle) Apply added in v1.13.6

func (l L2CLOptionBundle) Apply(p devtest.P, id stack.L2CLNodeID, cfg *L2CLConfig)

type L2CLOptionFn added in v1.13.6

type L2CLOptionFn func(p devtest.P, id stack.L2CLNodeID, cfg *L2CLConfig)

func (L2CLOptionFn) Apply added in v1.13.6

func (fn L2CLOptionFn) Apply(p devtest.P, id stack.L2CLNodeID, cfg *L2CLConfig)

type L2Challenger added in v1.13.4

type L2Challenger struct {
	// contains filtered or unexported fields
}

type L2Deployment

type L2Deployment struct {
	// contains filtered or unexported fields
}

func (*L2Deployment) DisputeGameFactoryProxyAddr

func (d *L2Deployment) DisputeGameFactoryProxyAddr() common.Address

func (*L2Deployment) L1StandardBridgeProxyAddr added in v1.13.6

func (d *L2Deployment) L1StandardBridgeProxyAddr() common.Address

func (*L2Deployment) SystemConfigProxyAddr

func (d *L2Deployment) SystemConfigProxyAddr() common.Address

type L2ELConfig added in v1.13.6

type L2ELConfig struct {
	SupervisorID *stack.SupervisorID
}

func DefaultL2ELConfig added in v1.13.6

func DefaultL2ELConfig() *L2ELConfig

type L2ELNode

type L2ELNode interface {
	stack.Lifecycle
	UserRPC() string
	EngineRPC() string
	JWTPath() string
	// contains filtered or unexported methods
}

type L2ELOption added in v1.13.6

type L2ELOption interface {
	Apply(p devtest.P, id stack.L2ELNodeID, cfg *L2ELConfig)
}

func L2ELWithSupervisor added in v1.13.6

func L2ELWithSupervisor(supervisorID stack.SupervisorID) L2ELOption

type L2ELOptionBundle added in v1.13.6

type L2ELOptionBundle []L2ELOption

L2ELOptionBundle a list of multiple L2ELOption, to all be applied in order.

func (L2ELOptionBundle) Apply added in v1.13.6

func (l L2ELOptionBundle) Apply(p devtest.P, id stack.L2ELNodeID, cfg *L2ELConfig)

type L2ELOptionFn added in v1.13.6

type L2ELOptionFn func(p devtest.P, id stack.L2ELNodeID, cfg *L2ELConfig)

func (L2ELOptionFn) Apply added in v1.13.6

func (fn L2ELOptionFn) Apply(p devtest.P, id stack.L2ELNodeID, cfg *L2ELConfig)

type L2Network

type L2Network struct {
	// contains filtered or unexported fields
}

type L2Proposer

type L2Proposer struct {
	// contains filtered or unexported fields
}

type MultiSupervisorInteropSystemIDs added in v1.13.4

type MultiSupervisorInteropSystemIDs struct {
	DefaultInteropSystemIDs

	// Supervisor does not support multinode so need a additional supervisor for verifier nodes
	SupervisorSecondary stack.SupervisorID

	L2A2CL stack.L2CLNodeID
	L2A2EL stack.L2ELNodeID
	L2B2CL stack.L2CLNodeID
	L2B2EL stack.L2ELNodeID
}

type OpGeth added in v1.13.6

type OpGeth struct {
	// contains filtered or unexported fields
}

func (*OpGeth) EngineRPC added in v1.13.6

func (n *OpGeth) EngineRPC() string

func (*OpGeth) JWTPath added in v1.13.6

func (n *OpGeth) JWTPath() string

func (*OpGeth) Start added in v1.13.6

func (n *OpGeth) Start()

func (*OpGeth) Stop added in v1.13.6

func (n *OpGeth) Stop()

func (*OpGeth) UserRPC added in v1.13.6

func (n *OpGeth) UserRPC() string

type OpNode added in v1.13.6

type OpNode struct {
	// contains filtered or unexported fields
}

func (*OpNode) InteropRPC added in v1.13.6

func (n *OpNode) InteropRPC() (endpoint string, jwtSecret eth.Bytes32)

func (*OpNode) Start added in v1.13.6

func (n *OpNode) Start()

func (*OpNode) Stop added in v1.13.6

func (n *OpNode) Stop()

func (*OpNode) UserRPC added in v1.13.6

func (n *OpNode) UserRPC() string

type OpReth added in v1.13.6

type OpReth struct {
	// contains filtered or unexported fields
}

func (*OpReth) EngineRPC added in v1.13.6

func (n *OpReth) EngineRPC() string

func (*OpReth) JWTPath added in v1.13.6

func (n *OpReth) JWTPath() string

func (*OpReth) Start added in v1.13.6

func (n *OpReth) Start()

func (*OpReth) Stop added in v1.13.6

func (n *OpReth) Stop()

Stop stops the op-reth node. warning: no restarts supported yet, since the RPC port is not remembered.

func (*OpReth) UserRPC added in v1.13.6

func (n *OpReth) UserRPC() string

type OpSupervisor added in v1.13.6

type OpSupervisor struct {
	// contains filtered or unexported fields
}

func (*OpSupervisor) Start added in v1.13.6

func (s *OpSupervisor) Start()

func (*OpSupervisor) Stop added in v1.13.6

func (s *OpSupervisor) Stop()

func (*OpSupervisor) UserRPC added in v1.13.6

func (s *OpSupervisor) UserRPC() string

type Orchestrator

type Orchestrator struct {
	SyncTesterELOptions SyncTesterELOptionBundle
	// contains filtered or unexported fields
}

func NewOrchestrator

func NewOrchestrator(p devtest.P, hook stack.SystemHook) *Orchestrator

func (*Orchestrator) ClusterForL2 added in v1.13.4

func (o *Orchestrator) ClusterForL2(chainID eth.ChainID) (*Cluster, bool)

func (*Orchestrator) ControlPlane

func (o *Orchestrator) ControlPlane() stack.ControlPlane

func (*Orchestrator) EnableTimeTravel added in v1.13.4

func (o *Orchestrator) EnableTimeTravel()

func (*Orchestrator) Hydrate

func (o *Orchestrator) Hydrate(sys stack.ExtensibleSystem)

func (*Orchestrator) P

func (o *Orchestrator) P() devtest.P

func (*Orchestrator) Type added in v1.13.4

func (o *Orchestrator) Type() compat.Type

type ProposerOption added in v1.13.4

type ProposerOption func(id stack.L2ProposerID, cfg *ps.CLIConfig)

type RpcCaller added in v1.13.5

type RpcCaller interface {
	CallContext(ctx context.Context, result interface{}, method string, args ...interface{}) error
}

type SubProcess added in v1.13.6

type SubProcess struct {
	// contains filtered or unexported fields
}

SubProcess is a process that can be started, and stopped, and restarted.

If at any point the process fails to start or exit successfully, the failure is reported to the devtest.P.

If the sub-process exits by itself, the exit is detected, and if not successful (non-zero exit code on unix) it also reports failure to the devtest.P.

Sub-process logs are assumed to be structured JSON logs, and are piped to the logger.

func NewSubProcess added in v1.13.6

func NewSubProcess(p devtest.P, stdOutLogs, stdErrLogs logpipe.LogProcessor) *SubProcess

func (*SubProcess) GracefulStop added in v1.13.6

func (sp *SubProcess) GracefulStop(ctx context.Context) error

GracefulStop sends an interrupt and waits for the process to stop. If the given ctx is closed, a forced shutdown (process kill) is pursued.

func (*SubProcess) Kill added in v1.13.6

func (sp *SubProcess) Kill() error

Kill stops the process, and does not wait for it to complete.

func (*SubProcess) Start added in v1.13.6

func (sp *SubProcess) Start(cmdPath string, args []string, env []string) error

func (*SubProcess) Stop added in v1.13.6

func (sp *SubProcess) Stop() error

Stop implements the default control-panel interface, and gracefully stops with a 10-second timeout.

func (*SubProcess) Wait added in v1.13.6

func (sp *SubProcess) Wait(ctx context.Context) error

Wait waits for the process to complete.

type Superchain

type Superchain struct {
	// contains filtered or unexported fields
}

type SuperchainDeployment

type SuperchainDeployment struct {
	// contains filtered or unexported fields
}

func (*SuperchainDeployment) ProtocolVersionsAddr

func (d *SuperchainDeployment) ProtocolVersionsAddr() common.Address

func (*SuperchainDeployment) SuperchainConfigAddr

func (d *SuperchainDeployment) SuperchainConfigAddr() common.Address

type Supervisor

type Supervisor interface {
	stack.Lifecycle
	UserRPC() string
	// contains filtered or unexported methods
}

type SyncTesterEL added in v1.13.6

type SyncTesterEL struct {
	// contains filtered or unexported fields
}

SyncTesterEL is an L2ELNode implementation that runs a sync tester service. It provides RPC endpoints that can be used by CL nodes for testing sync functionality.

func (*SyncTesterEL) EngineRPC added in v1.13.6

func (n *SyncTesterEL) EngineRPC() string

func (*SyncTesterEL) JWTPath added in v1.13.6

func (n *SyncTesterEL) JWTPath() string

func (*SyncTesterEL) Start added in v1.13.6

func (n *SyncTesterEL) Start()

func (*SyncTesterEL) Stop added in v1.13.6

func (n *SyncTesterEL) Stop()

func (*SyncTesterEL) UserRPC added in v1.13.6

func (n *SyncTesterEL) UserRPC() string

type SyncTesterELConfig added in v1.13.7

type SyncTesterELConfig struct {
	FCUState     eth.FCUState
	ELSyncActive bool
	ELSyncTarget uint64
}

func DefaultSyncTesterELConfig added in v1.13.7

func DefaultSyncTesterELConfig() *SyncTesterELConfig

func (*SyncTesterELConfig) Path added in v1.13.7

func (cfg *SyncTesterELConfig) Path() string

type SyncTesterELOption added in v1.13.7

type SyncTesterELOption interface {
	Apply(p devtest.P, id stack.L2ELNodeID, cfg *SyncTesterELConfig)
}

type SyncTesterELOptionBundle added in v1.13.7

type SyncTesterELOptionBundle []SyncTesterELOption

SyncTesterELOptionBundle a list of multiple SyncTesterELOption, to all be applied in order.

func (SyncTesterELOptionBundle) Apply added in v1.13.7

type SyncTesterELOptionFn added in v1.13.7

type SyncTesterELOptionFn func(p devtest.P, id stack.L2ELNodeID, cfg *SyncTesterELConfig)

func (SyncTesterELOptionFn) Apply added in v1.13.7

type SyncTesterService added in v1.13.6

type SyncTesterService struct {
	// contains filtered or unexported fields
}

Caveat: id is binded by a single EL(chainID), but service can support multiple ELs

type TestSequencer added in v1.13.4

type TestSequencer struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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