internal

package
v0.0.0-...-ee95d54 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2023 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfirmationParticipantStatus

type ConfirmationParticipantStatus uint8
const (
	SigConfirmationAwaitConfirmation ConfirmationParticipantStatus = iota
	SigConfirmationConfirmed
	SigConfirmationDeclined
	SigConfirmationError
)

func (ConfirmationParticipantStatus) String

type DKGConfirmation

type DKGConfirmation struct {
	Quorum    DKGProposalQuorum
	CreatedAt time.Time
	UpdatedAt time.Time
	ExpiresAt time.Time
	PubPolyBz []byte
}

func (*DKGConfirmation) IsExpired

func (c *DKGConfirmation) IsExpired() bool

type DKGParticipantStatus

type DKGParticipantStatus uint8
const (
	CommitAwaitConfirmation DKGParticipantStatus = iota
	CommitConfirmed
	CommitConfirmationError
	DealAwaitConfirmation
	DealConfirmed
	DealConfirmationError
	ResponseAwaitConfirmation
	ResponseConfirmed
	ResponseConfirmationError
	MasterKeyAwaitConfirmation
	MasterKeyConfirmed
	MasterKeyConfirmationError
)

func (DKGParticipantStatus) String

func (s DKGParticipantStatus) String() string

type DKGProposalParticipant

type DKGProposalParticipant struct {
	ParticipantID int
	Username      string
	DkgPubKey     []byte
	DkgCommit     []byte
	DkgDeal       []byte
	DkgResponse   []byte
	DkgMasterKey  []byte
	Status        DKGParticipantStatus
	Error         *requests.FSMError
	UpdatedAt     time.Time
}

func (DKGProposalParticipant) GetStatus

func (dkgP DKGProposalParticipant) GetStatus() ParticipantStatus

func (DKGProposalParticipant) GetUsername

func (dkgP DKGProposalParticipant) GetUsername() string

type DKGProposalParticipantStatus

type DKGProposalParticipantStatus uint8

type DKGProposalQuorum

type DKGProposalQuorum map[int]*DKGProposalParticipant

func (DKGProposalQuorum) GetOrderedParticipants

func (q DKGProposalQuorum) GetOrderedParticipants() []*DKGProposalParticipant

type DumpedMachineProvider

type DumpedMachineProvider interface {
	fsm_pool.MachineProvider
	WithSetup(state fsm.State, payload *DumpedMachineStatePayload) DumpedMachineProvider
}

type DumpedMachineStatePayload

type DumpedMachineStatePayload struct {
	DkgId                    string
	Threshold                int
	SignatureProposalPayload *SignatureConfirmation
	DKGProposalPayload       *DKGConfirmation
	SigningProposalPayload   *SigningConfirmation
	PubKeys                  map[string]ed25519.PublicKey
	IDs                      map[string]int
}

DKG and other stages quorums are separated, because unnecessary data may be unset

func (*DumpedMachineStatePayload) DKGQuorumCount

func (p *DumpedMachineStatePayload) DKGQuorumCount() int

func (*DumpedMachineStatePayload) DKGQuorumExists

func (p *DumpedMachineStatePayload) DKGQuorumExists(id int) bool

func (*DumpedMachineStatePayload) DKGQuorumGet

func (p *DumpedMachineStatePayload) DKGQuorumGet(id int) (participant *DKGProposalParticipant)

func (*DumpedMachineStatePayload) DKGQuorumUpdate

func (p *DumpedMachineStatePayload) DKGQuorumUpdate(id int, participant *DKGProposalParticipant)

func (*DumpedMachineStatePayload) GetIDByUsername

func (p *DumpedMachineStatePayload) GetIDByUsername(username string) (int, error)

func (*DumpedMachineStatePayload) GetPubKeyByUsername

func (p *DumpedMachineStatePayload) GetPubKeyByUsername(username string) (ed25519.PublicKey, error)

func (*DumpedMachineStatePayload) GetThreshold

func (p *DumpedMachineStatePayload) GetThreshold() int

func (*DumpedMachineStatePayload) SetIDUsername

func (p *DumpedMachineStatePayload) SetIDUsername(username string, id int)

func (*DumpedMachineStatePayload) SetPubKeyUsername

