genesis

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: May 10, 2023 License: AGPL-3.0, ISC Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
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"
)
View Source
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"
)
View Source
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
)
View Source
const (
	ErrRootGenesisIsNil       = "root genesis is nil"
	ErrRootGenesisRecordIsNil = "root genesis record is nil"
	ErrVerifierIsNil          = "verifier is nil"
	ErrPartitionsNotFound     = "partitions not found"
)
View Source
const (
	ErrVerifiersEmpty = "Verifier list is empty"
)

Variables

View Source
var (
	ErrGenesisPartitionRecordIsNil = errors.New("genesis partition record is nil")
	ErrNodesAreMissing             = errors.New("nodes are missing")
)
View Source
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")
)
View Source
var (
	ErrSystemDescriptionIsNil = errors.New("system description record is nil")
	ErrT2TimeoutIsNil         = errors.New("t2 timeout is zero")
)
View Source
var ErrKeyIsNil = errors.New("key is nil")
View Source
var ErrKeysAreMissing = errors.New("partition keys are missing")
View Source
var ErrMissingRootValidators = errors.New("Missing root validators")
View Source
var ErrPartitionGenesisIsNil = errors.New("partition genesis is nil")
View Source
var ErrPartitionRecordIsNil = errors.New("partition record is nil")
View Source
var ErrPartitionUnicityCertificateIsNil = errors.New("partition unicity certificate is nil")
View Source
var ErrRootChainEncryptionKeyMissing = errors.New("root encryption public key is missing")
View Source
var ErrValidatorsMissing = errors.New("validators are missing")
View Source
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

func GetMinQuorumThreshold(totalRootValidators uint32) uint32

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

func (*ConsensusParams) Verify added in v0.1.1

func (x *ConsensusParams) Verify(verifiers map[string]crypto.Verifier) error

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 (*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) IsValid

func (x *GenesisPartitionRecord) IsValid(verifiers map[string]crypto.Verifier, hashAlgorithm gocrypto.Hash) error

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

func (x *PartitionGenesis) IsValid(verifiers map[string]crypto.Verifier, hashAlgorithm gocrypto.Hash) error

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
}

Jump to

Keyboard shortcuts

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