org.plasmalabs.consensus.models

Members list

Type members

Classlikes

final case class ActiveStaker(registration: StakingRegistration, quantity: Int128, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[ActiveStaker]

An active, registered participate in the consensus protocol, for a particular epoch.

An active, registered participate in the consensus protocol, for a particular epoch.

Value parameters

quantity

the quantity of staked tokens for the epoch

registration

the staker's registration

Attributes

Companion
object
Supertypes
trait Updatable[ActiveStaker]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ActiveStaker extends GeneratedMessageCompanion[ActiveStaker]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[ActiveStaker]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object ActiveStakerValidator extends Validator[ActiveStaker]

Attributes

Supertypes
trait Validator[ActiveStaker]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class BlockHeader(headerId: Option[BlockId], parentHeaderId: BlockId, parentSlot: Long, txRoot: ByteString, bloomFilter: ByteString, timestamp: Long, height: Long, slot: Long, eligibilityCertificate: EligibilityCertificate, operationalCertificate: OperationalCertificate, metadata: ByteString, address: StakingAddress, version: ProtocolVersion, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[BlockHeader]

Captures a block producer's consensus-commitment to a new block

Captures a block producer's consensus-commitment to a new block

Value parameters

address

The operator's staking address

bloomFilter

A fuzzy search for addresses associated with this block length = 256

eligibilityCertificate

A certificate indicating that the block producer was eligible to make this block

headerId

The ID of this block header. This value is optional and its contents are not included in the signable or identifiable data. Clients which can verify this value should verify this value, but some clients may not be able to or need to, in which case this field acts as a convenience.

height

The 1-based index of this block in the blockchain

metadata

Optional metadata stamped by the operator. Must be latin-1 encoded, and must be at most 32 bytes in length. optional

operationalCertificate

A certificate indicating the operator's commitment to this block

parentHeaderId

The parent block's ID. Each header builds from a single parent.

parentSlot

The slot of the parent block

slot

The time-slot in which the block producer created the block

timestamp

The UTC UNIX timestamp (ms) when the block was created

txRoot

The commitment/accumulator of the block body length = 32

version

Protocol Version

Attributes

Companion
object
Supertypes
trait Updatable[BlockHeader]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object BlockHeader extends GeneratedMessageCompanion[BlockHeader]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[BlockHeader]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object BlockHeaderProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type
object BlockHeaderValidator extends Validator[BlockHeader]

Attributes

Supertypes
trait Validator[BlockHeader]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class BlockId(value: ByteString, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[BlockId]

Value parameters

value

length = 32

Attributes

Companion
object
Supertypes
trait Updatable[BlockId]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object BlockId extends GeneratedMessageCompanion[BlockId]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[BlockId]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
BlockId.type
object BlockIdProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type
object BlockIdValidator extends Validator[BlockId]

Attributes

Supertypes
trait Validator[BlockId]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class EligibilityCertificate(vrfSig: ByteString, vrfVK: ByteString, thresholdEvidence: ByteString, eta: ByteString, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[EligibilityCertificate]

A certificate proving the operator's election

A certificate proving the operator's election

Value parameters

eta

The epoch's randomness length = 32

thresholdEvidence

Hash of the operator's threshold routine = blake2b256 length = 32

vrfSig

Signs eta ++ slot using the vrfSK

vrfVK

The VRF VK

Attributes

Companion
object
Supertypes
trait Updatable[EligibilityCertificate]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object EligibilityCertificate extends GeneratedMessageCompanion[EligibilityCertificate]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[EligibilityCertificate]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object EligibilityCertificateProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
trait Validator[EligibilityCertificate]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class OperationalCertificate(parentVK: VerificationKeyKesProduct, parentSignature: SignatureKesProduct, childVK: ByteString, childSignature: ByteString, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[OperationalCertificate]

A certificate which commits an operator to a linear key, which is then used to sign the block

A certificate which commits an operator to a linear key, which is then used to sign the block

Value parameters

childSignature

The signature of the block

childVK

The linear VK

parentSignature

Signs the childVK using the parentSK

parentVK

The KES VK of the parent key (forward-secure) (hour+minute hands)

Attributes

Companion
object
Supertypes
trait Updatable[OperationalCertificate]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object OperationalCertificate extends GeneratedMessageCompanion[OperationalCertificate]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[OperationalCertificate]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object OperationalCertificateProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
trait Validator[OperationalCertificate]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class ProtocolVersion(versionId: Int, votedVersionId: Int, votedProposalId: Int, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[ProtocolVersion]

Protocol Version Specification

Protocol Version Specification

Value parameters

versionId

versionId Current version id of the chain

votedProposalId

votedProposalId For which proposal block producer is vote, so proposal could be recognized as version. 0 is no vote

votedVersionId

votedVersionId For which version block producer is vote. 0 is no vote

Attributes

Companion
object
Supertypes
trait Updatable[ProtocolVersion]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ProtocolVersion extends GeneratedMessageCompanion[ProtocolVersion]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[ProtocolVersion]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object ProtocolVersionProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type
object ProtocolVersionValidator extends Validator[ProtocolVersion]

Attributes

Supertypes
trait Validator[ProtocolVersion]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class SignatureKesProduct(superSignature: SignatureKesSum, subSignature: SignatureKesSum, subRoot: ByteString, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[SignatureKesProduct]

Value parameters

subRoot

length = 32

Attributes

Companion
object
Supertypes
trait Updatable[SignatureKesProduct]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SignatureKesProduct extends GeneratedMessageCompanion[SignatureKesProduct]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[SignatureKesProduct]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Validator[SignatureKesProduct]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class SignatureKesSum(verificationKey: ByteString, signature: ByteString, witness: Seq[ByteString], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[SignatureKesSum]

Value parameters

witness

item length = 32

Attributes

Companion
object
Supertypes
trait Updatable[SignatureKesSum]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SignatureKesSum extends GeneratedMessageCompanion[SignatureKesSum]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[SignatureKesSum]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object SignatureKesSumValidator extends Validator[SignatureKesSum]

Attributes

Supertypes
trait Validator[SignatureKesSum]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class SlotData(slotId: SlotId, parentSlotId: SlotId, rho: ByteString, eta: ByteString, height: Long, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[SlotData]

Represents a "mini" block header, containing just a subset of its data needed to quickly inspect consensus characteristics of a block

Represents a "mini" block header, containing just a subset of its data needed to quickly inspect consensus characteristics of a block

Value parameters

eta

The "eta" corresponding to "this" block length = 32

height

The height of "this" block

parentSlotId

The slot ID corresponding to "this" block's parent

rho

The "rho" corresponding to "this" block length = 64

slotId

The slot ID corresponding to "this" block

Attributes

Companion
object
Supertypes
trait Updatable[SlotData]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SlotData extends GeneratedMessageCompanion[SlotData]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[SlotData]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
SlotData.type
object SlotDataProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type
object SlotDataValidator extends Validator[SlotData]

Attributes

Supertypes
trait Validator[SlotData]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class SlotId(slot: Long, blockId: BlockId, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[SlotId]

A glorified tuple

A glorified tuple

Value parameters

blockId

The ID of the block

slot

The slot in which a block was created

Attributes

Companion
object
Supertypes
trait Updatable[SlotId]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SlotId extends GeneratedMessageCompanion[SlotId]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[SlotId]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
SlotId.type
object SlotIdValidator extends Validator[SlotId]

Attributes

Supertypes
trait Validator[SlotId]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class StakingAddress(value: ByteString, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[StakingAddress]

A reference to a unique staker

A reference to a unique staker

Value parameters

value

The address bytes of the staker, usually an ed25519 VK

Attributes

Companion
object
Supertypes
trait Updatable[StakingAddress]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object StakingAddress extends GeneratedMessageCompanion[StakingAddress]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[StakingAddress]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
object StakingAddressValidator extends Validator[StakingAddress]

Attributes

Supertypes
trait Validator[StakingAddress]
trait Serializable
class Object
trait Matchable
class Any
Self type
object StakingProto extends GeneratedFileObject

Attributes

Supertypes
class GeneratedFileObject
class Object
trait Matchable
class Any
Self type
final case class StakingRegistration(address: StakingAddress, signature: SignatureKesProduct, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[StakingRegistration]

A proof-of-stake registration

A proof-of-stake registration

Value parameters

address

the staker's address

signature

the staker's commitment to a VRF VK and StakingAddress, signed using KES SK at timestep=0

Attributes

Companion
object
Supertypes
trait Updatable[StakingRegistration]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object StakingRegistration extends GeneratedMessageCompanion[StakingRegistration]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[StakingRegistration]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Validator[StakingRegistration]
trait Serializable
class Object
trait Matchable
class Any
Self type
final case class VerificationKeyKesProduct(value: ByteString, step: Int, unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[VerificationKeyKesProduct]

Value parameters

value

length = 32

Attributes

Companion
object
Supertypes
trait Updatable[VerificationKeyKesProduct]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object VerificationKeyKesProduct extends GeneratedMessageCompanion[VerificationKeyKesProduct]

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
trait GeneratedMessageCompanion[VerificationKeyKesProduct]
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Validator[VerificationKeyKesProduct]
trait Serializable
class Object
trait Matchable
class Any
Self type