consensus

package
v1.13.4 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrIncorrectMessageType         = whoops.Errorf("underlying message type does not match: %T")
	ErrUnableToSaveMessageWithoutID = whoops.String("unable to save message without an ID")
	ErrMessageDoesNotExist          = whoops.Errorf("message id %d does not exist")
	ErrInvalidSignature             = whoops.String("signature is invalid")
	ErrAlreadySignedWithKey         = whoops.Errorf("message %d (%s) already signed with the key: %s")
	ErrValidatorAlreadySigned       = whoops.Errorf("validator already signed: %s")

	ErrAttestorNotSetForMessage = whoops.Errorf("attestator must be set for message: %T")
)

Variables

This section is empty.

Functions

func RemoveQueueCompletely

func RemoveQueueCompletely(ctx context.Context, cq Queuer)

Types

type BatchQueue

type BatchQueue struct {
	// contains filtered or unexported fields
}

func NewBatchQueue

func NewBatchQueue(qo QueueOptions) BatchQueue

func (BatchQueue) AddEvidence

func (c BatchQueue) AddEvidence(ctx context.Context, id uint64, evidence *types.Evidence) error

func (BatchQueue) AddSignature

func (c BatchQueue) AddSignature(ctx context.Context, id uint64, signData *types.SignData) error

func (BatchQueue) ChainInfo

func (c BatchQueue) ChainInfo() (types.ChainType, string)

func (BatchQueue) GetAll

func (BatchQueue) GetErrorData added in v1.3.0

func (c BatchQueue) GetErrorData(ctx context.Context, id uint64) (*types.ErrorData, error)

func (BatchQueue) GetMsgByID

func (c BatchQueue) GetMsgByID(ctx context.Context, id uint64) (types.QueuedSignedMessageI, error)

func (BatchQueue) GetPublicAccessData

func (c BatchQueue) GetPublicAccessData(ctx context.Context, id uint64) (*types.PublicAccessData, error)

func (BatchQueue) ProcessBatches

func (c BatchQueue) ProcessBatches(ctx context.Context) error

func (BatchQueue) Put

func (c BatchQueue) Put(ctx context.Context, msg ConsensusMsg, opts *PutOptions) (uint64, error)

func (BatchQueue) ReassignValidator added in v1.10.2

func (c BatchQueue) ReassignValidator(ctx sdk.Context, id uint64, val string) error

func (BatchQueue) Remove

func (c BatchQueue) Remove(ctx context.Context, msgID uint64) error

func (BatchQueue) SetErrorData added in v1.3.0

func (c BatchQueue) SetErrorData(ctx context.Context, id uint64, data *types.ErrorData) error

func (BatchQueue) SetPublicAccessData

func (c BatchQueue) SetPublicAccessData(ctx context.Context, id uint64, data *types.PublicAccessData) error

type ConsensusMsg

type ConsensusMsg = types.ConsensusMsg

type OptFnc

type OptFnc func(*QueueOptions)

func WithAttestator

func WithAttestator(att types.Attestator) OptFnc

func WithBatch

func WithBatch(batch bool) OptFnc

func WithBytesToSignCalc

func WithBytesToSignCalc(val types.BytesToSignFunc) OptFnc

func WithChainInfo

func WithChainInfo(chainType, chainReferenceID string) OptFnc

func WithQueueTypeName

func WithQueueTypeName(val string) OptFnc

func WithStaticTypeCheck

func WithStaticTypeCheck(val any) OptFnc

func WithVerifySignature

func WithVerifySignature(val types.VerifySignatureFunc) OptFnc

type PutOptions added in v0.6.0

type PutOptions struct {
	RequireSignatures bool
	PublicAccessData  []byte
}

type Queue

type Queue struct {
	// contains filtered or unexported fields
}

Queue is a database storing messages that need to be signed.

func NewQueue

func NewQueue(qo QueueOptions) Queue

func (Queue) AddEvidence

func (c Queue) AddEvidence(ctx context.Context, msgID uint64, evidence *types.Evidence) error

