Versions in this module Expand all Collapse all v0 v0.2.0 May 20, 2024 Changes in this version + var ErrAbsentCurve = errors.New("curve is nil") + var ErrNotEnoughPeers = errors.New("not enough input peers, need at least 2") + var ErrPubKeyMismatch = errors.New("pubkey derived from recovered privkey is not equal to pubkey provided") + func RecoverPrivateKey(curve elliptic.Curve, threshold uint32, pubKey *ecpointgrouplaw.ECPoint, ...) (*ecdsa.PrivateKey, error) + func RecoverPrivateKeyWrapper(pubkeyStr PubkeyStr, serverShareStr string, clientShareStr string, ...) (*ecdsa.PrivateKey, error) type Pubkey + func (k *Pubkey) GetECPoint() (*ecpointgrouplaw.ECPoint, error) + type RecoveryPeer struct v0.1.1 Apr 26, 2024 Changes in this version + var ErrConversion = errors.New("conversion error") + func ConvertDKGResult(k *Pubkey, cfgShare string, cfgBKs map[string]BK, curve elliptic.Curve) (*dkg.Result, error) + func FromECDSAPub(pub *ecdsa.PublicKey) []byte + func GenerateSignature(r, s *big.Int, pubkey *Pubkey, msg []byte) ([]byte, error) + func IsLowS(k *ecdsa.PublicKey, s *big.Int) (bool, error) + func Keccak256(data ...[]byte) []byte + func NewServiceDkg(threshold, rank uint32, curve elliptic.Curve) *serviceDkg + func NewServiceSigner(pubkey *Pubkey, share string, BKs map[string]BK, message []byte, ...) *serviceSigner + func PubkeyToAddress(p ecdsa.PublicKey) common.Address + func Receive(tss GenericTSS, ctx context.Context, c *websocket.Conn) + func S256() elliptic.Curve + func Send(tss GenericTSS, ctx context.Context, c *websocket.Conn) + func ToLowS(k *ecdsa.PublicKey, s *big.Int) (*big.Int, error) + type BK struct + Rank uint32 + X string + type ClientDkg struct + func NewClientDkg() (*ClientDkg, error) + func (p *ClientDkg) GetNextMessageToSend() ([]byte, error) + func (p *ClientDkg) HandleMessage(msg []byte) error + func (p *ClientDkg) Process() (*DkgResult, error) + type ClientSigner struct + func NewClientSigner(pubkeyStr PubkeyStr, share string, BKs map[string]BK, message []byte) (*ClientSigner, error) + func (p *ClientSigner) GetNextMessageToSend() ([]byte, error) + func (p *ClientSigner) HandleMessage(msg []byte) error + func (p *ClientSigner) Process() (*Signature, error) + func (p *ClientSigner) Test() []byte + type DKGResult struct + BKs map[string]BK + Pubkey Pubkey + Share string + type DkgResult struct + Address string + BKs map[string]BK + Pubkey PubkeyStr + Share string + type GenericTSS interface + GetNextMessageToSend func() ([]byte, error) + HandleMessage func([]byte) error + type KeccakState interface + Read func([]byte) (int, error) + func NewKeccakState() KeccakState + type Message struct + type PeerManager struct + func NewPeerManager(id string) *PeerManager + func (p *PeerManager) AddPeer(peerID string) + func (p *PeerManager) GetNextMessageToSend(peerID string) ([]byte, error) + func (p *PeerManager) HandleMessage(msg []byte) error + func (p *PeerManager) MustSend(peerID string, message interface{}) + func (p *PeerManager) NumPeers() uint32 + func (p *PeerManager) PeerIDs() []string + func (p *PeerManager) RegisterHandleMessage(handleFunc func([]byte) error) + func (p *PeerManager) SelfID() string + type Pubkey struct + X *big.Int + Y *big.Int + func NewPubkey(k PubkeyStr) (*Pubkey, error) + func (k *Pubkey) GetAddress() common.Address + func (k *Pubkey) GetBytes() []byte + func (k *Pubkey) GetECDSA() *ecdsa.PublicKey + func (k *Pubkey) GetStr() PubkeyStr + type PubkeyStr struct + X string + Y string + type ServerDkg struct + func NewServerDkg() (*ServerDkg, error) + func (p *ServerDkg) GetNextMessageToSend() ([]byte, error) + func (p *ServerDkg) HandleMessage(msg []byte) error + func (p *ServerDkg) Process() (*DkgResult, error) + type ServerSigner struct + func NewServerSigner(pubkeyStr PubkeyStr, share string, BKs map[string]BK, message []byte) (*ServerSigner, error) + func (p *ServerSigner) GetNextMessageToSend() ([]byte, error) + func (p *ServerSigner) HandleMessage(msg []byte) error + func (p *ServerSigner) Process() (*Signature, error) + type Signature struct + R *big.Int + S *big.Int + Signature []byte + type SigningParameters struct + BKs map[string]BK + Pubkey PubkeyStr