mirror of
https://github.com/luxfi/mpc.git
synced 2026-09-24 00:26:24 +00:00
Security (from red team review): - Replay protection: request_id + timestamp freshness on sign API - Ed25519 message auth re-enabled on all protocol messages - DKG timeout (5min) + signing timeout (30s) with watchdog - Dedup map TTL cleanup (10min expiry, 2min sweep) BLS threshold signing: - KeyTypeBLS + keygen/signing sessions - TrustedDealer pattern for BLS DKG - CBOR serialization for BLS config - 8 tests ZapDB KMS-backing: - HSM PasswordProvider wired to ZapDB init - Supports: AWS KMS, GCP KMS, Azure KV, env, file - Default env for backward compat - 19 tests Also: sr25519 sessions, fixed SignWireMessage build break
43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
package event
|
|
|
|
const (
|
|
KeygenBrokerStream = "mpc-keygen"
|
|
KeygenConsumerStream = "mpc-keygen-consumer"
|
|
KeygenRequestTopic = "mpc.keygen_request.*"
|
|
)
|
|
|
|
type KeygenResultEvent struct {
|
|
WalletID string `json:"wallet_id"`
|
|
ECDSAPubKey []byte `json:"ecdsa_pub_key"`
|
|
EDDSAPubKey []byte `json:"eddsa_pub_key"`
|
|
SR25519PubKey []byte `json:"sr25519_pub_key,omitempty"`
|
|
BLSPubKey []byte `json:"bls_pub_key,omitempty"`
|
|
|
|
ResultType ResultType `json:"result_type"`
|
|
ErrorReason string `json:"error_reason"`
|
|
ErrorCode string `json:"error_code"`
|
|
}
|
|
|
|
// CreateKeygenSuccess creates a successful keygen event
|
|
func CreateKeygenSuccess(walletID string, pubKeyHex string, metadata map[string]any) *KeygenResultEvent {
|
|
return &KeygenResultEvent{
|
|
WalletID: walletID,
|
|
ECDSAPubKey: []byte(pubKeyHex),
|
|
ResultType: ResultTypeSuccess,
|
|
}
|
|
}
|
|
|
|
// CreateKeygenFailure creates a failed keygen event
|
|
func CreateKeygenFailure(walletID string, metadata map[string]any) *KeygenResultEvent {
|
|
errorMsg := ""
|
|
if err, ok := metadata["error"].(string); ok {
|
|
errorMsg = err
|
|
}
|
|
return &KeygenResultEvent{
|
|
WalletID: walletID,
|
|
ResultType: ResultTypeError,
|
|
ErrorReason: errorMsg,
|
|
ErrorCode: string(ErrorCodeKeygenFailure),
|
|
}
|
|
}
|