testutils

package
v0.0.0-...-9c383ba Latest Latest
Warning

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

Go to latest
Published: Mar 13, 2025 License: MIT, MIT Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssembleTestTx

func AssembleTestTx(
	client *rpc.EthClient,
	priv *ecdsa.PrivateKey,
	nonce uint64,
	to *common.Address,
	value *big.Int,
	data []byte,
) (*types.Transaction, error)

AssembleTestTx assembles a test transaction.

func RandomBytes

func RandomBytes(size int) (b []byte)

RandomBytes generates a random bytes.

func RandomHash

func RandomHash() common.Hash

RandomHash generates a random blob of data and returns it as a hash.

func RandomPort

func RandomPort() int

RandomPort returns a local free random port.

func SendDynamicFeeTx

func SendDynamicFeeTx(
	client *rpc.EthClient,
	priv *ecdsa.PrivateKey,
	to *common.Address,
	value *big.Int,
	data []byte,
) (*types.Transaction, error)

SendDynamicFeeTx sends a dynamic transaction, used for tests.

func SignatureFromRSV

func SignatureFromRSV(r, s string, v byte) []byte

SignatureFromRSV creates the signature bytes from r,s,v.

Types

type BlobInfo

type BlobInfo struct {
	Data       string
	Commitment string
}

BlobInfo contains the data and commitment of a blob.

type ChainSyncer

type ChainSyncer interface {
	ProcessL1Blocks(ctx context.Context) error
}

type ClientTestSuite

type ClientTestSuite struct {
	suite.Suite

	RPCClient       *rpc.Client
	TestAddrPrivKey *ecdsa.PrivateKey
	TestAddr        common.Address
	AddressManager  *ontakeBindings.AddressManager
	BlobServer      *MemoryBlobServer
	// contains filtered or unexported fields
}

func (*ClientTestSuite) ForkIntoPacaya

func (s *ClientTestSuite) ForkIntoPacaya(proposer Proposer, syncer ChainSyncer)

func (*ClientTestSuite) IncreaseTime

func (s *ClientTestSuite) IncreaseTime(time uint64)

func (*ClientTestSuite) KeyFromEnv

func (s *ClientTestSuite) KeyFromEnv(envName string) *ecdsa.PrivateKey

func (*ClientTestSuite) ProposeAndInsertEmptyBlocks

func (s *ClientTestSuite) ProposeAndInsertEmptyBlocks(
	proposer Proposer,
	chainSyncer ChainSyncer,
) []metadata.TaikoProposalMetaData

func (*ClientTestSuite) ProposeAndInsertValidBlock

func (s *ClientTestSuite) ProposeAndInsertValidBlock(
	proposer Proposer,
	chainSyncer ChainSyncer,
) metadata.TaikoProposalMetaData

ProposeAndInsertValidBlock proposes a valid tx list and then insert it into L2 execution engine's local chain.

func (*ClientTestSuite) ProposeValidBlock

func (s *ClientTestSuite) ProposeValidBlock(proposer Proposer)

func (*ClientTestSuite) RevertL1Snapshot

func (s *ClientTestSuite) RevertL1Snapshot(snapshotID string)

func (*ClientTestSuite) SetL1Automine

func (s *ClientTestSuite) SetL1Automine(automine bool)

func (*ClientTestSuite) SetL1Snapshot

func (s *ClientTestSuite) SetL1Snapshot() string

func (*ClientTestSuite) SetNextBlockTimestamp

func (s *ClientTestSuite) SetNextBlockTimestamp(time uint64)

func (*ClientTestSuite) SetupTest

func (s *ClientTestSuite) SetupTest()

func (*ClientTestSuite) TearDownTest

func (s *ClientTestSuite) TearDownTest()

func (*ClientTestSuite) TxMgr

func (s *ClientTestSuite) TxMgr(name string, key *ecdsa.PrivateKey) txmgr.TxManager

type MemoryBlobServer

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

MemoryBlobServer is a mock blob server that stores blobs in memory.

func NewMemoryBlobServer

func NewMemoryBlobServer() *MemoryBlobServer

NewMemoryBlobServer creates a new MemoryBlobServer.

func (*MemoryBlobServer) AddBlob

func (s *MemoryBlobServer) AddBlob(blobHashes []common.Hash, blobs []*eth.Blob) error

AddBlob adds a blob to the server.

func (*MemoryBlobServer) Close

func (s *MemoryBlobServer) Close()

Close closes the server.

func (*MemoryBlobServer) URL

func (s *MemoryBlobServer) URL() *url.URL

URL returns the URL of the server.

type MemoryBlobTxMgr

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

MemoryBlobTxMgr is a mock tx manager that stores blobs in memory.

func NewMemoryBlobTxMgr

func NewMemoryBlobTxMgr(rpc *rpc.Client, mgr txmgr.TxManager, server *MemoryBlobServer) *MemoryBlobTxMgr

NewMemoryBlobTxMgr creates a new MemoryBlobTxMgr.

func (*MemoryBlobTxMgr) API

func (m *MemoryBlobTxMgr) API() gethRPC.API

API implements TxManager interface.

func (*MemoryBlobTxMgr) BlockNumber

func (m *MemoryBlobTxMgr) BlockNumber(ctx context.Context) (uint64, error)

BlockNumber implements TxManager interface.

func (*MemoryBlobTxMgr) Close

func (m *MemoryBlobTxMgr) Close()

Close implements TxManager interface.

func (*MemoryBlobTxMgr) From

func (m *MemoryBlobTxMgr) From() common.Address

From implements TxManager interface.

func (*MemoryBlobTxMgr) IsClosed

func (m *MemoryBlobTxMgr) IsClosed() bool

IsClosed implements TxManager interface.

func (*MemoryBlobTxMgr) Send

func (m *MemoryBlobTxMgr) Send(ctx context.Context, candidate txmgr.TxCandidate) (*types.Receipt, error)

Send sends a transaction to the tx manager.

func (*MemoryBlobTxMgr) SendAsync

func (m *MemoryBlobTxMgr) SendAsync(ctx context.Context, candidate txmgr.TxCandidate, ch chan txmgr.SendResponse)

SendAsync implements TxManager interface.

func (*MemoryBlobTxMgr) SuggestGasPriceCaps

func (m *MemoryBlobTxMgr) SuggestGasPriceCaps(
	ctx context.Context,
) (tipCap *big.Int, baseFee *big.Int, blobBaseFee *big.Int, err error)

SuggestGasPriceCaps implements TxManager interface.

type Proposer

type Proposer interface {
	utils.SubcommandApplication
	ProposeOp(ctx context.Context) error
	ProposeTxLists(ctx context.Context, txLists []types.Transactions) error
	RegisterTxMgrSelctorToBlobServer(blobServer *MemoryBlobServer)
}

Jump to

Keyboard shortcuts

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