evmos.proto.autogen.py.tendermint.types

Classes

AbciParams(vote_extensions_enable_height)

ABCIParams configure functionality specific to the Application Blockchain Interface.

Block(header, data, evidence, last_commit)

BlockId(hash, part_set_header)

BlockID

BlockIdFlag(*values)

BlockIdFlag indicates which BlockID the signature is for

BlockMeta(block_id, block_size, header, num_txs)

BlockParams(max_bytes, max_gas)

BlockParams contains limits on the block size.

Commit(height, round, block_id, signatures)

Commit contains the evidence that a block was committed by a set of validators.

CommitSig(block_id_flag, validator_address, ...)

CommitSig is a part of the Vote included in a Commit.

ConsensusParams(block, evidence, validator, ...)

ConsensusParams contains consensus critical parameters that determine the validity of blocks.

Data(txs)

Data contains the set of transactions included in the block

DuplicateVoteEvidence(vote_a, vote_b, ...)

DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.

Evidence(duplicate_vote_evidence, ...)

EvidenceList(evidence)

EvidenceParams(max_age_num_blocks, ...)

EvidenceParams determine how we handle evidence of malfeasance.

ExtendedCommit(height, round, block_id, ...)

ExtendedCommitSig(block_id_flag, ...)

ExtendedCommitSig retains all the same fields as CommitSig but adds vote extension-related fields.

HashedParams(block_max_bytes, block_max_gas)

HashedParams is a subset of ConsensusParams.

Header(version, chain_id, height, time, ...)

Header defines the structure of a block header.

LightBlock(signed_header, validator_set)

LightClientAttackEvidence(conflicting_block, ...)

LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.

Part(index, bytes, proof)

PartSetHeader(total, hash)

PartsetHeader

Proposal(type, height, round, pol_round, ...)

SignedHeader(header, commit)

SignedMsgType(*values)

SignedMsgType is a type of signed message in the consensus.

SimpleValidator(pub_key, voting_power)

TxProof(root_hash, data, proof)

TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree.

Validator(address, pub_key, voting_power, ...)

ValidatorParams(pub_key_types)

ValidatorParams restrict the public key types validators can use.

ValidatorSet(validators, proposer, ...)

VersionParams(app)

VersionParams contains the ABCI application version.

Vote(type, height, round, block_id, ...)

Vote represents a prevote or precommit vote from validators for consensus.

class evmos.proto.autogen.py.tendermint.types.AbciParams(vote_extensions_enable_height: int = <object object>)[source]

Bases: Message

ABCIParams configure functionality specific to the Application Blockchain Interface.

vote_extensions_enable_height: int = <object object>

vote_extensions_enable_height configures the first height during which vote extensions will be enabled. During this specified height, and for all subsequent heights, precommit messages that do not contain valid extension data will be considered invalid. Prior to this height, vote extensions will not be used or accepted by validators on the network. Once enabled, vote extensions will be created by the application in ExtendVote, passed to the application for validation in VerifyVoteExtension and given to the application to use when proposing a block during PrepareProposal.

class evmos.proto.autogen.py.tendermint.types.Block(header: 'Header' = <object object at 0x7c636f753d40>, data: 'Data' = <object object at 0x7c636f753d40>, evidence: 'EvidenceList' = <object object at 0x7c636f753d40>, last_commit: 'Commit' = <object object at 0x7c636f753d40>)[source]

Bases: Message

data: Data = <object object>
evidence: EvidenceList = <object object>
header: Header = <object object>
last_commit: Commit = <object object>
class evmos.proto.autogen.py.tendermint.types.BlockId(hash: bytes = <object object>, part_set_header: ~evmos.proto.autogen.py.tendermint.types.PartSetHeader = <object object>)[source]

Bases: Message

BlockID

hash: bytes = <object object>
part_set_header: PartSetHeader = <object object>
class evmos.proto.autogen.py.tendermint.types.BlockIdFlag(*values)[source]

Bases: Enum

BlockIdFlag indicates which BlockID the signature is for

BLOCK_ID_FLAG_ABSENT = 1
BLOCK_ID_FLAG_COMMIT = 2
BLOCK_ID_FLAG_NIL = 3
BLOCK_ID_FLAG_UNKNOWN = 0
class evmos.proto.autogen.py.tendermint.types.BlockMeta(block_id: 'BlockId' = <object object at 0x7c636f753d40>, block_size: int = <object object at 0x7c636f753d40>, header: 'Header' = <object object at 0x7c636f753d40>, num_txs: int = <object object at 0x7c636f753d40>)[source]

Bases: Message

