EdDSA

Two-party EdDSA over Ed25519 — Solana, Stellar, and other Ed25519 chains.

Construct a session with duoInitiator and drive it through DuoSession. The stateless helpers inherited from SilentShard operate on Ed25519 keyshares.

Types

Link copied to clipboard

Internal test key provider for testing purposes ONLY.

Functions

Link copied to clipboard
open suspend override fun deriveChildPublicKey(keyshare: ByteArray, derivationPath: String): Result<ByteArray>

Derives a child public key via BIP32 hierarchical-deterministic derivation, producing many addresses from one keyshare. Runs locally.

Link copied to clipboard
fun duoInitiator(messageSigner: MessageSigner, cloudVerifyingKey: String, networkClient: SilentShardWebsocketClient<DuoNetworkAction>, storageClient: StorageClient): DuoSession

Creates an initiating DuoSession over the default WebSocket transport, reusing a SilentShardWebsocketClient you construct and own — for example to share one client across sessions and com.silencelaboratories.silentshard.network.NetworkClient.close it yourself.

fun duoInitiator(messageSigner: MessageSigner, cloudVerifyingKey: String, websocketConfig: WebsocketConfig, storageClient: StorageClient): DuoSession

Creates a DuoSession as the initiating party, over the default WebSocket transport. The recommended entry point for most integrations.

fun duoInitiator(messageSigner: MessageSigner, cloudVerifyingKey: String, storageClient: StorageClient, networkClient: NetworkClient, actionProvider: DuoNetworkActionProvider): DuoSession

Creates an initiating DuoSession over a custom transport.

Link copied to clipboard

Generates a keypair used to encrypt a keyshare export.

Link copied to clipboard
open suspend override fun getKeyshareKeyId(keyshare: ByteArray): Result<ByteArray>

Computes the keyId of a keyshare — a deterministic identifier derived from its public key. This is the same value DuoSession.keygen and DuoSession.import return. Runs locally.

Link copied to clipboard
open suspend override fun getKeysharePublicKey(keyshare: ByteArray): Result<ByteArray>

Extracts the public key from a keyshare, for deriving addresses or verifying signatures. Runs locally.