Documentation ¶
Index ¶
- Constants
- Variables
- func NewAccountsDBApi(innerAccountsAdapter AccountsAdapter, chainHandler chainData.ChainHandler) (*accountsDBApi, error)
- func NewDataTriesHolder() *dataTriesHolder
- func NewEmptyPeerAccount() *peerAccount
- func NewEmptyUserAccount() *userAccount
- func NewJournalEntryAccount(account vmcommon.AccountHandler) (*journalEntryAccount, error)
- func NewJournalEntryAccountCreation(address []byte, updater Updater) (*journalEntryAccountCreation, error)
- func NewJournalEntryCode(oldCodeEntry *CodeEntry, oldCodeHash []byte, newCodeHash []byte, trie Updater, ...) (*journalEntryCode, error)
- func NewJournalEntryDataTrieRemove(rootHash []byte, obsoleteDataTrieHashes map[string][][]byte) (*journalEntryDataTrieRemove, error)
- func NewJournalEntryDataTrieUpdates(trieUpdates map[string][]byte, account baseAccountHandler) (*journalEntryDataTrieUpdates, error)
- func NewPeerAccount(address []byte) (*peerAccount, error)
- func NewUserAccount(address []byte) (*userAccount, error)
- type AccountFactory
- type AccountsAdapter
- type AccountsDB
- func (adb *AccountsDB) CancelPrune(rootHash []byte, identifier TriePruningIdentifier)
- func (adb *AccountsDB) Close() error
- func (adb *AccountsDB) Commit() ([]byte, error)
- func (adb *AccountsDB) CommitInEpoch(currentEpoch uint32, epochToCommit uint32) ([]byte, error)
- func (adb *AccountsDB) GetAccountFromBytes(address []byte, accountBytes []byte) (vmcommon.AccountHandler, error)
- func (adb *AccountsDB) GetAllLeaves(rootHash []byte) (chan core.KeyValueHolder, error)
- func (adb *AccountsDB) GetCode(codeHash []byte) []byte
- func (adb *AccountsDB) GetExistingAccount(address []byte) (vmcommon.AccountHandler, error)
- func (adb *AccountsDB) GetNumCheckpoints() uint32
- func (adb *AccountsDB) GetStackDebugFirstEntry() []byte
- func (adb *AccountsDB) GetTrie(rootHash []byte) (common.Trie, error)
- func (adb *AccountsDB) ImportAccount(account vmcommon.AccountHandler) error
- func (adb *AccountsDB) IsInterfaceNil() bool
- func (adb *AccountsDB) IsPruningEnabled() bool
- func (adb *AccountsDB) JournalLen() int
- func (adb *AccountsDB) LoadAccount(address []byte) (vmcommon.AccountHandler, error)
- func (adb *AccountsDB) PruneTrie(rootHash []byte, identifier TriePruningIdentifier)
- func (adb *AccountsDB) RecreateAllTries(rootHash []byte) (map[string]common.Trie, error)
- func (adb *AccountsDB) RecreateTrie(rootHash []byte) error
- func (adb *AccountsDB) RemoveAccount(address []byte) error
- func (adb *AccountsDB) RevertToSnapshot(snapshot int) error
- func (adb *AccountsDB) RootHash() ([]byte, error)
- func (adb *AccountsDB) SaveAccount(account vmcommon.AccountHandler) error
- func (adb *AccountsDB) SetStateCheckpoint(rootHash []byte)
- func (adb *AccountsDB) SnapshotState(rootHash []byte)
- type AccountsDBImporter
- type AccountsDbIdentifier
- type ArgsAccountsDB
- type AtomicBuffer
- type CodeEntry
- func (*CodeEntry) Descriptor() ([]byte, []int)
- func (this *CodeEntry) Equal(that interface{}) bool
- func (m *CodeEntry) GetCode() []byte
- func (m *CodeEntry) GetNumReferences() uint32
- func (this *CodeEntry) GoString() string
- func (m *CodeEntry) Marshal() (dAtA []byte, err error)
- func (m *CodeEntry) MarshalTo(dAtA []byte) (int, error)
- func (m *CodeEntry) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*CodeEntry) ProtoMessage()
- func (m *CodeEntry) Reset()
- func (m *CodeEntry) Size() (n int)
- func (this *CodeEntry) String() string
- func (m *CodeEntry) Unmarshal(dAtA []byte) error
- func (m *CodeEntry) XXX_DiscardUnknown()
- func (m *CodeEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *CodeEntry) XXX_Merge(src proto.Message)
- func (m *CodeEntry) XXX_Size() int
- func (m *CodeEntry) XXX_Unmarshal(b []byte) error
- type DBRemoveCacher
- type DataTrieTracker
- type ErrMissingTrie
- type JournalEntry
- type PeerAccountData
- func (*PeerAccountData) Descriptor() ([]byte, []int)
- func (this *PeerAccountData) Equal(that interface{}) bool
- func (m *PeerAccountData) GetAccumulatedFees() *math_big.Int
- func (m *PeerAccountData) GetBLSPublicKey() []byte
- func (m *PeerAccountData) GetConsecutiveProposerMisses() uint32
- func (m *PeerAccountData) GetIndexInList() uint32
- func (m *PeerAccountData) GetLeaderSuccessRate() SignRate
- func (m *PeerAccountData) GetList() string
- func (m *PeerAccountData) GetNonce() uint64
- func (m *PeerAccountData) GetNumSelectedInSuccessBlocks() uint32
- func (m *PeerAccountData) GetRating() uint32
- func (m *PeerAccountData) GetRewardAddress() []byte
- func (m *PeerAccountData) GetShardId() uint32
- func (m *PeerAccountData) GetTempRating() uint32
- func (m *PeerAccountData) GetTotalLeaderSuccessRate() SignRate
- func (m *PeerAccountData) GetTotalValidatorIgnoredSignaturesRate() uint32
- func (m *PeerAccountData) GetTotalValidatorSuccessRate() SignRate
- func (m *PeerAccountData) GetUnStakedEpoch() uint32
- func (m *PeerAccountData) GetValidatorIgnoredSignaturesRate() uint32
- func (m *PeerAccountData) GetValidatorSuccessRate() SignRate
- func (this *PeerAccountData) GoString() string
- func (m *PeerAccountData) Marshal() (dAtA []byte, err error)
- func (m *PeerAccountData) MarshalTo(dAtA []byte) (int, error)
- func (m *PeerAccountData) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*PeerAccountData) ProtoMessage()
- func (m *PeerAccountData) Reset()
- func (m *PeerAccountData) Size() (n int)
- func (this *PeerAccountData) String() string
- func (m *PeerAccountData) Unmarshal(dAtA []byte) error
- func (m *PeerAccountData) XXX_DiscardUnknown()
- func (m *PeerAccountData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *PeerAccountData) XXX_Merge(src proto.Message)
- func (m *PeerAccountData) XXX_Size() int
- func (m *PeerAccountData) XXX_Unmarshal(b []byte) error
- type PeerAccountHandler
- type PeerAccountsDB
- func (adb *PeerAccountsDB) IsInterfaceNil() bool
- func (adb *PeerAccountsDB) MarkSnapshotDone()
- func (adb *PeerAccountsDB) RecreateAllTries(rootHash []byte) (map[string]common.Trie, error)
- func (adb *PeerAccountsDB) SetStateCheckpoint(rootHash []byte)
- func (adb *PeerAccountsDB) SnapshotState(rootHash []byte)
- type PeerTypeInfo
- type ShardValidatorInfo
- func (*ShardValidatorInfo) Descriptor() ([]byte, []int)
- func (this *ShardValidatorInfo) Equal(that interface{}) bool
- func (m *ShardValidatorInfo) GetIndex() uint32
- func (m *ShardValidatorInfo) GetList() string
- func (m *ShardValidatorInfo) GetPublicKey() []byte
- func (m *ShardValidatorInfo) GetShardId() uint32
- func (m *ShardValidatorInfo) GetTempRating() uint32
- func (this *ShardValidatorInfo) GoString() string
- func (svi *ShardValidatorInfo) IsInterfaceNil() bool
- func (m *ShardValidatorInfo) Marshal() (dAtA []byte, err error)
- func (m *ShardValidatorInfo) MarshalTo(dAtA []byte) (int, error)
- func (m *ShardValidatorInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ShardValidatorInfo) ProtoMessage()
- func (m *ShardValidatorInfo) Reset()
- func (m *ShardValidatorInfo) Size() (n int)
- func (this *ShardValidatorInfo) String() string
- func (m *ShardValidatorInfo) Unmarshal(dAtA []byte) error
- func (m *ShardValidatorInfo) XXX_DiscardUnknown()
- func (m *ShardValidatorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ShardValidatorInfo) XXX_Merge(src proto.Message)
- func (m *ShardValidatorInfo) XXX_Size() int
- func (m *ShardValidatorInfo) XXX_Unmarshal(b []byte) error
- type SignRate
- func (*SignRate) Descriptor() ([]byte, []int)
- func (this *SignRate) Equal(that interface{}) bool
- func (m *SignRate) GetNumFailure() uint32
- func (m *SignRate) GetNumSuccess() uint32
- func (this *SignRate) GoString() string
- func (m *SignRate) Marshal() (dAtA []byte, err error)
- func (m *SignRate) MarshalTo(dAtA []byte) (int, error)
- func (m *SignRate) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*SignRate) ProtoMessage()
- func (m *SignRate) Reset()
- func (m *SignRate) Size() (n int)
- func (this *SignRate) String() string
- func (m *SignRate) Unmarshal(dAtA []byte) error
- func (m *SignRate) XXX_DiscardUnknown()
- func (m *SignRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SignRate) XXX_Merge(src proto.Message)
- func (m *SignRate) XXX_Size() int
- func (m *SignRate) XXX_Unmarshal(b []byte) error
- type StoragePruningManager
- type TrackableDataTrie
- func (tdaw *TrackableDataTrie) ClearDataCaches()
- func (tdaw *TrackableDataTrie) DataTrie() common.Trie
- func (tdaw *TrackableDataTrie) DirtyData() map[string][]byte
- func (tdaw *TrackableDataTrie) IsInterfaceNil() bool
- func (tdaw *TrackableDataTrie) RetrieveValue(key []byte) ([]byte, error)
- func (tdaw *TrackableDataTrie) SaveKeyValue(key []byte, value []byte) error
- func (tdaw *TrackableDataTrie) SetDataTrie(tr common.Trie)
- type TriePruningIdentifier
- type Updater
- type UserAccountData
- func (*UserAccountData) Descriptor() ([]byte, []int)
- func (this *UserAccountData) Equal(that interface{}) bool
- func (m *UserAccountData) GetAddress() []byte
- func (m *UserAccountData) GetBalance() *math_big.Int
- func (m *UserAccountData) GetCodeHash() []byte
- func (m *UserAccountData) GetCodeMetadata() []byte
- func (m *UserAccountData) GetDeveloperReward() *math_big.Int
- func (m *UserAccountData) GetNonce() uint64
- func (m *UserAccountData) GetOwnerAddress() []byte
- func (m *UserAccountData) GetRootHash() []byte
- func (m *UserAccountData) GetUserName() []byte
- func (this *UserAccountData) GoString() string
- func (m *UserAccountData) Marshal() (dAtA []byte, err error)
- func (m *UserAccountData) MarshalTo(dAtA []byte) (int, error)
- func (m *UserAccountData) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*UserAccountData) ProtoMessage()
- func (m *UserAccountData) Reset()
- func (m *UserAccountData) Size() (n int)
- func (this *UserAccountData) String() string
- func (m *UserAccountData) Unmarshal(dAtA []byte) error
- func (m *UserAccountData) XXX_DiscardUnknown()
- func (m *UserAccountData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *UserAccountData) XXX_Merge(src proto.Message)
- func (m *UserAccountData) XXX_Size() int
- func (m *UserAccountData) XXX_Unmarshal(b []byte) error
- type UserAccountHandler
- type ValidatorApiResponse
- func (*ValidatorApiResponse) Descriptor() ([]byte, []int)
- func (this *ValidatorApiResponse) Equal(that interface{}) bool
- func (m *ValidatorApiResponse) GetNumLeaderFailure() uint32
- func (m *ValidatorApiResponse) GetNumLeaderSuccess() uint32
- func (m *ValidatorApiResponse) GetNumValidatorFailure() uint32
- func (m *ValidatorApiResponse) GetNumValidatorIgnoredSignatures() uint32
- func (m *ValidatorApiResponse) GetNumValidatorSuccess() uint32
- func (m *ValidatorApiResponse) GetRating() float32
- func (m *ValidatorApiResponse) GetRatingModifier() float32
- func (m *ValidatorApiResponse) GetShardId() uint32
- func (m *ValidatorApiResponse) GetTempRating() float32
- func (m *ValidatorApiResponse) GetTotalNumLeaderFailure() uint32
- func (m *ValidatorApiResponse) GetTotalNumLeaderSuccess() uint32
- func (m *ValidatorApiResponse) GetTotalNumValidatorFailure() uint32
- func (m *ValidatorApiResponse) GetTotalNumValidatorIgnoredSignatures() uint32
- func (m *ValidatorApiResponse) GetTotalNumValidatorSuccess() uint32
- func (m *ValidatorApiResponse) GetValidatorStatus() string
- func (this *ValidatorApiResponse) GoString() string
- func (m *ValidatorApiResponse) Marshal() (dAtA []byte, err error)
- func (m *ValidatorApiResponse) MarshalTo(dAtA []byte) (int, error)
- func (m *ValidatorApiResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ValidatorApiResponse) ProtoMessage()
- func (m *ValidatorApiResponse) Reset()
- func (m *ValidatorApiResponse) Size() (n int)
- func (this *ValidatorApiResponse) String() string
- func (m *ValidatorApiResponse) Unmarshal(dAtA []byte) error
- func (m *ValidatorApiResponse) XXX_DiscardUnknown()
- func (m *ValidatorApiResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ValidatorApiResponse) XXX_Merge(src proto.Message)
- func (m *ValidatorApiResponse) XXX_Size() int
- func (m *ValidatorApiResponse) XXX_Unmarshal(b []byte) error
- type ValidatorInfo
- func (*ValidatorInfo) Descriptor() ([]byte, []int)
- func (this *ValidatorInfo) Equal(that interface{}) bool
- func (m *ValidatorInfo) GetAccumulatedFees() *math_big.Int
- func (m *ValidatorInfo) GetIndex() uint32
- func (m *ValidatorInfo) GetLeaderFailure() uint32
- func (m *ValidatorInfo) GetLeaderSuccess() uint32
- func (m *ValidatorInfo) GetList() string
- func (m *ValidatorInfo) GetNumSelectedInSuccessBlocks() uint32
- func (m *ValidatorInfo) GetPublicKey() []byte
- func (m *ValidatorInfo) GetRating() uint32
- func (m *ValidatorInfo) GetRatingModifier() float32
- func (m *ValidatorInfo) GetRewardAddress() []byte
- func (m *ValidatorInfo) GetShardId() uint32
- func (m *ValidatorInfo) GetTempRating() uint32
- func (m *ValidatorInfo) GetTotalLeaderFailure() uint32
- func (m *ValidatorInfo) GetTotalLeaderSuccess() uint32
- func (m *ValidatorInfo) GetTotalValidatorFailure() uint32
- func (m *ValidatorInfo) GetTotalValidatorIgnoredSignatures() uint32
- func (m *ValidatorInfo) GetTotalValidatorSuccess() uint32
- func (m *ValidatorInfo) GetValidatorFailure() uint32
- func (m *ValidatorInfo) GetValidatorIgnoredSignatures() uint32
- func (m *ValidatorInfo) GetValidatorSuccess() uint32
- func (this *ValidatorInfo) GoString() string
- func (vi *ValidatorInfo) IsInterfaceNil() bool
- func (m *ValidatorInfo) Marshal() (dAtA []byte, err error)
- func (m *ValidatorInfo) MarshalTo(dAtA []byte) (int, error)
- func (m *ValidatorInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ValidatorInfo) ProtoMessage()
- func (m *ValidatorInfo) Reset()
- func (m *ValidatorInfo) Size() (n int)
- func (this *ValidatorInfo) String() string
- func (m *ValidatorInfo) Unmarshal(dAtA []byte) error
- func (m *ValidatorInfo) XXX_DiscardUnknown()
- func (m *ValidatorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ValidatorInfo) XXX_Merge(src proto.Message)
- func (m *ValidatorInfo) XXX_Size() int
- func (m *ValidatorInfo) XXX_Unmarshal(b []byte) error
Constants ¶
const HashLength = 32
HashLength defines how many bytes are used in a hash
Variables ¶
var ( ErrInvalidLengthPeerAccountData = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowPeerAccountData = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupPeerAccountData = fmt.Errorf("proto: unexpected end of group") )
var ( ErrInvalidLengthUserAccountData = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowUserAccountData = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupUserAccountData = fmt.Errorf("proto: unexpected end of group") )
var ( ErrInvalidLengthValidatorInfo = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowValidatorInfo = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupValidatorInfo = fmt.Errorf("proto: unexpected end of group") )
var ErrAccNotFound = errors.New("account was not found")
ErrAccNotFound signals that account was not found in state trie
var ErrEmptyAddress = errors.New("empty Address")
ErrEmptyAddress defines the error when trying to work with an empty address
var ErrInsufficientFunds = errors.New("insufficient funds")
ErrInsufficientFunds signals the funds are insufficient for the move balance operation but the transaction fee is covered by the current balance
var ErrInvalidAddressLength = errors.New("invalid address length")
ErrInvalidAddressLength signals that address length is invalid
var ErrInvalidIdentifier = errors.New("invalid identifier")
ErrInvalidIdentifier signals that the root hash has an invalid identifier
var ErrInvalidKey = errors.New("invalid key")
ErrInvalidKey is raised when the given key is invalid
var ErrInvalidMaxHardCapForMissingNodes = errors.New("invalid max hardcap for missing nodes")
ErrInvalidMaxHardCapForMissingNodes signals that the maximum hardcap value for missing nodes is invalid
var ErrInvalidPubkeyConverterType = errors.New("invalid pubkey converter type")
ErrInvalidPubkeyConverterType signals that the provided pubkey converter type is invalid
var ErrInvalidRootHash = errors.New("invalid root hash")
ErrInvalidRootHash signals that the provided root hash is invalid
var ErrNegativeValue = errors.New("negative values are not permited")
ErrNegativeValue signals that an operation has been attempted with a negative value
var ErrNilAccountFactory = errors.New("account factory is nil")
ErrNilAccountFactory signals that a nil account factory was provided
var ErrNilAccountHandler = errors.New("account wrapper is nil")
ErrNilAccountHandler signals that a nil account wrapper was provided
var ErrNilAccountsAdapter = errors.New("nil AccountsAdapter")
ErrNilAccountsAdapter defines the error when trying to revert on nil accounts
var ErrNilAddress = errors.New("nil address")
ErrNilAddress defines the error when trying to work with a nil address
var ErrNilBLSPublicKey = errors.New("bls public key is nil")
ErrNilBLSPublicKey signals that the provided BLS public key is nil
var ErrNilCacher = errors.New("nil cacher")
ErrNilCacher signals that nil cacher has been provided
var ErrNilChainHandler = errors.New("nil chain handler")
ErrNilChainHandler signals that a nil chain handler was provided
var ErrNilEvictionWaitingList = errors.New("nil eviction waiting list provided")
ErrNilEvictionWaitingList is raised when a nil eviction waiting list is provided
var ErrNilHasher = errors.New("nil hasher")
ErrNilHasher signals that an operation has been attempted to or with a nil hasher implementation
var ErrNilMapOfHashes = errors.New("nil map of hashes")
ErrNilMapOfHashes signals that the provided map of hashes is nil
var ErrNilMarshalizer = errors.New("nil marshalizer")
ErrNilMarshalizer signals that an operation has been attempted to or with a nil marshalizer implementation
var ErrNilOrEmptyDataTrieUpdates = errors.New("no data trie updates")
ErrNilOrEmptyDataTrieUpdates signals that there are no data trie updates
var ErrNilProcessStatusHandler = errors.New("nil process status handler")
ErrNilProcessStatusHandler signals that a nil process status handler was provided
var ErrNilRequestHandler = errors.New("nil request handler")
ErrNilRequestHandler signals that nil request handler has been provided
var ErrNilRootHash = errors.New("nil root hash")
ErrNilRootHash signals that a nil root hash was provided
var ErrNilShardCoordinator = errors.New("shard coordinator is nil")
ErrNilShardCoordinator signals that nil shard coordinator was provided
var ErrNilStorageManager = errors.New("nil storage manager")
ErrNilStorageManager signals that nil storage manager has been provided
var ErrNilStoragePruningManager = errors.New("nil storagePruningManager")
ErrNilStoragePruningManager signals that a nil storagePruningManager was provided
var ErrNilTrackableDataTrie = errors.New("nil trackable data trie")
ErrNilTrackableDataTrie signals that a nil trackable data trie has been provided
var ErrNilTrie = errors.New("trie is nil")
ErrNilTrie signals that a trie is nil and no operation can be made
var ErrNilUpdater = errors.New("updater is nil")
ErrNilUpdater signals that a nil updater has been provided
var ErrOperationNotPermitted = errors.New("operation in account not permitted")
ErrOperationNotPermitted signals that operation is not permitted
var ErrSnapshotValueOutOfBounds = errors.New("snapshot value out of bounds")
ErrSnapshotValueOutOfBounds signals that the snapshot value is out of bounds
var ErrWrongTypeAssertion = errors.New("wrong type assertion")
ErrWrongTypeAssertion signals that a wrong type assertion occurred
Functions ¶
func NewAccountsDBApi ¶ added in v1.3.3
func NewAccountsDBApi(innerAccountsAdapter AccountsAdapter, chainHandler chainData.ChainHandler) (*accountsDBApi, error)
NewAccountsDBApi will create a new instance of type accountsDBApi
func NewDataTriesHolder ¶
func NewDataTriesHolder() *dataTriesHolder
NewDataTriesHolder creates a new instance of dataTriesHolder
func NewEmptyPeerAccount ¶
func NewEmptyPeerAccount() *peerAccount
NewEmptyPeerAccount returns an empty peerAccount
func NewEmptyUserAccount ¶
func NewEmptyUserAccount() *userAccount
NewEmptyUserAccount creates new simple account wrapper for an AccountContainer (that has just been initialized)
func NewJournalEntryAccount ¶
func NewJournalEntryAccount(account vmcommon.AccountHandler) (*journalEntryAccount, error)
NewJournalEntryAccount creates a new instance of JournalEntryAccount
func NewJournalEntryAccountCreation ¶
func NewJournalEntryAccountCreation(address []byte, updater Updater) (*journalEntryAccountCreation, error)
NewJournalEntryAccountCreation creates a new instance of JournalEntryAccountCreation
func NewJournalEntryCode ¶
func NewJournalEntryCode( oldCodeEntry *CodeEntry, oldCodeHash []byte, newCodeHash []byte, trie Updater, marshalizer marshal.Marshalizer, ) (*journalEntryCode, error)
NewJournalEntryCode creates a new instance of JournalEntryCode
func NewJournalEntryDataTrieRemove ¶
func NewJournalEntryDataTrieRemove(rootHash []byte, obsoleteDataTrieHashes map[string][][]byte) (*journalEntryDataTrieRemove, error)
NewJournalEntryDataTrieRemove outputs a new journalEntryDataTrieRemove implementation used to cancel the eviction of the hashes from the data trie with the given root hash
func NewJournalEntryDataTrieUpdates ¶
func NewJournalEntryDataTrieUpdates(trieUpdates map[string][]byte, account baseAccountHandler) (*journalEntryDataTrieUpdates, error)
NewJournalEntryDataTrieUpdates outputs a new JournalEntryDataTrieUpdates implementation used to revert an account's data trie
func NewPeerAccount ¶
NewPeerAccount creates new simple account wrapper for an PeerAccountContainer (that has just been initialized)
func NewUserAccount ¶
NewUserAccount creates new simple account wrapper for an AccountContainer (that has just been initialized)
Types ¶
type AccountFactory ¶
type AccountFactory interface { CreateAccount(address []byte) (vmcommon.AccountHandler, error) IsInterfaceNil() bool }
AccountFactory creates an account of different types
type AccountsAdapter ¶
type AccountsAdapter interface { GetExistingAccount(address []byte) (vmcommon.AccountHandler, error) GetAccountFromBytes(address []byte, accountBytes []byte) (vmcommon.AccountHandler, error) LoadAccount(address []byte) (vmcommon.AccountHandler, error) SaveAccount(account vmcommon.AccountHandler) error RemoveAccount(address []byte) error CommitInEpoch(currentEpoch uint32, epochToCommit uint32) ([]byte, error) Commit() ([]byte, error) JournalLen() int RevertToSnapshot(snapshot int) error GetNumCheckpoints() uint32 GetCode(codeHash []byte) []byte RootHash() ([]byte, error) RecreateTrie(rootHash []byte) error PruneTrie(rootHash []byte, identifier TriePruningIdentifier) CancelPrune(rootHash []byte, identifier TriePruningIdentifier) SnapshotState(rootHash []byte) SetStateCheckpoint(rootHash []byte) IsPruningEnabled() bool GetAllLeaves(rootHash []byte) (chan core.KeyValueHolder, error) RecreateAllTries(rootHash []byte) (map[string]common.Trie, error) GetTrie(rootHash []byte) (common.Trie, error) GetStackDebugFirstEntry() []byte Close() error IsInterfaceNil() bool }
AccountsAdapter is used for the structure that manages the accounts on top of a trie.PatriciaMerkleTrie implementation
type AccountsDB ¶
type AccountsDB struct {
// contains filtered or unexported fields
}
AccountsDB is the struct used for accessing accounts. This struct is concurrent safe.
func NewAccountsDB ¶
func NewAccountsDB(args ArgsAccountsDB) (*AccountsDB, error)
NewAccountsDB creates a new account manager
func (*AccountsDB) CancelPrune ¶
func (adb *AccountsDB) CancelPrune(rootHash []byte, identifier TriePruningIdentifier)
CancelPrune clears the trie's evictionWaitingList
func (*AccountsDB) Close ¶
func (adb *AccountsDB) Close() error
Close will handle the closing of the underlying components
func (*AccountsDB) Commit ¶
func (adb *AccountsDB) Commit() ([]byte, error)
Commit will persist all data inside the trie
func (*AccountsDB) CommitInEpoch ¶ added in v1.3.0
func (adb *AccountsDB) CommitInEpoch(currentEpoch uint32, epochToCommit uint32) ([]byte, error)
CommitInEpoch will commit the current trie state in the given epoch
func (*AccountsDB) GetAccountFromBytes ¶ added in v1.2.23
func (adb *AccountsDB) GetAccountFromBytes(address []byte, accountBytes []byte) (vmcommon.AccountHandler, error)
GetAccountFromBytes returns an account from the given bytes
func (*AccountsDB) GetAllLeaves ¶
func (adb *AccountsDB) GetAllLeaves(rootHash []byte) (chan core.KeyValueHolder, error)
GetAllLeaves returns all the leaves from a given rootHash
func (*AccountsDB) GetCode ¶
func (adb *AccountsDB) GetCode(codeHash []byte) []byte
GetCode returns the code for the given account
func (*AccountsDB) GetExistingAccount ¶
func (adb *AccountsDB) GetExistingAccount(address []byte) (vmcommon.AccountHandler, error)
GetExistingAccount returns an existing account if exists or nil if missing
func (*AccountsDB) GetNumCheckpoints ¶
func (adb *AccountsDB) GetNumCheckpoints() uint32
GetNumCheckpoints returns the total number of state checkpoints
func (*AccountsDB) GetStackDebugFirstEntry ¶ added in v1.2.28
func (adb *AccountsDB) GetStackDebugFirstEntry() []byte
GetStackDebugFirstEntry will return the debug.Stack for the first entry from the adb.entries
func (*AccountsDB) GetTrie ¶
func (adb *AccountsDB) GetTrie(rootHash []byte) (common.Trie, error)
GetTrie returns the trie that has the given rootHash
func (*AccountsDB) ImportAccount ¶
func (adb *AccountsDB) ImportAccount(account vmcommon.AccountHandler) error
ImportAccount saves the account in the trie. It does not modify
func (*AccountsDB) IsInterfaceNil ¶
func (adb *AccountsDB) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*AccountsDB) IsPruningEnabled ¶
func (adb *AccountsDB) IsPruningEnabled() bool
IsPruningEnabled returns true if state pruning is enabled
func (*AccountsDB) JournalLen ¶
func (adb *AccountsDB) JournalLen() int
JournalLen will return the number of entries
func (*AccountsDB) LoadAccount ¶
func (adb *AccountsDB) LoadAccount(address []byte) (vmcommon.AccountHandler, error)
LoadAccount fetches the account based on the address. Creates an empty account if the account is missing.
func (*AccountsDB) PruneTrie ¶
func (adb *AccountsDB) PruneTrie(rootHash []byte, identifier TriePruningIdentifier)
PruneTrie removes old values from the trie database
func (*AccountsDB) RecreateAllTries ¶
RecreateAllTries recreates all the tries from the accounts DB
func (*AccountsDB) RecreateTrie ¶
func (adb *AccountsDB) RecreateTrie(rootHash []byte) error
RecreateTrie is used to reload the trie based on an existing rootHash
func (*AccountsDB) RemoveAccount ¶
func (adb *AccountsDB) RemoveAccount(address []byte) error
RemoveAccount removes the account data from underlying trie. It basically calls Update with empty slice
func (*AccountsDB) RevertToSnapshot ¶
func (adb *AccountsDB) RevertToSnapshot(snapshot int) error
RevertToSnapshot apply Revert method over accounts object and removes entries from the list Calling with 0 will revert everything. If the snapshot value is out of bounds, an err will be returned
func (*AccountsDB) RootHash ¶
func (adb *AccountsDB) RootHash() ([]byte, error)
RootHash returns the main trie's root hash
func (*AccountsDB) SaveAccount ¶
func (adb *AccountsDB) SaveAccount(account vmcommon.AccountHandler) error
SaveAccount saves in the trie all changes made to the account.
func (*AccountsDB) SetStateCheckpoint ¶
func (adb *AccountsDB) SetStateCheckpoint(rootHash []byte)
SetStateCheckpoint sets a checkpoint for the state trie
func (*AccountsDB) SnapshotState ¶
func (adb *AccountsDB) SnapshotState(rootHash []byte)
SnapshotState triggers the snapshotting process of the state trie
type AccountsDBImporter ¶
type AccountsDBImporter interface { ImportAccount(account vmcommon.AccountHandler) error Commit() ([]byte, error) IsInterfaceNil() bool }
AccountsDBImporter is used in importing accounts
type AccountsDbIdentifier ¶
type AccountsDbIdentifier byte
AccountsDbIdentifier is the type of accounts db
const ( // UserAccountsState is the user accounts UserAccountsState AccountsDbIdentifier = 0 // PeerAccountsState is the peer accounts PeerAccountsState AccountsDbIdentifier = 1 )
type ArgsAccountsDB ¶ added in v1.3.19
type ArgsAccountsDB struct { Trie common.Trie Hasher hashing.Hasher Marshaller marshal.Marshalizer AccountFactory AccountFactory StoragePruningManager StoragePruningManager ProcessingMode common.NodeProcessingMode ProcessStatusHandler common.ProcessStatusHandler }
ArgsAccountsDB is the arguments DTO for the AccountsDB instance
type AtomicBuffer ¶
AtomicBuffer is used to buffer byteArrays
type CodeEntry ¶
type CodeEntry struct { Code []byte `protobuf:"bytes,1,opt,name=Code,proto3" json:"code,omitempty"` NumReferences uint32 `protobuf:"varint,2,opt,name=NumReferences,proto3" json:"numReferences"` }
func (*CodeEntry) Descriptor ¶
func (*CodeEntry) GetNumReferences ¶
func (*CodeEntry) MarshalToSizedBuffer ¶
func (*CodeEntry) ProtoMessage ¶
func (*CodeEntry) ProtoMessage()
func (*CodeEntry) XXX_DiscardUnknown ¶
func (m *CodeEntry) XXX_DiscardUnknown()
func (*CodeEntry) XXX_Marshal ¶
func (*CodeEntry) XXX_Unmarshal ¶
type DBRemoveCacher ¶
type DBRemoveCacher interface { Put([]byte, common.ModifiedHashes) error Evict([]byte) (common.ModifiedHashes, error) ShouldKeepHash(hash string, identifier TriePruningIdentifier) (bool, error) IsInterfaceNil() bool Close() error }
DBRemoveCacher is used to cache keys that will be deleted from the database
type DataTrieTracker ¶
type DataTrieTracker interface { ClearDataCaches() DirtyData() map[string][]byte RetrieveValue(key []byte) ([]byte, error) SaveKeyValue(key []byte, value []byte) error SetDataTrie(tr common.Trie) DataTrie() common.Trie IsInterfaceNil() bool }
DataTrieTracker models what how to manipulate data held by a SC account
type ErrMissingTrie ¶
type ErrMissingTrie struct {
// contains filtered or unexported fields
}
ErrMissingTrie is an error-compatible struct holding the root hash of the trie that is missing
func NewErrMissingTrie ¶
func NewErrMissingTrie(rootHash []byte) *ErrMissingTrie
NewErrMissingTrie returns a new instantiated struct
func (*ErrMissingTrie) Error ¶
func (e *ErrMissingTrie) Error() string
Error returns the error as string
type JournalEntry ¶
type JournalEntry interface { Revert() (vmcommon.AccountHandler, error) IsInterfaceNil() bool }
JournalEntry will be used to implement different state changes to be able to easily revert them
type PeerAccountData ¶
type PeerAccountData struct { BLSPublicKey []byte `protobuf:"bytes,1,opt,name=BLSPublicKey,proto3" json:"blsPublicKey"` RewardAddress []byte `protobuf:"bytes,2,opt,name=RewardAddress,proto3" json:"rewardAddress,omitempty"` ShardId uint32 `protobuf:"varint,3,opt,name=ShardId,proto3" json:"shardId"` ValidatorSuccessRate SignRate `protobuf:"bytes,4,opt,name=ValidatorSuccessRate,proto3" json:"validatorSuccessRate"` LeaderSuccessRate SignRate `protobuf:"bytes,5,opt,name=LeaderSuccessRate,proto3" json:"leaderSuccessRate"` ValidatorIgnoredSignaturesRate uint32 `protobuf:"varint,6,opt,name=ValidatorIgnoredSignaturesRate,proto3" json:"validatorIgnoredSignaturesRate"` Rating uint32 `protobuf:"varint,7,opt,name=Rating,proto3" json:"rating"` TempRating uint32 `protobuf:"varint,8,opt,name=TempRating,proto3" json:"tempRating"` AccumulatedFees *math_big.Int `` /* 167-byte string literal not displayed */ NumSelectedInSuccessBlocks uint32 `protobuf:"varint,10,opt,name=NumSelectedInSuccessBlocks,proto3" json:"numSelectedInSuccessBlocks"` IndexInList uint32 `protobuf:"varint,11,opt,name=IndexInList,proto3" json:"indexInList"` List string `protobuf:"bytes,12,opt,name=List,proto3" json:"list,omitempty"` ConsecutiveProposerMisses uint32 `protobuf:"varint,13,opt,name=ConsecutiveProposerMisses,proto3" json:"consecutiveProposerMisses"` TotalValidatorSuccessRate SignRate `protobuf:"bytes,14,opt,name=TotalValidatorSuccessRate,proto3" json:"totalValidatorSuccessRate"` TotalLeaderSuccessRate SignRate `protobuf:"bytes,15,opt,name=TotalLeaderSuccessRate,proto3" json:"totalLeaderSuccessRate"` TotalValidatorIgnoredSignaturesRate uint32 `protobuf:"varint,16,opt,name=TotalValidatorIgnoredSignaturesRate,proto3" json:"totalValidatorIgnoredSignaturesRate"` Nonce uint64 `protobuf:"varint,17,opt,name=Nonce,proto3" json:"nonce"` UnStakedEpoch uint32 `protobuf:"varint,18,opt,name=UnStakedEpoch,proto3" json:"unStakedEpoch"` }
PeerAccountData represents the data that defines the PeerAccount
func (*PeerAccountData) Descriptor ¶
func (*PeerAccountData) Descriptor() ([]byte, []int)
func (*PeerAccountData) Equal ¶
func (this *PeerAccountData) Equal(that interface{}) bool
func (*PeerAccountData) GetAccumulatedFees ¶
func (m *PeerAccountData) GetAccumulatedFees() *math_big.Int
func (*PeerAccountData) GetBLSPublicKey ¶
func (m *PeerAccountData) GetBLSPublicKey() []byte
func (*PeerAccountData) GetConsecutiveProposerMisses ¶
func (m *PeerAccountData) GetConsecutiveProposerMisses() uint32
func (*PeerAccountData) GetIndexInList ¶
func (m *PeerAccountData) GetIndexInList() uint32
func (*PeerAccountData) GetLeaderSuccessRate ¶
func (m *PeerAccountData) GetLeaderSuccessRate() SignRate
func (*PeerAccountData) GetList ¶
func (m *PeerAccountData) GetList() string
func (*PeerAccountData) GetNonce ¶
func (m *PeerAccountData) GetNonce() uint64
func (*PeerAccountData) GetNumSelectedInSuccessBlocks ¶
func (m *PeerAccountData) GetNumSelectedInSuccessBlocks() uint32
func (*PeerAccountData) GetRating ¶
func (m *PeerAccountData) GetRating() uint32
func (*PeerAccountData) GetRewardAddress ¶
func (m *PeerAccountData) GetRewardAddress() []byte
func (*PeerAccountData) GetShardId ¶
func (m *PeerAccountData) GetShardId() uint32
func (*PeerAccountData) GetTempRating ¶
func (m *PeerAccountData) GetTempRating() uint32
func (*PeerAccountData) GetTotalLeaderSuccessRate ¶
func (m *PeerAccountData) GetTotalLeaderSuccessRate() SignRate
func (*PeerAccountData) GetTotalValidatorIgnoredSignaturesRate ¶
func (m *PeerAccountData) GetTotalValidatorIgnoredSignaturesRate() uint32
func (*PeerAccountData) GetTotalValidatorSuccessRate ¶
func (m *PeerAccountData) GetTotalValidatorSuccessRate() SignRate
func (*PeerAccountData) GetUnStakedEpoch ¶
func (m *PeerAccountData) GetUnStakedEpoch() uint32
func (*PeerAccountData) GetValidatorIgnoredSignaturesRate ¶
func (m *PeerAccountData) GetValidatorIgnoredSignaturesRate() uint32
func (*PeerAccountData) GetValidatorSuccessRate ¶
func (m *PeerAccountData) GetValidatorSuccessRate() SignRate
func (*PeerAccountData) GoString ¶
func (this *PeerAccountData) GoString() string
func (*PeerAccountData) Marshal ¶
func (m *PeerAccountData) Marshal() (dAtA []byte, err error)
func (*PeerAccountData) MarshalToSizedBuffer ¶
func (m *PeerAccountData) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*PeerAccountData) ProtoMessage ¶
func (*PeerAccountData) ProtoMessage()
func (*PeerAccountData) Reset ¶
func (m *PeerAccountData) Reset()
func (*PeerAccountData) Size ¶
func (m *PeerAccountData) Size() (n int)
func (*PeerAccountData) String ¶
func (this *PeerAccountData) String() string
func (*PeerAccountData) Unmarshal ¶
func (m *PeerAccountData) Unmarshal(dAtA []byte) error
func (*PeerAccountData) XXX_DiscardUnknown ¶
func (m *PeerAccountData) XXX_DiscardUnknown()
func (*PeerAccountData) XXX_Marshal ¶
func (m *PeerAccountData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PeerAccountData) XXX_Merge ¶
func (m *PeerAccountData) XXX_Merge(src proto.Message)
func (*PeerAccountData) XXX_Size ¶
func (m *PeerAccountData) XXX_Size() int
func (*PeerAccountData) XXX_Unmarshal ¶
func (m *PeerAccountData) XXX_Unmarshal(b []byte) error
type PeerAccountHandler ¶
type PeerAccountHandler interface { GetBLSPublicKey() []byte SetBLSPublicKey([]byte) error GetRewardAddress() []byte SetRewardAddress([]byte) error GetAccumulatedFees() *big.Int AddToAccumulatedFees(*big.Int) GetList() string GetIndexInList() uint32 GetShardId() uint32 SetUnStakedEpoch(epoch uint32) GetUnStakedEpoch() uint32 IncreaseLeaderSuccessRate(uint32) DecreaseLeaderSuccessRate(uint32) IncreaseValidatorSuccessRate(uint32) DecreaseValidatorSuccessRate(uint32) IncreaseValidatorIgnoredSignaturesRate(uint32) GetNumSelectedInSuccessBlocks() uint32 IncreaseNumSelectedInSuccessBlocks() GetLeaderSuccessRate() SignRate GetValidatorSuccessRate() SignRate GetValidatorIgnoredSignaturesRate() uint32 GetTotalLeaderSuccessRate() SignRate GetTotalValidatorSuccessRate() SignRate GetTotalValidatorIgnoredSignaturesRate() uint32 SetListAndIndex(shardID uint32, list string, index uint32) GetRating() uint32 SetRating(uint32) GetTempRating() uint32 SetTempRating(uint32) GetConsecutiveProposerMisses() uint32 SetConsecutiveProposerMisses(uint322 uint32) ResetAtNewEpoch() vmcommon.AccountHandler }
PeerAccountHandler models a peer state account, which can journalize a normal account's data
with some extra features like signing statistics or rating information
type PeerAccountsDB ¶
type PeerAccountsDB struct {
*AccountsDB
}
PeerAccountsDB will save and synchronize data from peer processor, plus will synchronize with nodesCoordinator
func NewPeerAccountsDB ¶
func NewPeerAccountsDB(args ArgsAccountsDB) (*PeerAccountsDB, error)
NewPeerAccountsDB creates a new account manager
func (*PeerAccountsDB) IsInterfaceNil ¶
func (adb *PeerAccountsDB) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*PeerAccountsDB) MarkSnapshotDone ¶ added in v1.3.0
func (adb *PeerAccountsDB) MarkSnapshotDone()
MarkSnapshotDone will mark that the snapshot process has been completed
func (*PeerAccountsDB) RecreateAllTries ¶
RecreateAllTries recreates all the tries from the accounts DB
func (*PeerAccountsDB) SetStateCheckpoint ¶
func (adb *PeerAccountsDB) SetStateCheckpoint(rootHash []byte)
SetStateCheckpoint triggers the checkpointing process of the state trie
func (*PeerAccountsDB) SnapshotState ¶
func (adb *PeerAccountsDB) SnapshotState(rootHash []byte)
SnapshotState triggers the snapshotting process of the state trie
type PeerTypeInfo ¶
type PeerTypeInfo struct { PublicKey string PeerType string PeerSubType core.P2PPeerSubType ShardId uint32 }
PeerTypeInfo contains information related to the peertypes needed by the peerTypeProvider
type ShardValidatorInfo ¶
type ShardValidatorInfo struct { PublicKey []byte `protobuf:"bytes,1,opt,name=PublicKey,proto3" json:"publicKey"` ShardId uint32 `protobuf:"varint,2,opt,name=ShardId,proto3" json:"shardId"` List string `protobuf:"bytes,3,opt,name=List,proto3" json:"list,omitempty"` Index uint32 `protobuf:"varint,4,opt,name=Index,proto3" json:"index"` TempRating uint32 `protobuf:"varint,5,opt,name=TempRating,proto3" json:"tempRating"` }
ShardValidatorInfo represents the data regarding a validator that is stored in the PeerMiniblocks
func (*ShardValidatorInfo) Descriptor ¶
func (*ShardValidatorInfo) Descriptor() ([]byte, []int)
func (*ShardValidatorInfo) Equal ¶
func (this *ShardValidatorInfo) Equal(that interface{}) bool
func (*ShardValidatorInfo) GetIndex ¶
func (m *ShardValidatorInfo) GetIndex() uint32
func (*ShardValidatorInfo) GetList ¶
func (m *ShardValidatorInfo) GetList() string
func (*ShardValidatorInfo) GetPublicKey ¶
func (m *ShardValidatorInfo) GetPublicKey() []byte
func (*ShardValidatorInfo) GetShardId ¶
func (m *ShardValidatorInfo) GetShardId() uint32
func (*ShardValidatorInfo) GetTempRating ¶
func (m *ShardValidatorInfo) GetTempRating() uint32
func (*ShardValidatorInfo) GoString ¶
func (this *ShardValidatorInfo) GoString() string
func (*ShardValidatorInfo) IsInterfaceNil ¶
func (svi *ShardValidatorInfo) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*ShardValidatorInfo) Marshal ¶
func (m *ShardValidatorInfo) Marshal() (dAtA []byte, err error)
func (*ShardValidatorInfo) MarshalTo ¶
func (m *ShardValidatorInfo) MarshalTo(dAtA []byte) (int, error)
func (*ShardValidatorInfo) MarshalToSizedBuffer ¶
func (m *ShardValidatorInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ShardValidatorInfo) ProtoMessage ¶
func (*ShardValidatorInfo) ProtoMessage()
func (*ShardValidatorInfo) Reset ¶
func (m *ShardValidatorInfo) Reset()
func (*ShardValidatorInfo) Size ¶
func (m *ShardValidatorInfo) Size() (n int)
func (*ShardValidatorInfo) String ¶
func (this *ShardValidatorInfo) String() string
func (*ShardValidatorInfo) Unmarshal ¶
func (m *ShardValidatorInfo) Unmarshal(dAtA []byte) error
func (*ShardValidatorInfo) XXX_DiscardUnknown ¶
func (m *ShardValidatorInfo) XXX_DiscardUnknown()
func (*ShardValidatorInfo) XXX_Marshal ¶
func (m *ShardValidatorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ShardValidatorInfo) XXX_Merge ¶
func (m *ShardValidatorInfo) XXX_Merge(src proto.Message)
func (*ShardValidatorInfo) XXX_Size ¶
func (m *ShardValidatorInfo) XXX_Size() int
func (*ShardValidatorInfo) XXX_Unmarshal ¶
func (m *ShardValidatorInfo) XXX_Unmarshal(b []byte) error
type SignRate ¶
type SignRate struct { NumSuccess uint32 `protobuf:"varint,1,opt,name=NumSuccess,proto3" json:"NumSuccess,omitempty"` NumFailure uint32 `protobuf:"varint,2,opt,name=NumFailure,proto3" json:"NumFailure,omitempty"` }
SignRate is used to keep the number of success and failed signings
func (*SignRate) Descriptor ¶
func (*SignRate) GetNumFailure ¶
func (*SignRate) GetNumSuccess ¶
func (*SignRate) MarshalToSizedBuffer ¶
func (*SignRate) ProtoMessage ¶
func (*SignRate) ProtoMessage()
func (*SignRate) XXX_DiscardUnknown ¶
func (m *SignRate) XXX_DiscardUnknown()
func (*SignRate) XXX_Marshal ¶
func (*SignRate) XXX_Unmarshal ¶
type StoragePruningManager ¶
type StoragePruningManager interface { MarkForEviction([]byte, []byte, common.ModifiedHashes, common.ModifiedHashes) error PruneTrie(rootHash []byte, identifier TriePruningIdentifier, tsm common.StorageManager) CancelPrune(rootHash []byte, identifier TriePruningIdentifier, tsm common.StorageManager) Close() error IsInterfaceNil() bool }
StoragePruningManager is used to manage all state pruning operations
type TrackableDataTrie ¶
type TrackableDataTrie struct {
// contains filtered or unexported fields
}
TrackableDataTrie wraps a PatriciaMerkelTrie adding modifying data capabilities
func NewTrackableDataTrie ¶
func NewTrackableDataTrie(identifier []byte, tr common.Trie) *TrackableDataTrie
NewTrackableDataTrie returns an instance of DataTrieTracker
func (*TrackableDataTrie) ClearDataCaches ¶
func (tdaw *TrackableDataTrie) ClearDataCaches()
ClearDataCaches empties the dirtyData map and original map
func (*TrackableDataTrie) DataTrie ¶
func (tdaw *TrackableDataTrie) DataTrie() common.Trie
DataTrie sets the internal data trie
func (*TrackableDataTrie) DirtyData ¶
func (tdaw *TrackableDataTrie) DirtyData() map[string][]byte
DirtyData returns the map of (key, value) pairs that contain the data needed to be saved in the data trie
func (*TrackableDataTrie) IsInterfaceNil ¶
func (tdaw *TrackableDataTrie) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*TrackableDataTrie) RetrieveValue ¶
func (tdaw *TrackableDataTrie) RetrieveValue(key []byte) ([]byte, error)
RetrieveValue fetches the value from a particular key searching the account data store The search starts with dirty map, continues with original map and ends with the trie Data must have been retrieved from its trie
func (*TrackableDataTrie) SaveKeyValue ¶
func (tdaw *TrackableDataTrie) SaveKeyValue(key []byte, value []byte) error
SaveKeyValue stores in dirtyData the data keys "touched" It does not care if the data is really dirty as calling this check here will be sub-optimal
func (*TrackableDataTrie) SetDataTrie ¶
func (tdaw *TrackableDataTrie) SetDataTrie(tr common.Trie)
SetDataTrie sets the internal data trie
type TriePruningIdentifier ¶
type TriePruningIdentifier byte
TriePruningIdentifier is the type for trie pruning identifiers
const ( // OldRoot is appended to the key when oldHashes are added to the evictionWaitingList OldRoot TriePruningIdentifier = 0 // NewRoot is appended to the key when newHashes are added to the evictionWaitingList NewRoot TriePruningIdentifier = 1 )
type Updater ¶
type Updater interface { Get(key []byte) ([]byte, error) Update(key, value []byte) error IsInterfaceNil() bool }
Updater set a new value for a key, implemented by trie
type UserAccountData ¶
type UserAccountData struct { Nonce uint64 `protobuf:"varint,1,opt,name=Nonce,proto3" json:"nonce"` Balance *math_big.Int `` /* 151-byte string literal not displayed */ CodeHash []byte `protobuf:"bytes,3,opt,name=CodeHash,proto3" json:"codeHash,omitempty"` RootHash []byte `protobuf:"bytes,4,opt,name=RootHash,proto3" json:"rootHash,omitempty"` Address []byte `protobuf:"bytes,5,opt,name=Address,proto3" json:"address,omitempty"` DeveloperReward *math_big.Int `` /* 167-byte string literal not displayed */ OwnerAddress []byte `protobuf:"bytes,7,opt,name=OwnerAddress,proto3" json:"ownerAddress,omitempty"` UserName []byte `protobuf:"bytes,8,opt,name=UserName,proto3" json:"userName,omitempty"` CodeMetadata []byte `protobuf:"bytes,9,opt,name=CodeMetadata,proto3" json:"codeMetadata,omitempty"` }
func (*UserAccountData) Descriptor ¶
func (*UserAccountData) Descriptor() ([]byte, []int)
func (*UserAccountData) Equal ¶
func (this *UserAccountData) Equal(that interface{}) bool
func (*UserAccountData) GetAddress ¶
func (m *UserAccountData) GetAddress() []byte
func (*UserAccountData) GetBalance ¶
func (m *UserAccountData) GetBalance() *math_big.Int
func (*UserAccountData) GetCodeHash ¶
func (m *UserAccountData) GetCodeHash() []byte
func (*UserAccountData) GetCodeMetadata ¶
func (m *UserAccountData) GetCodeMetadata() []byte
func (*UserAccountData) GetDeveloperReward ¶
func (m *UserAccountData) GetDeveloperReward() *math_big.Int
func (*UserAccountData) GetNonce ¶
func (m *UserAccountData) GetNonce() uint64
func (*UserAccountData) GetOwnerAddress ¶
func (m *UserAccountData) GetOwnerAddress() []byte
func (*UserAccountData) GetRootHash ¶
func (m *UserAccountData) GetRootHash() []byte
func (*UserAccountData) GetUserName ¶
func (m *UserAccountData) GetUserName() []byte
func (*UserAccountData) GoString ¶
func (this *UserAccountData) GoString() string
func (*UserAccountData) Marshal ¶
func (m *UserAccountData) Marshal() (dAtA []byte, err error)
func (*UserAccountData) MarshalToSizedBuffer ¶
func (m *UserAccountData) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*UserAccountData) ProtoMessage ¶
func (*UserAccountData) ProtoMessage()
func (*UserAccountData) Reset ¶
func (m *UserAccountData) Reset()
func (*UserAccountData) Size ¶
func (m *UserAccountData) Size() (n int)
func (*UserAccountData) String ¶
func (this *UserAccountData) String() string
func (*UserAccountData) Unmarshal ¶
func (m *UserAccountData) Unmarshal(dAtA []byte) error
func (*UserAccountData) XXX_DiscardUnknown ¶
func (m *UserAccountData) XXX_DiscardUnknown()
func (*UserAccountData) XXX_Marshal ¶
func (m *UserAccountData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*UserAccountData) XXX_Merge ¶
func (m *UserAccountData) XXX_Merge(src proto.Message)
func (*UserAccountData) XXX_Size ¶
func (m *UserAccountData) XXX_Size() int
func (*UserAccountData) XXX_Unmarshal ¶
func (m *UserAccountData) XXX_Unmarshal(b []byte) error
type UserAccountHandler ¶
type UserAccountHandler interface { SetCode(code []byte) SetCodeMetadata(codeMetadata []byte) GetCodeMetadata() []byte SetCodeHash([]byte) GetCodeHash() []byte SetRootHash([]byte) GetRootHash() []byte SetDataTrie(trie common.Trie) DataTrie() common.Trie DataTrieTracker() DataTrieTracker RetrieveValueFromDataTrieTracker(key []byte) ([]byte, error) AddToBalance(value *big.Int) error SubFromBalance(value *big.Int) error GetBalance() *big.Int ClaimDeveloperRewards([]byte) (*big.Int, error) AddToDeveloperReward(*big.Int) GetDeveloperReward() *big.Int ChangeOwnerAddress([]byte, []byte) error SetOwnerAddress([]byte) GetOwnerAddress() []byte SetUserName(userName []byte) GetUserName() []byte vmcommon.AccountHandler }
UserAccountHandler models a user account, which can journalize account's data with some extra features like balance, developer rewards, owner
type ValidatorApiResponse ¶
type ValidatorApiResponse struct { TempRating float32 `protobuf:"fixed32,1,opt,name=TempRating,proto3" json:"tempRating"` NumLeaderSuccess uint32 `protobuf:"varint,2,opt,name=NumLeaderSuccess,proto3" json:"numLeaderSuccess"` NumLeaderFailure uint32 `protobuf:"varint,3,opt,name=NumLeaderFailure,proto3" json:"numLeaderFailure"` NumValidatorSuccess uint32 `protobuf:"varint,4,opt,name=NumValidatorSuccess,proto3" json:"numValidatorSuccess"` NumValidatorFailure uint32 `protobuf:"varint,5,opt,name=NumValidatorFailure,proto3" json:"numValidatorFailure"` NumValidatorIgnoredSignatures uint32 `protobuf:"varint,6,opt,name=NumValidatorIgnoredSignatures,proto3" json:"numValidatorIgnoredSignatures"` Rating float32 `protobuf:"fixed32,7,opt,name=Rating,proto3" json:"rating"` RatingModifier float32 `protobuf:"fixed32,8,opt,name=RatingModifier,proto3" json:"ratingModifier"` TotalNumLeaderSuccess uint32 `protobuf:"varint,9,opt,name=TotalNumLeaderSuccess,proto3" json:"totalNumLeaderSuccess"` TotalNumLeaderFailure uint32 `protobuf:"varint,10,opt,name=TotalNumLeaderFailure,proto3" json:"totalNumLeaderFailure"` TotalNumValidatorSuccess uint32 `protobuf:"varint,11,opt,name=TotalNumValidatorSuccess,proto3" json:"totalNumValidatorSuccess"` TotalNumValidatorFailure uint32 `protobuf:"varint,12,opt,name=TotalNumValidatorFailure,proto3" json:"totalNumValidatorFailure"` TotalNumValidatorIgnoredSignatures uint32 `protobuf:"varint,13,opt,name=TotalNumValidatorIgnoredSignatures,proto3" json:"totalNumValidatorIgnoredSignatures"` ShardId uint32 `protobuf:"varint,14,opt,name=ShardId,proto3" json:"shardId"` ValidatorStatus string `protobuf:"bytes,15,opt,name=ValidatorStatus,proto3" json:"validatorStatus,omitempty"` }
ValidatorApiResponse represents the data which is fetched from each validator for returning it in API call
func (*ValidatorApiResponse) Descriptor ¶
func (*ValidatorApiResponse) Descriptor() ([]byte, []int)
func (*ValidatorApiResponse) Equal ¶
func (this *ValidatorApiResponse) Equal(that interface{}) bool
func (*ValidatorApiResponse) GetNumLeaderFailure ¶
func (m *ValidatorApiResponse) GetNumLeaderFailure() uint32
func (*ValidatorApiResponse) GetNumLeaderSuccess ¶
func (m *ValidatorApiResponse) GetNumLeaderSuccess() uint32
func (*ValidatorApiResponse) GetNumValidatorFailure ¶
func (m *ValidatorApiResponse) GetNumValidatorFailure() uint32
func (*ValidatorApiResponse) GetNumValidatorIgnoredSignatures ¶
func (m *ValidatorApiResponse) GetNumValidatorIgnoredSignatures() uint32
func (*ValidatorApiResponse) GetNumValidatorSuccess ¶
func (m *ValidatorApiResponse) GetNumValidatorSuccess() uint32
func (*ValidatorApiResponse) GetRating ¶
func (m *ValidatorApiResponse) GetRating() float32
func (*ValidatorApiResponse) GetRatingModifier ¶
func (m *ValidatorApiResponse) GetRatingModifier() float32
func (*ValidatorApiResponse) GetShardId ¶
func (m *ValidatorApiResponse) GetShardId() uint32
func (*ValidatorApiResponse) GetTempRating ¶
func (m *ValidatorApiResponse) GetTempRating() float32
func (*ValidatorApiResponse) GetTotalNumLeaderFailure ¶
func (m *ValidatorApiResponse) GetTotalNumLeaderFailure() uint32
func (*ValidatorApiResponse) GetTotalNumLeaderSuccess ¶
func (m *ValidatorApiResponse) GetTotalNumLeaderSuccess() uint32
func (*ValidatorApiResponse) GetTotalNumValidatorFailure ¶
func (m *ValidatorApiResponse) GetTotalNumValidatorFailure() uint32
func (*ValidatorApiResponse) GetTotalNumValidatorIgnoredSignatures ¶
func (m *ValidatorApiResponse) GetTotalNumValidatorIgnoredSignatures() uint32
func (*ValidatorApiResponse) GetTotalNumValidatorSuccess ¶
func (m *ValidatorApiResponse) GetTotalNumValidatorSuccess() uint32
func (*ValidatorApiResponse) GetValidatorStatus ¶
func (m *ValidatorApiResponse) GetValidatorStatus() string
func (*ValidatorApiResponse) GoString ¶
func (this *ValidatorApiResponse) GoString() string
func (*ValidatorApiResponse) Marshal ¶
func (m *ValidatorApiResponse) Marshal() (dAtA []byte, err error)
func (*ValidatorApiResponse) MarshalTo ¶
func (m *ValidatorApiResponse) MarshalTo(dAtA []byte) (int, error)
func (*ValidatorApiResponse) MarshalToSizedBuffer ¶
func (m *ValidatorApiResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ValidatorApiResponse) ProtoMessage ¶
func (*ValidatorApiResponse) ProtoMessage()
func (*ValidatorApiResponse) Reset ¶
func (m *ValidatorApiResponse) Reset()
func (*ValidatorApiResponse) Size ¶
func (m *ValidatorApiResponse) Size() (n int)
func (*ValidatorApiResponse) String ¶
func (this *ValidatorApiResponse) String() string
func (*ValidatorApiResponse) Unmarshal ¶
func (m *ValidatorApiResponse) Unmarshal(dAtA []byte) error
func (*ValidatorApiResponse) XXX_DiscardUnknown ¶
func (m *ValidatorApiResponse) XXX_DiscardUnknown()
func (*ValidatorApiResponse) XXX_Marshal ¶
func (m *ValidatorApiResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ValidatorApiResponse) XXX_Merge ¶
func (m *ValidatorApiResponse) XXX_Merge(src proto.Message)
func (*ValidatorApiResponse) XXX_Size ¶
func (m *ValidatorApiResponse) XXX_Size() int
func (*ValidatorApiResponse) XXX_Unmarshal ¶
func (m *ValidatorApiResponse) XXX_Unmarshal(b []byte) error
type ValidatorInfo ¶
type ValidatorInfo struct { PublicKey []byte `protobuf:"bytes,1,opt,name=PublicKey,proto3" json:"publicKey"` ShardId uint32 `protobuf:"varint,2,opt,name=ShardId,proto3" json:"shardId"` List string `protobuf:"bytes,3,opt,name=List,proto3" json:"list"` Index uint32 `protobuf:"varint,4,opt,name=Index,proto3" json:"index"` TempRating uint32 `protobuf:"varint,5,opt,name=TempRating,proto3" json:"tempRating"` Rating uint32 `protobuf:"varint,6,opt,name=Rating,proto3" json:"rating"` RatingModifier float32 `protobuf:"fixed32,7,opt,name=RatingModifier,proto3" json:"ratingModifier"` RewardAddress []byte `protobuf:"bytes,8,opt,name=RewardAddress,proto3" json:"rewardAddress,omitempty"` LeaderSuccess uint32 `protobuf:"varint,9,opt,name=LeaderSuccess,proto3" json:"leaderSuccess"` LeaderFailure uint32 `protobuf:"varint,10,opt,name=LeaderFailure,proto3" json:"leaderFailure"` ValidatorSuccess uint32 `protobuf:"varint,11,opt,name=ValidatorSuccess,proto3" json:"validatorSuccess"` ValidatorFailure uint32 `protobuf:"varint,12,opt,name=ValidatorFailure,proto3" json:"validatorFailure"` ValidatorIgnoredSignatures uint32 `protobuf:"varint,13,opt,name=ValidatorIgnoredSignatures,proto3" json:"validatorIgnoredSignatures"` NumSelectedInSuccessBlocks uint32 `protobuf:"varint,14,opt,name=NumSelectedInSuccessBlocks,proto3" json:"numSelectedInSuccessBlocks"` AccumulatedFees *math_big.Int `` /* 168-byte string literal not displayed */ TotalLeaderSuccess uint32 `protobuf:"varint,16,opt,name=TotalLeaderSuccess,proto3" json:"totalLeaderSuccess"` TotalLeaderFailure uint32 `protobuf:"varint,17,opt,name=TotalLeaderFailure,proto3" json:"totalLeaderFailure"` TotalValidatorSuccess uint32 `protobuf:"varint,18,opt,name=TotalValidatorSuccess,proto3" json:"totalValidatorSuccess"` TotalValidatorFailure uint32 `protobuf:"varint,19,opt,name=TotalValidatorFailure,proto3" json:"totalValidatorFailure"` TotalValidatorIgnoredSignatures uint32 `protobuf:"varint,20,opt,name=TotalValidatorIgnoredSignatures,proto3" json:"totalValidatorIgnoredSignatures"` }
ValidatorInfo represents the data regarding a validator that is verified by the metaNodes
func (*ValidatorInfo) Descriptor ¶
func (*ValidatorInfo) Descriptor() ([]byte, []int)
func (*ValidatorInfo) Equal ¶
func (this *ValidatorInfo) Equal(that interface{}) bool
func (*ValidatorInfo) GetAccumulatedFees ¶
func (m *ValidatorInfo) GetAccumulatedFees() *math_big.Int
func (*ValidatorInfo) GetIndex ¶
func (m *ValidatorInfo) GetIndex() uint32
func (*ValidatorInfo) GetLeaderFailure ¶
func (m *ValidatorInfo) GetLeaderFailure() uint32
func (*ValidatorInfo) GetLeaderSuccess ¶
func (m *ValidatorInfo) GetLeaderSuccess() uint32
func (*ValidatorInfo) GetList ¶
func (m *ValidatorInfo) GetList() string
func (*ValidatorInfo) GetNumSelectedInSuccessBlocks ¶
func (m *ValidatorInfo) GetNumSelectedInSuccessBlocks() uint32
func (*ValidatorInfo) GetPublicKey ¶
func (m *ValidatorInfo) GetPublicKey() []byte
func (*ValidatorInfo) GetRating ¶
func (m *ValidatorInfo) GetRating() uint32
func (*ValidatorInfo) GetRatingModifier ¶
func (m *ValidatorInfo) GetRatingModifier() float32
func (*ValidatorInfo) GetRewardAddress ¶
func (m *ValidatorInfo) GetRewardAddress() []byte
func (*ValidatorInfo) GetShardId ¶
func (m *ValidatorInfo) GetShardId() uint32
func (*ValidatorInfo) GetTempRating ¶
func (m *ValidatorInfo) GetTempRating() uint32
func (*ValidatorInfo) GetTotalLeaderFailure ¶
func (m *ValidatorInfo) GetTotalLeaderFailure() uint32
func (*ValidatorInfo) GetTotalLeaderSuccess ¶
func (m *ValidatorInfo) GetTotalLeaderSuccess() uint32
func (*ValidatorInfo) GetTotalValidatorFailure ¶
func (m *ValidatorInfo) GetTotalValidatorFailure() uint32
func (*ValidatorInfo) GetTotalValidatorIgnoredSignatures ¶
func (m *ValidatorInfo) GetTotalValidatorIgnoredSignatures() uint32
func (*ValidatorInfo) GetTotalValidatorSuccess ¶
func (m *ValidatorInfo) GetTotalValidatorSuccess() uint32
func (*ValidatorInfo) GetValidatorFailure ¶
func (m *ValidatorInfo) GetValidatorFailure() uint32
func (*ValidatorInfo) GetValidatorIgnoredSignatures ¶
func (m *ValidatorInfo) GetValidatorIgnoredSignatures() uint32
func (*ValidatorInfo) GetValidatorSuccess ¶
func (m *ValidatorInfo) GetValidatorSuccess() uint32
func (*ValidatorInfo) GoString ¶
func (this *ValidatorInfo) GoString() string
func (*ValidatorInfo) IsInterfaceNil ¶
func (vi *ValidatorInfo) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (*ValidatorInfo) Marshal ¶
func (m *ValidatorInfo) Marshal() (dAtA []byte, err error)
func (*ValidatorInfo) MarshalToSizedBuffer ¶
func (m *ValidatorInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ValidatorInfo) ProtoMessage ¶
func (*ValidatorInfo) ProtoMessage()
func (*ValidatorInfo) Reset ¶
func (m *ValidatorInfo) Reset()
func (*ValidatorInfo) Size ¶
func (m *ValidatorInfo) Size() (n int)
func (*ValidatorInfo) String ¶
func (this *ValidatorInfo) String() string
func (*ValidatorInfo) Unmarshal ¶
func (m *ValidatorInfo) Unmarshal(dAtA []byte) error
func (*ValidatorInfo) XXX_DiscardUnknown ¶
func (m *ValidatorInfo) XXX_DiscardUnknown()
func (*ValidatorInfo) XXX_Marshal ¶
func (m *ValidatorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ValidatorInfo) XXX_Merge ¶
func (m *ValidatorInfo) XXX_Merge(src proto.Message)
func (*ValidatorInfo) XXX_Size ¶
func (m *ValidatorInfo) XXX_Size() int
func (*ValidatorInfo) XXX_Unmarshal ¶
func (m *ValidatorInfo) XXX_Unmarshal(b []byte) error
Source Files ¶
- accountsDB.go
- accountsDBApi.go
- baseAccount.go
- dataTriesHolder.go
- errors.go
- interface.go
- journalEntries.go
- peerAccount.go
- peerAccountData.pb.go
- peerAccountsDB.go
- peerTypeInfo.go
- snapshotStatistics.go
- trackableDataTrie.go
- types.go
- userAccount.go
- userAccountData.pb.go
- validatorInfo.go
- validatorInfo.pb.go