state

package
v1.0.109 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2020 License: GPL-3.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const HashLength = 32

HashLength defines how many bytes are used in a hash

Variables

View Source
var (
	ErrInvalidLengthPeerAccountData        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowPeerAccountData          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupPeerAccountData = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthUserAccountData        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowUserAccountData          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupUserAccountData = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthValidatorInfo        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowValidatorInfo          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupValidatorInfo = fmt.Errorf("proto: unexpected end of group")
)
View Source
var ErrAccNotFound = errors.New("account was not found")

ErrAccNotFound signals that account was not found in state trie

View Source
var ErrBech32ConvertError = errors.New("can't convert bech32 string")

ErrBech32ConvertError signals that conversion the 5bit alphabet to 8bit failed

View Source
var ErrEmptyAddress = errors.New("empty Address")

ErrEmptyAddress defines the error when trying to work with an empty address

View Source
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

View Source
var ErrInvalidAddressLength = errors.New("invalid address length")

ErrInvalidAddressLength signals that address length is invalid

View Source
var ErrInvalidErdAddress = errors.New("invalid ERD address")

ErrInvalidErdAddress signals that the provided address is not an ERD address

View Source
var ErrInvalidHash = errors.New("invalid hash provided")

ErrInvalidHash signals that the given hash is invalid

View Source
var ErrInvalidPubkeyConverterType = errors.New("invalid pubkey converter type")

ErrInvalidPubkeyConverterType signals that the provided pubkey converter type is invalid

View Source
var ErrInvalidWaitTime = errors.New("invalid wait time")

ErrInvalidWaitTime signals that invalid wait time has been provided

View Source
var ErrNegativeValue = errors.New("negative values are not permited")

ErrNegativeValue signals that an operation has been attempted with a negative value

View Source
var ErrNilAccountFactory = errors.New("account factory is nil")

ErrNilAccountFactory signals that a nil account factory was provided

View Source
var ErrNilAccountHandler = errors.New("account wrapper is nil")

ErrNilAccountHandler signals that a nil account wrapper was provided

View Source
var ErrNilAccountsAdapter = errors.New("nil AccountsAdapter")

ErrNilAccountsAdapter defines the error when trying to revert on nil accounts

View Source
var ErrNilAddressContainer = errors.New("nil AddressContainer")

ErrNilAddressContainer defines the error when trying to work with a nil address

View Source
var ErrNilBLSPublicKey = errors.New("bls public key is nil")

ErrNilBLSPublicKey signals that the provided BLS public key is nil

View Source
var ErrNilCacher = errors.New("nil cacher")

ErrNilCacher signals that nil cacher has been provided

View Source
var ErrNilHasher = errors.New("nil hasher")

ErrNilHasher signals that an operation has been attempted to or with a nil hasher implementation

View Source
var ErrNilMarshalizer = errors.New("nil marshalizer")

ErrNilMarshalizer signals that an operation has been attempted to or with a nil marshalizer implementation

View Source
var ErrNilOrEmptyDataTrieUpdates = errors.New("no data trie updates")

ErrNilOrEmptyDataTrieUpdates signals that there are no data trie updates

View Source
var ErrNilRequestHandler = errors.New("nil request handler")

ErrNilRequestHandler signals that nil request handler has been provided

View Source
var ErrNilSchnorrPublicKey = errors.New("schnorr public key is nil")

ErrNilSchnorrPublicKey signals that the provided schnorr public is nil

View Source
var ErrNilShardCoordinator = errors.New("shard coordinator is nil")

ErrNilShardCoordinator signals that nil shard coordinator was provided

View Source
var ErrNilStake = errors.New("stake is nil")

ErrNilStake signals that the provided stake is nil

View Source
var ErrNilStorageManager = errors.New("nil storage manager")

ErrNilStorageManager signals that nil storage manager has been provided

View Source
var ErrNilTrackableDataTrie = errors.New("nil trackable data trie")

ErrNilTrackableDataTrie signals that a nil trackable data trie has been provided

View Source
var ErrNilTrie = errors.New("trie is nil")

ErrNilTrie signals that a trie is nil and no operation can be made

View Source
var ErrNilUpdater = errors.New("updater is nil")

ErrNilUpdater signals that a nil updater has been provided

View Source
var ErrOperationNotPermitted = errors.New("operation in account not permitted")

