mesh

package
v0.2.20-beta.0 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2022 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package mesh defines the main store point for all the persisted mesh objects such as ATXs, ballots and blocks.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mesh

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

Mesh is the logic layer above our mesh.DB database.

func NewMesh

func NewMesh(cdb *datastore.CachedDB, trtl system.Tortoise, state conservativeState, logger log.Log) (*Mesh, error)

NewMesh creates a new instant of a mesh.

func (*Mesh) AddBallot added in v1.0.0

func (msh *Mesh) AddBallot(ctx context.Context, ballot *types.Ballot) error

AddBallot to the mesh.

func (*Mesh) AddBlockWithTXs added in v1.0.0

func (msh *Mesh) AddBlockWithTXs(ctx context.Context, block *types.Block) error

AddBlockWithTXs adds the block and its TXs in into the database.

func (*Mesh) AddTXsFromProposal added in v1.0.0

func (msh *Mesh) AddTXsFromProposal(ctx context.Context, layerID types.LayerID, proposalID types.ProposalID, txIDs []types.TransactionID) error

AddTXsFromProposal adds the TXs in a Proposal into the database.

func (*Mesh) GetATXs

func (msh *Mesh) GetATXs(ctx context.Context, atxIds []types.ATXID) (map[types.ATXID]*types.VerifiedActivationTx, []types.ATXID)

GetATXs uses GetFullAtx to return a list of atxs corresponding to atxIds requested.

func (*Mesh) GetLayer

func (msh *Mesh) GetLayer(lid types.LayerID) (*types.Layer, error)

GetLayer returns GetLayer i from the database.

func (*Mesh) GetRewards added in v1.0.0

func (msh *Mesh) GetRewards(coinbase types.Address) ([]*types.Reward, error)

GetRewards retrieves account's rewards by the coinbase address.

func (*Mesh) LastVerified added in v1.0.0

func (msh *Mesh) LastVerified() types.LayerID

LastVerified returns the latest layer verified by tortoise.

func (*Mesh) LatestLayer

func (msh *Mesh) LatestLayer() types.LayerID

LatestLayer - returns the latest layer we saw from the network.

func (*Mesh) LatestLayerInState

func (msh *Mesh) LatestLayerInState() types.LayerID

LatestLayerInState returns the latest layer we applied to state.

func (*Mesh) MissingLayer

func (msh *Mesh) MissingLayer() types.LayerID

MissingLayer is a layer in (latestLayerInState, processLayer]. this layer is missing critical data (valid blocks or transactions) and can't be applied to the state.

First valid layer starts with 1. 0 is empty layer and can be ignored.

func (*Mesh) ProcessLayer added in v1.0.0

func (msh *Mesh) ProcessLayer(ctx context.Context, layerID types.LayerID) error

ProcessLayer performs fairly heavy lifting: it triggers tortoise to process the full contents of the layer (i.e., all of its blocks), then to attempt to validate all unvalidated layers up to this layer. It also applies state for newly-validated layers.

func (*Mesh) ProcessLayerPerHareOutput added in v1.0.0

func (msh *Mesh) ProcessLayerPerHareOutput(ctx context.Context, layerID types.LayerID, blockID types.BlockID) error

ProcessLayerPerHareOutput receives hare output once it finishes running for a given layer.

func (*Mesh) ProcessedLayer

func (msh *Mesh) ProcessedLayer() types.LayerID

ProcessedLayer returns the last processed layer ID.

func (*Mesh) SetZeroBlockLayer added in v0.1.6

func (msh *Mesh) SetZeroBlockLayer(ctx context.Context, lid types.LayerID)

SetZeroBlockLayer advances the latest layer in the network with a layer that truly has no data.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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