builder

package
v0.15.16 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BlockHashLag          = uint64(10)
	NumTxnsToBatchExecute = 10
)

Variables

View Source
var (
	ErrPendingParentHash   = errors.New("pending block parent hash does not match chain head")
	CurrentStarknetVersion = semver.MustParse("0.14.0")
)

Functions

This section is empty.

Types

type BuildParams added in v0.15.0

type BuildParams struct {
	Builder           felt.Felt
	Timestamp         uint64
	L2GasPriceFRI     felt.Felt
	L1GasPriceWEI     felt.Felt
	L1DataGasPriceWEI felt.Felt
	EthToStrkRate     felt.Felt
	L1DAMode          core.L1DAMode
}

type BuildResult added in v0.14.7

type BuildResult struct {
	Preconfirmed   *core.PreConfirmed
	SimulateResult *blockchain.SimulateResult
	L2GasConsumed  uint64
}

func (*BuildResult) ProposalCommitment added in v0.14.7

func (b *BuildResult) ProposalCommitment() (types.ProposalCommitment, error)

type BuildState added in v0.15.0

type BuildState struct {
	Preconfirmed      *core.PreConfirmed
	L2GasConsumed     uint64
	RevealedBlockHash *felt.Felt
}

func (*BuildState) ClearPending added in v0.15.0

func (b *BuildState) ClearPending() error

func (*BuildState) Clone added in v0.15.0

func (b *BuildState) Clone() BuildState

Assumptions we make to avoid deep copying some fields and types: - This function is only called before running `Finish` - *felt.Felt is immutable - *GasPrice is immutable - Signatures and EventsBloom are not set before `Finish` is called

func (*BuildState) PendingBlock added in v0.15.0

func (b *BuildState) PendingBlock() *core.Block

type Builder

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

func New

func New(
	bc *blockchain.Blockchain,
	executor Executor,
) Builder

func (*Builder) Finalise

func (b *Builder) Finalise(preconfirmed *core.PreConfirmed, signer utils.BlockSignFunc, privateKey *ecdsa.PrivateKey) error

func (*Builder) Finish added in v0.14.7

func (b *Builder) Finish(state *BuildState) (BuildResult, error)

func (*Builder) InitPreconfirmedBlock added in v0.15.1

func (b *Builder) InitPreconfirmedBlock(params *BuildParams) (*BuildState, error)

func (*Builder) Network added in v0.15.3

func (b *Builder) Network() *utils.Network

func (*Builder) PendingState

func (b *Builder) PendingState(buildState *BuildState) (core.StateReader, func() error, error)

func (*Builder) RunTxns added in v0.14.6

func (b *Builder) RunTxns(state *BuildState, txns []mempool.BroadcastedTransaction) error

type Executor added in v0.15.0

type Executor interface {
	RunTxns(*BuildState, []mempool.BroadcastedTransaction) (err error)
	Finish(*BuildState) (blockchain.SimulateResult, error)
}

func NewExecutor added in v0.15.0

func NewExecutor(
	blockchain *blockchain.Blockchain,
	vm vm.VM,
	log utils.Logger,
	disableFees bool,
	skipValidate bool,
) Executor

Jump to

Keyboard shortcuts

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