@unicitylabs/sphere-sdk 0.3.1 → 0.3.2

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/dist/index.d.ts CHANGED
@@ -1195,6 +1195,9 @@ interface SphereEventMap {
1195
1195
  'connection:changed': {
1196
1196
  provider: string;
1197
1197
  connected: boolean;
1198
+ status?: ProviderStatus;
1199
+ enabled?: boolean;
1200
+ error?: string;
1198
1201
  };
1199
1202
  'nametag:registered': {
1200
1203
  nametag: string;
@@ -1351,6 +1354,74 @@ interface WalletJSONExportOptions$1 {
1351
1354
  addressCount?: number;
1352
1355
  }
1353
1356
 
1357
+ /**
1358
+ * Result of a single service health check
1359
+ */
1360
+ interface ServiceHealthResult {
1361
+ /** Whether the service is reachable */
1362
+ healthy: boolean;
1363
+ /** URL that was checked */
1364
+ url: string;
1365
+ /** Response time in ms (null if unreachable) */
1366
+ responseTimeMs: number | null;
1367
+ /** Error message if unhealthy */
1368
+ error?: string;
1369
+ }
1370
+ /**
1371
+ * User-provided health check function for custom services.
1372
+ * Receives the configured timeout and should return a ServiceHealthResult.
1373
+ */
1374
+ type HealthCheckFn = (timeoutMs: number) => Promise<ServiceHealthResult>;
1375
+ /**
1376
+ * Result of checking all network services (pre-init)
1377
+ */
1378
+ interface NetworkHealthResult {
1379
+ /** Overall health: true if all checked services are reachable */
1380
+ healthy: boolean;
1381
+ /** Per-service results (built-in + custom) */
1382
+ services: {
1383
+ relay?: ServiceHealthResult;
1384
+ oracle?: ServiceHealthResult;
1385
+ l1?: ServiceHealthResult;
1386
+ /** Custom service results keyed by user-provided name */
1387
+ [key: string]: ServiceHealthResult | undefined;
1388
+ };
1389
+ /** Total time to complete all checks (ms) */
1390
+ totalTimeMs: number;
1391
+ }
1392
+ /** Role of a provider in the system */
1393
+ type ProviderRole = 'storage' | 'token-storage' | 'transport' | 'oracle' | 'l1' | 'price';
1394
+ /**
1395
+ * Rich status information for a single provider (used in getStatus())
1396
+ */
1397
+ interface ProviderStatusInfo {
1398
+ /** Provider unique ID */
1399
+ id: string;
1400
+ /** Display name */
1401
+ name: string;
1402
+ /** Role in the system */
1403
+ role: ProviderRole;
1404
+ /** Detailed status */
1405
+ status: ProviderStatus;
1406
+ /** Shorthand for status === 'connected' */
1407
+ connected: boolean;
1408
+ /** Whether the provider is enabled (can be toggled at runtime) */
1409
+ enabled: boolean;
1410
+ /** Provider-specific metadata (e.g., relay count for transport) */
1411
+ metadata?: Record<string, unknown>;
1412
+ }
1413
+ /**
1414
+ * Aggregated status of all providers, grouped by role
1415
+ */
1416
+ interface SphereStatus {
1417
+ storage: ProviderStatusInfo[];
1418
+ tokenStorage: ProviderStatusInfo[];
1419
+ transport: ProviderStatusInfo[];
1420
+ oracle: ProviderStatusInfo[];
1421
+ l1: ProviderStatusInfo[];
1422
+ price: ProviderStatusInfo[];
1423
+ }
1424
+
1354
1425
  /**
1355
1426
  * Transport Provider Interface
1356
1427
  * Platform-independent P2P messaging abstraction
@@ -1762,6 +1833,7 @@ interface L1PaymentsModuleDependencies {
1762
1833
  */
1763
1834
  declare class L1PaymentsModule {
1764
1835
  private _initialized;
1836
+ private _disabled;
1765
1837
  private _config;
1766
1838
  private _identity?;
1767
1839
  private _addresses;
@@ -1776,6 +1848,15 @@ declare class L1PaymentsModule {
1776
1848
  */
1777
1849
  private ensureConnected;
1778
1850
  destroy(): void;
1851
+ /**
1852
+ * Disable this module — disconnect WebSocket and block operations until re-enabled.
1853
+ */
1854
+ disable(): void;
1855
+ /**
1856
+ * Re-enable this module. Connection will be established lazily on next operation.
1857
+ */
1858
+ enable(): void;
1859
+ get disabled(): boolean;
1779
1860
  /**
1780
1861
  * Check if a string looks like an L1 address (alpha1... or alphat1...)
1781
1862
  */
@@ -2338,6 +2419,8 @@ interface PaymentsModuleDependencies {
2338
2419
  l1Addresses?: string[];
2339
2420
  /** Price provider (optional — enables fiat value display) */
2340
2421
  price?: PriceProvider;
2422
+ /** Set of disabled provider IDs — disabled providers are skipped during sync/save */
2423
+ disabledProviderIds?: ReadonlySet<string>;
2341
2424
  }
2342
2425
  declare class PaymentsModule {
2343
2426
  private readonly moduleConfig;
@@ -2920,9 +3003,13 @@ declare class PaymentsModule {
2920
3003
  */
2921
3004
  private debouncedSyncFromRemoteUpdate;
2922
3005
  /**
2923
- * Get all active token storage providers
3006
+ * Get all active (non-disabled) token storage providers
2924
3007
  */
2925
3008
  private getTokenStorageProviders;
3009
+ /**
3010
+ * Check if the price provider is disabled via the disabled providers set.
3011
+ */
3012
+ private isPriceDisabled;
2926
3013
  /**
2927
3014
  * Replace the set of token storage providers at runtime.
2928
3015
  *
@@ -3716,6 +3803,9 @@ declare class Sphere {
3716
3803
  private _communications;
3717
3804
  private _groupChat;
3718
3805
  private eventHandlers;
3806
+ private _disabledProviders;
3807
+ private _providerEventCleanups;
3808
+ private _lastProviderConnected;
3719
3809
  private constructor();
3720
3810
  /**
3721
3811
  * Check if wallet exists in storage
@@ -4179,18 +4269,48 @@ declare class Sphere {
4179
4269
  hidden: boolean;
4180
4270
  nametag?: string;
4181
4271
  }>): Promise<void>;
4182
- getStatus(): {
4183
- storage: {
4184
- connected: boolean;
4185
- };
4186
- transport: {
4187
- connected: boolean;
4188
- };
4189
- oracle: {
4190
- connected: boolean;
4191
- };
4192
- };
4272
+ /**
4273
+ * Get aggregated status of all providers, grouped by role.
4274
+ *
4275
+ * @example
4276
+ * ```ts
4277
+ * const status = sphere.getStatus();
4278
+ * // status.transport[0].connected // true/false
4279
+ * // status.transport[0].metadata?.relays // { total: 3, connected: 2 }
4280
+ * // status.tokenStorage // all registered token storage providers
4281
+ * ```
4282
+ */
4283
+ getStatus(): SphereStatus;
4193
4284
  reconnect(): Promise<void>;
4285
+ /**
4286
+ * Disable a provider at runtime. The provider stays registered but is disconnected
4287
+ * and skipped during operations (e.g., sync).
4288
+ *
4289
+ * Main storage provider cannot be disabled.
4290
+ *
4291
+ * @returns true if successfully disabled, false if provider not found
4292
+ */
4293
+ disableProvider(providerId: string): Promise<boolean>;
4294
+ /**
4295
+ * Re-enable a previously disabled provider. Reconnects and resumes operations.
4296
+ *
4297
+ * @returns true if successfully enabled, false if provider not found
4298
+ */
4299
+ enableProvider(providerId: string): Promise<boolean>;
4300
+ /**
4301
+ * Check if a provider is currently enabled
4302
+ */
4303
+ isProviderEnabled(providerId: string): boolean;
4304
+ /**
4305
+ * Get the set of disabled provider IDs (for passing to modules)
4306
+ */
4307
+ getDisabledProviderIds(): ReadonlySet<string>;
4308
+ /** Get the price provider's ID (implementation detail — not on PriceProvider interface) */
4309
+ private get _priceProviderId();
4310
+ /**
4311
+ * Find a provider by ID across all provider collections
4312
+ */
4313
+ private findProviderById;
4194
4314
  on<T extends SphereEventType>(type: T, handler: SphereEventHandler<T>): () => void;
4195
4315
  off<T extends SphereEventType>(type: T, handler: SphereEventHandler<T>): void;
4196
4316
  sync(): Promise<void>;
@@ -4326,6 +4446,16 @@ declare class Sphere {
4326
4446
  private initializeIdentityFromMnemonic;
4327
4447
  private initializeIdentityFromMasterKey;
4328
4448
  private initializeProviders;
4449
+ /**
4450
+ * Subscribe to provider-level events and bridge them to Sphere connection:changed events.
4451
+ * Uses deduplication to avoid emitting duplicate events.
4452
+ */
4453
+ private subscribeToProviderEvents;
4454
+ /**
4455
+ * Emit connection:changed with deduplication — only emits if status actually changed.
4456
+ */
4457
+ private emitConnectionChanged;
4458
+ private cleanupProviderEventSubscriptions;
4329
4459
  private initializeModules;
4330
4460
  private ensureReady;
4331
4461
  private emitEvent;
@@ -4489,6 +4619,103 @@ declare function randomHex(byteLength: number): string;
4489
4619
  */
4490
4620
  declare function randomUUID(): string;
4491
4621
 
4622
+ /**
4623
+ * Network Health Check
4624
+ *
4625
+ * Standalone utility for checking network service availability before Sphere.init().
4626
+ * Uses NETWORKS config for URLs — no providers or Sphere instance needed.
4627
+ */
4628
+
4629
+ type ServiceName = 'relay' | 'oracle' | 'l1';
4630
+ interface CheckNetworkHealthOptions {
4631
+ /** Timeout per service check in ms (default: 5000) */
4632
+ timeoutMs?: number;
4633
+ /** Which services to check (default: all) */
4634
+ services?: ServiceName[];
4635
+ /** Custom URLs — override defaults from NETWORKS[network] */
4636
+ urls?: {
4637
+ /** Custom Nostr relay WebSocket URL (e.g. 'wss://my-relay.example.com') */
4638
+ relay?: string;
4639
+ /** Custom aggregator HTTP URL (e.g. 'https://my-aggregator.example.com') */
4640
+ oracle?: string;
4641
+ /** Custom Electrum WebSocket URL (e.g. 'wss://my-fulcrum.example.com:50004') */
4642
+ l1?: string;
4643
+ };
4644
+ /**
4645
+ * Custom health checks — run in parallel alongside built-in checks.
4646
+ * Key = service name (e.g. 'mongodb', 'ipfs', 'redis'), value = check function.
4647
+ *
4648
+ * @example
4649
+ * ```typescript
4650
+ * const health = await checkNetworkHealth('testnet', {
4651
+ * checks: {
4652
+ * mongodb: async (timeoutMs) => {
4653
+ * const start = Date.now();
4654
+ * try {
4655
+ * await mongoClient.db().command({ ping: 1 });
4656
+ * return { healthy: true, url: 'mongodb://localhost:27017', responseTimeMs: Date.now() - start };
4657
+ * } catch (err) {
4658
+ * return { healthy: false, url: 'mongodb://localhost:27017', responseTimeMs: null, error: err.message };
4659
+ * }
4660
+ * },
4661
+ * },
4662
+ * });
4663
+ * // health.services.mongodb?.healthy
4664
+ * ```
4665
+ */
4666
+ checks?: Record<string, HealthCheckFn>;
4667
+ }
4668
+ /**
4669
+ * Check network service availability before Sphere.init().
4670
+ *
4671
+ * Runs all checks in parallel. Each service is tested independently with its own timeout.
4672
+ *
4673
+ * @example
4674
+ * ```typescript
4675
+ * import { checkNetworkHealth } from '@unicitylabs/sphere-sdk';
4676
+ *
4677
+ * const health = await checkNetworkHealth('testnet');
4678
+ * if (health.healthy) {
4679
+ * // Safe to init
4680
+ * const { sphere } = await Sphere.init({ ... });
4681
+ * } else {
4682
+ * // Show which services are down
4683
+ * for (const [name, result] of Object.entries(health.services)) {
4684
+ * if (!result.healthy) console.warn(`${name}: ${result.error}`);
4685
+ * }
4686
+ * }
4687
+ *
4688
+ * // Check only specific services
4689
+ * const relayHealth = await checkNetworkHealth('testnet', { services: ['relay'] });
4690
+ *
4691
+ * // Use custom URLs instead of defaults
4692
+ * const custom = await checkNetworkHealth('testnet', {
4693
+ * urls: {
4694
+ * relay: 'wss://my-relay.example.com',
4695
+ * oracle: 'https://my-aggregator.example.com',
4696
+ * l1: 'wss://my-fulcrum.example.com:50004',
4697
+ * },
4698
+ * });
4699
+ *
4700
+ * // Add custom health checks for your own providers
4701
+ * const health = await checkNetworkHealth('testnet', {
4702
+ * checks: {
4703
+ * mongodb: async (timeoutMs) => {
4704
+ * const start = Date.now();
4705
+ * try {
4706
+ * await mongoClient.db().command({ ping: 1 });
4707
+ * return { healthy: true, url: 'mongodb://localhost:27017', responseTimeMs: Date.now() - start };
4708
+ * } catch (err) {
4709
+ * return { healthy: false, url: 'mongodb://localhost:27017', responseTimeMs: null, error: String(err) };
4710
+ * }
4711
+ * },
4712
+ * },
4713
+ * });
4714
+ * // health.services.mongodb?.healthy === true
4715
+ * ```
4716
+ */
4717
+ declare function checkNetworkHealth(network?: NetworkType, options?: CheckNetworkHealthOptions): Promise<NetworkHealthResult>;
4718
+
4492
4719
  /**
4493
4720
  * Wallet Text Format Parsing
4494
4721
  *
@@ -5661,4 +5888,4 @@ declare function getCoinIdBySymbol(symbol: string): string | undefined;
5661
5888
  */
5662
5889
  declare function getCoinIdByName(name: string): string | undefined;
5663
5890
 
5664
- export { type AddressInfo, type AddressMode, type AggregatorClient, type AggregatorEvent, type AggregatorEventCallback, type AggregatorEventType, type AggregatorProvider, type AggregatorProviderConfig, type Asset, type BackgroundProgressStatus, type BaseProvider, type BroadcastHandler, type BroadcastMessage, type CMasterKeyData, COIN_TYPES, CoinGeckoPriceProvider, CommunicationsModule, type CommunicationsModuleConfig, type CommunicationsModuleDependencies, type CreateGroupOptions, DEFAULT_AGGREGATOR_TIMEOUT, DEFAULT_AGGREGATOR_URL, DEFAULT_DERIVATION_PATH, DEFAULT_ELECTRUM_URL, DEFAULT_GROUP_RELAYS, DEFAULT_IPFS_BOOTSTRAP_PEERS, DEFAULT_IPFS_GATEWAYS, DEFAULT_NOSTR_RELAYS, DEV_AGGREGATOR_URL, type DecryptionProgressCallback, type DerivationMode, type DirectMessage, type ExtendedValidationResult, type FullIdentity, GroupChatModule, type GroupChatModuleConfig, type GroupChatModuleDependencies, type GroupData, type GroupMemberData, type GroupMessageData, GroupRole, GroupVisibility, type Identity, type IdentityConfig, type InclusionProof, type IncomingBroadcast, type IncomingMessage, type IncomingPaymentRequest$1 as IncomingPaymentRequest, type IncomingTokenTransfer, type IncomingTransfer, type InstantSplitBundle, type InstantSplitBundleV4, type InstantSplitBundleV5, type InstantSplitOptions, type InstantSplitProcessResult, type InstantSplitResult, type InstantSplitV5RecoveryMetadata, type InvalidatedNametagEntry, index as L1, type L1Balance, L1PaymentsModule, type L1PaymentsModuleConfig, type L1PaymentsModuleDependencies, type L1SendRequest, type L1SendResult, type L1Transaction, type L1Utxo, LIMITS, type LegacyFileImportOptions, type LegacyFileInfo, type LegacyFileParseResult, type LegacyFileParsedData, type LegacyFileType, type LoadResult, type LoggingConfig, type MessageHandler, type MintOutboxEntry, type MintParams, type MintResult, NETWORKS, NIP29_KINDS, NOSTR_EVENT_KINDS, type NametagData, type NetworkType, type OracleEvent, type OracleEventCallback, type OracleEventType, type OracleProvider, type OutboxEntry, type OutgoingPaymentRequest, type ParsedStorageData, type PaymentRequest, type PaymentRequestHandler$1 as PaymentRequestHandler, type PaymentRequestResponse, type PaymentRequestResponseHandler$1 as PaymentRequestResponseHandler, type PaymentRequestResponseType$1 as PaymentRequestResponseType, type PaymentRequestResult, type PaymentRequestStatus, type PaymentSession, type PaymentSessionDirection, type PaymentSessionError, type PaymentSessionErrorCode, type PaymentSessionStatus, PaymentsModule, type PaymentsModuleConfig, type PaymentsModuleDependencies, type PeerInfo, type PendingV5Finalization, type PricePlatform, type PriceProvider, type PriceProviderConfig, type ProviderMetadata, type ProviderStatus, type ReceiveOptions, type ReceiveResult, type RegistryNetwork, STORAGE_KEYS, STORAGE_PREFIX, type SaveResult, type ScanAddressProgress, type ScanAddressesOptions, type ScanAddressesResult, type ScannedAddressResult, type SpentTokenInfo, type SpentTokenResult, Sphere, type SphereConfig, type SphereCreateOptions, SphereError, type SphereErrorCode, type SphereEventHandler, type SphereEventMap, type SphereEventType, type SphereInitOptions, type SphereInitResult, type SphereLoadOptions, type SplitPaymentSession, type SplitRecoveryResult, type StorageEvent, type StorageEventCallback, type StorageEventType, type StorageProvider, type StorageProviderConfig, type SubmitResult, type SyncResult, TEST_AGGREGATOR_URL, TEST_ELECTRUM_URL, TEST_NOSTR_RELAYS, TIMEOUTS, type Token, type TokenDefinition, type TokenIcon, type TokenPrice, TokenRegistry, type TokenState, type TokenStatus, type TokenStorageProvider, type TokenTransferDetail, type TokenTransferHandler, type TokenTransferPayload, type ValidationResult as TokenValidationResult, TokenValidator, type TombstoneEntry, type TrackedAddress, type TrackedAddressEntry, type TransactionHistoryEntry, type TransferCommitment, type TransferMode, type TransferRequest, type TransferResult, type TransferStatus, type TransportEvent, type TransportEventCallback, type TransportEventType, type TransportProvider, type TransportProviderConfig, type TrustBaseLoader, type TxfAuthenticator, type TxfGenesis, type TxfGenesisData, type TxfInclusionProof, type TxfIntegrity, type TxfInvalidEntry, type TxfMerkleStep, type TxfMerkleTreePath, type TxfMeta, type TxfOutboxEntry, type TxfSentEntry, type TxfState, type TxfStorageData, type TxfStorageDataBase, type TxfToken, type TxfTombstone, type TxfTransaction, type UnconfirmedResolutionResult, type V5FinalizationStage, type ValidationAction, type ValidationIssue, type ValidationResult$1 as ValidationResult, type WaitOptions, type WalletDatInfo, type WalletInfo, type WalletJSON$1 as WalletJSON, type WalletJSONExportOptions$1 as WalletJSONExportOptions, type WalletSource, archivedKeyFromTokenId, base58Decode, base58Encode, buildTxfStorageData, bytesToHex, countCommittedTransactions, createAddress, createCommunicationsModule, createGroupChatModule, createKeyPair, createL1PaymentsModule, createPaymentSession, createPaymentSessionError, createPaymentsModule, createPriceProvider, createSphere, createSplitPaymentSession, createTokenValidator, decodeBech32, decryptCMasterKey, decryptPrivateKey, decryptTextFormatKey, deriveAddressInfo, deriveChildKey$1 as deriveChildKey, deriveKeyAtPath$1 as deriveKeyAtPath, doubleSha256, encodeBech32, extractFromText, findPattern, forkedKeyFromTokenIdAndState, formatAmount, generateMasterKey, generateMnemonic, getAddressHrp, getCoinIdByName, getCoinIdBySymbol, getCurrentStateHash, getPublicKey, getSphere, getTokenDecimals, getTokenDefinition, getTokenIconUrl, getTokenId, getTokenName, getTokenSymbol, hasMissingNewStateHash, hasUncommittedTransactions, hasValidTxfData, hash160, hexToBytes, identityFromMnemonicSync, initSphere, isArchivedKey, isForkedKey, isInstantSplitBundle, isInstantSplitBundleV4, isInstantSplitBundleV5, isKnownToken, isPaymentSessionTerminal, isPaymentSessionTimedOut, isSQLiteDatabase, isTextWalletEncrypted, isTokenKey, isValidBech32, isValidNametag, isValidPrivateKey, isValidTokenId, isWalletDatEncrypted, isWalletTextFormat, keyFromTokenId, loadSphere, mnemonicToSeedSync, normalizeSdkTokenToStorage, objectToTxf, parseAndDecryptWalletDat, parseAndDecryptWalletText, parseForkedKey, parseTxfStorageData, parseWalletDat, parseWalletText, randomBytes, randomHex, randomUUID, ripemd160, sha256, sleep, sphereExists, toHumanReadable, toSmallestUnit, tokenIdFromArchivedKey, tokenIdFromKey, tokenToTxf, txfToToken, validateMnemonic };
5891
+ export { type AddressInfo, type AddressMode, type AggregatorClient, type AggregatorEvent, type AggregatorEventCallback, type AggregatorEventType, type AggregatorProvider, type AggregatorProviderConfig, type Asset, type BackgroundProgressStatus, type BaseProvider, type BroadcastHandler, type BroadcastMessage, type CMasterKeyData, COIN_TYPES, type CheckNetworkHealthOptions, CoinGeckoPriceProvider, CommunicationsModule, type CommunicationsModuleConfig, type CommunicationsModuleDependencies, type CreateGroupOptions, DEFAULT_AGGREGATOR_TIMEOUT, DEFAULT_AGGREGATOR_URL, DEFAULT_DERIVATION_PATH, DEFAULT_ELECTRUM_URL, DEFAULT_GROUP_RELAYS, DEFAULT_IPFS_BOOTSTRAP_PEERS, DEFAULT_IPFS_GATEWAYS, DEFAULT_NOSTR_RELAYS, DEV_AGGREGATOR_URL, type DecryptionProgressCallback, type DerivationMode, type DirectMessage, type ExtendedValidationResult, type FullIdentity, GroupChatModule, type GroupChatModuleConfig, type GroupChatModuleDependencies, type GroupData, type GroupMemberData, type GroupMessageData, GroupRole, GroupVisibility, type HealthCheckFn, type Identity, type IdentityConfig, type InclusionProof, type IncomingBroadcast, type IncomingMessage, type IncomingPaymentRequest$1 as IncomingPaymentRequest, type IncomingTokenTransfer, type IncomingTransfer, type InstantSplitBundle, type InstantSplitBundleV4, type InstantSplitBundleV5, type InstantSplitOptions, type InstantSplitProcessResult, type InstantSplitResult, type InstantSplitV5RecoveryMetadata, type InvalidatedNametagEntry, index as L1, type L1Balance, L1PaymentsModule, type L1PaymentsModuleConfig, type L1PaymentsModuleDependencies, type L1SendRequest, type L1SendResult, type L1Transaction, type L1Utxo, LIMITS, type LegacyFileImportOptions, type LegacyFileInfo, type LegacyFileParseResult, type LegacyFileParsedData, type LegacyFileType, type LoadResult, type LoggingConfig, type MessageHandler, type MintOutboxEntry, type MintParams, type MintResult, NETWORKS, NIP29_KINDS, NOSTR_EVENT_KINDS, type NametagData, type NetworkHealthResult, type NetworkType, type OracleEvent, type OracleEventCallback, type OracleEventType, type OracleProvider, type OutboxEntry, type OutgoingPaymentRequest, type ParsedStorageData, type PaymentRequest, type PaymentRequestHandler$1 as PaymentRequestHandler, type PaymentRequestResponse, type PaymentRequestResponseHandler$1 as PaymentRequestResponseHandler, type PaymentRequestResponseType$1 as PaymentRequestResponseType, type PaymentRequestResult, type PaymentRequestStatus, type PaymentSession, type PaymentSessionDirection, type PaymentSessionError, type PaymentSessionErrorCode, type PaymentSessionStatus, PaymentsModule, type PaymentsModuleConfig, type PaymentsModuleDependencies, type PeerInfo, type PendingV5Finalization, type PricePlatform, type PriceProvider, type PriceProviderConfig, type ProviderMetadata, type ProviderRole, type ProviderStatus, type ProviderStatusInfo, type ReceiveOptions, type ReceiveResult, type RegistryNetwork, STORAGE_KEYS, STORAGE_PREFIX, type SaveResult, type ScanAddressProgress, type ScanAddressesOptions, type ScanAddressesResult, type ScannedAddressResult, type ServiceHealthResult, type SpentTokenInfo, type SpentTokenResult, Sphere, type SphereConfig, type SphereCreateOptions, SphereError, type SphereErrorCode, type SphereEventHandler, type SphereEventMap, type SphereEventType, type SphereInitOptions, type SphereInitResult, type SphereLoadOptions, type SphereStatus, type SplitPaymentSession, type SplitRecoveryResult, type StorageEvent, type StorageEventCallback, type StorageEventType, type StorageProvider, type StorageProviderConfig, type SubmitResult, type SyncResult, TEST_AGGREGATOR_URL, TEST_ELECTRUM_URL, TEST_NOSTR_RELAYS, TIMEOUTS, type Token, type TokenDefinition, type TokenIcon, type TokenPrice, TokenRegistry, type TokenState, type TokenStatus, type TokenStorageProvider, type TokenTransferDetail, type TokenTransferHandler, type TokenTransferPayload, type ValidationResult as TokenValidationResult, TokenValidator, type TombstoneEntry, type TrackedAddress, type TrackedAddressEntry, type TransactionHistoryEntry, type TransferCommitment, type TransferMode, type TransferRequest, type TransferResult, type TransferStatus, type TransportEvent, type TransportEventCallback, type TransportEventType, type TransportProvider, type TransportProviderConfig, type TrustBaseLoader, type TxfAuthenticator, type TxfGenesis, type TxfGenesisData, type TxfInclusionProof, type TxfIntegrity, type TxfInvalidEntry, type TxfMerkleStep, type TxfMerkleTreePath, type TxfMeta, type TxfOutboxEntry, type TxfSentEntry, type TxfState, type TxfStorageData, type TxfStorageDataBase, type TxfToken, type TxfTombstone, type TxfTransaction, type UnconfirmedResolutionResult, type V5FinalizationStage, type ValidationAction, type ValidationIssue, type ValidationResult$1 as ValidationResult, type WaitOptions, type WalletDatInfo, type WalletInfo, type WalletJSON$1 as WalletJSON, type WalletJSONExportOptions$1 as WalletJSONExportOptions, type WalletSource, archivedKeyFromTokenId, base58Decode, base58Encode, buildTxfStorageData, bytesToHex, checkNetworkHealth, countCommittedTransactions, createAddress, createCommunicationsModule, createGroupChatModule, createKeyPair, createL1PaymentsModule, createPaymentSession, createPaymentSessionError, createPaymentsModule, createPriceProvider, createSphere, createSplitPaymentSession, createTokenValidator, decodeBech32, decryptCMasterKey, decryptPrivateKey, decryptTextFormatKey, deriveAddressInfo, deriveChildKey$1 as deriveChildKey, deriveKeyAtPath$1 as deriveKeyAtPath, doubleSha256, encodeBech32, extractFromText, findPattern, forkedKeyFromTokenIdAndState, formatAmount, generateMasterKey, generateMnemonic, getAddressHrp, getCoinIdByName, getCoinIdBySymbol, getCurrentStateHash, getPublicKey, getSphere, getTokenDecimals, getTokenDefinition, getTokenIconUrl, getTokenId, getTokenName, getTokenSymbol, hasMissingNewStateHash, hasUncommittedTransactions, hasValidTxfData, hash160, hexToBytes, identityFromMnemonicSync, initSphere, isArchivedKey, isForkedKey, isInstantSplitBundle, isInstantSplitBundleV4, isInstantSplitBundleV5, isKnownToken, isPaymentSessionTerminal, isPaymentSessionTimedOut, isSQLiteDatabase, isTextWalletEncrypted, isTokenKey, isValidBech32, isValidNametag, isValidPrivateKey, isValidTokenId, isWalletDatEncrypted, isWalletTextFormat, keyFromTokenId, loadSphere, mnemonicToSeedSync, normalizeSdkTokenToStorage, objectToTxf, parseAndDecryptWalletDat, parseAndDecryptWalletText, parseForkedKey, parseTxfStorageData, parseWalletDat, parseWalletText, randomBytes, randomHex, randomUUID, ripemd160, sha256, sleep, sphereExists, toHumanReadable, toSmallestUnit, tokenIdFromArchivedKey, tokenIdFromKey, tokenToTxf, txfToToken, validateMnemonic };