ErrOperationNotPermitted signals that operation is not permitted

View Source
var ErrSnapshotValueOutOfBounds = errors.New("snapshot value out of bounds")

ErrSnapshotValueOutOfBounds signals that the snapshot value is out of bounds

View Source
var ErrUnknownShardId = errors.New("shard id is not valid")

ErrUnknownShardId signals that shard id is not valid

View Source
var ErrWrongSize = errors.New("wrong size")

ErrWrongSize signals that a wrong size occurred

View Source
var ErrWrongTypeAssertion = errors.New("wrong type assertion")

ErrWrongTypeAssertion signals that a wrong type assertion occurred

Functions

func NewAddress

func NewAddress(adr []byte) *address

NewAddress creates a new Address with the same byte slice as the parameter received

func NewDataTriesHolder

func NewDataTriesHolder() *dataTriesHolder

NewDataTriesHolder creates a new instance of dataTriesHolder

func NewEmptyPeerAccount

func NewEmptyPeerAccount() *peerAccount

NewEmptyPeerAccount returns an empty peerAccount

func NewEmptyUserAccount added in v1.0.102

func NewEmptyUserAccount() *userAccount

NewEmptyUserAccount creates new simple account wrapper for an AccountContainer (that has just been initialized)

func NewJournalEntryAccount

