# Packages
No description provided by the author
# Functions
FromProto sets a protobuf Block to the given pointer.
FromProto sets a protobuf BlockID to the given pointer.
No description provided by the author
BlockRequestID returns a block request ID.
CanonicalizeVote transforms the given Proposal to a CanonicalProposal.
CanonicalizeVoteExtension extracts the vote extension from the given vote and constructs a CanonicalizeVoteExtension struct, whose representation in bytes is what is signed in order to produce the vote extension's signature.
CanonicalTime can be used to stringify time in a canonical way.
CommitFromProto creates a commit from a protobuf commit message.
ComputeProtoSizeForTxs wraps the transactions in tmproto.Data{} and calculates the size.
ConsensusParamsFromProto returns a ConsensusParams from a protobuf representation.
FromProto sets a protobuf Header to the given pointer.
DataFromProto takes a protobuf representation of Data & returns the native type.
No description provided by the author
DefaultBlockParams returns a default BlockParams.
DefaultConsensusParams returns a default ConsensusParams.
DefaultEvidenceParams returns a default EvidenceParams.
No description provided by the author
No description provided by the author
DefaultValidatorParams returns a default ValidatorParams, which allows only bls12381 pubkeys.
No description provided by the author
DuplicateVoteEvidenceFromProto decodes protobuf into DuplicateVoteEvidence.
No description provided by the author
EvidenceFromProto is a generalized function for decoding protobuf into the evidence interface.
EvidenceToProto is a generalized function for encoding evidence that conforms to the evidence interface to protobuf.
GenerateValidatorSet generates a validator set and a list of private validators.
GenesisDocFromFile reads JSON data from a file and unmarshalls it into a GenesisDoc.
GenesisDocFromJSON unmarshalls JSON data into a GenesisDoc.
GenKeysForQuorumHash generates the quorum keys for passed quorum hash.
GenNodeKey generates a new node key.
FromProto sets a protobuf Header to the given pointer.
IsErrNotEnoughVotingPowerSigned returns true if err is ErrNotEnoughVotingPowerSigned.
IsPreCheckError returns true if err is due to pre check failure.
IsVoteTypeValid returns true if t is a valid vote type.
LightBlockFromProto converts from protobuf back into the Lightblock.
LoadNodeKey loads NodeKey located in filePath.
LoadOrGenNodeKey attempts to load the NodeKey from the given filePath.
MakeBlock returns a new block with an empty header, except what can be computed from itself.
MakeBlockSignItem creates SignItem struct for a block.
MakeGenesisValsFromValidatorSet converts ValidatorSet data into a list of GenesisValidator.
MakeQuorumSigns builds signing data for block, state and vote-extensions each a sign-id item consist of request-id, raw data, hash of raw and id.
MakeQuorumSignsWithVoteSet creates and returns QuorumSignData struct built with a vote-set and an added vote.
MaxDataBytes returns the maximum size of block's data.
MaxDataBytesNoEvidence returns the maximum size of block's data when no evidence is used.
Max size of the NodeInfo struct.
No description provided by the author
NewBlockMeta returns a new BlockMeta.
NewCommit returns a new Commit.
No description provided by the author
NewDuplicateVoteEvidence creates DuplicateVoteEvidence with right ordering given two conflicting votes.
NewEmptyValidatorSet initializes a ValidatorSet with no validators.
NewErrEvidenceOverflow returns a new ErrEvidenceOverflow where got > max.
No description provided by the author
NewErrInvalidEvidence returns a new EvidenceInvalid with the given err.
No description provided by the author
No description provided by the author
NewMockDuplicateVoteEvidence assumes the round to be 0 and the validator index to be 0.
assumes voting power to be DefaultDashVotingPower and validator to be the only one in the set.
NewMockDuplicateVoteEvidenceWithValidator assumes voting power to be DefaultDashVotingPower and validator to be the only one in the set TODO: discuss if this might be moved to some *_test.go file.
No description provided by the author
No description provided by the author
NewMockPVWithParams allows one to create a MockPV instance, but with finer grained control over the operation of the mock validator.
NewNetAddress returns a new NetAddress using the provided TCP address.
NewNetAddressIPPort returns a new NetAddress using the provided IP and port number.
NewNodeID returns a lowercased (normalized) NodeID, or errors if the node ID is invalid.
Returns an immutable, full PartSet from the data bytes.
Returns an empty PartSet ready to be populated.
No description provided by the author
NewProposal returns a new Proposal.
NewQuorumSignsFromCommit creates and returns QuorumSigns using threshold signatures from a commit.
NewSignItem creates a new instance of SignItem with calculating a hash for a raw and creating signID
Arguments: - quorumType: quorum type - quorumHash: quorum hash - reqID: sign request ID - msg: raw data to be signed; it will be hashed with crypto.Checksum().
Create a new sign item without raw value, using provided hash.
NewSignsRecoverer creates and returns a new instance of SignsRecoverer the state fills with signatures from the votes.
No description provided by the author
No description provided by the author
NewTxRecordSet constructs a new set from the given transaction records.
NewTxs creates new transactions object based on raw transactions.
NewValidator returns a new validator with the given pubkey and voting power.
No description provided by the author
NewValidatorSet initializes a ValidatorSet by copying over the values from `valz`, a list of Validators.
NewValidatorSetCheckPublicKeys initializes a ValidatorSet the same way as NewValidatorSet does, but determines if the public keys are present.
NewValSetParam returns a list of validator set parameters with for every proTxHashes with default voting power.
NewVoteExtensionsFromABCIExtended returns vote-extensions container for given ExtendVoteExtension.
NewVoteSet instantiates all fields of a new vote set.
NodeIDFromPubKey creates a node ID from a given PubKey address.
No description provided by the author
ParseAddressString reads an address string, and returns the NetAddress struct with ip address, port and nodeID information, returning an error for any validation errors.
ParseValidatorAddress parses provided address, which should be in `proto://nodeID@host:port` form.
No description provided by the author
FromProto sets a protobuf PartSetHeader to the given pointer.
ProposalBlockSignBytes returns the proto-encoding of the canonicalized Proposal, for signing.
No description provided by the author
FromProto sets a protobuf Proposal to the given pointer.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RandValidatorAddress generates a random validator address.
RandValidatorSet returns a randomized validator set (size: +numValidators+), where each validator has the same default voting power.
SignedHeaderFromProto sets a protobuf SignedHeader to the given pointer.
No description provided by the author
UseProTxHash sets pro-tx-hash to a private-validator.
ValidateAppHash returns an error if the app hash size is invalid.
ValidateHash returns an error if the hash is not empty, but its size != crypto.HashSize.
ValidateSignatureSize returns an error if the signature is not empty, but its size != hash.Size.
ValidatorFromProto sets a protobuf Validator to the given pointer.
ValidatorListString returns a prettified validator list for logging purposes.
ValidatorSetFromProto sets a protobuf ValidatorSet to the given pointer.
No description provided by the author
No description provided by the author
VoteBlockSignID returns signID that should be signed for the block.
No description provided by the author
VoteExtensionsFromProto creates VoteExtensions container from VoteExtensions's protobuf.
VoteFromProto attempts to convert the given serialization (Protobuf) type to our Vote domain type.
WithQuorumReached sets a flag at SignsRecoverer to recovers threshold signatures for stateID and vote-extensions.
WithUpdatePrivValAt sets a list of the private validators to update validator set at passed the height.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
BlockHeightKey is a reserved key used for indexing FinalizeBlock events.
BlockIDFlagAbsent - no vote was received from a validator.
BlockIDFlagCommit - voted for the Commit.BlockID.
BlockIDFlagNil - voted for nil.
64kB.
signer client via gRPC.
No description provided by the author
EmptyNetAddress defines the string representation of an empty NetAddress.
error mock signer.
The BlockSyncStatus event will be emitted when the node switching state sync mechanism between the consensus reactor and the blocksync reactor.
Reserved event types (alphabetically sorted).
Internal consensus events.
Events emitted by the evidence reactor when evidence is validated and before it is committed.
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Block level events for mass consumption by users.
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
EventTypeKey is a reserved composite key for event name.
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
Reserved event types (alphabetically sorted).
signer client via file.
MaxBlockPartsCount is the maximum number of block parts.
100MB.
MaxChainIDLen is a maximum length of the chain ID.
MaxCommitOverheadBytes is the max size of commit, with overhead but without vote extensions: (110+2) for BlockID, (8+2) for Height, (4+2) for Round, (32+2) for QuorumHash, (96+2) for Block signature.
No description provided by the author
MaxHeaderBytes is a maximum header size.
MaxOverheadForBlock - maximum overhead to encode a block (up to MaxBlockSizeBytes in size) not including it's parts except Data.
MaxTotalVotingPower - the maximum allowed total voting power.
MaxVoteBytes is a maximum vote size (including amino overhead).
No description provided by the author
MaxVotesCount is the maximum number of votes in a set.
mock signer.
NodeIDByteLength is the length of a crypto.Address.
PriorityWindowSizeFactor - is a constant that when multiplied with the total voting power gives the maximum allowed distance between validator priorities.
signer client with retry via socket.
No description provided by the author
signer client via gRPC.
signer client via socket.
No description provided by the author
TimeFormat is used for generating the sigs.
TxHashKey is a reserved key, used to specify transaction's hash.
TxHeightKey is a reserved key, used to specify transaction block's height.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
ErrNoHostname is returned when no hostname is set for the validator address.
ErrNoPort is returned when no valid port is set for the validator address.
No description provided by the author
No description provided by the author
No description provided by the author
ErrTotalVotingPowerOverflow is returned if the total voting power of the resulting validator set exceeds MaxTotalVotingPower.
ErrTxInCache is returned to the client if we saw tx earlier.
ErrTotalVotingPowerOverflow is returned if the total voting power of the resulting validator set exceeds MaxTotalVotingPower.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Pre-populated ABCI Tendermint-reserved events.
Pre-populated ABCI Tendermint-reserved events.
Pre-populated ABCI Tendermint-reserved events.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Pre-populated ABCI Tendermint-reserved events.
PB2TM is used for converting protobuf ABCI to Tendermint ABCI.
TM2PB is used for converting Tendermint ABCI to protobuf ABCI.
# Structs
ABCIParams configure ABCI functionality specific to the Application Blockchain Interface.
Block defines the atomic unit of a Tendermint blockchain.
BlockID.
BlockMeta contains meta information.
BlockParams define limits on the block size and gas plus minimum time between blocks.
Commit contains the evidence that a block was committed by a set of validators.
CommitSigns is used to combine threshold signatures and quorum-hash that were used.
ConsensusParams contains consensus critical parameters that determine the validity of blocks.
No description provided by the author
Data contains the set of transactions included in the block.
DuplicateVoteEvidence contains evidence of a single validator signing two conflicting votes.
ErrEvidenceOverflow is for when there the amount of evidence exceeds the max bytes.
No description provided by the author
ErrInvalidEvidence wraps a piece of evidence and the error denoting how or why it is invalid.
ErrMempoolIsFull defines an error where Tendermint and the application cannot handle that much load.
ErrNotEnoughVotingPowerSigned is returned when not enough validators signed a commit.
No description provided by the author
ErrPreCheck defines an error where a transaction fails a pre-check.
ErrTxTooLarge defines an error when a transaction is too big to be sent in a message to other peers.
No description provided by the author
EventDataBlockSyncStatus shows the fastsync status and the height when the node state sync mechanism changes.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NOTE: This goes into the replay WAL.
EventDataStateSyncStatus shows the statesync status and the height when the node state sync mechanism changes.
All txs fire EventDataTx.
No description provided by the author
No description provided by the author
EvidenceParams determine how we handle evidence of malfeasance.
GenericVoteExtension is a default type of VoteExtension.
GenesisDoc defines the initial conditions for a tendermint blockchain, in particular its validator set.
GenesisValidator is an initial validator.
HashedParams is a subset of ConsensusParams.
Header defines the structure of a Tenderdash block header.
LightBlock is a SignedHeader and a ValidatorSet.
Info about the status of the light client.
MockPV implements PrivValidator without any safety or persistence.
NetAddress defines information about a peer on the network including its ID, IP address, and port.
NodeInfo is the basic node information exchanged between two peers during the Tendermint P2P handshake.
NodeInfoOther is the misc.
NodeKey is the persistent peer key.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Proposal defines a block proposal for the consensus.
ProtocolVersion contains the protocol versions for the software.
QuorumSignData holds data which is necessary for signing and verification block, state, and each vote-extension in a list.
QuorumSigns holds all created signatures, block, state and for each recovered vote-extensions.
SignedHeader is a header along with the commits that prove it.
SignItem represents signing session data (in field SignItem.ID) that will be signed to get threshold signature share.
SignsRecoverer is used to recover threshold block, state, and vote-extension signatures it's possible to avoid recovering state and vote-extension for specific case.
SynchronyParams influence the validity of block timestamps.
ThresholdRawVoteExtension is a threshold raw type of VoteExtension.
ThresholdVoteExtension is a threshold type of VoteExtension.
TimeoutParams configure the timings of the steps of the Tendermint consensus algorithm.
TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree.
TxRecordSet contains indexes into an underlying set of transactions.
Validator Volatile state for each Validator NOTE: The ProposerPriority is not included in Validator.Hash(); make sure to update that method if changes are made here The ProTxHash is part of Dash additions required for BLS threshold signatures.
ValidatorAddress is a ValidatorAddress that does not require node ID to be set We cannot just use p2p.ValidatorAddress because it causes dependency loop.
No description provided by the author
ValidatorParams restrict the public key types validators can use.
ValidatorSet represent a set of *Validator at a given height.
ValSetOptions is the options for generation of validator set and private validators.
ValSetParam is a structure of parameters to make a validator set.
No description provided by the author
Vote represents a prevote, precommit, or commit vote from validators for consensus.
VoteSet helps collect signatures from validators at each height+round for a
predefined vote type.
More human readable JSON of the vote set NOTE: insufficient for unmarshaling from (compressed votes) TODO: make the peerMaj23s nicer to read (eg just the block hash).
# Interfaces
BlockEventPublisher publishes all block related events.
EventData is satisfied by types that can be published as event data.
Evidence represents any provable malicious activity by a validator.
PrivValidator defines the functionality of a local Tendermint validator that signs votes and proposals, and never double signs.
No description provided by the author
No description provided by the author
No description provided by the author
Common interface between *consensus.VoteSet and types.Commit.
# Type aliases
Address is hex bytes.
BlockIDFlag indicates which BlockID the signature is for.
No description provided by the author
No description provided by the author
EvidenceList is a list of Evidence.
No description provided by the author
NodeID is a hex-encoded crypto.Address.
No description provided by the author
PrivValidatorType defines the implementation types.
No description provided by the author
No description provided by the author
Tx is an arbitrary byte array.
TxKey is the fixed length array key used as an index.
Txs is a slice of Tx.
ValidatorsByAddress implements sort.Interface for []*Validator based on the Address field.
ValSetOptionFunc is a type of validator-set function to manage options of generator.
VoteExtensions is a container where the key is vote-extension type and value is a list of VoteExtension.