interop

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: MIT Imports: 57 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SuperSystem

type SuperSystem interface {
	// get the supervisor
	Supervisor() *supervisor.SupervisorService
	// get the supervisor client
	SupervisorClient() *sources.SupervisorClient
	// get the batcher for a network
	Batcher(network string) *bss.BatcherService
	// get the proposer for a network
	Proposer(network string) *l2os.ProposerService
	// get the opnode for a network
	OpNode(network string) *opnode.Opnode
	// get the geth instance for a network
	L2Geth(network string) *geth.GethInstance
	// get the L2 geth client for a network
	L2GethClient(network string) *ethclient.Client
	// get the secret for a network and role
	L2OperatorKey(network string, role devkeys.ChainOperatorRole) ecdsa.PrivateKey
	// get the list of network IDs as key-strings
	L2IDs() []string
	// get the chain ID for a network
	ChainID(network string) *big.Int
	// register a username to an account on all L2s
	AddUser(username string)
	// get the user key for a user on an L2
	UserKey(id, username string) ecdsa.PrivateKey
	// send a transaction on an L2 on the given network, from the given user
	SendL2Tx(network string, username string, applyTxOpts helpers.TxOptsFn) *types.Receipt
	// get the address for a user on an L2
	Address(network string, username string) common.Address
	// Deploy the Emitter Contract, which emits Event Logs
	DeployEmitterContract(network string, username string) common.Address
	// Use the Emitter Contract to emit an Event Log
	EmitData(network string, username string, data string) *types.Receipt
	// AddDependency adds a dependency (by chain ID) to the given chain
	AddDependency(network string, dep *big.Int) *types.Receipt
	// ExecuteMessage calls the CrossL2Inbox executeMessage function
	ExecuteMessage(
		ctx context.Context,
		id string,
		sender string,
		msgIdentifier supervisortypes.Identifier,
		target common.Address,
		message []byte,
		expectedError error,
	) (*types.Receipt, error)
	// Access a contract on a network by name
	Contract(network string, contractName string) interface{}
}

SuperSystem is an interface for the system (collection of connected resources) it provides a way to get the resources for a network by network ID and provides a way to get the list of network IDs this is useful for testing multiple network backends, for example, interopE2ESystem is the default implementation, but a shim to kurtosis or another testing framework could be implemented

func NewSuperSystem

func NewSuperSystem(t *testing.T, recipe *interopgen.InteropDevRecipe, w worldResourcePaths, config SuperSystemConfig) SuperSystem

NewSuperSystem creates a new SuperSystem from a recipe. It creates an interopE2ESystem.

type SuperSystemConfig added in v1.9.5

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

Jump to

Keyboard shortcuts

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