Versions in this module Expand all Collapse all v1 v1.22.79 Jan 2, 2026 v1.22.78 Jan 1, 2026 Changes in this version + const GasCreateKey + const GasGetParticipants + const GasGetPublicKey + const GasRefreshShares + const GasReshareKey + const GasThresholdSign + const GasVerifySignature + const PayloadTypeKeygenRequest + const PayloadTypeKeygenResult + const PayloadTypeQueryRequest + const PayloadTypeQueryResult + const PayloadTypeRefreshRequest + const PayloadTypeRefreshResult + const PayloadTypeReshareRequest + const PayloadTypeReshareResult + const PayloadTypeSignRequest + const PayloadTypeSignResult + const PayloadVersionV1 + const ProtocolBLS + const ProtocolCGGMP21 + const ProtocolFrost + const ProtocolLSS + const ProtocolRingtail + const ResultStatusExpired + const ResultStatusFailed + const ResultStatusPending + const ResultStatusSuccess + const StatusCompleted + const StatusExpired + const StatusFailed + const StatusPending + const StatusRunning + const ThresholdAddress + var ErrInvalidInput = errors.New("invalid input") + var ErrInvalidPayloadType = errors.New("invalid payload type") + var ErrInvalidPayloadVersion = errors.New("invalid payload version") + var ErrInvalidProtocol = errors.New("invalid protocol") + var ErrInvalidSelector = errors.New("invalid function selector") + var ErrInvalidThreshold = errors.New("invalid threshold") + var ErrKeyNotFound = errors.New("key not found") + var ErrPayloadTooShort = errors.New("payload too short") + var ErrSessionNotFound = errors.New("session not found") + var ErrUnauthorized = errors.New("unauthorized caller") + var ErrWarpSendFailed = errors.New("warp message send failed") + var SelectorCreateKey = [4]byte + var SelectorGetParticipants = [4]byte + var SelectorGetPublicKey = [4]byte + var SelectorGetSignature = [4]byte + var SelectorGetStatus = [4]byte + var SelectorRefresh = [4]byte + var SelectorReshare = [4]byte + var SelectorSign = [4]byte + var SelectorVerify = [4]byte + func FormatSignature(r, s [32]byte, v uint8) []byte + func HexToBytes32(hexStr string) ([32]byte, error) + func ParseSignature(sig []byte) (r [32]byte, s [32]byte, v uint8, err error) + func PublicKeyToAddress(pubKey []byte) [20]byte + func RequestIDFromKeyAndMessage(keyID [32]byte, messageHash [32]byte) [32]byte + func VerifySignature(pubKey []byte, messageHash []byte, r, s *big.Int) bool + type CompletedSignature struct + CompletedAt time.Time + KeyID [32]byte + MessageHash [32]byte + R [32]byte + RequestID [32]byte + S [32]byte + V uint8 + ValidatorSig [32]byte + type KeyInfo struct + CreatedAt time.Time + Generation uint64 + KeyID [32]byte + LastUsedAt time.Time + Participants [][20]byte + Protocol string + PublicKey []byte + Threshold uint8 + TotalParties uint8 + type KeygenRequestPayload struct + Expiry int64 + KeyID [32]byte + Nonce uint64 + Protocol uint8 + RequestID [32]byte + Requester [20]byte + SourceChainID [32]byte + Threshold uint8 + TotalParties uint8 + func ParseKeygenRequestPayload(data []byte) (*KeygenRequestPayload, error) + func (p *KeygenRequestPayload) Bytes() []byte + type PendingRequest struct + Callback [20]byte + CallbackData []byte + CreatedAt time.Time + ExpiresAt time.Time + KeyID [32]byte + RequestID [32]byte + RequestType uint8 + Requester [20]byte + Status uint8 + type RefreshRequestPayload struct + Expiry int64 + KeyID [32]byte + Nonce uint64 + RequestID [32]byte + Requester [20]byte + SourceChainID [32]byte + func (p *RefreshRequestPayload) Bytes() []byte + type ReshareRequestPayload struct + Expiry int64 + KeyID [32]byte + NewThreshold uint8 + Nonce uint64 + NumParticipants uint8 + Participants [][20]byte + RequestID [32]byte + Requester [20]byte + SourceChainID [32]byte + func (p *ReshareRequestPayload) Bytes() []byte + type SignRequestPayload struct + Callback [20]byte + CallbackSelector [4]byte + Expiry int64 + KeyID [32]byte + MessageHash [32]byte + Nonce uint64 + RequestID [32]byte + Requester [20]byte + SourceChainID [32]byte + func ParseSignRequestPayload(data []byte) (*SignRequestPayload, error) + func (p *SignRequestPayload) Bytes() []byte + type SignResultPayload struct + CommitteeSignature [32]byte + R [32]byte + RequestID [32]byte + S [32]byte + Status uint8 + V uint8 + func ParseSignResultPayload(data []byte) (*SignResultPayload, error) + func (p *SignResultPayload) Bytes() []byte + type ThresholdPrecompile struct + TChainID ids.ID + func NewThresholdPrecompile(tChainID ids.ID, sender WarpSender) *ThresholdPrecompile + func (p *ThresholdPrecompile) RequiredGas(input []byte) uint64 + func (p *ThresholdPrecompile) Run(input []byte) ([]byte, error) + type WarpHandler struct + func NewWarpHandler() *WarpHandler + func (h *WarpHandler) AddPendingRequest(req *PendingRequest) error + func (h *WarpHandler) CleanupExpired() + func (h *WarpHandler) GetKeyInfo(keyID [32]byte) (*KeyInfo, error) + func (h *WarpHandler) GetRequestStatus(requestID [32]byte) (uint8, error) + func (h *WarpHandler) GetSignature(requestID [32]byte) (*CompletedSignature, error) + func (h *WarpHandler) HandleWarpMessage(ctx context.Context, sourceChainID ids.ID, payload []byte) error + type WarpSender interface + SendCrossChainMessage func(destChainID ids.ID, payload []byte) error