@digitalshieldfe/airgap-secure-keyring
v0.1.3
Published
Native cold seed holder — seed never returned to JS; BIP32/sign in native
Readme
@digitalshieldfe/airgap-secure-keyring
Native cold-wallet seed holder for React Native (iOS / Android).
- BIP39 seed is derived and kept only in native memory
- JS receives public keys and signatures only (
ColdSigner) - Used by
@digitalshieldfe/examplewithholdMnemonicInJs: false
Link
Autolinking via react-native.config.js / podspec. After adding the dependency:
yarn
yarn workspace @digitalshieldfe/example pods # iOSAPI
import {
createNativeSecureKeyring,
isNativeSecureKeyringAvailable,
} from "@digitalshieldfe/airgap-secure-keyring";
const keyring = await createNativeSecureKeyring();
await keyring.importMnemonic({ words: mnemonic });
const signer = keyring.asColdSigner();Pair with createColdVault from @digitalshieldfe/airgap-keyring and AirGapColdSdk from @digitalshieldfe/airgap-cold.
Errors
When the native module is missing or unsupported, throws AirGapError:
| code | When |
|--------|------|
| NATIVE_SECURE_KEYRING_NOT_LINKED | TurboModule / bridge not linked |
| NATIVE_SECURE_KEYRING_UNSUPPORTED | Platform or build without native impl |
import { isAirGapError, AirGapErrorCode } from "@digitalshieldfe/airgap-core";
if (!isNativeSecureKeyringAvailable()) {
// show setup / rebuild instructions
}PIN KDF native errors (NATIVE_PIN_KDF_NOT_LINKED) come from @digitalshieldfe/airgap-pin-kdf.
See root README §12.
