Documentation ¶
Index ¶
- Variables
- type Module
- func (s *Module) AddMPTBatch(index uint32, b mpt.Batch, cache *storage.MemCachedStore) (*mpt.Trie, *state.MPTRoot, error)
- func (s *Module) AddStateRoot(sr *state.MPTRoot) error
- func (s *Module) CleanStorage() error
- func (s *Module) CurrentLocalHeight() uint32
- func (s *Module) CurrentLocalStateRoot() common.Hash
- func (s *Module) CurrentValidatedHeight() uint32
- func (s *Module) FindStates(root common.Hash, prefix, start []byte, max int) ([]storage.KeyValue, error)
- func (s *Module) GC(index uint32, store storage.Store) time.Duration
- func (s *Module) GetState(root common.Hash, key []byte) ([]byte, error)
- func (s *Module) GetStateProof(root common.Hash, key []byte) ([][]byte, error)
- func (s *Module) GetStateRoot(height uint32) (*state.MPTRoot, error)
- func (s *Module) GetStateValidators(height uint32) keys.PublicKeys
- func (s *Module) Init(height uint32) error
- func (s *Module) JumpToState(sr *state.MPTRoot)
- func (s *Module) SetUpdateValidatorsCallback(f func(uint32, keys.PublicKeys))
- func (s *Module) UpdateCurrentLocal(mpt *mpt.Trie, sr *state.MPTRoot)
- func (s *Module) UpdateStateValidators(height uint32, pubs keys.PublicKeys)
- func (s *Module) VerifyStateRoot(r *state.MPTRoot) error
- type VerifierFunc
Constants ¶
This section is empty.
Variables ¶
var ( // ErrStateMismatch means that local state root doesn't match the one // signed by state validators. ErrStateMismatch = errors.New("stateroot mismatch") )
Functions ¶
This section is empty.
Types ¶
type Module ¶
type Module struct { Store *storage.MemCachedStore // contains filtered or unexported fields }
Module represents module for local processing of state roots.
func NewModule ¶
func NewModule(cfg config.ProtocolConfiguration, verif VerifierFunc, log *zap.Logger, s *storage.MemCachedStore) *Module
NewModule returns new instance of stateroot module.
func (*Module) AddMPTBatch ¶
func (s *Module) AddMPTBatch(index uint32, b mpt.Batch, cache *storage.MemCachedStore) (*mpt.Trie, *state.MPTRoot, error)
AddMPTBatch updates using provided batch.
func (*Module) AddStateRoot ¶
AddStateRoot adds validated state root provided by network.
func (*Module) CleanStorage ¶
CleanStorage removes all MPT-related data from the storage (MPT nodes, validated stateroots) except local stateroot for the current height and GC flag. This method is aimed to clean outdated MPT data before state sync process can be started. Note: this method is aimed to be called for genesis block only, an error is returned otherwice.
func (*Module) CurrentLocalHeight ¶
CurrentLocalHeight returns height of the local state root.
func (*Module) CurrentLocalStateRoot ¶
CurrentLocalStateRoot returns hash of the local state root.
func (*Module) CurrentValidatedHeight ¶
CurrentValidatedHeight returns current state root validated height.
func (*Module) FindStates ¶
func (s *Module) FindStates(root common.Hash, prefix, start []byte, max int) ([]storage.KeyValue, error)
FindStates returns set of key-value pairs with key matching the prefix starting from the `prefix`+`start` path from MPT trie with the specified root. `max` is the maximum number of elements to be returned. If nil `start` specified, then item with key equals to prefix is included into result; if empty `start` specified, then item with key equals to prefix is not included into result.
func (*Module) GetState ¶
GetState returns value at the specified key fom the MPT with the specified root.
func (*Module) GetStateProof ¶
GetStateProof returns proof of having key in the MPT with the specified root.
func (*Module) GetStateRoot ¶
GetStateRoot returns state root for a given height.
func (*Module) GetStateValidators ¶
func (s *Module) GetStateValidators(height uint32) keys.PublicKeys
GetStateValidators returns current state validators.
func (*Module) JumpToState ¶
JumpToState performs jump to the state specified by given stateroot index.
func (*Module) SetUpdateValidatorsCallback ¶
func (s *Module) SetUpdateValidatorsCallback(f func(uint32, keys.PublicKeys))
SetUpdateValidatorsCallback sets callback for sending signed root.
func (*Module) UpdateCurrentLocal ¶
UpdateCurrentLocal updates local caches using provided state root.
func (*Module) UpdateStateValidators ¶
func (s *Module) UpdateStateValidators(height uint32, pubs keys.PublicKeys)
UpdateStateValidators updates list of state validator keys.
type VerifierFunc ¶
VerifierFunc is a function that allows to check witness of account for Hashable item with GAS limit.