builder

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: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlobTransactionBuilder

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

BlobTransactionBuilder is responsible for building a TaikoL1.proposeBlock transaction with txList bytes saved in blob.

func NewBlobTransactionBuilder

func NewBlobTransactionBuilder(
	rpc *rpc.Client,
	proposerPrivateKey *ecdsa.PrivateKey,
	taikoL1Address common.Address,
	taikoWrapperAddress common.Address,
	proverSetAddress common.Address,
	l2SuggestedFeeRecipient common.Address,
	gasLimit uint64,
	chainConfig *config.ChainConfig,
	revertProtectionEnabled bool,
) *BlobTransactionBuilder

NewBlobTransactionBuilder creates a new BlobTransactionBuilder instance based on giving configurations.

func (*BlobTransactionBuilder) BuildOntake

func (b *BlobTransactionBuilder) BuildOntake(
	ctx context.Context,
	txListBytesArray [][]byte,
) (*txmgr.TxCandidate, error)

BuildOntake implements the ProposeBlockTransactionBuilder interface.

func (*BlobTransactionBuilder) BuildPacaya

func (b *BlobTransactionBuilder) BuildPacaya(
	ctx context.Context,
	txBatch []types.Transactions,
	forcedInclusion *pacayaBindings.IForcedInclusionStoreForcedInclusion,
	minTxsPerForcedInclusion *big.Int,
) (*txmgr.TxCandidate, error)

BuildPacaya implements the ProposeBlocksTransactionBuilder interface.

type CalldataTransactionBuilder

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

CalldataTransactionBuilder is responsible for building a TaikoL1.proposeBlock transaction with txList bytes saved in calldata.

func NewCalldataTransactionBuilder

func NewCalldataTransactionBuilder(
	rpc *rpc.Client,
	proposerPrivateKey *ecdsa.PrivateKey,
	l2SuggestedFeeRecipient common.Address,
	taikoL1Address common.Address,
	taikoWrapperAddress common.Address,
	proverSetAddress common.Address,
	gasLimit uint64,
	chainConfig *config.ChainConfig,
	revertProtectionEnabled bool,
) *CalldataTransactionBuilder

NewCalldataTransactionBuilder creates a new CalldataTransactionBuilder instance based on giving configurations.

func (*CalldataTransactionBuilder) BuildOntake

func (b *CalldataTransactionBuilder) BuildOntake(
	ctx context.Context,
	txListBytesArray [][]byte,
) (*txmgr.TxCandidate, error)

BuildOntake implements the ProposeBlockTransactionBuilder interface.

func (*CalldataTransactionBuilder) BuildPacaya

func (b *CalldataTransactionBuilder) BuildPacaya(
	ctx context.Context,
	txBatch []types.Transactions,
	forcedInclusion *pacayaBindings.IForcedInclusionStoreForcedInclusion,
	minTxsPerForcedInclusion *big.Int,
) (*txmgr.TxCandidate, error)

BuildPacaya implements the ProposeBlocksTransactionBuilder interface.

type ProposeBlocksTransactionBuilder

type ProposeBlocksTransactionBuilder interface {
	BuildOntake(ctx context.Context, txListBytesArray [][]byte) (*txmgr.TxCandidate, error)
	BuildPacaya(
		ctx context.Context,
		txBatch []types.Transactions,
		forcedInclusion *pacayaBindings.IForcedInclusionStoreForcedInclusion,
		minTxsPerForcedInclusion *big.Int,
	) (*txmgr.TxCandidate, error)
}

ProposeBlocksTransactionBuilder is an interface for building a TaikoL1.proposeBlock / TaikoInbox.proposeBatch transaction.

type TxBuilderWithFallback

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

TxBuilderWithFallback builds type-2 or type-3 transactions based on the the realtime onchain cost, if the fallback feature is enabled.

func NewBuilderWithFallback

func NewBuilderWithFallback(
	rpc *rpc.Client,
	proposerPrivateKey *ecdsa.PrivateKey,
	l2SuggestedFeeRecipient common.Address,
	taikoL1Address common.Address,
	taikoWrapperAddress common.Address,
	proverSetAddress common.Address,
	gasLimit uint64,
	chainConfig *config.ChainConfig,
	txmgrSelector *utils.TxMgrSelector,
	revertProtectionEnabled bool,
	blobAllowed bool,
	fallback bool,
) *TxBuilderWithFallback

NewBuilderWithFallback creates a new TxBuilderWithFallback instance.

func (*TxBuilderWithFallback) BlobAllow

func (b *TxBuilderWithFallback) BlobAllow() bool

TxBuilderWithFallback returns whether the blob transactions is enabled.

func (*TxBuilderWithFallback) BuildOntake

func (b *TxBuilderWithFallback) BuildOntake(
	ctx context.Context,
	txListBytesArray [][]byte,
) (*txmgr.TxCandidate, error)

BuildOntake builds a type-2 or type-3 transaction based on the the realtime onchain cost, if the fallback feature is enabled.

func (*TxBuilderWithFallback) BuildPacaya

func (b *TxBuilderWithFallback) BuildPacaya(
	ctx context.Context,
	txBatch []types.Transactions,
	forcedInclusion *pacaya.IForcedInclusionStoreForcedInclusion,
	minTxsPerForcedInclusion *big.Int,
) (*txmgr.TxCandidate, error)

BuildPacaya implements the ProposeBlocksTransactionBuilder interface.

Jump to

Keyboard shortcuts

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