block_id: BlockId = <object object>
block_size: int = <object object>
header: Header = <object object>
num_txs: int = <object object>
class evmos.proto.autogen.py.tendermint.types.BlockParams(max_bytes: int = <object object>, max_gas: int = <object object>)[source]

Bases: Message

BlockParams contains limits on the block size.

max_bytes: int = <object object>

Max block size, in bytes. Note: must be greater than 0

max_gas: int = <object object>

Max gas per block. Note: must be greater or equal to -1

class evmos.proto.autogen.py.tendermint.types.Commit(height: int = <object object>, round: int = <object object>, block_id: ~evmos.proto.autogen.py.tendermint.types.BlockId = <object object>, signatures: ~typing.List[~evmos.proto.autogen.py.tendermint.types.CommitSig] = <object object>)[source]

Bases: Message

Commit contains the evidence that a block was committed by a set of validators.

block_id: BlockId = <object object>
height: int = <object object>
round: int = <object object>
signatures: List[CommitSig] = <object object>
class evmos.proto.autogen.py.tendermint.types.CommitSig(block_id_flag: ~evmos.proto.autogen.py.tendermint.types.BlockIdFlag = <object object>, validator_address: bytes = <object object>, timestamp: ~datetime.datetime = <object object>, signature: bytes = <object object>)[source]

Bases: Message

CommitSig is a part of the Vote included in a Commit.

block_id_flag: BlockIdFlag = <object object>
signature: bytes = <object object>
timestamp: datetime = <object object>
validator_address: bytes = <object object>
class evmos.proto.autogen.py.tendermint.types.ConsensusParams(block: ~evmos.proto.autogen.py.tendermint.types.BlockParams = <object object>, evidence: ~evmos.proto.autogen.py.tendermint.types.EvidenceParams = <object object>, validator: ~evmos.proto.autogen.py.tendermint.types.ValidatorParams = <object object>, version: ~evmos.proto.autogen.py.tendermint.types.VersionParams = <object object>, abci: ~evmos.proto.autogen.py.tendermint.types.AbciParams = <object object>)[source]

Bases: Message

ConsensusParams contains consensus critical parameters that determine the validity of blocks.

abci: AbciParams = <object object>
block: BlockParams = <object object>
evidence: EvidenceParams = <object object>
validator: ValidatorParams = <object object>
version: VersionParams = <object object>
class evmos.proto.autogen.py.tendermint.types.Data(txs: ~typing.List[bytes] = <object object>)[source]

Bases: Message

Data contains the set of transactions included in the block

txs: List[bytes] = <object object>

Txs that will be applied by state @ block.Height+1. NOTE: not all txs here are valid. We’re just agreeing on the order first. This means that block.AppHash does not include these txs.

class evmos.proto.autogen.py.tendermint.types.DuplicateVoteEvidence(vote_a: ~evmos.proto.autogen.py.tendermint.types.Vote = <object object>, vote_b: ~evmos.proto.autogen.py.tendermint.types.Vote = <object object>, total_voting_power: int = <object object>, validator_power: int = <object object>, timestamp: ~datetime.datetime = <object object>)[source]

Bases: Message

DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes.

timestamp: datetime = <object object>
total_voting_power: int = <object object>
validator_power: int = <object object>
vote_a: Vote = <object object>
vote_b: Vote = <object object>
class evmos.proto.autogen.py.tendermint.types.Evidence(duplicate_vote_evidence: 'DuplicateVoteEvidence' = <object object at 0x7c636f753d40>, light_client_attack_evidence: 'LightClientAttackEvidence' = <object object at 0x7c636f753d40>)[source]

Bases: Message

duplicate_vote_evidence: DuplicateVoteEvidence = <object object>
light_client_attack_evidence: LightClientAttackEvidence = <object object>
class evmos.proto.autogen.py.tendermint.types.EvidenceList(evidence: List[ForwardRef('Evidence')] = <object object at 0x7c636f753d40>)[source]

Bases: Message

evidence: List[Evidence] = <object object>
class evmos.proto.autogen.py.tendermint.types.EvidenceParams(max_age_num_blocks: int = <object object>, max_age_duration: ~datetime.timedelta = <object object>, max_bytes: int = <object object>)[source]

Bases: Message

EvidenceParams determine how we handle evidence of malfeasance.

max_age_duration: timedelta = <object object>

Max age of evidence, in time. It should correspond with an app’s “unbonding period” or other similar mechanism for handling Nothing-At-Stake attacks.

max_age_num_blocks: int = <object object>

Max age of evidence, in blocks. The basic formula for calculating this is: MaxAgeDuration / {average block time}.

max_bytes: int = <object object>

This sets the maximum size of total evidence in bytes that can be committed in a single block. and should fall comfortably under the max block bytes. Default is 1048576 or 1MB

