@unicitylabs/sphere-sdk 0.2.3 → 0.2.5
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 +61 -20
- package/dist/core/index.cjs +1053 -213
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +406 -216
- package/dist/core/index.d.ts +406 -216
- package/dist/core/index.js +1052 -213
- package/dist/core/index.js.map +1 -1
- package/dist/impl/browser/index.cjs +1988 -2
- package/dist/impl/browser/index.cjs.map +1 -1
- package/dist/impl/browser/index.js +1988 -2
- package/dist/impl/browser/index.js.map +1 -1
- package/dist/impl/browser/ipfs.cjs +1874 -512
- package/dist/impl/browser/ipfs.cjs.map +1 -1
- package/dist/impl/browser/ipfs.js +1874 -512
- package/dist/impl/browser/ipfs.js.map +1 -1
- package/dist/impl/nodejs/index.cjs +1988 -3
- package/dist/impl/nodejs/index.cjs.map +1 -1
- package/dist/impl/nodejs/index.d.cts +63 -3
- package/dist/impl/nodejs/index.d.ts +63 -3
- package/dist/impl/nodejs/index.js +1988 -3
- package/dist/impl/nodejs/index.js.map +1 -1
- package/dist/index.cjs +1064 -203
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +422 -62
- package/dist/index.d.ts +422 -62
- package/dist/index.js +1064 -203
- package/dist/index.js.map +1 -1
- package/package.json +25 -5
|
@@ -177,7 +177,7 @@ interface TokenStorageProvider<TData = unknown> extends BaseProvider {
|
|
|
177
177
|
*/
|
|
178
178
|
deleteToken?(tokenId: string): Promise<void>;
|
|
179
179
|
}
|
|
180
|
-
type StorageEventType = 'storage:saving' | 'storage:saved' | 'storage:loading' | 'storage:loaded' | 'storage:error' | 'sync:started' | 'sync:completed' | 'sync:conflict' | 'sync:error';
|
|
180
|
+
type StorageEventType = 'storage:saving' | 'storage:saved' | 'storage:loading' | 'storage:loaded' | 'storage:error' | 'storage:remote-updated' | 'sync:started' | 'sync:completed' | 'sync:conflict' | 'sync:error';
|
|
181
181
|
interface StorageEvent {
|
|
182
182
|
type: StorageEventType;
|
|
183
183
|
timestamp: number;
|
|
@@ -470,6 +470,12 @@ interface TransportProvider extends BaseProvider {
|
|
|
470
470
|
* @returns Unsubscribe function
|
|
471
471
|
*/
|
|
472
472
|
onInstantSplitReceived?(handler: InstantSplitBundleHandler): () => void;
|
|
473
|
+
/**
|
|
474
|
+
* Fetch pending events from transport (one-shot query).
|
|
475
|
+
* Creates a temporary subscription, processes events through normal handlers,
|
|
476
|
+
* and resolves after EOSE (End Of Stored Events).
|
|
477
|
+
*/
|
|
478
|
+
fetchPendingEvents?(): Promise<void>;
|
|
473
479
|
}
|
|
474
480
|
/**
|
|
475
481
|
* Payload for sending instant split bundles
|
|
@@ -534,7 +540,7 @@ interface IncomingTokenTransfer {
|
|
|
534
540
|
payload: TokenTransferPayload;
|
|
535
541
|
timestamp: number;
|
|
536
542
|
}
|
|
537
|
-
type TokenTransferHandler = (transfer: IncomingTokenTransfer) => void
|
|
543
|
+
type TokenTransferHandler = (transfer: IncomingTokenTransfer) => void | Promise<void>;
|
|
538
544
|
interface PaymentRequestPayload {
|
|
539
545
|
/** Amount requested (in smallest units) */
|
|
540
546
|
amount: string | bigint;
|
|
@@ -719,6 +725,7 @@ declare class NostrTransportProvider implements TransportProvider {
|
|
|
719
725
|
private status;
|
|
720
726
|
private nostrClient;
|
|
721
727
|
private mainSubscriptionId;
|
|
728
|
+
private processedEventIds;
|
|
722
729
|
private messageHandlers;
|
|
723
730
|
private transferHandlers;
|
|
724
731
|
private paymentRequestHandlers;
|
|
@@ -830,6 +837,7 @@ declare class NostrTransportProvider implements TransportProvider {
|
|
|
830
837
|
private createEvent;
|
|
831
838
|
private createEncryptedEvent;
|
|
832
839
|
private publishEvent;
|
|
840
|
+
fetchPendingEvents(): Promise<void>;
|
|
833
841
|
private queryEvents;
|
|
834
842
|
private walletSubscriptionId;
|
|
835
843
|
private chatSubscriptionId;
|
|
@@ -1322,6 +1330,42 @@ interface BaseProviders {
|
|
|
1322
1330
|
price?: PriceProvider;
|
|
1323
1331
|
}
|
|
1324
1332
|
|
|
1333
|
+
/** IPFS storage provider configuration */
|
|
1334
|
+
interface IpfsStorageConfig {
|
|
1335
|
+
/** Gateway URLs for HTTP API (defaults to Unicity dedicated nodes) */
|
|
1336
|
+
gateways?: string[];
|
|
1337
|
+
/** Content fetch timeout in ms (default: 15000) */
|
|
1338
|
+
fetchTimeoutMs?: number;
|
|
1339
|
+
/** IPNS resolution timeout in ms (default: 10000) */
|
|
1340
|
+
resolveTimeoutMs?: number;
|
|
1341
|
+
/** IPNS publish timeout in ms (default: 30000) */
|
|
1342
|
+
publishTimeoutMs?: number;
|
|
1343
|
+
/** Gateway connectivity test timeout in ms (default: 5000) */
|
|
1344
|
+
connectivityTimeoutMs?: number;
|
|
1345
|
+
/** IPNS record lifetime in ms (default: 99 years) */
|
|
1346
|
+
ipnsLifetimeMs?: number;
|
|
1347
|
+
/** IPNS cache TTL in ms (default: 60000) */
|
|
1348
|
+
ipnsCacheTtlMs?: number;
|
|
1349
|
+
/** Circuit breaker failure threshold (default: 3) */
|
|
1350
|
+
circuitBreakerThreshold?: number;
|
|
1351
|
+
/** Circuit breaker cooldown in ms (default: 60000) */
|
|
1352
|
+
circuitBreakerCooldownMs?: number;
|
|
1353
|
+
/** Known-fresh window in ms (default: 30000) */
|
|
1354
|
+
knownFreshWindowMs?: number;
|
|
1355
|
+
/** Enable debug logging (default: false) */
|
|
1356
|
+
debug?: boolean;
|
|
1357
|
+
/** WebSocket factory for IPNS push subscriptions (cross-platform) */
|
|
1358
|
+
createWebSocket?: WebSocketFactory;
|
|
1359
|
+
/** Override WebSocket URL (auto-derived from gateways if omitted) */
|
|
1360
|
+
wsUrl?: string;
|
|
1361
|
+
/** Fallback polling interval in ms when WS unavailable (default: 90000) */
|
|
1362
|
+
fallbackPollIntervalMs?: number;
|
|
1363
|
+
/** Debounce for push-triggered sync in ms (default: 500) */
|
|
1364
|
+
syncDebounceMs?: number;
|
|
1365
|
+
/** Debounce interval for background flush in ms (default: 2000) */
|
|
1366
|
+
flushDebounceMs?: number;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1325
1369
|
/**
|
|
1326
1370
|
* Node.js Implementation
|
|
1327
1371
|
* Providers for CLI/Node.js usage
|
|
@@ -1342,6 +1386,18 @@ type NodeOracleConfig = BaseOracleConfig & NodeOracleExtensions;
|
|
|
1342
1386
|
* Same as base
|
|
1343
1387
|
*/
|
|
1344
1388
|
type NodeL1Config = L1Config;
|
|
1389
|
+
/** Node.js IPFS sync configuration */
|
|
1390
|
+
interface NodeIpfsSyncConfig {
|
|
1391
|
+
/** Enable IPFS sync (default: false) */
|
|
1392
|
+
enabled?: boolean;
|
|
1393
|
+
/** IPFS storage provider configuration */
|
|
1394
|
+
config?: IpfsStorageConfig;
|
|
1395
|
+
}
|
|
1396
|
+
/** Node.js token sync configuration */
|
|
1397
|
+
interface NodeTokenSyncConfig {
|
|
1398
|
+
/** IPFS sync backend */
|
|
1399
|
+
ipfs?: NodeIpfsSyncConfig;
|
|
1400
|
+
}
|
|
1345
1401
|
interface NodeProvidersConfig {
|
|
1346
1402
|
/** Network preset: mainnet, testnet, or dev */
|
|
1347
1403
|
network?: NetworkType;
|
|
@@ -1357,6 +1413,8 @@ interface NodeProvidersConfig {
|
|
|
1357
1413
|
l1?: NodeL1Config;
|
|
1358
1414
|
/** Price provider configuration (optional — enables fiat value display) */
|
|
1359
1415
|
price?: BasePriceConfig;
|
|
1416
|
+
/** Token sync backends configuration */
|
|
1417
|
+
tokenSync?: NodeTokenSyncConfig;
|
|
1360
1418
|
}
|
|
1361
1419
|
interface NodeProviders {
|
|
1362
1420
|
storage: StorageProvider;
|
|
@@ -1367,6 +1425,8 @@ interface NodeProviders {
|
|
|
1367
1425
|
l1?: L1Config;
|
|
1368
1426
|
/** Price provider (optional — enables fiat value display) */
|
|
1369
1427
|
price?: PriceProvider;
|
|
1428
|
+
/** IPFS token storage provider (when tokenSync.ipfs.enabled is true) */
|
|
1429
|
+
ipfsTokenStorage?: TokenStorageProvider<TxfStorageDataBase>;
|
|
1370
1430
|
}
|
|
1371
1431
|
/**
|
|
1372
1432
|
* Create all Node.js providers with default configuration
|
|
@@ -1406,4 +1466,4 @@ interface NodeProviders {
|
|
|
1406
1466
|
*/
|
|
1407
1467
|
declare function createNodeProviders(config?: NodeProvidersConfig): NodeProviders;
|
|
1408
1468
|
|
|
1409
|
-
export { type BaseOracleConfig, type BaseProviders, type BaseTransportConfig, FileStorageProvider, type FileStorageProviderConfig, type FileTokenStorageConfig, FileTokenStorageProvider, type IWebSocket, type L1Config, type NodeL1Config, type NodeOracleConfig, type NodeProviders, type NodeProvidersConfig, type NodeTransportConfig, NodeTrustBaseLoader, NostrTransportProvider, type NostrTransportProviderConfig, type TrustBaseLoader$1 as TrustBaseLoader, UnicityAggregatorProvider, type UnicityAggregatorProviderConfig, UnicityOracleProvider, type UnicityOracleProviderConfig, type WebSocketFactory, createFileStorageProvider, createFileTokenStorageProvider, createNodeProviders, createNodeTrustBaseLoader, createNodeWebSocketFactory, createNostrTransportProvider, createUnicityAggregatorProvider, createUnicityOracleProvider };
|
|
1469
|
+
export { type BaseOracleConfig, type BaseProviders, type BaseTransportConfig, FileStorageProvider, type FileStorageProviderConfig, type FileTokenStorageConfig, FileTokenStorageProvider, type IWebSocket, type L1Config, type NodeIpfsSyncConfig, type NodeL1Config, type NodeOracleConfig, type NodeProviders, type NodeProvidersConfig, type NodeTokenSyncConfig, type NodeTransportConfig, NodeTrustBaseLoader, NostrTransportProvider, type NostrTransportProviderConfig, type TrustBaseLoader$1 as TrustBaseLoader, UnicityAggregatorProvider, type UnicityAggregatorProviderConfig, UnicityOracleProvider, type UnicityOracleProviderConfig, type WebSocketFactory, createFileStorageProvider, createFileTokenStorageProvider, createNodeProviders, createNodeTrustBaseLoader, createNodeWebSocketFactory, createNostrTransportProvider, createUnicityAggregatorProvider, createUnicityOracleProvider };
|
|
@@ -177,7 +177,7 @@ interface TokenStorageProvider<TData = unknown> extends BaseProvider {
|
|
|
177
177
|
*/
|
|
178
178
|
deleteToken?(tokenId: string): Promise<void>;
|
|
179
179
|
}
|
|
180
|
-
type StorageEventType = 'storage:saving' | 'storage:saved' | 'storage:loading' | 'storage:loaded' | 'storage:error' | 'sync:started' | 'sync:completed' | 'sync:conflict' | 'sync:error';
|
|
180
|
+
type StorageEventType = 'storage:saving' | 'storage:saved' | 'storage:loading' | 'storage:loaded' | 'storage:error' | 'storage:remote-updated' | 'sync:started' | 'sync:completed' | 'sync:conflict' | 'sync:error';
|
|
181
181
|
interface StorageEvent {
|
|
182
182
|
type: StorageEventType;
|
|
183
183
|
timestamp: number;
|
|
@@ -470,6 +470,12 @@ interface TransportProvider extends BaseProvider {
|
|
|
470
470
|
* @returns Unsubscribe function
|
|
471
471
|
*/
|
|
472
472
|
onInstantSplitReceived?(handler: InstantSplitBundleHandler): () => void;
|
|
473
|
+
/**
|
|
474
|
+
* Fetch pending events from transport (one-shot query).
|
|
475
|
+
* Creates a temporary subscription, processes events through normal handlers,
|
|
476
|
+
* and resolves after EOSE (End Of Stored Events).
|
|
477
|
+
*/
|
|
478
|
+
fetchPendingEvents?(): Promise<void>;
|
|
473
479
|
}
|
|
474
480
|
/**
|
|
475
481
|
* Payload for sending instant split bundles
|
|
@@ -534,7 +540,7 @@ interface IncomingTokenTransfer {
|
|
|
534
540
|
payload: TokenTransferPayload;
|
|
535
541
|
timestamp: number;
|
|
536
542
|
}
|
|
537
|
-
type TokenTransferHandler = (transfer: IncomingTokenTransfer) => void
|
|
543
|
+
type TokenTransferHandler = (transfer: IncomingTokenTransfer) => void | Promise<void>;
|
|
538
544
|
interface PaymentRequestPayload {
|
|
539
545
|
/** Amount requested (in smallest units) */
|
|
540
546
|
amount: string | bigint;
|
|
@@ -719,6 +725,7 @@ declare class NostrTransportProvider implements TransportProvider {
|
|
|
719
725
|
private status;
|
|
720
726
|
private nostrClient;
|
|
721
727
|
private mainSubscriptionId;
|
|
728
|
+
private processedEventIds;
|
|
722
729
|
private messageHandlers;
|
|
723
730
|
private transferHandlers;
|
|
724
731
|
private paymentRequestHandlers;
|
|
@@ -830,6 +837,7 @@ declare class NostrTransportProvider implements TransportProvider {
|
|
|
830
837
|
private createEvent;
|
|
831
838
|
private createEncryptedEvent;
|
|
832
839
|
private publishEvent;
|
|
840
|
+
fetchPendingEvents(): Promise<void>;
|
|
833
841
|
private queryEvents;
|
|
834
842
|
private walletSubscriptionId;
|
|
835
843
|
private chatSubscriptionId;
|
|
@@ -1322,6 +1330,42 @@ interface BaseProviders {
|
|
|
1322
1330
|
price?: PriceProvider;
|
|
1323
1331
|
}
|
|
1324
1332
|
|
|
1333
|
+
/** IPFS storage provider configuration */
|
|
1334
|
+
interface IpfsStorageConfig {
|
|
1335
|
+
/** Gateway URLs for HTTP API (defaults to Unicity dedicated nodes) */
|
|
1336
|
+
gateways?: string[];
|
|
1337
|
+
/** Content fetch timeout in ms (default: 15000) */
|
|
1338
|
+
fetchTimeoutMs?: number;
|
|
1339
|
+
/** IPNS resolution timeout in ms (default: 10000) */
|
|
1340
|
+
resolveTimeoutMs?: number;
|
|
1341
|
+
/** IPNS publish timeout in ms (default: 30000) */
|
|
1342
|
+
publishTimeoutMs?: number;
|
|
1343
|
+
/** Gateway connectivity test timeout in ms (default: 5000) */
|
|
1344
|
+
connectivityTimeoutMs?: number;
|
|
1345
|
+
/** IPNS record lifetime in ms (default: 99 years) */
|
|
1346
|
+
ipnsLifetimeMs?: number;
|
|
1347
|
+
/** IPNS cache TTL in ms (default: 60000) */
|
|
1348
|
+
ipnsCacheTtlMs?: number;
|
|
1349
|
+
/** Circuit breaker failure threshold (default: 3) */
|
|
1350
|
+
circuitBreakerThreshold?: number;
|
|
1351
|
+
/** Circuit breaker cooldown in ms (default: 60000) */
|
|
1352
|
+
circuitBreakerCooldownMs?: number;
|
|
1353
|
+
/** Known-fresh window in ms (default: 30000) */
|
|
1354
|
+
knownFreshWindowMs?: number;
|
|
1355
|
+
/** Enable debug logging (default: false) */
|
|
1356
|
+
debug?: boolean;
|
|
1357
|
+
/** WebSocket factory for IPNS push subscriptions (cross-platform) */
|
|
1358
|
+
createWebSocket?: WebSocketFactory;
|
|
1359
|
+
/** Override WebSocket URL (auto-derived from gateways if omitted) */
|
|
1360
|
+
wsUrl?: string;
|
|
1361
|
+
/** Fallback polling interval in ms when WS unavailable (default: 90000) */
|
|
1362
|
+
fallbackPollIntervalMs?: number;
|
|
1363
|
+
/** Debounce for push-triggered sync in ms (default: 500) */
|
|
1364
|
+
syncDebounceMs?: number;
|
|
1365
|
+
/** Debounce interval for background flush in ms (default: 2000) */
|
|
1366
|
+
flushDebounceMs?: number;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1325
1369
|
/**
|
|
1326
1370
|
* Node.js Implementation
|
|
1327
1371
|
* Providers for CLI/Node.js usage
|
|
@@ -1342,6 +1386,18 @@ type NodeOracleConfig = BaseOracleConfig & NodeOracleExtensions;
|
|
|
1342
1386
|
* Same as base
|
|
1343
1387
|
*/
|
|
1344
1388
|
type NodeL1Config = L1Config;
|
|
1389
|
+
/** Node.js IPFS sync configuration */
|
|
1390
|
+
interface NodeIpfsSyncConfig {
|
|
1391
|
+
/** Enable IPFS sync (default: false) */
|
|
1392
|
+
enabled?: boolean;
|
|
1393
|
+
/** IPFS storage provider configuration */
|
|
1394
|
+
config?: IpfsStorageConfig;
|
|
1395
|
+
}
|
|
1396
|
+
/** Node.js token sync configuration */
|
|
1397
|
+
interface NodeTokenSyncConfig {
|
|
1398
|
+
/** IPFS sync backend */
|
|
1399
|
+
ipfs?: NodeIpfsSyncConfig;
|
|
1400
|
+
}
|
|
1345
1401
|
interface NodeProvidersConfig {
|
|
1346
1402
|
/** Network preset: mainnet, testnet, or dev */
|
|
1347
1403
|
network?: NetworkType;
|
|
@@ -1357,6 +1413,8 @@ interface NodeProvidersConfig {
|
|
|
1357
1413
|
l1?: NodeL1Config;
|
|
1358
1414
|
/** Price provider configuration (optional — enables fiat value display) */
|
|
1359
1415
|
price?: BasePriceConfig;
|
|
1416
|
+
/** Token sync backends configuration */
|
|
1417
|
+
tokenSync?: NodeTokenSyncConfig;
|
|
1360
1418
|
}
|
|
1361
1419
|
interface NodeProviders {
|
|
1362
1420
|
storage: StorageProvider;
|
|
@@ -1367,6 +1425,8 @@ interface NodeProviders {
|
|
|
1367
1425
|
l1?: L1Config;
|
|
1368
1426
|
/** Price provider (optional — enables fiat value display) */
|
|
1369
1427
|
price?: PriceProvider;
|
|
1428
|
+
/** IPFS token storage provider (when tokenSync.ipfs.enabled is true) */
|
|
1429
|
+
ipfsTokenStorage?: TokenStorageProvider<TxfStorageDataBase>;
|
|
1370
1430
|
}
|
|
1371
1431
|
/**
|
|
1372
1432
|
* Create all Node.js providers with default configuration
|
|
@@ -1406,4 +1466,4 @@ interface NodeProviders {
|
|
|
1406
1466
|
*/
|
|
1407
1467
|
declare function createNodeProviders(config?: NodeProvidersConfig): NodeProviders;
|
|
1408
1468
|
|
|
1409
|
-
export { type BaseOracleConfig, type BaseProviders, type BaseTransportConfig, FileStorageProvider, type FileStorageProviderConfig, type FileTokenStorageConfig, FileTokenStorageProvider, type IWebSocket, type L1Config, type NodeL1Config, type NodeOracleConfig, type NodeProviders, type NodeProvidersConfig, type NodeTransportConfig, NodeTrustBaseLoader, NostrTransportProvider, type NostrTransportProviderConfig, type TrustBaseLoader$1 as TrustBaseLoader, UnicityAggregatorProvider, type UnicityAggregatorProviderConfig, UnicityOracleProvider, type UnicityOracleProviderConfig, type WebSocketFactory, createFileStorageProvider, createFileTokenStorageProvider, createNodeProviders, createNodeTrustBaseLoader, createNodeWebSocketFactory, createNostrTransportProvider, createUnicityAggregatorProvider, createUnicityOracleProvider };
|
|
1469
|
+
export { type BaseOracleConfig, type BaseProviders, type BaseTransportConfig, FileStorageProvider, type FileStorageProviderConfig, type FileTokenStorageConfig, FileTokenStorageProvider, type IWebSocket, type L1Config, type NodeIpfsSyncConfig, type NodeL1Config, type NodeOracleConfig, type NodeProviders, type NodeProvidersConfig, type NodeTokenSyncConfig, type NodeTransportConfig, NodeTrustBaseLoader, NostrTransportProvider, type NostrTransportProviderConfig, type TrustBaseLoader$1 as TrustBaseLoader, UnicityAggregatorProvider, type UnicityAggregatorProviderConfig, UnicityOracleProvider, type UnicityOracleProviderConfig, type WebSocketFactory, createFileStorageProvider, createFileTokenStorageProvider, createNodeProviders, createNodeTrustBaseLoader, createNodeWebSocketFactory, createNostrTransportProvider, createUnicityAggregatorProvider, createUnicityOracleProvider };
|