func NewJournalEntryAccount(account 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(codeHash []byte, updater Updater) (*journalEntryCode, error)

NewJournalEntryCode creates a new instance of JournalEntryCode

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

func NewPeerAccount(addressContainer AddressContainer) (*peerAccount, error)

NewPeerAccount creates new simple account wrapper for an PeerAccountContainer (that has just been initialized)

func NewUserAccount

func NewUserAccount(addressContainer AddressContainer) (*userAccount, error)

NewUserAccount creates new simple account wrapper for an AccountContainer (that has just been initialized)

Types

type AccountFactory

type AccountFactory interface {
	CreateAccount(address AddressContainer) (AccountHandler, error)
	IsInterfaceNil() bool
}

AccountFactory creates an account of different types

type AccountHandler

type AccountHandler interface {
	AddressContainer() AddressContainer
	IncreaseNonce(nonce uint64)
	GetNonce() uint64
	IsInterfaceNil() bool
}

AccountHandler models a state account, which can journalize and revert It knows about code and data, as data structures not hashes

type AccountsAdapter

type AccountsAdapter interface {
	GetExistingAccount(addressContainer AddressContainer) (AccountHandler, error)
	LoadAccount(address AddressContainer) (AccountHandler, error)
	SaveAccount(account AccountHandler) error
	RemoveAccount(addressContainer AddressContainer) error
	Commit() ([]byte, error)
	JournalLen() int
	RevertToSnapshot(snapshot int) error

	RootHash() ([]byte, error)
	RecreateTrie(rootHash []byte) error
	PruneTrie(rootHash []byte, identifier data.TriePruningIdentifier)
	CancelPrune(rootHash []byte, identifier data.TriePruningIdentifier)
	SnapshotState(rootHash []byte)
	SetStateCheckpoint(rootHash []byte)
	IsPruningEnabled() bool
	GetAllLeaves(rootHash []byte) (map[string][]byte, error)
	RecreateAllTries(rootHash []byte) (map[string]data.Trie, 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(
	trie data.Trie,
	hasher hashing.Hasher,
	marshalizer marshal.Marshalizer,
	accountFactory AccountFactory,
) (*AccountsDB, error)

NewAccountsDB creates a new account manager

func (*AccountsDB) CancelPrune

func (adb *AccountsDB) CancelPrune(rootHash []byte, identifier data.TriePruningIdentifier)

CancelPrune clears the trie's evictionWaitingList

func (*AccountsDB) Commit

func (adb *AccountsDB) Commit() ([]byte, error)

Commit will persist all data inside the trie

func (*AccountsDB) GetAllLeaves

func (adb *AccountsDB) GetAllLeaves(rootHash []byte) (map[string][]byte, error)

GetAllLeaves returns all the leaves from a given rootHash

func (*AccountsDB) GetExistingAccount

func (adb *AccountsDB) GetExistingAccount(addressContainer AddressContainer) (AccountHandler, error)

GetExistingAccount returns an existing account if exists or nil if missing

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(addressContainer AddressContainer) (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 data.TriePruningIdentifier)

PruneTrie removes old values from the trie database

func (*AccountsDB) RecreateAllTries added in v1.0.102

func (adb *AccountsDB) RecreateAllTries(rootHash []byte) (map[string]data.Trie, error)

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(addressContainer AddressContainer) 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 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 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 AddressContainer

type AddressContainer interface {
	Bytes() []byte
	IsInterfaceNil() bool
}

AddressContainer models what an Address struct should do

type DataTrieTracker

type DataTrieTracker interface {
	ClearDataCaches()
	DirtyData() map[string][]byte
	OriginalValue(key []byte) []byte
	RetrieveValue(key []byte) ([]byte, error)
	SaveKeyValue(key []byte, value []byte)
	SetDataTrie(tr data.Trie)
	DataTrie() data.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() (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,omitempty"`
	RewardAddress              []byte        `protobuf:"bytes,2,opt,name=RewardAddress,proto3" json:"RewardAddress,omitempty"`
	Stake                      *math_big.Int `` /* 142-byte string literal not displayed */
	JailTime                   TimePeriod    `protobuf:"bytes,4,opt,name=JailTime,proto3" json:"JailTime"`
	PastJailTimes              []TimePeriod  `protobuf:"bytes,5,rep,name=PastJailTimes,proto3" json:"PastJailTimes"`
	CurrentShardId             uint32        `protobuf:"varint,6,opt,name=CurrentShardId,proto3" json:"CurrentShardId,omitempty"`
	NextShardId                uint32        `protobuf:"varint,7,opt,name=NextShardId,proto3" json:"NextShardId,omitempty"`
	NodeInWaitingList          bool          `protobuf:"varint,8,opt,name=NodeInWaitingList,proto3" json:"NodeInWaitingList,omitempty"`
	UnStakedNonce              uint64        `protobuf:"varint,9,opt,name=UnStakedNonce,proto3" json:"UnStakedNonce,omitempty"`
	ValidatorSuccessRate       SignRate      `protobuf:"bytes,10,opt,name=ValidatorSuccessRate,proto3" json:"ValidatorSuccessRate"`
	LeaderSuccessRate          SignRate      `protobuf:"bytes,11,opt,name=LeaderSuccessRate,proto3" json:"LeaderSuccessRate"`
	Rating                     uint32        `protobuf:"varint,12,opt,name=Rating,proto3" json:"Rating,omitempty"`
	Nonce                      uint64        `protobuf:"varint,13,opt,name=Nonce,proto3" json:"Nonce,omitempty"`
	TempRating                 uint32        `protobuf:"varint,14,opt,name=TempRating,proto3" json:"TempRating,omitempty"`
	AccumulatedFees            *math_big.Int `` /* 163-byte string literal not displayed */
	NumSelectedInSuccessBlocks uint32        `protobuf:"varint,16,opt,name=NumSelectedInSuccessBlocks,proto3" json:"NumSelectedInSuccessBlocks,omitempty"`
	IndexInList                uint32        `protobuf:"varint,17,opt,name=IndexInList,proto3" json:"IndexInList,omitempty"`
	List                       string        `protobuf:"bytes,18,opt,name=List,proto3" json:"List,omitempty"`
	ConsecutiveProposerMisses  uint32        `protobuf:"varint,19,opt,name=ConsecutiveProposerMisses,proto3" json:"ConsecutiveProposerMisses,omitempty"`
	TotalValidatorSuccessRate  SignRate      `protobuf:"bytes,20,opt,name=TotalValidatorSuccessRate,proto3" json:"TotalValidatorSuccessRate"`
	TotalLeaderSuccessRate     SignRate      `protobuf:"bytes,21,opt,name=TotalLeaderSuccessRate,proto3" json:"TotalLeaderSuccessRate"`
}

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 added in v0.0.5

func (m *PeerAccountData) GetConsecutiveProposerMisses() uint32

func (*PeerAccountData) GetCurrentShardId

func (m *PeerAccountData) GetCurrentShardId() uint32

func (*PeerAccountData) GetIndexInList added in v1.0.102

func (m *PeerAccountData) GetIndexInList() uint32

func (*PeerAccountData) GetJailTime

func (m *PeerAccountData) GetJailTime() TimePeriod

func (*PeerAccountData) GetLeaderSuccessRate

func (m *PeerAccountData) GetLeaderSuccessRate() SignRate

func (*PeerAccountData) GetList added in v1.0.102

func (m *PeerAccountData) GetList() string

func (*PeerAccountData) GetNextShardId

func (m *PeerAccountData) GetNextShardId() uint32

func (*PeerAccountData) GetNodeInWaitingList

func (m *PeerAccountData) GetNodeInWaitingList() bool

func (*PeerAccountData) GetNonce

func (m *PeerAccountData) GetNonce() uint64

func (*PeerAccountData) GetNumSelectedInSuccessBlocks

func (m *PeerAccountData) GetNumSelectedInSuccessBlocks() uint32

func (*PeerAccountData) GetPastJailTimes

func (m *PeerAccountData) GetPastJailTimes() []TimePeriod

func (*PeerAccountData) GetRating

func (m *PeerAccountData) GetRating() uint32

func (*PeerAccountData) GetRewardAddress

func (m *PeerAccountData) GetRewardAddress() []byte

func (*PeerAccountData) GetStake

func (m *PeerAccountData) GetStake() *math_big.Int

func (*PeerAccountData) GetTempRating

func (m *PeerAccountData) GetTempRating() uint32

func (*PeerAccountData) GetTotalLeaderSuccessRate added in v0.0.5

func (m *PeerAccountData) GetTotalLeaderSuccessRate() SignRate

func (*PeerAccountData) GetTotalValidatorSuccessRate added in v0.0.5

func (m *PeerAccountData) GetTotalValidatorSuccessRate() SignRate

func (*PeerAccountData) GetUnStakedNonce

func (m *PeerAccountData) GetUnStakedNonce() uint64

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) MarshalTo

func (m *PeerAccountData) MarshalTo(dAtA []byte) (int, 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
	GetStake() *big.Int
	SetStake(*big.Int) error
	GetAccumulatedFees() *big.Int
	AddToAccumulatedFees(*big.Int)
	GetJailTime() TimePeriod
	SetJailTime(TimePeriod)
	GetList() string
	GetIndex() uint32
	GetCurrentShardId() uint32
	SetCurrentShardId(uint32)
	GetNextShardId() uint32
	SetNextShardId(uint32)
	GetNodeInWaitingList() bool
	SetNodeInWaitingList(bool)
	GetUnStakedNonce() uint64
	SetUnStakedNonce(uint64)
	IncreaseLeaderSuccessRate(uint32)
	DecreaseLeaderSuccessRate(uint32)
	IncreaseValidatorSuccessRate(uint32)
	DecreaseValidatorSuccessRate(uint32)
	GetNumSelectedInSuccessBlocks() uint32
	IncreaseNumSelectedInSuccessBlocks()
	GetLeaderSuccessRate() SignRate
	GetValidatorSuccessRate() SignRate
	GetTotalLeaderSuccessRate() SignRate
	GetTotalValidatorSuccessRate() SignRate
	SetListAndIndex(shardID uint32, list string, index uint32)
	GetRating() uint32
	SetRating(uint32)
	GetTempRating() uint32
	SetTempRating(uint32)
	GetConsecutiveProposerMisses() uint32
	SetConsecutiveProposerMisses(uint322 uint32)
	ResetAtNewEpoch()
	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(
	trie data.Trie,
	hasher hashing.Hasher,
	marshalizer marshal.Marshalizer,
	accountFactory AccountFactory,
) (*PeerAccountsDB, error)

NewPeerAccountsDB creates a new account manager

func (*PeerAccountsDB) IsInterfaceNil added in v0.0.5

func (adb *PeerAccountsDB) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*PeerAccountsDB) RecreateAllTries added in v1.0.102

func (adb *PeerAccountsDB) RecreateAllTries(rootHash []byte) (map[string]data.Trie, error)

RecreateAllTries recreates all the tries from the accounts DB

func (*PeerAccountsDB) SnapshotState added in v1.0.102

func (adb *PeerAccountsDB) SnapshotState(rootHash []byte)

SnapshotState triggers the snapshotting process of the state trie

type PubkeyConverter added in v1.0.104

type PubkeyConverter interface {
	Len() int
	Decode(humanReadable string) ([]byte, error)
	Encode(pkBytes []byte) string
	CreateAddressFromString(humanReadable string) (AddressContainer, error)
	CreateAddressFromBytes(pkBytes []byte) (AddressContainer, error)
	IsInterfaceNil() bool
}

PubkeyConverter can convert public key bytes to/from a human readable form

type ShardValidatorInfo added in v0.0.5

type ShardValidatorInfo struct {
	PublicKey  []byte `protobuf:"bytes,1,opt,name=PublicKey,proto3" json:"PublicKey,omitempty"`
	ShardId    uint32 `protobuf:"varint,2,opt,name=ShardId,proto3" json:"ShardId,omitempty"`
	List       string `protobuf:"bytes,3,opt,name=List,proto3" json:"List,omitempty"`
	Index      uint32 `protobuf:"varint,4,opt,name=Index,proto3" json:"Index,omitempty"`
	TempRating uint32 `protobuf:"varint,5,opt,name=TempRating,proto3" json:"TempRating,omitempty"`
}

ShardValidatorInfo represents the data regarding a validator that is stored in the PeerMiniblocks

func (*ShardValidatorInfo) Descriptor added in v0.0.5

func (*ShardValidatorInfo) Descriptor() ([]byte, []int)

func (*ShardValidatorInfo) Equal added in v0.0.5

func (this *ShardValidatorInfo) Equal(that interface{}) bool

func (*ShardValidatorInfo) GetIndex added in v0.0.5

func (m *ShardValidatorInfo) GetIndex() uint32

func (*ShardValidatorInfo) GetList added in v0.0.5

func (m *ShardValidatorInfo) GetList() string

func (*ShardValidatorInfo) GetPublicKey added in v0.0.5

func (m *ShardValidatorInfo) GetPublicKey() []byte

func (*ShardValidatorInfo) GetShardId added in v0.0.5

func (m *ShardValidatorInfo) GetShardId() uint32

func (*ShardValidatorInfo) GetTempRating added in v0.0.5

func (m *ShardValidatorInfo) GetTempRating() uint32

func (*ShardValidatorInfo) GoString added in v0.0.5

func (this *ShardValidatorInfo) GoString() string

func (*ShardValidatorInfo) IsInterfaceNil added in v0.0.5

func (svi *ShardValidatorInfo) IsInterfaceNil() bool

IsInterfaceNil returns true if there is no value under the interface

func (*ShardValidatorInfo) Marshal added in v0.0.5

func (m *ShardValidatorInfo) Marshal() (dAtA []byte, err error)

func (*ShardValidatorInfo) MarshalTo added in v0.0.5

func (m *ShardValidatorInfo) MarshalTo(dAtA []byte) (int, error)

func (*ShardValidatorInfo) MarshalToSizedBuffer added in v0.0.5

func (m *ShardValidatorInfo) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ShardValidatorInfo) ProtoMessage added in v0.0.5

func (*ShardValidatorInfo) ProtoMessage()

func (*ShardValidatorInfo) Reset added in v0.0.5

func (m *ShardValidatorInfo) Reset()

func (*ShardValidatorInfo) Size added in v0.0.5

func (m *ShardValidatorInfo) Size() (n int)

func (*ShardValidatorInfo) String added in v0.0.5

func (this *ShardValidatorInfo) String() string

func (*ShardValidatorInfo) Unmarshal added in v0.0.5

func (m *ShardValidatorInfo) Unmarshal(dAtA []byte) error

func (*ShardValidatorInfo) XXX_DiscardUnknown added in v0.0.5

func (m *ShardValidatorInfo) XXX_DiscardUnknown()

func (*ShardValidatorInfo) XXX_Marshal added in v0.0.5

func (m *ShardValidatorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ShardValidatorInfo) XXX_Merge added in v0.0.5

func (m *ShardValidatorInfo) XXX_Merge(src proto.Message)

func (*ShardValidatorInfo) XXX_Size added in v0.0.5

func (m *ShardValidatorInfo) XXX_Size() int

func (*ShardValidatorInfo) XXX_Unmarshal added in v0.0.5

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) Descriptor() ([]byte, []int)

func (*SignRate) Equal

func (this *SignRate) Equal(that interface{}) bool

func (*SignRate) GetNumFailure added in v0.0.5

func (m *SignRate) GetNumFailure() uint32

func (*SignRate) GetNumSuccess added in v0.0.5

func (m *SignRate) GetNumSuccess() uint32

func (*SignRate) GoString

func (this *SignRate) GoString() string

func (*SignRate) Marshal

func (m *SignRate) Marshal() (dAtA []byte, err error)

func (*SignRate) MarshalTo

func (m *SignRate) MarshalTo(dAtA []byte) (int, error)

func (*SignRate) MarshalToSizedBuffer

func (m *SignRate) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*SignRate) ProtoMessage