func (p *DumpedMachineStatePayload) SetPubKeyUsername(username string, pubKey ed25519.PublicKey)

func (*DumpedMachineStatePayload) SigQuorumCount

func (p *DumpedMachineStatePayload) SigQuorumCount() int

func (*DumpedMachineStatePayload) SigQuorumExists

func (p *DumpedMachineStatePayload) SigQuorumExists(id int) bool

func (*DumpedMachineStatePayload) SigQuorumGet

func (p *DumpedMachineStatePayload) SigQuorumGet(id int) (participant *SignatureProposalParticipant)

func (*DumpedMachineStatePayload) SigQuorumUpdate

func (p *DumpedMachineStatePayload) SigQuorumUpdate(id int, participant *SignatureProposalParticipant)

func (*DumpedMachineStatePayload) SigningQuorumCount

func (p *DumpedMachineStatePayload) SigningQuorumCount() int

func (*DumpedMachineStatePayload) SigningQuorumExists

func (p *DumpedMachineStatePayload) SigningQuorumExists(id int) bool

func (*DumpedMachineStatePayload) SigningQuorumGet

func (p *DumpedMachineStatePayload) SigningQuorumGet(id int) (participant *SigningProposalParticipant)

func (*DumpedMachineStatePayload) SigningQuorumUpdate

func (p *DumpedMachineStatePayload) SigningQuorumUpdate(id int, participant *SigningProposalParticipant)

type ParticipantStatus

type ParticipantStatus interface {
	String() string
}

type SignatureConfirmation

type SignatureConfirmation struct {
	Quorum    SignatureProposalQuorum
	CreatedAt time.Time
	UpdatedAt time.Time
	ExpiresAt time.Time
}

func (*SignatureConfirmation) IsExpired

func (c *SignatureConfirmation) IsExpired() bool

type SignatureProposalParticipant

type SignatureProposalParticipant struct {
	ParticipantID int
	Username      string
	PubKey        ed25519.PublicKey
	DkgPubKey     []byte
	// For validation user confirmation: sign(InvitationSecret, PubKey) => user
	InvitationSecret string
	Status           ConfirmationParticipantStatus
	Threshold        int
	UpdatedAt        time.Time
}

func (SignatureProposalParticipant) GetStatus

func (SignatureProposalParticipant) GetUsername

func (sigP SignatureProposalParticipant) GetUsername() string

type SignatureProposalQuorum

type SignatureProposalQuorum map[int]*SignatureProposalParticipant

Unique alias for map iteration - Public Key Fingerprint Excludes array merge and rotate operations

func (SignatureProposalQuorum) GetOrderedParticipants

func (q SignatureProposalQuorum) GetOrderedParticipants() []*SignatureProposalParticipant

type SigningConfirmation

type SigningConfirmation struct {
	BatchID          string
	InitiatorId      int
	Quorum           SigningProposalQuorum
	RecoveredKey     []byte
	SrcPayload       []byte
	EncryptedPayload []byte
	CreatedAt        time.Time
	UpdatedAt        time.Time
	ExpiresAt        time.Time
}

func (*SigningConfirmation) IsExpired

func (c *SigningConfirmation) IsExpired() bool

type SigningParticipantStatus

type SigningParticipantStatus uint8
const (
	SigningAwaitPartialSigns SigningParticipantStatus = iota
	SigningPartialSignsConfirmed
	SigningError
	SigningProcess
)

func (SigningParticipantStatus) String

func (s SigningParticipantStatus) String() string

type SigningProposalParticipant

type SigningProposalParticipant struct {
	ParticipantID int
	Username      string
	Status        SigningParticipantStatus
	PartialSigns  map[string][]byte
	Error         *requests.FSMError
	UpdatedAt     time.Time
}

func (SigningProposalParticipant) GetStatus

func (signingP SigningProposalParticipant) GetStatus() ParticipantStatus

func (SigningProposalParticipant) GetUsername

func (signingP SigningProposalParticipant) GetUsername() string

type SigningProposalQuorum

type SigningProposalQuorum map[int]*SigningProposalParticipant

func (SigningProposalQuorum) GetOrderedParticipants

func (q SigningProposalQuorum) GetOrderedParticipants() []*SigningProposalParticipant

Jump to

Keyboard shortcuts

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