Documentation ¶
Index ¶
- Constants
- Variables
- func CheckPartitionSystemIdentifiersUnique[T SystemDescriptionRecordGetter](records []T) error
- func GetMinQuorumThreshold(totalRootValidators uint32) uint32
- func NewValidatorTrustBase(publicKeyInfo []*PublicKeyInfo) (map[string]crypto.Verifier, error)
- func ValidatorInfoUnique(validators []*PublicKeyInfo) error
- type ConsensusParams
- func (x *ConsensusParams) Bytes() []byte
- func (*ConsensusParams) Descriptor() ([]byte, []int)deprecated
- func (x *ConsensusParams) GetBlockRateMs() uint32
- func (x *ConsensusParams) GetConsensusTimeoutMs() uint32
- func (x *ConsensusParams) GetHashAlgorithm() uint32
- func (x *ConsensusParams) GetQuorumThreshold() uint32
- func (x *ConsensusParams) GetSignatures() map[string][]byte
- func (x *ConsensusParams) GetTotalRootValidators() uint32
- func (x *ConsensusParams) IsValid() error
- func (*ConsensusParams) ProtoMessage()
- func (x *ConsensusParams) ProtoReflect() protoreflect.Message
- func (x *ConsensusParams) Reset()
- func (x *ConsensusParams) Sign(id string, signer crypto.Signer) error
- func (x *ConsensusParams) String() string
- func (x *ConsensusParams) Verify(verifiers map[string]crypto.Verifier) error
- type GenesisPartitionRecord
- func (*GenesisPartitionRecord) Descriptor() ([]byte, []int)deprecated
- func (x *GenesisPartitionRecord) GetCertificate() *certificates.UnicityCertificate
- func (x *GenesisPartitionRecord) GetNodes() []*PartitionNode
- func (x *GenesisPartitionRecord) GetSystemDescriptionRecord() *SystemDescriptionRecord
- func (x *GenesisPartitionRecord) GetSystemIdentifierString() p.SystemIdentifier
- func (x *GenesisPartitionRecord) IsValid(verifiers map[string]crypto.Verifier, hashAlgorithm gocrypto.Hash) error
- func (*GenesisPartitionRecord) ProtoMessage()
- func (x *GenesisPartitionRecord) ProtoReflect() protoreflect.Message
- func (x *GenesisPartitionRecord) Reset()
- func (x *GenesisPartitionRecord) String() string
- type GenesisRootRecord
- func (*GenesisRootRecord) Descriptor() ([]byte, []int)deprecated
- func (x *GenesisRootRecord) FindPubKeyById(id string) *PublicKeyInfo
- func (x *GenesisRootRecord) GetConsensus() *ConsensusParams
- func (x *GenesisRootRecord) GetRootValidators() []*PublicKeyInfo
- func (x *GenesisRootRecord) IsValid() error
- func (*GenesisRootRecord) ProtoMessage()
- func (x *GenesisRootRecord) ProtoReflect() protoreflect.Message
- func (x *GenesisRootRecord) Reset()
- func (x *GenesisRootRecord) String() string
- func (x *GenesisRootRecord) Verify() error
- type MoneyPartitionParams
- func (*MoneyPartitionParams) Descriptor() ([]byte, []int)deprecated
- func (x *MoneyPartitionParams) GetDcMoneySupplyValue() uint64
- func (x *MoneyPartitionParams) GetInitialBillValue() uint64
- func (*MoneyPartitionParams) ProtoMessage()
- func (x *MoneyPartitionParams) ProtoReflect() protoreflect.Message
- func (x *MoneyPartitionParams) Reset()
- func (x *MoneyPartitionParams) String() string
- type PartitionGenesis
- func (*PartitionGenesis) Descriptor() ([]byte, []int)deprecated
- func (x *PartitionGenesis) FindRootPubKeyInfoById(id string) *PublicKeyInfo
- func (x *PartitionGenesis) GetCertificate() *certificates.UnicityCertificate
- func (x *PartitionGenesis) GetKeys() []*PublicKeyInfo
- func (x *PartitionGenesis) GetParams() *anypb.Any
- func (x *PartitionGenesis) GetRootValidators() []*PublicKeyInfo
- func (x *PartitionGenesis) GetSystemDescriptionRecord() *SystemDescriptionRecord
- func (x *PartitionGenesis) IsValid(verifiers map[string]crypto.Verifier, hashAlgorithm gocrypto.Hash) error
- func (*PartitionGenesis) ProtoMessage()
- func (x *PartitionGenesis) ProtoReflect() protoreflect.Message
- func (x *PartitionGenesis) Reset()
- func (x *PartitionGenesis) String() string
- type PartitionNode
- func (*PartitionNode) Descriptor() ([]byte, []int)deprecated
- func (x *PartitionNode) GetBlockCertificationRequest() *certification.BlockCertificationRequest
- func (x *PartitionNode) GetEncryptionPublicKey() []byte
- func (x *PartitionNode) GetNodeIdentifier() string
- func (x *PartitionNode) GetParams() *anypb.Any
- func (x *PartitionNode) GetSigningPublicKey() []byte
- func (x *PartitionNode) GetT2Timeout() uint32
- func (x *PartitionNode) IsValid() error
- func (*PartitionNode) ProtoMessage()
- func (x *PartitionNode) ProtoReflect() protoreflect.Message
- func (x *PartitionNode) Reset()
- func (x *PartitionNode) String() string
- type PartitionRecord
- func (*PartitionRecord) Descriptor() ([]byte, []int)deprecated
- func (x *PartitionRecord) GetPartitionNode(id string) *PartitionNode
- func (x *PartitionRecord) GetSystemDescriptionRecord() *SystemDescriptionRecord
- func (x *PartitionRecord) GetSystemIdentifier() []byte
- func (x *PartitionRecord) GetSystemIdentifierString() string
- func (x *PartitionRecord) GetValidators() []*PartitionNode
- func (x *PartitionRecord) IsValid() error
- func (*PartitionRecord) ProtoMessage()
- func (x *PartitionRecord) ProtoReflect() protoreflect.Message
- func (x *PartitionRecord) Reset()
- func (x *PartitionRecord) String() string
- type PublicKeyInfo
- func (*PublicKeyInfo) Descriptor() ([]byte, []int)deprecated
- func (x *PublicKeyInfo) GetEncryptionPublicKey() []byte
- func (x *PublicKeyInfo) GetNodeIdentifier() string
- func (x *PublicKeyInfo) GetSigningPublicKey() []byte
- func (x *PublicKeyInfo) IsValid() error
- func (*PublicKeyInfo) ProtoMessage()
- func (x *PublicKeyInfo) ProtoReflect() protoreflect.Message
- func (x *PublicKeyInfo) Reset()
- func (x *PublicKeyInfo) String() string
- type RootGenesis
- func (*RootGenesis) Descriptor() ([]byte, []int)deprecated
- func (x *RootGenesis) GetPartitionRecords() []*PartitionRecord
- func (x *RootGenesis) GetPartitions() []*GenesisPartitionRecord
- func (x *RootGenesis) GetRoot() *GenesisRootRecord
- func (x *RootGenesis) GetRoundHash() []byte
- func (x *RootGenesis) GetRoundNumber() uint64
- func (x *RootGenesis) IsValid(rootId string, verifier crypto.Verifier) error
- func (*RootGenesis) ProtoMessage()
- func (x *RootGenesis) ProtoReflect() protoreflect.Message
- func (x *RootGenesis) Reset()
- func (x *RootGenesis) String() string
- func (x *RootGenesis) Verify() error
- type SystemDescriptionRecord
- func (x *SystemDescriptionRecord) AddToHasher(hasher hash.Hash)
- func (*SystemDescriptionRecord) Descriptor() ([]byte, []int)deprecated
- func (x *SystemDescriptionRecord) GetSystemIdentifier() []byte
- func (x *SystemDescriptionRecord) GetSystemIdentifierString() string
- func (x *SystemDescriptionRecord) GetT2Timeout() uint32
- func (x *SystemDescriptionRecord) Hash(hashAlgorithm gocrypto.Hash) []byte
- func (x *SystemDescriptionRecord) IsValid() error
- func (*SystemDescriptionRecord) ProtoMessage()
- func (x *SystemDescriptionRecord) ProtoReflect() protoreflect.Message
- func (x *SystemDescriptionRecord) Reset()
- func (x *SystemDescriptionRecord) String() string
- type SystemDescriptionRecordGetter
Constants ¶
const ( ErrRootValidatorsSize = "registered root validators do not match consensus total root nodes" ErrGenesisRootIssNil = "root genesis record is nil" ErrNoRootValidators = "no root validators set" ErrConsensusIsNil = "consensus is nil" )
const ( ErrValidatorPublicInfoIsEmpty = "public key info is empty" ErrPubKeyNodeIdentifierIsEmpty = "public key info node identifier empty" ErrPubKeyInfoSigningKeyIsInvalid = "public key info singing key is invalid" ErrPubKeyInfoEncryptionIsInvalid = "public key info encryption key is invalid" )
const ( ErrConsensusParamsIsNil = "consensus record is nil" ErrInvalidNumberOfRootValidators = "invalid number of root validators" ErrConsensusNotSigned = "consensus struct is not signed" ErrBlockRateTooSmall = "block rate too small" ErrInvalidQuorumThreshold = "invalid quorum threshold" ErrUnknownHashAlgorithm = "unknown hash algorithm" ErrInvalidConsensusTimeout = "invalid consensus timeout" ErrSignerIsNil = "Signer is nil" ErrRootValidatorInfoMissing = "missing root validator public info" ErrConsensusIsNotSignedByAll = "consensus is not signed by all root validators" // MinDistributedRootValidators defines min number of distributed root chain validators. // Total number of root validators is defined by N=3f+1 // If at least one faulty/compromised validator is to be tolerated then min nodes is 3*1+1=4 MinDistributedRootValidators = 4 MinBlockRateMs = 900 )
const ( ErrRootGenesisIsNil = "root genesis is nil" ErrRootGenesisRecordIsNil = "root genesis record is nil" ErrVerifierIsNil = "verifier is nil" ErrPartitionsNotFound = "partitions not found" )
const (
ErrVerifiersEmpty = "Verifier list is empty"
)
Variables ¶
var ( ErrGenesisPartitionRecordIsNil = errors.New("genesis partition record is nil") ErrNodesAreMissing = errors.New("nodes are missing") )
var ( ErrPartitionNodeIsNil = errors.New("partition node is nil") ErrNodeIdentifierIsEmpty = errors.New("node identifier is empty") ErrSigningPublicKeyIsInvalid = errors.New("signing public key is invalid") ErrEncryptionPublicKeyIsInvalid = errors.New("encryption public key is invalid") )
var ( ErrSystemDescriptionIsNil = errors.New("system description record is nil") ErrT2TimeoutIsNil = errors.New("t2 timeout is zero") )
var ErrKeyIsNil = errors.New("key is nil")
var ErrKeysAreMissing = errors.New("partition keys are missing")
var ErrMissingRootValidators = errors.New("Missing root validators")
var ErrPartitionGenesisIsNil = errors.New("partition genesis is nil")
var ErrPartitionRecordIsNil = errors.New("partition record is nil")
var ErrPartitionUnicityCertificateIsNil = errors.New("partition unicity certificate is nil")
var ErrRootChainEncryptionKeyMissing = errors.New("root encryption public key is missing")
var ErrValidatorsMissing = errors.New("validators are missing")
var File_genesis_proto protoreflect.FileDescriptor
Functions ¶
func CheckPartitionSystemIdentifiersUnique ¶ added in v0.1.1
func CheckPartitionSystemIdentifiersUnique[T SystemDescriptionRecordGetter](records []T) error
func GetMinQuorumThreshold ¶ added in v0.1.1
GetMinQuorumThreshold calculated minimal quorum threshold from total number of validators Returns 0 if threshold cannot be calculated. Either because it is a monolithic root chain or there are less than MinDistributedRootValidators in total
func NewValidatorTrustBase ¶ added in v0.1.1
func NewValidatorTrustBase(publicKeyInfo []*PublicKeyInfo) (map[string]crypto.Verifier, error)
NewValidatorTrustBase creates a verifier to node id map from public key info using the signing public key.
func ValidatorInfoUnique ¶ added in v0.1.1
func ValidatorInfoUnique(validators []*PublicKeyInfo) error
ValidatorInfoUnique checks for duplicates in the slice, makes sure that there are no validators that share the same id or public key. There is one exception, currently a validator can use the same key for encryption and signing.
Types ¶
type ConsensusParams ¶ added in v0.1.1
type ConsensusParams struct { // Number of root validator nodes in the root cluster (1 in case of monolithic root chain) TotalRootValidators uint32 `protobuf:"varint,1,opt,name=total_root_validators,json=totalRootValidators,proto3" json:"total_root_validators,omitempty"` // Block rate (round time t3 in monolithic root chain) BlockRateMs uint32 `protobuf:"varint,2,opt,name=block_rate_ms,json=blockRateMs,proto3" json:"block_rate_ms,omitempty"` // Time to abandon proposal and vote for timeout (only used in distributed implementation) ConsensusTimeoutMs *uint32 `protobuf:"varint,3,opt,name=consensus_timeout_ms,json=consensusTimeoutMs,proto3,oneof" json:"consensus_timeout_ms,omitempty"` // Optionally define a different, higher quorum threshold (only used for distributed implementation) QuorumThreshold *uint32 `protobuf:"varint,4,opt,name=quorum_threshold,json=quorumThreshold,proto3,oneof" json:"quorum_threshold,omitempty"` // Hash algorithm for UnicityTree calculation HashAlgorithm uint32 `protobuf:"varint,5,opt,name=hash_algorithm,json=hashAlgorithm,proto3" json:"hash_algorithm,omitempty"` // Signed hash of all fields excluding signatures Signatures map[string][]byte `` /* 161-byte string literal not displayed */ // contains filtered or unexported fields }
func (*ConsensusParams) Bytes ¶ added in v0.1.1
func (x *ConsensusParams) Bytes() []byte
func (*ConsensusParams) Descriptor
deprecated
added in
v0.1.1
func (*ConsensusParams) Descriptor() ([]byte, []int)
Deprecated: Use ConsensusParams.ProtoReflect.Descriptor instead.
func (*ConsensusParams) GetBlockRateMs ¶ added in v0.1.1
func (x *ConsensusParams) GetBlockRateMs() uint32
func (*ConsensusParams) GetConsensusTimeoutMs ¶ added in v0.1.1
func (x *ConsensusParams) GetConsensusTimeoutMs() uint32
func (*ConsensusParams) GetHashAlgorithm ¶ added in v0.1.1
func (x *ConsensusParams) GetHashAlgorithm() uint32
func (*ConsensusParams) GetQuorumThreshold ¶ added in v0.1.1
func (x *ConsensusParams) GetQuorumThreshold() uint32
func (*ConsensusParams) GetSignatures ¶ added in v0.1.1
func (x *ConsensusParams) GetSignatures() map[string][]byte
func (*ConsensusParams) GetTotalRootValidators ¶ added in v0.1.1
func (x *ConsensusParams) GetTotalRootValidators() uint32
func (*ConsensusParams) IsValid ¶ added in v0.1.1
func (x *ConsensusParams) IsValid() error
func (*ConsensusParams) ProtoMessage ¶ added in v0.1.1
func (*ConsensusParams) ProtoMessage()
func (*ConsensusParams) ProtoReflect ¶ added in v0.1.1
func (x *ConsensusParams) ProtoReflect() protoreflect.Message
func (*ConsensusParams) Reset ¶ added in v0.1.1
func (x *ConsensusParams) Reset()
func (*ConsensusParams) Sign ¶ added in v0.1.1
func (x *ConsensusParams) Sign(id string, signer crypto.Signer) error
func (*ConsensusParams) String ¶ added in v0.1.1
func (x *ConsensusParams) String() string
type GenesisPartitionRecord ¶
type GenesisPartitionRecord struct { Nodes []*PartitionNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` Certificate *certificates.UnicityCertificate `protobuf:"bytes,2,opt,name=certificate,proto3" json:"certificate,omitempty"` SystemDescriptionRecord *SystemDescriptionRecord `` /* 132-byte string literal not displayed */ // contains filtered or unexported fields }
func (*GenesisPartitionRecord) Descriptor
deprecated
func (*GenesisPartitionRecord) Descriptor() ([]byte, []int)
Deprecated: Use GenesisPartitionRecord.ProtoReflect.Descriptor instead.
func (*GenesisPartitionRecord) GetCertificate ¶
func (x *GenesisPartitionRecord) GetCertificate() *certificates.UnicityCertificate
func (*GenesisPartitionRecord) GetNodes ¶
func (x *GenesisPartitionRecord) GetNodes() []*PartitionNode
func (*GenesisPartitionRecord) GetSystemDescriptionRecord ¶
func (x *GenesisPartitionRecord) GetSystemDescriptionRecord() *SystemDescriptionRecord
func (*GenesisPartitionRecord) GetSystemIdentifierString ¶
func (x *GenesisPartitionRecord) GetSystemIdentifierString() p.SystemIdentifier
func (*GenesisPartitionRecord) ProtoMessage ¶
func (*GenesisPartitionRecord) ProtoMessage()
func (*GenesisPartitionRecord) ProtoReflect ¶
func (x *GenesisPartitionRecord) ProtoReflect() protoreflect.Message
func (*GenesisPartitionRecord) Reset ¶
func (x *GenesisPartitionRecord) Reset()
func (*GenesisPartitionRecord) String ¶
func (x *GenesisPartitionRecord) String() string
type GenesisRootRecord ¶ added in v0.1.1
type GenesisRootRecord struct { RootValidators []*PublicKeyInfo `protobuf:"bytes,1,rep,name=root_validators,json=rootValidators,proto3" json:"root_validators,omitempty"` Consensus *ConsensusParams `protobuf:"bytes,2,opt,name=consensus,proto3" json:"consensus,omitempty"` // contains filtered or unexported fields }
func (*GenesisRootRecord) Descriptor
deprecated
added in
v0.1.1
func (*GenesisRootRecord) Descriptor() ([]byte, []int)
Deprecated: Use GenesisRootRecord.ProtoReflect.Descriptor instead.
func (*GenesisRootRecord) FindPubKeyById ¶ added in v0.1.1
func (x *GenesisRootRecord) FindPubKeyById(id string) *PublicKeyInfo
FindPubKeyById returns matching PublicKeyInfo matching node id or nil if not found
func (*GenesisRootRecord) GetConsensus ¶ added in v0.1.1
func (x *GenesisRootRecord) GetConsensus() *ConsensusParams
func (*GenesisRootRecord) GetRootValidators ¶ added in v0.1.1
func (x *GenesisRootRecord) GetRootValidators() []*PublicKeyInfo
func (*GenesisRootRecord) IsValid ¶ added in v0.1.1
func (x *GenesisRootRecord) IsValid() error
IsValid only validates Consensus structure and that it signed by the listed root validators
func (*GenesisRootRecord) ProtoMessage ¶ added in v0.1.1
func (*GenesisRootRecord) ProtoMessage()
func (*GenesisRootRecord) ProtoReflect ¶ added in v0.1.1
func (x *GenesisRootRecord) ProtoReflect() protoreflect.Message
func (*GenesisRootRecord) Reset ¶ added in v0.1.1
func (x *GenesisRootRecord) Reset()
func (*GenesisRootRecord) String ¶ added in v0.1.1
func (x *GenesisRootRecord) String() string
func (*GenesisRootRecord) Verify ¶ added in v0.1.1
func (x *GenesisRootRecord) Verify() error
Verify calls IsValid and makes sure that consensus total number of validators matches number of registered root validators and number of signatures in consensus structure
type MoneyPartitionParams ¶
type MoneyPartitionParams struct { InitialBillValue uint64 `protobuf:"varint,1,opt,name=initial_bill_value,json=initialBillValue,proto3" json:"initial_bill_value,omitempty"` DcMoneySupplyValue uint64 `protobuf:"varint,2,opt,name=dc_money_supply_value,json=dcMoneySupplyValue,proto3" json:"dc_money_supply_value,omitempty"` // contains filtered or unexported fields }
func (*MoneyPartitionParams) Descriptor
deprecated
func (*MoneyPartitionParams) Descriptor() ([]byte, []int)
Deprecated: Use MoneyPartitionParams.ProtoReflect.Descriptor instead.
func (*MoneyPartitionParams) GetDcMoneySupplyValue ¶
func (x *MoneyPartitionParams) GetDcMoneySupplyValue() uint64
func (*MoneyPartitionParams) GetInitialBillValue ¶
func (x *MoneyPartitionParams) GetInitialBillValue() uint64
func (*MoneyPartitionParams) ProtoMessage ¶
func (*MoneyPartitionParams) ProtoMessage()
func (*MoneyPartitionParams) ProtoReflect ¶
func (x *MoneyPartitionParams) ProtoReflect() protoreflect.Message
func (*MoneyPartitionParams) Reset ¶
func (x *MoneyPartitionParams) Reset()
func (*MoneyPartitionParams) String ¶
func (x *MoneyPartitionParams) String() string
type PartitionGenesis ¶
type PartitionGenesis struct { SystemDescriptionRecord *SystemDescriptionRecord `` /* 132-byte string literal not displayed */ Certificate *certificates.UnicityCertificate `protobuf:"bytes,2,opt,name=certificate,proto3" json:"certificate,omitempty"` RootValidators []*PublicKeyInfo `protobuf:"bytes,3,rep,name=root_validators,json=rootValidators,proto3" json:"root_validators,omitempty"` Keys []*PublicKeyInfo `protobuf:"bytes,5,rep,name=keys,proto3" json:"keys,omitempty"` Params *anypb.Any `protobuf:"bytes,6,opt,name=params,proto3" json:"params,omitempty"` // contains filtered or unexported fields }
func (*PartitionGenesis) Descriptor
deprecated
func (*PartitionGenesis) Descriptor() ([]byte, []int)
Deprecated: Use PartitionGenesis.ProtoReflect.Descriptor instead.
func (*PartitionGenesis) FindRootPubKeyInfoById ¶ added in v0.1.1
func (x *PartitionGenesis) FindRootPubKeyInfoById(id string) *PublicKeyInfo
func (*PartitionGenesis) GetCertificate ¶
func (x *PartitionGenesis) GetCertificate() *certificates.UnicityCertificate
func (*PartitionGenesis) GetKeys ¶
func (x *PartitionGenesis) GetKeys() []*PublicKeyInfo
func (*PartitionGenesis) GetParams ¶
func (x *PartitionGenesis) GetParams() *anypb.Any
func (*PartitionGenesis) GetRootValidators ¶ added in v0.1.1
func (x *PartitionGenesis) GetRootValidators() []*PublicKeyInfo
func (*PartitionGenesis) GetSystemDescriptionRecord ¶
func (x *PartitionGenesis) GetSystemDescriptionRecord() *SystemDescriptionRecord
func (*PartitionGenesis) ProtoMessage ¶
func (*PartitionGenesis) ProtoMessage()
func (*PartitionGenesis) ProtoReflect ¶
func (x *PartitionGenesis) ProtoReflect() protoreflect.Message
func (*PartitionGenesis) Reset ¶
func (x *PartitionGenesis) Reset()
func (*PartitionGenesis) String ¶
func (x *PartitionGenesis) String() string
type PartitionNode ¶
type PartitionNode struct { NodeIdentifier string `protobuf:"bytes,1,opt,name=node_identifier,json=nodeIdentifier,proto3" json:"node_identifier,omitempty"` SigningPublicKey []byte `protobuf:"bytes,2,opt,name=signing_public_key,json=signingPublicKey,proto3" json:"signing_public_key,omitempty"` EncryptionPublicKey []byte `protobuf:"bytes,3,opt,name=encryption_public_key,json=encryptionPublicKey,proto3" json:"encryption_public_key,omitempty"` BlockCertificationRequest *certification.BlockCertificationRequest `` /* 138-byte string literal not displayed */ T2Timeout uint32 `protobuf:"varint,5,opt,name=t2timeout,proto3" json:"t2timeout,omitempty"` Params *anypb.Any `protobuf:"bytes,6,opt,name=params,proto3" json:"params,omitempty"` // contains filtered or unexported fields }
func (*PartitionNode) Descriptor
deprecated
func (*PartitionNode) Descriptor() ([]byte, []int)
Deprecated: Use PartitionNode.ProtoReflect.Descriptor instead.
func (*PartitionNode) GetBlockCertificationRequest ¶
func (x *PartitionNode) GetBlockCertificationRequest() *certification.BlockCertificationRequest
func (*PartitionNode) GetEncryptionPublicKey ¶
func (x *PartitionNode) GetEncryptionPublicKey() []byte
func (*PartitionNode) GetNodeIdentifier ¶
func (x *PartitionNode) GetNodeIdentifier() string
func (*PartitionNode) GetParams ¶
func (x *PartitionNode) GetParams() *anypb.Any
func (*PartitionNode) GetSigningPublicKey ¶
func (x *PartitionNode) GetSigningPublicKey() []byte
func (*PartitionNode) GetT2Timeout ¶
func (x *PartitionNode) GetT2Timeout() uint32
func (*PartitionNode) IsValid ¶
func (x *PartitionNode) IsValid() error
func (*PartitionNode) ProtoMessage ¶
func (*PartitionNode) ProtoMessage()
func (*PartitionNode) ProtoReflect ¶
func (x *PartitionNode) ProtoReflect() protoreflect.Message
func (*PartitionNode) Reset ¶
func (x *PartitionNode) Reset()
func (*PartitionNode) String ¶
func (x *PartitionNode) String() string
type PartitionRecord ¶
type PartitionRecord struct { SystemDescriptionRecord *SystemDescriptionRecord `` /* 132-byte string literal not displayed */ Validators []*PartitionNode `protobuf:"bytes,2,rep,name=validators,proto3" json:"validators,omitempty"` // contains filtered or unexported fields }
func (*PartitionRecord) Descriptor
deprecated
func (*PartitionRecord) Descriptor() ([]byte, []int)
Deprecated: Use PartitionRecord.ProtoReflect.Descriptor instead.
func (*PartitionRecord) GetPartitionNode ¶
func (x *PartitionRecord) GetPartitionNode(id string) *PartitionNode
func (*PartitionRecord) GetSystemDescriptionRecord ¶
func (x *PartitionRecord) GetSystemDescriptionRecord() *SystemDescriptionRecord
func (*PartitionRecord) GetSystemIdentifier ¶
func (x *PartitionRecord) GetSystemIdentifier() []byte
func (*PartitionRecord) GetSystemIdentifierString ¶
func (x *PartitionRecord) GetSystemIdentifierString() string
func (*PartitionRecord) GetValidators ¶
func (x *PartitionRecord) GetValidators() []*PartitionNode
func (*PartitionRecord) IsValid ¶
func (x *PartitionRecord) IsValid() error
func (*PartitionRecord) ProtoMessage ¶
func (*PartitionRecord) ProtoMessage()
func (*PartitionRecord) ProtoReflect ¶
func (x *PartitionRecord) ProtoReflect() protoreflect.Message
func (*PartitionRecord) Reset ¶
func (x *PartitionRecord) Reset()
func (*PartitionRecord) String ¶
func (x *PartitionRecord) String() string
type PublicKeyInfo ¶
type PublicKeyInfo struct { NodeIdentifier string `protobuf:"bytes,1,opt,name=node_identifier,json=nodeIdentifier,proto3" json:"node_identifier,omitempty"` SigningPublicKey []byte `protobuf:"bytes,2,opt,name=signing_public_key,json=signingPublicKey,proto3" json:"signing_public_key,omitempty"` EncryptionPublicKey []byte `protobuf:"bytes,3,opt,name=encryption_public_key,json=encryptionPublicKey,proto3" json:"encryption_public_key,omitempty"` // contains filtered or unexported fields }
func (*PublicKeyInfo) Descriptor
deprecated
func (*PublicKeyInfo) Descriptor() ([]byte, []int)
Deprecated: Use PublicKeyInfo.ProtoReflect.Descriptor instead.
func (*PublicKeyInfo) GetEncryptionPublicKey ¶
func (x *PublicKeyInfo) GetEncryptionPublicKey() []byte
func (*PublicKeyInfo) GetNodeIdentifier ¶
func (x *PublicKeyInfo) GetNodeIdentifier() string
func (*PublicKeyInfo) GetSigningPublicKey ¶
func (x *PublicKeyInfo) GetSigningPublicKey() []byte
func (*PublicKeyInfo) IsValid ¶ added in v0.1.1
func (x *PublicKeyInfo) IsValid() error
IsValid validates that all fields are correctly set and public keys are correct.
func (*PublicKeyInfo) ProtoMessage ¶
func (*PublicKeyInfo) ProtoMessage()
func (*PublicKeyInfo) ProtoReflect ¶
func (x *PublicKeyInfo) ProtoReflect() protoreflect.Message
func (*PublicKeyInfo) Reset ¶
func (x *PublicKeyInfo) Reset()
func (*PublicKeyInfo) String ¶
func (x *PublicKeyInfo) String() string
type RootGenesis ¶
type RootGenesis struct { Root *GenesisRootRecord `protobuf:"bytes,1,opt,name=root,proto3" json:"root,omitempty"` Partitions []*GenesisPartitionRecord `protobuf:"bytes,2,rep,name=partitions,proto3" json:"partitions,omitempty"` // contains filtered or unexported fields }
func (*RootGenesis) Descriptor
deprecated
func (*RootGenesis) Descriptor() ([]byte, []int)
Deprecated: Use RootGenesis.ProtoReflect.Descriptor instead.
func (*RootGenesis) GetPartitionRecords ¶
func (x *RootGenesis) GetPartitionRecords() []*PartitionRecord
func (*RootGenesis) GetPartitions ¶
func (x *RootGenesis) GetPartitions() []*GenesisPartitionRecord
func (*RootGenesis) GetRoot ¶ added in v0.1.1
func (x *RootGenesis) GetRoot() *GenesisRootRecord
func (*RootGenesis) GetRoundHash ¶
func (x *RootGenesis) GetRoundHash() []byte
func (*RootGenesis) GetRoundNumber ¶
func (x *RootGenesis) GetRoundNumber() uint64
func (*RootGenesis) IsValid ¶
func (x *RootGenesis) IsValid(rootId string, verifier crypto.Verifier) error
IsValid verifies that the genesis file is signed by the generator and that the public key is included
func (*RootGenesis) ProtoMessage ¶
func (*RootGenesis) ProtoMessage()
func (*RootGenesis) ProtoReflect ¶
func (x *RootGenesis) ProtoReflect() protoreflect.Message
func (*RootGenesis) Reset ¶
func (x *RootGenesis) Reset()
func (*RootGenesis) String ¶
func (x *RootGenesis) String() string
func (*RootGenesis) Verify ¶ added in v0.1.1
func (x *RootGenesis) Verify() error
Verify basically same as IsValid, but verifies that the consensus structure and UC Seals are signed by all root validators
type SystemDescriptionRecord ¶
type SystemDescriptionRecord struct { SystemIdentifier []byte `protobuf:"bytes,1,opt,name=system_identifier,json=systemIdentifier,proto3" json:"system_identifier,omitempty"` T2Timeout uint32 `protobuf:"varint,2,opt,name=t2timeout,proto3" json:"t2timeout,omitempty"` // contains filtered or unexported fields }
func (*SystemDescriptionRecord) AddToHasher ¶
func (x *SystemDescriptionRecord) AddToHasher(hasher hash.Hash)
func (*SystemDescriptionRecord) Descriptor
deprecated
func (*SystemDescriptionRecord) Descriptor() ([]byte, []int)
Deprecated: Use SystemDescriptionRecord.ProtoReflect.Descriptor instead.
func (*SystemDescriptionRecord) GetSystemIdentifier ¶
func (x *SystemDescriptionRecord) GetSystemIdentifier() []byte
func (*SystemDescriptionRecord) GetSystemIdentifierString ¶
func (x *SystemDescriptionRecord) GetSystemIdentifierString() string
func (*SystemDescriptionRecord) GetT2Timeout ¶
func (x *SystemDescriptionRecord) GetT2Timeout() uint32
func (*SystemDescriptionRecord) Hash ¶
func (x *SystemDescriptionRecord) Hash(hashAlgorithm gocrypto.Hash) []byte
func (*SystemDescriptionRecord) IsValid ¶
func (x *SystemDescriptionRecord) IsValid() error
func (*SystemDescriptionRecord) ProtoMessage ¶
func (*SystemDescriptionRecord) ProtoMessage()
func (*SystemDescriptionRecord) ProtoReflect ¶
func (x *SystemDescriptionRecord) ProtoReflect() protoreflect.Message
func (*SystemDescriptionRecord) Reset ¶
func (x *SystemDescriptionRecord) Reset()
func (*SystemDescriptionRecord) String ¶
func (x *SystemDescriptionRecord) String() string
type SystemDescriptionRecordGetter ¶ added in v0.1.1
type SystemDescriptionRecordGetter interface {
GetSystemDescriptionRecord() *SystemDescriptionRecord
}