func (*SignRate) ProtoMessage()

func (*SignRate) Reset

func (m *SignRate) Reset()

func (*SignRate) Size

func (m *SignRate) Size() (n int)

func (*SignRate) String

func (this *SignRate) String() string

func (*SignRate) Unmarshal

func (m *SignRate) Unmarshal(dAtA []byte) error

func (*SignRate) XXX_DiscardUnknown

func (m *SignRate) XXX_DiscardUnknown()

func (*SignRate) XXX_Marshal

func (m *SignRate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SignRate) XXX_Merge

func (m *SignRate) XXX_Merge(src proto.Message)

func (*SignRate) XXX_Size

func (m *SignRate) XXX_Size() int

func (*SignRate) XXX_Unmarshal

func (m *SignRate) XXX_Unmarshal(b []byte) error

type TimePeriod

type TimePeriod struct {
	StartTime TimeStamp `protobuf:"bytes,1,opt,name=StartTime,proto3" json:"StartTime"`
	EndTime   TimeStamp `protobuf:"bytes,2,opt,name=EndTime,proto3" json:"EndTime"`
}

TimePeriod holds start and end time

func (*TimePeriod) Descriptor

func (*TimePeriod) Descriptor() ([]byte, []int)

func (*TimePeriod) Equal

func (this *TimePeriod) Equal(that interface{}) bool

