Documentation
¶
Overview ¶
Package config implements the LSS configuration and storage
Index ¶
- type Config
- func (c *Config) Copy() *Config
- func (c *Config) MarshalJSON() ([]byte, error)
- func (c *Config) PartyIDs() party.IDSlice
- func (c *Config) PublicKey() (curve.Point, error)
- func (c *Config) PublicPoint() (curve.Point, error)
- func (c *Config) UnmarshalJSON(data []byte) error
- func (c *Config) Validate() error
- type Public
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// ID is this party's identifier
ID party.ID
// Group defines the elliptic curve we're using
Group curve.Curve
// Threshold is the minimum number of parties needed to sign
Threshold int
// Generation tracks the current resharing generation
Generation uint64
// RollbackFrom tracks if this config was created via rollback
RollbackFrom uint64
// ECDSA is this party's share of the master private key
ECDSA curve.Scalar
// Public maps party IDs to their public key shares
Public map[party.ID]*Public
// ChainKey is used for deriving per-signature randomness
ChainKey []byte
// RID is the unique identifier for this party's keygen session
RID []byte
}
Config represents the long-term storage for an LSS party.
func EmptyConfig ¶
EmptyConfig creates an empty Config with a specific group, ready for unmarshalling.
func (*Config) MarshalJSON ¶
MarshalJSON implements json.Marshaler
func (*Config) PublicPoint ¶
PublicPoint returns the combined public key using Lagrange interpolation
func (*Config) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler
Click to show internal directories.
Click to hide internal directories.