class evmos.proto.autogen.py.tendermint.types.ExtendedCommit(height: int = <object object at 0x7c636f753d40>, round: int = <object object at 0x7c636f753d40>, block_id: 'BlockId' = <object object at 0x7c636f753d40>, extended_signatures: List[ForwardRef('ExtendedCommitSig')] = <object object at 0x7c636f753d40>)[source]

Bases: Message

block_id: BlockId = <object object>
extended_signatures: List[ExtendedCommitSig] = <object object>
height: int = <object object>
round: int = <object object>
class evmos.proto.autogen.py.tendermint.types.ExtendedCommitSig(block_id_flag: ~evmos.proto.autogen.py.tendermint.types.BlockIdFlag = <object object>, validator_address: bytes = <object object>, timestamp: ~datetime.datetime = <object object>, signature: bytes = <object object>, extension: bytes = <object object>, extension_signature: bytes = <object object>)[source]

Bases: Message

ExtendedCommitSig retains all the same fields as CommitSig but adds vote extension-related fields. We use two signatures to ensure backwards compatibility. That is the digest of the original signature is still the same in prior versions

block_id_flag: BlockIdFlag = <object object>
extension: bytes = <object object>

Vote extension data

extension_signature: bytes = <object object>

Vote extension signature

signature: bytes = <object object>
timestamp: datetime = <object object>
validator_address: bytes = <object object>
class evmos.proto.autogen.py.tendermint.types.HashedParams(block_max_bytes: int = <object object>, block_max_gas: int = <object object>)[source]

Bases: Message

HashedParams is a subset of ConsensusParams. It is hashed into the Header.ConsensusHash.

block_max_bytes: int = <object object>
block_max_gas: int = <object object>
class evmos.proto.autogen.py.tendermint.types.Header(version: ~evmos.proto.autogen.py.tendermint.version.Consensus = <object object>, chain_id: str = <object object>, height: int = <object object>, time: ~datetime.datetime = <object object>, last_block_id: ~evmos.proto.autogen.py.tendermint.types.BlockId = <object object>, last_commit_hash: bytes = <object object>, data_hash: bytes = <object object>, validators_hash: bytes = <object object>, next_validators_hash: bytes = <object object>, consensus_hash: bytes = <object object>, app_hash: bytes = <object object>, last_results_hash: bytes = <object object>, evidence_hash: bytes = <object object>, proposer_address: bytes = <object object>)[source]

Bases: Message

Header defines the structure of a block header.

app_hash: bytes = <object object>
chain_id: str = <object object>
consensus_hash: bytes = <object object>
data_hash: bytes = <object object>
evidence_hash: bytes = <object object>

consensus info

height: int = <object object>
last_block_id: BlockId = <object object>

prev block info

last_commit_hash: bytes = <object object>

hashes of block data

last_results_hash: bytes = <object object>
next_validators_hash: bytes = <object object>
proposer_address: bytes = <object object>
time: datetime = <object object>
validators_hash: bytes = <object object>

hashes from the app output from the prev block

version: _version__.Consensus = <object object>

basic block info

class evmos.proto.autogen.py.tendermint.types.LightBlock(signed_header: 'SignedHeader' = <object object at 0x7c636f753d40>, validator_set: 'ValidatorSet' = <object object at 0x7c636f753d40>)[source]

Bases: Message

signed_header: SignedHeader = <object object>
validator_set: ValidatorSet = <object object>
class evmos.proto.autogen.py.tendermint.types.LightClientAttackEvidence(conflicting_block: ~evmos.proto.autogen.py.tendermint.types.LightBlock = <object object>, common_height: int = <object object>, byzantine_validators: ~typing.List[~evmos.proto.autogen.py.tendermint.types.Validator] = <object object>, total_voting_power: int = <object object>, timestamp: ~datetime.datetime = <object object>)[source]

Bases: Message

LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client.

byzantine_validators: List[Validator] = <object object>
common_height: int = <object object>
conflicting_block: LightBlock = <object object>
timestamp: datetime = <object object>
total_voting_power: int = <object object>
class evmos.proto.autogen.py.tendermint.types.Part(index: int = <object object at 0x7c636f753d40>, bytes: bytes = <object object at 0x7c636f753d40>, proof: '_crypto__.Proof' = <object object at 0x7c636f753d40>)[source]

Bases: Message

bytes: bytes = <object object>
index: int = <object object>
proof: _crypto__.Proof = <object object>
class evmos.proto.autogen.py.tendermint.types.PartSetHeader(total: int = <object object>, hash: bytes = <object object>)[source]

Bases: Message

PartsetHeader