func (*TimePeriod) GetEndTime

func (m *TimePeriod) GetEndTime() TimeStamp

func (*TimePeriod) GetStartTime

func (m *TimePeriod) GetStartTime() TimeStamp

func (*TimePeriod) GoString

func (this *TimePeriod) GoString() string

func (*TimePeriod) Marshal

func (m *TimePeriod) Marshal() (dAtA []byte, err error)

func (*TimePeriod) MarshalTo

func (m *TimePeriod) MarshalTo(dAtA []byte) (int, error)

func (*TimePeriod) MarshalToSizedBuffer

func (m *TimePeriod) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TimePeriod) ProtoMessage

func (*TimePeriod) ProtoMessage()

func (*TimePeriod) Reset

func (m *TimePeriod) Reset()

func (*TimePeriod) Size

func (m *TimePeriod) Size() (n int)

func (*TimePeriod) String

func (this *TimePeriod) String() string

func (*TimePeriod) Unmarshal

func (m *TimePeriod) Unmarshal(dAtA []byte) error

func (*TimePeriod) XXX_DiscardUnknown

func (m *TimePeriod) XXX_DiscardUnknown()

func (*TimePeriod) XXX_Marshal

func (m *TimePeriod) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TimePeriod) XXX_Merge

func (m *TimePeriod) XXX_Merge(src proto.Message)

