Key derivation
Unified signer
WalletClient, and Solana wallet-adapter.
requestSetupSignature(signer) prompts for the SETUP_MESSAGE signature; pass the
same shapes to OpaqueClient.fromWallet. See OpaqueClient overview.
Recipient resolution
client.resolveRecipient.
parseMetaAddressValue validates that both 33-byte halves are real curve points.
isOnsNameInput(name, parentName) gates the ONS path (depth-1 subnames of the parent
in force). The Solana mirror primitives (fetchOnsMirrorRecord, getOnsMirrorRecordPda,
onsNameHash, decodeOnsMirrorRecord, fetchSnsTxtRecord) live in
@opaquecash/stealth-chain-solana.
Chain deployments
@opaquecash/deployments registry; import that
package directly for raw addresses, ABIs, and Solana program ids. See
Deployments.
Indexer normalization
PSR codecs (@opaquecash/psr-core)
Chain adapters
OpaqueClient.scan. Most apps should use client.scan.
Starknet (testnet preview) ships its adapter and call builders in
@opaquecash/stealth-chain-starknet, PSR proof-verification/gating helpers in
@opaquecash/psr-chain-starknet, and resolves deployments via
getStarknetDeployment("sepolia"). See Starknet.
Solana PSR (namespaced)
AvoidscomputeSchemaId name clash with psr-core:
Prover artifacts
/circuits/....