hash: bytes = <object object>
total: int = <object object>
class evmos.proto.autogen.py.tendermint.types.Proposal(type: 'SignedMsgType' = <object object at 0x7c636f753d40>, height: int = <object object at 0x7c636f753d40>, round: int = <object object at 0x7c636f753d40>, pol_round: int = <object object at 0x7c636f753d40>, block_id: 'BlockId' = <object object at 0x7c636f753d40>, timestamp: datetime.datetime = <object object at 0x7c636f753d40>, signature: bytes = <object object at 0x7c636f753d40>)[source]

Bases: Message

block_id: BlockId = <object object>
height: int = <object object>
pol_round: int = <object object>
round: int = <object object>
signature: bytes = <object object>
timestamp: datetime = <object object>
type: SignedMsgType = <object object>
class evmos.proto.autogen.py.tendermint.types.SignedHeader(header: 'Header' = <object object at 0x7c636f753d40>, commit: 'Commit' = <object object at 0x7c636f753d40>)[source]

Bases: Message

commit: Commit = <object object>
header: Header = <object object>
class evmos.proto.autogen.py.tendermint.types.SignedMsgType(*values)[source]

Bases: Enum

SignedMsgType is a type of signed message in the consensus.

SIGNED_MSG_TYPE_PRECOMMIT = 2
SIGNED_MSG_TYPE_PREVOTE = 1

Votes

SIGNED_MSG_TYPE_PROPOSAL = 32

Proposals

SIGNED_MSG_TYPE_UNKNOWN = 0
class evmos.proto.autogen.py.tendermint.types.SimpleValidator(pub_key: '_crypto__.PublicKey' = <object object at 0x7c636f753d40>, voting_power: int = <object object at 0x7c636f753d40>)[source]

Bases: Message

pub_key: _crypto__.PublicKey = <object object>
voting_power: int = <object object>
class evmos.proto.autogen.py.tendermint.types.TxProof(root_hash: bytes = <object object>, data: bytes = <object object>, proof: ~evmos.proto.autogen.py.tendermint.crypto.Proof = <object object>)[source]

Bases: Message

TxProof represents a Merkle proof of the presence of a transaction in the Merkle tree.

data: bytes = <object object>
proof: _crypto__.Proof = <object object>
root_hash: bytes = <object object>
class evmos.proto.autogen.py.tendermint.types.Validator(address: bytes = <object object at 0x7c636f753d40>, pub_key: '_crypto__.PublicKey' = <object object at 0x7c636f753d40>, voting_power: int = <object object at 0x7c636f753d40>, proposer_priority: int = <object object at 0x7c636f753d40>)[source]

Bases: Message

address: bytes = <object object>
proposer_priority: int = <object object>
pub_key: _crypto__.PublicKey = <object object>
voting_power: int = <object object>
class evmos.proto.autogen.py.tendermint.types.ValidatorParams(pub_key_types: ~typing.List[str] = <object object>)[source]

Bases: Message

ValidatorParams restrict the public key types validators can use. NOTE: uses ABCI pubkey naming, not Amino names.

pub_key_types: List[str] = <object object>
class evmos.proto.autogen.py.tendermint.types.ValidatorSet(validators: List[ForwardRef('Validator')] = <object object at 0x7c636f753d40>, proposer: 'Validator' = <object object at 0x7c636f753d40>, total_voting_power: int = <object object at 0x7c636f753d40>)[source]

Bases: Message

proposer: Validator = <object object>
total_voting_power: int = <object object>
validators: List[Validator] = <object object>
class evmos.proto.autogen.py.tendermint.types.VersionParams(app: int = <object object>)[source]

Bases: Message

VersionParams contains the ABCI application version.

app: int = <object object>
class evmos.proto.autogen.py.tendermint.types.Vote(type: ~evmos.proto.autogen.py.tendermint.types.SignedMsgType = <object object>, height: int = <object object>, round: int = <object object>, block_id: ~evmos.proto.autogen.py.tendermint.types.BlockId = <object object>, timestamp: ~datetime.datetime = <object object>, validator_address: bytes = <object object>, validator_index: int = <object object>, signature: bytes = <object object>, extension: bytes = <object object>, extension_signature: bytes = <object object>)[source]

Bases: Message

Vote represents a prevote or precommit vote from validators for consensus.

block_id: BlockId = <object object>
extension: bytes = <object object>

Vote extension provided by the application. Only valid for precommit messages.

extension_signature: bytes = <object object>

Vote extension signature by the validator if they participated in consensus for the associated block. Only valid for precommit messages.

height: int = <object object>
round: int = <object object>
signature: bytes = <object object>

Vote signature by the validator if they participated in consensus for the associated block.

timestamp: datetime = <object object>
type: SignedMsgType = <object object>
validator_address: bytes = <object object>
validator_index: int = <object object>