Documentation ¶
Index ¶
- Constants
- func CommitDelta(ldg ledger.Ledger, delta delta.Delta, baseState flow.StateCommitment) (flow.StateCommitment, error)
- func LedgerGetRegister(ldg ledger.Ledger, commitment flow.StateCommitment) delta.GetRegisterFunc
- func RegisterIDSToKeys(ids []flow.RegisterID) []ledger.Key
- func RegisterIDToKey(reg flow.RegisterID) ledger.Key
- func RegisterValuesToValues(values []flow.RegisterValue) []ledger.Value
- type ExecutionState
- type ReadOnlyExecutionState
Constants ¶
View Source
const ( KeyPartOwner = uint16(0) KeyPartController = uint16(1) KeyPartKey = uint16(2) )
Variables ¶
This section is empty.
Functions ¶
func CommitDelta ¶
func CommitDelta(ldg ledger.Ledger, delta delta.Delta, baseState flow.StateCommitment) (flow.StateCommitment, error)
func LedgerGetRegister ¶
func LedgerGetRegister(ldg ledger.Ledger, commitment flow.StateCommitment) delta.GetRegisterFunc
func RegisterIDSToKeys ¶ added in v0.10.0
func RegisterIDSToKeys(ids []flow.RegisterID) []ledger.Key
func RegisterIDToKey ¶ added in v0.10.0
func RegisterIDToKey(reg flow.RegisterID) ledger.Key
func RegisterValuesToValues ¶ added in v0.10.0
func RegisterValuesToValues(values []flow.RegisterValue) []ledger.Value
Types ¶
type ExecutionState ¶
type ExecutionState interface { ReadOnlyExecutionState // CommitDelta commits a register delta and returns the new state commitment. CommitDelta(context.Context, delta.Delta, flow.StateCommitment) (flow.StateCommitment, error) // PersistStateCommitment saves a state commitment by the given block ID. PersistStateCommitment(context.Context, flow.Identifier, flow.StateCommitment) error // PersistChunkDataPack stores a chunk data pack by chunk ID. PersistChunkDataPack(context.Context, *flow.ChunkDataPack) error PersistExecutionReceipt(context.Context, *flow.ExecutionReceipt) error PersistStateInteractions(context.Context, flow.Identifier, []*delta.Snapshot) error UpdateHighestExecutedBlockIfHigher(context.Context, *flow.Header) error RemoveByBlockID(flow.Identifier) error SetHighestExecuted(*flow.Header) error }
ExecutionState is an interface used to access and mutate the execution state of the blockchain.
func NewExecutionState ¶
func NewExecutionState( ls ledger.Ledger, commits storage.Commits, blocks storage.Blocks, collections storage.Collections, chunkDataPacks storage.ChunkDataPacks, results storage.ExecutionResults, receipts storage.ExecutionReceipts, db *badger.DB, tracer module.Tracer, ) ExecutionState
NewExecutionState returns a new execution state access layer for the given ledger storage.
type ReadOnlyExecutionState ¶
type ReadOnlyExecutionState interface { // NewView creates a new ready-only view at the given state commitment. NewView(flow.StateCommitment) *delta.View GetRegisters( context.Context, flow.StateCommitment, []flow.RegisterID, ) ([]flow.RegisterValue, error) GetProof( context.Context, flow.StateCommitment, []flow.RegisterID, ) (flow.StorageProof, error) // StateCommitmentByBlockID returns the final state commitment for the provided block ID. StateCommitmentByBlockID(context.Context, flow.Identifier) (flow.StateCommitment, error) // ChunkDataPackByChunkID retrieve a chunk data pack given the chunk ID. ChunkDataPackByChunkID(context.Context, flow.Identifier) (*flow.ChunkDataPack, error) GetExecutionResultID(context.Context, flow.Identifier) (flow.Identifier, error) RetrieveStateDelta(context.Context, flow.Identifier) (*messages.ExecutionStateDelta, error) GetHighestExecutedBlockID(context.Context) (uint64, flow.Identifier, error) GetCollection(identifier flow.Identifier) (*flow.Collection, error) }
ReadOnlyExecutionState allows to read the execution state
Click to show internal directories.
Click to hide internal directories.