func (*TimePeriod) XXX_Size

func (m *TimePeriod) XXX_Size() int

func (*TimePeriod) XXX_Unmarshal

func (m *TimePeriod) XXX_Unmarshal(b []byte) error

type TimeStamp

type TimeStamp struct {
	Epoch uint64 `protobuf:"varint,1,opt,name=Epoch,proto3" json:"Epoch,omitempty"`
	Round uint64 `protobuf:"varint,2,opt,name=Round,proto3" json:"Round,omitempty"`
}

TimeStamp is a moment defined by epoch and round

func (*TimeStamp) Descriptor

func (*TimeStamp) Descriptor() ([]byte, []int)

func (*TimeStamp) Equal

func (this *TimeStamp) Equal(that interface{}) bool

func (*TimeStamp) GetEpoch

func (m *TimeStamp) GetEpoch() uint64

func (*TimeStamp) GetRound

func (m *TimeStamp) GetRound() uint64

func (*TimeStamp) GoString

func (this *TimeStamp) GoString() string

func (*TimeStamp) Marshal

func (m *TimeStamp) Marshal() (dAtA []byte, err error)

func (*TimeStamp) MarshalTo

func (m *TimeStamp) MarshalTo(dAtA []byte) (int, error)

func (*TimeStamp) MarshalToSizedBuffer

