Versions in this module Expand all Collapse all v1 v1.22.88 Jan 19, 2026 v1.22.87 Jan 18, 2026 v1.22.86 Jan 13, 2026 v1.22.85 Jan 12, 2026 v1.22.84 Jan 12, 2026 v1.22.83 Jan 9, 2026 v1.22.82 Jan 5, 2026 v1.22.81 Jan 5, 2026 v1.22.80 Jan 3, 2026 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