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() util.Uint256
- func (s *Module) CurrentValidatedHeight() uint32
- func (s *Module) FindStates(root util.Uint256, prefix, start []byte, max int) ([]storage.KeyValue, error)
- func (s *Module) GetState(root util.Uint256, key []byte) ([]byte, error)
- func (s *Module) GetStateProof(root util.Uint256, 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, enableRefCount bool) error
- func (s *Module) JumpToState(sr *state.MPTRoot, enableRefCount bool) error
- 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
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(bc blockchainer.Blockchainer, 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 ¶ added in v0.97.3
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 ¶ added in v0.95.4
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 ¶ added in v0.97.3
func (s *Module) FindStates(root util.Uint256, 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 ¶ added in v0.97.3
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 ¶ added in v0.97.3
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 ¶ added in v0.94.1
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.