func (m *TimeStamp) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*TimeStamp) ProtoMessage

func (*TimeStamp) ProtoMessage()

func (*TimeStamp) Reset

func (m *TimeStamp) Reset()

func (*TimeStamp) Size

func (m *TimeStamp) Size() (n int)

func (*TimeStamp) String

func (this *TimeStamp) String() string

func (*TimeStamp) Unmarshal

func (m *TimeStamp) Unmarshal(dAtA []byte) error

func (*TimeStamp) XXX_DiscardUnknown

func (m *TimeStamp) XXX_DiscardUnknown()

func (*TimeStamp) XXX_Marshal

func (m *TimeStamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*TimeStamp) XXX_Merge

func (m *TimeStamp) XXX_Merge(src proto.Message)

func (*TimeStamp) XXX_Size

func (m *TimeStamp) XXX_Size() int

func (*TimeStamp) XXX_Unmarshal

func (m *TimeStamp) XXX_Unmarshal(b []byte) error

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 data.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() data.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) OriginalValue

func (tdaw *TrackableDataTrie) OriginalValue(key []byte) []byte

OriginalValue returns the value for a key stored in originalData map which is acting like a cache

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)

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 data.Trie)

SetDataTrie sets the internal data trie

type TriesHolder

type TriesHolder interface {
	Put([]byte, data.Trie)
	Replace(key []byte, tr data.Trie)
	Get([]byte) data.Trie
	GetAll() []data.Trie
	Reset()
	IsInterfaceNil() bool
}

TriesHolder is used to store multiple tries

type Updater