func (Queue) AddSignature

func (c Queue) AddSignature(ctx context.Context, msgID uint64, signData *types.SignData) error

AddSignature adds a signature to the message and checks if the signature is valid.

func (Queue) ChainInfo

func (c Queue) ChainInfo() (types.ChainType, string)

func (Queue) GetAll

func (c Queue) GetAll(ctx context.Context) ([]types.QueuedSignedMessageI, error)

getAll returns all messages from a signing queu

func (Queue) GetErrorData added in v1.3.0

func (c Queue) GetErrorData(ctx context.Context, msgID uint64) (*types.ErrorData, error)

func (Queue) GetMsgByID

func (c Queue) GetMsgByID(ctx context.Context, id uint64) (types.QueuedSignedMessageI, error)

getMsgByID given a message ID, it returns the message

func (Queue) GetPublicAccessData

func (c Queue) GetPublicAccessData(ctx context.Context, msgID uint64) (*types.PublicAccessData, error)

func (Queue) Put

func (c Queue) Put(ctx context.Context, msg ConsensusMsg, opts *PutOptions) (uint64, error)

Put puts raw message into a signing queue.

func (Queue) ReassignValidator added in v1.10.2

func (c Queue) ReassignValidator(ctx sdk.Context, msgID uint64, val string) error

func (Queue) Remove

func (c Queue) Remove(ctx context.Context, msgID uint64) error

remove removes the message from the queue.

func (Queue) SetErrorData added in v1.3.0

func (c Queue) SetErrorData(ctx context.Context, msgID uint64, data *types.ErrorData) error

func (Queue) SetPublicAccessData

func (c Queue) SetPublicAccessData(ctx context.Context, msgID uint64, data *types.PublicAccessData) error

SetPublicAccessData sets data that should be visible publically so that other can provide proofs.

type QueueBatcher

type QueueBatcher interface {
	Queuer
	ProcessBatches(ctx context.Context) error
}

type QueueOptions

type QueueOptions struct {
	Batched               bool
	QueueTypeName         string
	Sg                    keeperutil.StoreGetter
	Ider                  keeperutil.IDGenerator
	Cdc                   codec.BinaryCodec
	TypeCheck             types.TypeChecker
	BytesToSignCalculator types.BytesToSignFunc
	VerifySignature       types.VerifySignatureFunc
	ChainType             types.ChainType
	Attestator            types.Attestator
	ChainReferenceID      string
}

func ApplyOpts

func ApplyOpts(opts *QueueOptions, fncs ...OptFnc) *QueueOptions

type Queuer

type Queuer interface {
	Put(context.Context, ConsensusMsg, *PutOptions) (uint64, error)
	AddSignature(ctx context.Context, id uint64, signData *types.SignData) error
	AddEvidence(ctx context.Context, id uint64, evidence *types.Evidence) error
	SetPublicAccessData(ctx context.Context, id uint64, data *types.PublicAccessData) error
	GetPublicAccessData(ctx context.Context, id uint64) (*types.PublicAccessData, error)
	SetErrorData(ctx context.Context, id uint64, data *types.ErrorData) error
	GetErrorData(ctx context.Context, id uint64) (*types.ErrorData, error)
	Remove(context.Context, uint64) error
	GetAll(context.Context) ([]types.QueuedSignedMessageI, error)
	GetMsgByID(ctx context.Context, id uint64) (types.QueuedSignedMessageI, error)
	ChainInfo() (types.ChainType, string)
	ReassignValidator(ctx sdk.Context, id uint64, val string) error
}

type SupportsConsensusQueue

type SupportsConsensusQueue interface {
	SupportedQueues(ctx context.Context) ([]SupportsConsensusQueueAction, error)
}

type SupportsConsensusQueueAction

type SupportsConsensusQueueAction struct {
	QueueOptions
	ProcessMessageForAttestation func(ctx context.Context, q Queuer, msg types.QueuedSignedMessageI) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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