@kingdomchain/wallet-client 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -2
- package/dist/index.d.ts +228 -2
- package/dist/index.js +733 -3
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# Kingdom Chain TypeScript / CosmJS client
|
|
2
2
|
|
|
3
|
-
Self-contained TypeScript package for constructing, signing, and broadcasting Kingdom Chain transactions via [CosmJS](https://github.com/cosmos/cosm-js). Includes a Keplr/Leap browser wallet connector for non-custodial signing.
|
|
3
|
+
Self-contained TypeScript package for constructing, signing, and broadcasting Kingdom Chain transactions via [CosmJS](https://github.com/cosmos/cosm-js). Includes a Keplr / Leap / Cosmostation browser wallet connector for non-custodial signing.
|
|
4
4
|
|
|
5
5
|
## Scope (current)
|
|
6
6
|
|
|
7
7
|
- **MsgSubmitApplication** (citizenship application)
|
|
8
8
|
- **MsgSubmitRecoveryAttestation** (wallet recovery attestation)
|
|
9
|
-
- **Browser wallet connector** (`src/browserSigner.ts`) — Keplr / Leap via `experimentalSuggestChain` + `OfflineDirectSigner`
|
|
9
|
+
- **Browser wallet connector** (`src/browserSigner.ts`) — Keplr / Leap / Cosmostation via `experimentalSuggestChain` + `OfflineDirectSigner`
|
|
10
|
+
- **WalletConnect mobile signer** (`src/walletConnectSigner.ts`) — WalletConnect v2 `OfflineDirectSigner` adapter
|
|
11
|
+
- **Embedded passkey wallet** (`src/embeddedWallet/`) — WebAuthn PRF + PBKDF2 fallback, IndexedDB vault, mandatory backup gate
|
|
10
12
|
- Ed25519 attestation signing ported from `x/compliance/types/attestation.go`
|
|
11
13
|
- Proto codegen via `ts-proto` + `buf`
|
|
12
14
|
|
|
@@ -80,6 +82,38 @@ Optional Vite env overrides (prefix `VITE_`):
|
|
|
80
82
|
|
|
81
83
|
The demo signs the provider attestation off-chain (devnet seed) and broadcasts `MsgSubmitApplication` using your connected wallet as the on-chain tx signer.
|
|
82
84
|
|
|
85
|
+
## Kingdom OS / Base44 reference wiring
|
|
86
|
+
|
|
87
|
+
Copy-paste React integration lives in `clients/kingdom-os-reference/`:
|
|
88
|
+
|
|
89
|
+
- `useKingdomWallet.js` — unified hook for Keplr, Leap, Cosmostation, WalletConnect, embedded passkey
|
|
90
|
+
- `WalletStep.jsx` — onboarding UI with side-by-side connect buttons
|
|
91
|
+
- `WalletConnectQrModal.jsx` — QR pairing modal (`VITE_WC_PROJECT_ID` required)
|
|
92
|
+
- `EmbeddedWalletPanel.jsx` — create / unlock / mandatory backup gate
|
|
93
|
+
|
|
94
|
+
See `clients/kingdom-os-reference/README.md` for env vars and usage.
|
|
95
|
+
|
|
96
|
+
### Embedded wallet API (`src/embeddedWallet/`)
|
|
97
|
+
|
|
98
|
+
- `createEmbeddedWallet({ userId, userName, displayName, rpId? })` — register passkey + encrypt vault in IndexedDB
|
|
99
|
+
- `unlockEmbeddedWallet()` — passkey assertion → in-memory session
|
|
100
|
+
- `getEmbeddedOfflineSigner()` — CosmJS signer; throws `EmbeddedWalletBackupRequiredError` until backup acknowledged
|
|
101
|
+
- `acknowledgeEmbeddedBackup()` / `downloadEmbeddedBackupFile()` — mandatory backup gate
|
|
102
|
+
- `importEmbeddedBackup(json)` — restore vault from user-held backup file
|
|
103
|
+
- `hasEmbeddedWallet()` / `clearEmbeddedWallet()` — lifecycle helpers
|
|
104
|
+
|
|
105
|
+
KDF selection: WebAuthn PRF when available, PBKDF2-passkey fallback (310k iterations — bump to 600k+ before production).
|
|
106
|
+
|
|
107
|
+
**Recovery gap (phase 3):** The encrypted backup file requires the original passkey to decrypt. Option D (BIP39 mnemonic export for passkey loss without iCloud/Google sync) is approved in the ADR but **not implemented in phase 2** — see `docs/architecture/ADR-EMBEDDED-WALLET-ONBOARDING.md` § "Known gap: Option D mnemonic recovery".
|
|
108
|
+
|
|
109
|
+
### WalletConnect API (`src/walletConnectSigner.ts`)
|
|
110
|
+
|
|
111
|
+
- `initWalletConnectClient({ chainId, projectId, metadata })`
|
|
112
|
+
- `connectWalletConnect(client, chainId)` → `{ uri, session, signer }` (display `uri` as QR)
|
|
113
|
+
- `restoreWalletConnectSession(client, chainId)` — reconnect on page load
|
|
114
|
+
- `createWalletConnectOfflineSigner(client, session, chainId)`
|
|
115
|
+
- `disconnectWalletConnect(client, session)`
|
|
116
|
+
|
|
83
117
|
### Browser wallet API (`src/browserSigner.ts`)
|
|
84
118
|
|
|
85
119
|
- `isKeplrAvailable()` / `isLeapAvailable()`
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { Registry, OfflineDirectSigner, EncodeObject } from '@cosmjs/proto-signing';
|
|
1
|
+
import { Registry, OfflineDirectSigner, DirectSecp256k1Wallet, EncodeObject } from '@cosmjs/proto-signing';
|
|
2
2
|
import { SigningStargateClient } from '@cosmjs/stargate';
|
|
3
|
+
import SignClient from '@walletconnect/sign-client';
|
|
4
|
+
import { SessionTypes, ProposalTypes } from '@walletconnect/types';
|
|
3
5
|
import { BinaryWriter, BinaryReader } from '@bufbuild/protobuf/wire';
|
|
4
6
|
|
|
5
7
|
/** Must match x/compliance/types/keys.go AttestationTypeCitizenshipApplication */
|
|
@@ -156,25 +158,249 @@ declare class RpcConnectionError extends Error {
|
|
|
156
158
|
readonly rpcUrl: string;
|
|
157
159
|
constructor(rpcUrl: string, cause?: unknown);
|
|
158
160
|
}
|
|
161
|
+
/** Cosmostation exposes a Keplr-compatible provider at providers.keplr. */
|
|
162
|
+
interface CosmostationWindowApi {
|
|
163
|
+
providers?: {
|
|
164
|
+
keplr?: BrowserWalletApi;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
159
167
|
declare global {
|
|
160
168
|
interface Window {
|
|
161
169
|
keplr?: BrowserWalletApi;
|
|
162
170
|
leap?: BrowserWalletApi;
|
|
171
|
+
cosmostation?: CosmostationWindowApi;
|
|
163
172
|
}
|
|
164
173
|
}
|
|
165
174
|
/** Validate chain endpoint inputs before passing to Keplr/Leap. */
|
|
166
175
|
declare function validateChainConfig(chainId: string, rpcUrl: string, restUrl: string): void;
|
|
167
176
|
declare function isKeplrAvailable(): boolean;
|
|
168
177
|
declare function isLeapAvailable(): boolean;
|
|
178
|
+
/** Keplr-compatible API injected by the Cosmostation extension. */
|
|
179
|
+
declare function getCosmostationKeplrApi(): BrowserWalletApi | undefined;
|
|
180
|
+
declare function isCosmostationAvailable(): boolean;
|
|
169
181
|
/** Build ChainInfo for Keplr/Leap experimentalSuggestChain. */
|
|
170
182
|
declare function buildKingdomChainInfo(chainId: string, rpcUrl: string, restUrl: string, chainName?: string): ChainInfo;
|
|
171
183
|
/** Suggest chain, request access, return CosmJS OfflineDirectSigner. */
|
|
172
184
|
declare function suggestAndConnect(walletApi: BrowserWalletApi, chainInfo: ChainInfo, walletName?: string): Promise<OfflineDirectSigner>;
|
|
173
185
|
declare function connectKeplr(chainInfo: ChainInfo): Promise<OfflineDirectSigner>;
|
|
174
186
|
declare function connectLeap(chainInfo: ChainInfo): Promise<OfflineDirectSigner>;
|
|
187
|
+
declare function connectCosmostation(chainInfo: ChainInfo): Promise<OfflineDirectSigner>;
|
|
175
188
|
/** SigningStargateClient wired with Kingdom Chain custom message registry. */
|
|
176
189
|
declare function createBrowserSigningClient(rpcUrl: string, signer: OfflineDirectSigner): Promise<SigningStargateClient>;
|
|
177
190
|
|
|
191
|
+
declare const WALLETCONNECT_COSMOS_NAMESPACE = "cosmos";
|
|
192
|
+
declare const WALLETCONNECT_COSMOS_METHODS: readonly ["cosmos_getAccounts", "cosmos_signDirect", "cosmos_signAmino"];
|
|
193
|
+
interface WalletConnectMetadata {
|
|
194
|
+
name: string;
|
|
195
|
+
description: string;
|
|
196
|
+
url: string;
|
|
197
|
+
icons: string[];
|
|
198
|
+
}
|
|
199
|
+
interface WalletConnectChainConfig {
|
|
200
|
+
chainId: string;
|
|
201
|
+
projectId: string;
|
|
202
|
+
metadata: WalletConnectMetadata;
|
|
203
|
+
relayUrl?: string;
|
|
204
|
+
}
|
|
205
|
+
interface WalletConnectConnectResult {
|
|
206
|
+
uri: string;
|
|
207
|
+
session: SessionTypes.Struct;
|
|
208
|
+
signer: OfflineDirectSigner;
|
|
209
|
+
}
|
|
210
|
+
declare class WalletConnectNotInitializedError extends Error {
|
|
211
|
+
constructor();
|
|
212
|
+
}
|
|
213
|
+
declare class WalletConnectSessionError extends Error {
|
|
214
|
+
constructor(message: string, cause?: unknown);
|
|
215
|
+
}
|
|
216
|
+
declare class WalletConnectSigningError extends Error {
|
|
217
|
+
constructor(message: string, cause?: unknown);
|
|
218
|
+
}
|
|
219
|
+
/** WalletConnect chain id: `cosmos:{chainId}`. */
|
|
220
|
+
declare function toWalletConnectCosmosChainId(chainId: string): string;
|
|
221
|
+
declare function parseWalletConnectAccount(account: string): {
|
|
222
|
+
namespace: string;
|
|
223
|
+
chainId: string;
|
|
224
|
+
address: string;
|
|
225
|
+
};
|
|
226
|
+
declare function buildRequiredCosmosNamespaces(chainId: string): ProposalTypes.RequiredNamespaces;
|
|
227
|
+
declare function initWalletConnectClient(config: WalletConnectChainConfig): Promise<SignClient>;
|
|
228
|
+
declare function createWalletConnectOfflineSigner(client: SignClient, session: SessionTypes.Struct, chainId: string): OfflineDirectSigner;
|
|
229
|
+
/** Pair with a mobile wallet; returns WC URI (for QR) and approval promise. */
|
|
230
|
+
declare function connectWalletConnect(client: SignClient, chainId: string, options?: {
|
|
231
|
+
pairingTopic?: string;
|
|
232
|
+
}): Promise<WalletConnectConnectResult>;
|
|
233
|
+
declare function disconnectWalletConnect(client: SignClient, session: SessionTypes.Struct, reason?: string): Promise<void>;
|
|
234
|
+
declare function restoreWalletConnectSession(client: SignClient, chainId: string): Promise<{
|
|
235
|
+
session: SessionTypes.Struct;
|
|
236
|
+
signer: OfflineDirectSigner;
|
|
237
|
+
} | null>;
|
|
238
|
+
|
|
239
|
+
/** Embedded wallet vault format version. */
|
|
240
|
+
declare const EMBEDDED_WALLET_VAULT_VERSION = 1;
|
|
241
|
+
declare const EMBEDDED_WALLET_KDF_PRF: "webauthn-prf";
|
|
242
|
+
declare const EMBEDDED_WALLET_KDF_PBKDF2: "pbkdf2-passkey";
|
|
243
|
+
type EmbeddedWalletKdf = typeof EMBEDDED_WALLET_KDF_PRF | typeof EMBEDDED_WALLET_KDF_PBKDF2;
|
|
244
|
+
/** Plaintext wallet payload — never persisted unencrypted. */
|
|
245
|
+
interface EmbeddedWalletPlaintext {
|
|
246
|
+
privateKey: Uint8Array;
|
|
247
|
+
hdPath: string;
|
|
248
|
+
createdAt: string;
|
|
249
|
+
}
|
|
250
|
+
/** Encrypted vault stored in IndexedDB and exported backup files. */
|
|
251
|
+
interface EmbeddedWalletVaultV1 {
|
|
252
|
+
version: typeof EMBEDDED_WALLET_VAULT_VERSION;
|
|
253
|
+
kdf: EmbeddedWalletKdf;
|
|
254
|
+
credentialId: string;
|
|
255
|
+
publicAddress: string;
|
|
256
|
+
iv: string;
|
|
257
|
+
ciphertext: string;
|
|
258
|
+
/** PBKDF2 salt (base64). Empty when kdf=webauthn-prf. */
|
|
259
|
+
kdfSalt: string;
|
|
260
|
+
/** PBKDF2 iterations. Zero when kdf=webauthn-prf. */
|
|
261
|
+
kdfIterations: number;
|
|
262
|
+
/** PRF eval salt (base64). Empty when kdf=pbkdf2-passkey. */
|
|
263
|
+
prfSalt: string;
|
|
264
|
+
/** Hard gate: must be true before any transaction is permitted. */
|
|
265
|
+
backupAcknowledged: boolean;
|
|
266
|
+
backupAcknowledgedAt?: string;
|
|
267
|
+
createdAt: string;
|
|
268
|
+
}
|
|
269
|
+
interface EmbeddedWalletBackupFileV1 {
|
|
270
|
+
format: "kingdom-os-embedded-wallet-backup";
|
|
271
|
+
version: typeof EMBEDDED_WALLET_VAULT_VERSION;
|
|
272
|
+
vault: EmbeddedWalletVaultV1;
|
|
273
|
+
exportedAt: string;
|
|
274
|
+
}
|
|
275
|
+
declare class EmbeddedWalletBackupRequiredError extends Error {
|
|
276
|
+
constructor();
|
|
277
|
+
}
|
|
278
|
+
declare class EmbeddedWalletVaultError extends Error {
|
|
279
|
+
constructor(message: string, cause?: unknown);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
interface EncryptWalletOptions {
|
|
283
|
+
kdf: EmbeddedWalletKdf;
|
|
284
|
+
credentialId: Uint8Array;
|
|
285
|
+
publicAddress: string;
|
|
286
|
+
kek: Uint8Array;
|
|
287
|
+
/** Required when kdf=pbkdf2-passkey */
|
|
288
|
+
kdfSalt?: Uint8Array;
|
|
289
|
+
/** Required when kdf=webauthn-prf */
|
|
290
|
+
prfSalt?: Uint8Array;
|
|
291
|
+
backupAcknowledged?: boolean;
|
|
292
|
+
}
|
|
293
|
+
declare function deriveKekFromPrf(prfOutput: Uint8Array): Promise<Uint8Array>;
|
|
294
|
+
/** PBKDF2-SHA256 fallback when WebAuthn PRF is unavailable (Safari cross-device QR, etc.). */
|
|
295
|
+
declare function deriveKekFromPbkdf2(passkeyMaterial: Uint8Array, salt: Uint8Array, iterations?: number): Promise<Uint8Array>;
|
|
296
|
+
declare function createPbkdf2Salt(): Uint8Array;
|
|
297
|
+
declare function createPasskeyMaterialFromAssertion(authenticatorData: Uint8Array, clientDataJSON: Uint8Array): Uint8Array;
|
|
298
|
+
declare function encryptWalletPayload(payload: EmbeddedWalletPlaintext, options: EncryptWalletOptions): Promise<EmbeddedWalletVaultV1>;
|
|
299
|
+
declare function decryptWalletPayload(vault: EmbeddedWalletVaultV1, kek: Uint8Array): Promise<EmbeddedWalletPlaintext>;
|
|
300
|
+
declare function markVaultBackupAcknowledged(vault: EmbeddedWalletVaultV1): EmbeddedWalletVaultV1;
|
|
301
|
+
declare function assertVaultPermitsTransaction(vault: EmbeddedWalletVaultV1): void;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* WebAuthn PRF capability detection for embedded wallet KEK derivation.
|
|
305
|
+
*
|
|
306
|
+
* Safari does not expose PRF during cross-device QR-code WebAuthn flows — only
|
|
307
|
+
* direct iCloud-synced passkeys. Callers must fall back to PBKDF2 in that case.
|
|
308
|
+
*/
|
|
309
|
+
interface WebAuthnPrfCapabilities {
|
|
310
|
+
/** Browser exposes PublicKeyCredential. */
|
|
311
|
+
webAuthnAvailable: boolean;
|
|
312
|
+
/** PRF extension likely usable on this device/browser combo. */
|
|
313
|
+
prfLikelySupported: boolean;
|
|
314
|
+
/** Human-readable reason when prfLikelySupported is false. */
|
|
315
|
+
prfFallbackReason?: string;
|
|
316
|
+
}
|
|
317
|
+
/** Best-effort PRF support probe — PBKDF2 fallback remains mandatory. */
|
|
318
|
+
declare function detectWebAuthnPrfCapabilities(): WebAuthnPrfCapabilities;
|
|
319
|
+
/** Extract 32-byte PRF output from assertion clientExtensionResults. */
|
|
320
|
+
declare function readPrfOutput(clientExtensionResults: AuthenticationExtensionsClientOutputs | undefined): Uint8Array | null;
|
|
321
|
+
declare function selectEmbeddedWalletKdf(caps: WebAuthnPrfCapabilities, prfOutput: Uint8Array | null): "webauthn-prf" | "pbkdf2-passkey";
|
|
322
|
+
|
|
323
|
+
declare function exportEncryptedBackup(vault: EmbeddedWalletVaultV1): EmbeddedWalletBackupFileV1;
|
|
324
|
+
declare function parseEncryptedBackup(json: string): EmbeddedWalletBackupFileV1;
|
|
325
|
+
declare function serializeBackupFile(backup: EmbeddedWalletBackupFileV1): string;
|
|
326
|
+
|
|
327
|
+
declare const WEBAUTHN_RP_NAME = "Kingdom OS";
|
|
328
|
+
interface PasskeyRegistrationResult {
|
|
329
|
+
credentialId: Uint8Array;
|
|
330
|
+
authenticatorData: Uint8Array;
|
|
331
|
+
clientDataJSON: Uint8Array;
|
|
332
|
+
prfOutput: Uint8Array | null;
|
|
333
|
+
prfSalt: Uint8Array;
|
|
334
|
+
}
|
|
335
|
+
interface PasskeyAssertionResult {
|
|
336
|
+
credentialId: Uint8Array;
|
|
337
|
+
authenticatorData: Uint8Array;
|
|
338
|
+
clientDataJSON: Uint8Array;
|
|
339
|
+
prfOutput: Uint8Array | null;
|
|
340
|
+
}
|
|
341
|
+
declare class WebAuthnUnavailableError extends Error {
|
|
342
|
+
constructor(message?: string);
|
|
343
|
+
}
|
|
344
|
+
declare class WebAuthnUserCancelledError extends Error {
|
|
345
|
+
constructor(message?: string);
|
|
346
|
+
}
|
|
347
|
+
/** Register a platform passkey; attempts PRF extension when supported. */
|
|
348
|
+
declare function registerPasskey(options: {
|
|
349
|
+
userId: Uint8Array;
|
|
350
|
+
userName: string;
|
|
351
|
+
displayName: string;
|
|
352
|
+
rpId?: string;
|
|
353
|
+
prfSalt?: Uint8Array;
|
|
354
|
+
}): Promise<PasskeyRegistrationResult>;
|
|
355
|
+
/** Assert an existing passkey; re-derives PRF output when extension succeeds. */
|
|
356
|
+
declare function assertPasskey(options: {
|
|
357
|
+
credentialId: Uint8Array;
|
|
358
|
+
rpId?: string;
|
|
359
|
+
prfSalt?: Uint8Array;
|
|
360
|
+
}): Promise<PasskeyAssertionResult>;
|
|
361
|
+
declare function encodeCredentialId(id: Uint8Array): string;
|
|
362
|
+
declare function decodeCredentialId(encoded: string): Uint8Array;
|
|
363
|
+
|
|
364
|
+
/** Build a CosmJS offline signer from decrypted vault plaintext. */
|
|
365
|
+
declare function embeddedPlaintextToSigner(plaintext: EmbeddedWalletPlaintext, prefix?: string): Promise<DirectSecp256k1Wallet>;
|
|
366
|
+
declare function defaultEmbeddedHdPath(): string;
|
|
367
|
+
|
|
368
|
+
declare function saveVaultToIndexedDb(vault: EmbeddedWalletVaultV1): Promise<void>;
|
|
369
|
+
declare function loadVaultFromIndexedDb(): Promise<EmbeddedWalletVaultV1 | null>;
|
|
370
|
+
declare function clearVaultFromIndexedDb(): Promise<void>;
|
|
371
|
+
|
|
372
|
+
interface CreateEmbeddedWalletOptions {
|
|
373
|
+
userId: Uint8Array;
|
|
374
|
+
userName: string;
|
|
375
|
+
displayName: string;
|
|
376
|
+
rpId?: string;
|
|
377
|
+
}
|
|
378
|
+
interface EmbeddedWalletSession {
|
|
379
|
+
address: string;
|
|
380
|
+
vault: EmbeddedWalletVaultV1;
|
|
381
|
+
signer: OfflineDirectSigner;
|
|
382
|
+
}
|
|
383
|
+
/** Returns true if an encrypted vault exists in IndexedDB. */
|
|
384
|
+
declare function hasEmbeddedWallet(): Promise<boolean>;
|
|
385
|
+
/** Create passkey + encrypted vault; does not unlock signer until backup is acknowledged. */
|
|
386
|
+
declare function createEmbeddedWallet(options: CreateEmbeddedWalletOptions): Promise<{
|
|
387
|
+
address: string;
|
|
388
|
+
vault: EmbeddedWalletVaultV1;
|
|
389
|
+
}>;
|
|
390
|
+
/** Unlock existing vault with passkey; requires backup acknowledged for signing. */
|
|
391
|
+
declare function unlockEmbeddedWallet(): Promise<EmbeddedWalletSession>;
|
|
392
|
+
/** Clear in-memory signer. */
|
|
393
|
+
declare function lockEmbeddedWallet(): void;
|
|
394
|
+
declare function getEmbeddedWalletSession(): EmbeddedWalletSession | null;
|
|
395
|
+
/** Offline signer for CosmJS; enforces backup gate before signing. */
|
|
396
|
+
declare function getEmbeddedOfflineSigner(): OfflineDirectSigner;
|
|
397
|
+
/** Mark backup downloaded/acknowledged and persist. Returns backup file payload. */
|
|
398
|
+
declare function acknowledgeEmbeddedBackup(): Promise<EmbeddedWalletBackupFileV1>;
|
|
399
|
+
declare function downloadEmbeddedBackupFile(backup: EmbeddedWalletBackupFileV1, filename?: string): void;
|
|
400
|
+
/** Restore vault from user-held backup file (still requires passkey to decrypt). */
|
|
401
|
+
declare function importEmbeddedBackup(json: string): Promise<EmbeddedWalletVaultV1>;
|
|
402
|
+
declare function clearEmbeddedWallet(): Promise<void>;
|
|
403
|
+
|
|
178
404
|
/**
|
|
179
405
|
* Kingdom Chain on-chain denom and display metadata.
|
|
180
406
|
*
|
|
@@ -217,4 +443,4 @@ declare function signCitizenshipAttestation(params: SubmitApplicationParams): Pr
|
|
|
217
443
|
input: AttestationPayloadInput;
|
|
218
444
|
}>;
|
|
219
445
|
|
|
220
|
-
export { ATTESTATION_TYPE_CITIZENSHIP_APPLICATION, ATTESTATION_TYPE_RECOVERY, ApplicationStatus, type AttestationPayloadInput, BECH32_PREFIX, type BrowserWalletApi, CHAIN_COIN_TYPE, type ChainCurrency, type ChainInfo, DEFAULT_CHAIN_ID, DEFAULT_REST_URL, DEFAULT_RPC_URL, InvalidChainConfigError, MsgSubmitApplication, MsgSubmitRecoveryAttestation, RecoveryAttestationStatus, RpcConnectionError, type SubmitApplicationParams, UKDR_DECIMALS, UKDR_DISPLAY_DENOM, UKDR_MINIMAL_DENOM, WalletAccountError, WalletConnectionError, WalletConnectionRejectedError, WalletNotInstalledError, attestationSignPayload, buildKingdomChainInfo, buildSubmitApplicationMsg, connectKeplr, connectLeap, createBrowserSigningClient, createKingdomChainRegistry, isKeplrAvailable, isLeapAvailable, providerSeedFromHex, publicKeyFromPrivateSeed, signAttestationPayload, signCitizenshipAttestation, suggestAndConnect, validateChainConfig };
|
|
446
|
+
export { ATTESTATION_TYPE_CITIZENSHIP_APPLICATION, ATTESTATION_TYPE_RECOVERY, ApplicationStatus, type AttestationPayloadInput, BECH32_PREFIX, type BrowserWalletApi, CHAIN_COIN_TYPE, type ChainCurrency, type ChainInfo, type CosmostationWindowApi, type CreateEmbeddedWalletOptions, DEFAULT_CHAIN_ID, DEFAULT_REST_URL, DEFAULT_RPC_URL, EMBEDDED_WALLET_KDF_PBKDF2, EMBEDDED_WALLET_KDF_PRF, EMBEDDED_WALLET_VAULT_VERSION, type EmbeddedWalletBackupFileV1, EmbeddedWalletBackupRequiredError, type EmbeddedWalletKdf, type EmbeddedWalletPlaintext, type EmbeddedWalletSession, EmbeddedWalletVaultError, type EmbeddedWalletVaultV1, type EncryptWalletOptions, InvalidChainConfigError, MsgSubmitApplication, MsgSubmitRecoveryAttestation, type PasskeyAssertionResult, type PasskeyRegistrationResult, RecoveryAttestationStatus, RpcConnectionError, type SubmitApplicationParams, UKDR_DECIMALS, UKDR_DISPLAY_DENOM, UKDR_MINIMAL_DENOM, WALLETCONNECT_COSMOS_METHODS, WALLETCONNECT_COSMOS_NAMESPACE, WEBAUTHN_RP_NAME, WalletAccountError, type WalletConnectChainConfig, type WalletConnectConnectResult, type WalletConnectMetadata, WalletConnectNotInitializedError, WalletConnectSessionError, WalletConnectSigningError, WalletConnectionError, WalletConnectionRejectedError, WalletNotInstalledError, type WebAuthnPrfCapabilities, WebAuthnUnavailableError, WebAuthnUserCancelledError, acknowledgeEmbeddedBackup, assertPasskey, assertVaultPermitsTransaction, attestationSignPayload, buildKingdomChainInfo, buildRequiredCosmosNamespaces, buildSubmitApplicationMsg, clearEmbeddedWallet, clearVaultFromIndexedDb, connectCosmostation, connectKeplr, connectLeap, connectWalletConnect, createBrowserSigningClient, createEmbeddedWallet, createKingdomChainRegistry, createPasskeyMaterialFromAssertion, createPbkdf2Salt, createWalletConnectOfflineSigner, decodeCredentialId, decryptWalletPayload, defaultEmbeddedHdPath, deriveKekFromPbkdf2, deriveKekFromPrf, detectWebAuthnPrfCapabilities, disconnectWalletConnect, downloadEmbeddedBackupFile, embeddedPlaintextToSigner, encodeCredentialId, encryptWalletPayload, exportEncryptedBackup, getCosmostationKeplrApi, getEmbeddedOfflineSigner, getEmbeddedWalletSession, hasEmbeddedWallet, importEmbeddedBackup, initWalletConnectClient, isCosmostationAvailable, isKeplrAvailable, isLeapAvailable, loadVaultFromIndexedDb, lockEmbeddedWallet, markVaultBackupAcknowledged, parseEncryptedBackup, parseWalletConnectAccount, providerSeedFromHex, publicKeyFromPrivateSeed, readPrfOutput, registerPasskey, restoreWalletConnectSession, saveVaultToIndexedDb, selectEmbeddedWalletKdf, serializeBackupFile, signAttestationPayload, signCitizenshipAttestation, suggestAndConnect, toWalletConnectCosmosChainId, unlockEmbeddedWallet, validateChainConfig };
|