type Updater interface {
	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,omitempty"`
	Balance         *math_big.Int `` /* 146-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 `` /* 162-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 added in v1.0.103

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 added in v1.0.103

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) MarshalTo

func (m *UserAccountData) MarshalTo(dAtA []byte) (int, 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)
	GetCode() []byte
	SetCodeMetadata(codeMetadata []byte)
	GetCodeMetadata() []byte
	SetCodeHash([]byte)
	GetCodeHash() []byte
	SetRootHash([]byte)
	GetRootHash() []byte
	SetDataTrie(trie data.Trie)
	DataTrie() data.Trie
	DataTrieTracker() DataTrieTracker
	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
	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"`
	Rating                   float32 `protobuf:"fixed32,6,opt,name=Rating,proto3" json:"rating"`
	RatingModifier           float32 `protobuf:"fixed32,7,opt,name=RatingModifier,proto3" json:"ratingModifier"`
	TotalNumLeaderSuccess    uint32  `protobuf:"varint,8,opt,name=TotalNumLeaderSuccess,proto3" json:"totalNumLeaderSuccess"`
	TotalNumLeaderFailure    uint32  `protobuf:"varint,9,opt,name=TotalNumLeaderFailure,proto3" json:"totalNumLeaderFailure"`
	TotalNumValidatorSuccess uint32  `protobuf:"varint,10,opt,name=TotalNumValidatorSuccess,proto3" json:"totalNumValidatorSuccess"`
	TotalNumValidatorFailure uint32  `protobuf:"varint,11,opt,name=TotalNumValidatorFailure,proto3" json:"totalNumValidatorFailure"`
}

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 added in v0.0.5

func (m *ValidatorApiResponse) GetNumLeaderFailure() uint32

func (*ValidatorApiResponse) GetNumLeaderSuccess added in v0.0.5

func (m *ValidatorApiResponse) GetNumLeaderSuccess() uint32

func (*ValidatorApiResponse) GetNumValidatorFailure added in v0.0.5

func (m *ValidatorApiResponse) GetNumValidatorFailure() uint32

func (*ValidatorApiResponse) GetNumValidatorSuccess added in v0.0.5

func (m *ValidatorApiResponse) GetNumValidatorSuccess() uint32

func (*ValidatorApiResponse) GetRating

func (m *ValidatorApiResponse) GetRating() float32

func (*ValidatorApiResponse) GetRatingModifier added in v1.0.106

func (m *ValidatorApiResponse) GetRatingModifier() float32

func (*ValidatorApiResponse) GetTempRating

func (m *ValidatorApiResponse) GetTempRating() float32

func (*ValidatorApiResponse) GetTotalNumLeaderFailure added in v0.0.5

func (m *ValidatorApiResponse) GetTotalNumLeaderFailure() uint32

func (*ValidatorApiResponse) GetTotalNumLeaderSuccess added in v0.0.5

func (m *ValidatorApiResponse) GetTotalNumLeaderSuccess() uint32

func (*ValidatorApiResponse) GetTotalNumValidatorFailure added in v0.0.5

func (m *ValidatorApiResponse) GetTotalNumValidatorFailure() uint32

func (*ValidatorApiResponse) GetTotalNumValidatorSuccess added in v0.0.5

func (m *ValidatorApiResponse) GetTotalNumValidatorSuccess() uint32

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,omitempty"`
	ShardId                    uint32        `protobuf:"varint,2,opt,name=ShardId,proto3" json:"ShardId,omitempty"`
	List                       string        `protobuf:"bytes,3,opt,name=List,proto3" json:"List,omitempty"`
	Index                      uint32        `protobuf:"varint,4,opt,name=Index,proto3" json:"Index,omitempty"`
	TempRating                 uint32        `protobuf:"varint,5,opt,name=TempRating,proto3" json:"TempRating,omitempty"`
	Rating                     uint32        `protobuf:"varint,6,opt,name=Rating,proto3" json:"Rating,omitempty"`
	RatingModifier             float32       `protobuf:"fixed32,7,opt,name=RatingModifier,proto3" json:"RatingModifier,omitempty"`
	RewardAddress              []byte        `protobuf:"bytes,8,opt,name=RewardAddress,proto3" json:"RewardAddress,omitempty"`
	LeaderSuccess              uint32        `protobuf:"varint,9,opt,name=LeaderSuccess,proto3" json:"LeaderSuccess,omitempty"`
	LeaderFailure              uint32        `protobuf:"varint,10,opt,name=LeaderFailure,proto3" json:"LeaderFailure,omitempty"`
	ValidatorSuccess           uint32        `protobuf:"varint,11,opt,name=ValidatorSuccess,proto3" json:"ValidatorSuccess,omitempty"`
	ValidatorFailure           uint32        `protobuf:"varint,12,opt,name=ValidatorFailure,proto3" json:"ValidatorFailure,omitempty"`
	NumSelectedInSuccessBlocks uint32        `protobuf:"varint,13,opt,name=NumSelectedInSuccessBlocks,proto3" json:"NumSelectedInSuccessBlocks,omitempty"`
	AccumulatedFees            *math_big.Int `` /* 163-byte string literal not displayed */
	TotalLeaderSuccess         uint32        `protobuf:"varint,15,opt,name=TotalLeaderSuccess,proto3" json:"TotalLeaderSuccess,omitempty"`
	TotalLeaderFailure         uint32        `protobuf:"varint,16,opt,name=TotalLeaderFailure,proto3" json:"TotalLeaderFailure,omitempty"`
	TotalValidatorSuccess      uint32        `protobuf:"varint,17,opt,name=TotalValidatorSuccess,proto3" json:"TotalValidatorSuccess,omitempty"`
	TotalValidatorFailure      uint32        `protobuf:"varint,18,opt,name=TotalValidatorFailure,proto3" json:"TotalValidatorFailure,omitempty"`
}

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 added in v1.0.106

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 added in v0.0.5

func (m *ValidatorInfo) GetTotalLeaderFailure() uint32

func (*ValidatorInfo) GetTotalLeaderSuccess added in v0.0.5

func (m *ValidatorInfo) GetTotalLeaderSuccess() uint32

func (*ValidatorInfo) GetTotalValidatorFailure added in v0.0.5

func (m *ValidatorInfo) GetTotalValidatorFailure() uint32

func (*ValidatorInfo) GetTotalValidatorSuccess added in v0.0.5

func (m *ValidatorInfo) GetTotalValidatorSuccess() uint32

func (*ValidatorInfo) GetValidatorFailure

func (m *ValidatorInfo) GetValidatorFailure() 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) MarshalTo

func (m *ValidatorInfo) MarshalTo(dAtA []byte) (int, 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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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