Documentation ¶
Overview ¶
Package mesh defines the main store point for all the persisted mesh objects such as ATXs, ballots and blocks.
Index ¶
- Variables
- type Executor
- type Mesh
- func (msh *Mesh) AddBallot(ctx context.Context, ballot *types.Ballot) (*types.MalfeasanceProof, error)
- func (msh *Mesh) AddBlockWithTXs(ctx context.Context, block *types.Block) error
- func (msh *Mesh) AddTXsFromProposal(ctx context.Context, layerID types.LayerID, proposalID types.ProposalID, ...) error
- func (msh *Mesh) GetATXs(ctx context.Context, atxIds []types.ATXID) (map[types.ATXID]*types.VerifiedActivationTx, []types.ATXID)
- func (msh *Mesh) GetLayer(lid types.LayerID) (*types.Layer, error)
- func (msh *Mesh) GetRewards(coinbase types.Address) ([]*types.Reward, error)
- func (msh *Mesh) LastVerified() types.LayerID
- func (msh *Mesh) LatestLayer() types.LayerID
- func (msh *Mesh) LatestLayerInState() types.LayerID
- func (msh *Mesh) MeshHash(lid types.LayerID) (types.Hash32, error)
- func (msh *Mesh) MissingBlocks() <-chan []types.BlockID
- func (msh *Mesh) ProcessLayer(ctx context.Context, lid types.LayerID) error
- func (msh *Mesh) ProcessLayerPerHareOutput(ctx context.Context, layerID types.LayerID, blockID types.BlockID, ...) error
- func (msh *Mesh) ProcessedLayer() types.LayerID
- func (msh *Mesh) SetZeroBlockLayer(ctx context.Context, lid types.LayerID)
Constants ¶
This section is empty.
Variables ¶
var ( ErrLayerNotInOrder = errors.New("layers not applied in order") ErrLayerApplied = errors.New("layer already applied") )
Functions ¶
This section is empty.
Types ¶
type Executor ¶ added in v1.0.0
type Executor struct {
// contains filtered or unexported fields
}
func NewExecutor ¶ added in v1.0.0
func (*Executor) Execute ¶ added in v1.0.0
Execute transactions in the specified block and update the conservative cache.
func (*Executor) ExecuteOptimistic ¶ added in v1.0.0
func (e *Executor) ExecuteOptimistic( ctx context.Context, lid types.LayerID, tickHeight uint64, rewards []types.AnyReward, tids []types.TransactionID, ) (*types.Block, error)
ExecuteOptimistic executes the specified transactions and returns a block that contains only successfully executed transactions.
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, c layerClock, trtl system.Tortoise, exec *Executor, 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) (*types.MalfeasanceProof, error)
AddBallot to the mesh.
func (*Mesh) AddBlockWithTXs ¶ added in v1.0.0
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) GetRewards ¶ added in v1.0.0
GetRewards retrieves account's rewards by the coinbase address.
func (*Mesh) LastVerified ¶ added in v1.0.0
LastVerified returns the latest layer verified by tortoise.
func (*Mesh) LatestLayer ¶
LatestLayer - returns the latest layer we saw from the network.
func (*Mesh) LatestLayerInState ¶
LatestLayerInState returns the latest layer we applied to state.
func (*Mesh) MeshHash ¶ added in v1.0.0
MeshHash returns the aggregated mesh hash at the specified layer.
func (*Mesh) MissingBlocks ¶ added in v1.0.16
MissingBlocks returns single consumer channel. Consumer by contract is responsible for downloading missing blocks.
func (*Mesh) ProcessLayer ¶ added in v1.0.0
ProcessLayer reads latest consensus results and ensures that vm state is consistent with results. It is safe to call after optimistically executing the block.
func (*Mesh) ProcessLayerPerHareOutput ¶ added in v1.0.0
func (msh *Mesh) ProcessLayerPerHareOutput(ctx context.Context, layerID types.LayerID, blockID types.BlockID, executed bool) error
ProcessLayerPerHareOutput receives hare output once it finishes running for a given layer.
func (*Mesh) ProcessedLayer ¶
ProcessedLayer returns the last processed layer ID.