Expand description
§Signer Traits for the Spark Wallet SDK
This module defines the trait interfaces for the signing system in Spark. The signing system is a critical component that handles all cryptographic operations including key management, ECDSA signing, FROST threshold signing, and secure key derivation.
§Trait Architecture
The signer follows a modular trait-based design:
SparkSigner
- The main trait that composes all sub-traitsSparkSignerDerivationPath
- Key derivation path handling using Spark’s custom path schemeSparkSignerEcdsa
- ECDSA signature operations for identity verificationSparkSignerEcies
- Encryption/decryption of secret keys between partiesSparkSignerFrost
- FROST nonce and commitment management for threshold signingSparkSignerFrostSigning
- FROST threshold signature operationsSparkSignerSecp256k1
- Secp256k1 keypair managementSparkSignerShamir
- Verifiable secret sharing for secure key distribution
This design allows for flexible implementation of different signing backends while ensuring all required cryptographic operations are supported.
§Implementation
The SDK provides a default implementation DefaultSigner
that manages keys in memory. Users can implement custom signers for specialized
needs such as hardware security modules or remote signing services.
Modules§
- derivation_
path - Key derivation path handling for Spark wallet
- ecdsa
- ECDSA signing operations for Spark wallet
- ecies
- ECIES encryption operations for Spark wallet
- frost
- FROST Nonce Management for Threshold Signatures
- frost_
signing - FROST threshold signing operations for Spark wallet
- secp256k1
- Secp256k1 Keypair Management for Spark Wallet
- shamir
- Shamir’s Secret Sharing for Spark Wallet
Traits§
- Spark
Signer - The main signer trait that aggregates all cryptographic capabilities required for the Spark wallet.