@breeztech/breez-sdk-spark 0.13.11-dev1 → 0.13.12-dev1

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.
Files changed (35) hide show
  1. package/breez-sdk-spark.tgz +0 -0
  2. package/bundler/breez_sdk_spark_wasm.d.ts +124 -0
  3. package/bundler/breez_sdk_spark_wasm.js +1 -1
  4. package/bundler/breez_sdk_spark_wasm_bg.js +369 -33
  5. package/bundler/breez_sdk_spark_wasm_bg.wasm +0 -0
  6. package/bundler/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
  7. package/deno/breez_sdk_spark_wasm.d.ts +124 -0
  8. package/deno/breez_sdk_spark_wasm.js +369 -33
  9. package/deno/breez_sdk_spark_wasm_bg.wasm +0 -0
  10. package/deno/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
  11. package/nodejs/breez_sdk_spark_wasm.d.ts +124 -0
  12. package/nodejs/breez_sdk_spark_wasm.js +377 -33
  13. package/nodejs/breez_sdk_spark_wasm_bg.wasm +0 -0
  14. package/nodejs/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
  15. package/nodejs/index.js +22 -0
  16. package/nodejs/index.mjs +8 -0
  17. package/nodejs/mysql-session-manager/errors.cjs +13 -0
  18. package/nodejs/mysql-session-manager/index.cjs +144 -0
  19. package/nodejs/mysql-session-manager/migrations.cjs +102 -0
  20. package/nodejs/mysql-session-manager/package.json +9 -0
  21. package/nodejs/mysql-storage/index.cjs +1 -0
  22. package/nodejs/mysql-token-store/index.cjs +4 -12
  23. package/nodejs/mysql-tree-store/index.cjs +2 -0
  24. package/nodejs/package.json +2 -0
  25. package/nodejs/postgres-session-manager/errors.cjs +13 -0
  26. package/nodejs/postgres-session-manager/index.cjs +165 -0
  27. package/nodejs/postgres-session-manager/migrations.cjs +126 -0
  28. package/nodejs/postgres-session-manager/package.json +9 -0
  29. package/nodejs/postgres-token-store/index.cjs +2 -13
  30. package/package.json +1 -1
  31. package/ssr/index.js +48 -0
  32. package/web/breez_sdk_spark_wasm.d.ts +149 -7
  33. package/web/breez_sdk_spark_wasm.js +369 -33
  34. package/web/breez_sdk_spark_wasm_bg.wasm +0 -0
  35. package/web/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Database Migration Manager for Breez SDK PostgreSQL Session Manager.
3
+ *
4
+ * Uses a session_schema_migrations table + pg_advisory_xact_lock to safely
5
+ * run migrations from concurrent processes. Mirrors the schema produced by
6
+ * the Rust `PostgresSessionManager`.
7
+ */
8
+
9
+ const { SessionManagerError } = require("./errors.cjs");
10
+
11
+ /**
12
+ * Advisory lock ID for session-manager migrations.
13
+ * Uses a different lock ID from the storage / tree store / token store
14
+ * migrations to avoid contention. Derived from ASCII bytes of "SESN"
15
+ * (0x5345534E).
16
+ */
17
+ const MIGRATION_LOCK_ID = "1397245774"; // 0x5345534E as decimal string
18
+
19
+ class SessionManagerMigrationManager {
20
+ constructor(logger = null) {
21
+ this.logger = logger;
22
+ }
23
+
24
+ /**
25
+ * Run all pending migrations inside a single transaction with an advisory
26
+ * lock.
27
+ * @param {import('pg').Pool} pool
28
+ */
29
+ async migrate(pool) {
30
+ const client = await pool.connect();
31
+ try {
32
+ await client.query("BEGIN");
33
+ await client.query(`SELECT pg_advisory_xact_lock(${MIGRATION_LOCK_ID})`);
34
+
35
+ await client.query(`
36
+ CREATE TABLE IF NOT EXISTS session_schema_migrations (
37
+ version INTEGER PRIMARY KEY,
38
+ applied_at TIMESTAMPTZ DEFAULT NOW()
39
+ )
40
+ `);
41
+
42
+ const versionResult = await client.query(
43
+ "SELECT COALESCE(MAX(version), 0) AS version FROM session_schema_migrations"
44
+ );
45
+ const currentVersion = versionResult.rows[0].version;
46
+
47
+ const migrations = this._getMigrations();
48
+
49
+ if (currentVersion >= migrations.length) {
50
+ this._log(
51
+ "info",
52
+ `Session manager database is up to date (version ${currentVersion})`
53
+ );
54
+ await client.query("COMMIT");
55
+ return;
56
+ }
57
+
58
+ this._log(
59
+ "info",
60
+ `Migrating session manager database from version ${currentVersion} to ${migrations.length}`
61
+ );
62
+
63
+ for (let i = currentVersion; i < migrations.length; i++) {
64
+ const migration = migrations[i];
65
+ const version = i + 1;
66
+ this._log(
67
+ "debug",
68
+ `Running session manager migration ${version}: ${migration.name}`
69
+ );
70
+
71
+ for (const sql of migration.sql) {
72
+ await client.query(sql);
73
+ }
74
+
75
+ await client.query(
76
+ "INSERT INTO session_schema_migrations (version) VALUES ($1)",
77
+ [version]
78
+ );
79
+ }
80
+
81
+ await client.query("COMMIT");
82
+ this._log(
83
+ "info",
84
+ "Session manager database migration completed successfully"
85
+ );
86
+ } catch (error) {
87
+ await client.query("ROLLBACK").catch(() => {});
88
+ throw new SessionManagerError(
89
+ `Session manager migration failed: ${error.message}`,
90
+ error
91
+ );
92
+ } finally {
93
+ client.release();
94
+ }
95
+ }
96
+
97
+ _log(level, message) {
98
+ if (this.logger && typeof this.logger.log === "function") {
99
+ this.logger.log({ line: message, level });
100
+ } else if (level === "error") {
101
+ console.error(`[SessionManagerMigrationManager] ${message}`);
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Migrations matching the Rust PostgresSessionManager schema exactly.
107
+ */
108
+ _getMigrations() {
109
+ return [
110
+ {
111
+ name: "Create sessions table",
112
+ sql: [
113
+ `CREATE TABLE IF NOT EXISTS sessions (
114
+ user_id BYTEA NOT NULL,
115
+ service_identity_key BYTEA NOT NULL,
116
+ token TEXT NOT NULL,
117
+ expiration BIGINT NOT NULL,
118
+ PRIMARY KEY (user_id, service_identity_key)
119
+ )`,
120
+ ],
121
+ },
122
+ ];
123
+ }
124
+ }
125
+
126
+ module.exports = { SessionManagerMigrationManager };
@@ -0,0 +1,9 @@
1
+ {
2
+ "dependencies": {
3
+ "pg": "^8.18.0"
4
+ },
5
+ "description": "Node.js PostgreSQL session manager implementation for Breez SDK WASM (CommonJS)",
6
+ "main": "index.cjs",
7
+ "name": "@breez-sdk/postgres-session-manager",
8
+ "version": "1.0.0"
9
+ }
@@ -532,13 +532,9 @@ class PostgresTokenStore {
532
532
  */
533
533
  async insertTokenOutputs(tokenOutputs) {
534
534
  try {
535
- const client = await this.pool.connect();
536
- try {
537
- await client.query("BEGIN");
538
-
535
+ await this._withTransaction(async (client) => {
539
536
  await this._upsertMetadata(client, tokenOutputs.metadata);
540
537
 
541
- // Remove inserted output IDs from spent markers (output returned to us)
542
538
  const outputIds = tokenOutputs.outputs.map((o) => o.output.id);
543
539
  if (outputIds.length > 0) {
544
540
  await client.query(
@@ -554,14 +550,7 @@ class PostgresTokenStore {
554
550
  output
555
551
  );
556
552
  }
557
-
558
- await client.query("COMMIT");
559
- } catch (error) {
560
- await client.query("ROLLBACK").catch(() => {});
561
- throw error;
562
- } finally {
563
- client.release();
564
- }
553
+ });
565
554
  } catch (error) {
566
555
  if (error instanceof TokenStoreError) throw error;
567
556
  throw new TokenStoreError(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breeztech/breez-sdk-spark",
3
- "version": "0.13.11-dev1",
3
+ "version": "0.13.12-dev1",
4
4
  "description": "Breez Spark SDK",
5
5
  "repository": "https://github.com/breez/spark-sdk",
6
6
  "author": "Breez <contact@breez.technology> (https://github.com/breez)",
package/ssr/index.js CHANGED
@@ -33,6 +33,16 @@ export function connectWithSigner(...args) {
33
33
  return _module.connectWithSigner(...args);
34
34
  }
35
35
 
36
+ export function createMysqlConnectionPool(...args) {
37
+ if (!_module) _notInitialized('createMysqlConnectionPool');
38
+ return _module.createMysqlConnectionPool(...args);
39
+ }
40
+
41
+ export function createPostgresConnectionPool(...args) {
42
+ if (!_module) _notInitialized('createPostgresConnectionPool');
43
+ return _module.createPostgresConnectionPool(...args);
44
+ }
45
+
36
46
  export function defaultConfig(...args) {
37
47
  if (!_module) _notInitialized('defaultConfig');
38
48
  return _module.defaultConfig(...args);
@@ -63,6 +73,16 @@ export function initLogging(...args) {
63
73
  return _module.initLogging(...args);
64
74
  }
65
75
 
76
+ export function newRestChainService(...args) {
77
+ if (!_module) _notInitialized('newRestChainService');
78
+ return _module.newRestChainService(...args);
79
+ }
80
+
81
+ export function newSspConnectionManager(...args) {
82
+ if (!_module) _notInitialized('newSspConnectionManager');
83
+ return _module.newSspConnectionManager(...args);
84
+ }
85
+
66
86
  export function task_worker_entry_point(...args) {
67
87
  if (!_module) _notInitialized('task_worker_entry_point');
68
88
  return _module.task_worker_entry_point(...args);
@@ -73,6 +93,13 @@ export function initSync(...args) {
73
93
  return _module.initSync(...args);
74
94
  }
75
95
 
96
+ export class BitcoinChainServiceHandle {
97
+ constructor(...args) {
98
+ if (!_module) _notInitialized('new BitcoinChainServiceHandle');
99
+ return new _module.BitcoinChainServiceHandle(...args);
100
+ }
101
+ }
102
+
76
103
  export class BreezSdk {
77
104
  constructor(...args) {
78
105
  if (!_module) _notInitialized('new BreezSdk');
@@ -108,6 +135,13 @@ export class IntoUnderlyingSource {
108
135
  }
109
136
  }
110
137
 
138
+ export class MysqlConnectionPool {
139
+ constructor(...args) {
140
+ if (!_module) _notInitialized('new MysqlConnectionPool');
141
+ return new _module.MysqlConnectionPool(...args);
142
+ }
143
+ }
144
+
111
145
  export class Passkey {
112
146
  constructor(...args) {
113
147
  if (!_module) _notInitialized('new Passkey');
@@ -115,6 +149,13 @@ export class Passkey {
115
149
  }
116
150
  }
117
151
 
152
+ export class PostgresConnectionPool {
153
+ constructor(...args) {
154
+ if (!_module) _notInitialized('new PostgresConnectionPool');
155
+ return new _module.PostgresConnectionPool(...args);
156
+ }
157
+ }
158
+
118
159
  export class SdkBuilder {
119
160
  constructor(...args) {
120
161
  if (!_module) _notInitialized('new SdkBuilder');
@@ -122,6 +163,13 @@ export class SdkBuilder {
122
163
  }
123
164
  }
124
165
 
166
+ export class SspConnectionManager {
167
+ constructor(...args) {
168
+ if (!_module) _notInitialized('new SspConnectionManager');
169
+ return new _module.SspConnectionManager(...args);
170
+ }
171
+ }
172
+
125
173
  export class TokenIssuer {
126
174
  constructor(...args) {
127
175
  if (!_module) _notInitialized('new TokenIssuer');
@@ -1068,6 +1068,16 @@ export interface SendPaymentResponse {
1068
1068
  payment: Payment;
1069
1069
  }
1070
1070
 
1071
+ export interface Session {
1072
+ token: string;
1073
+ expiration: number;
1074
+ }
1075
+
1076
+ export interface SessionManager {
1077
+ getSession: (serviceIdentityKey: string) => Promise<Session>;
1078
+ setSession: (serviceIdentityKey: string, session: Session) => Promise<void>;
1079
+ }
1080
+
1071
1081
  export interface SetLnurlMetadataItem {
1072
1082
  paymentHash: string;
1073
1083
  senderComment?: string;
@@ -1361,6 +1371,8 @@ export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: On
1361
1371
 
1362
1372
  export type ServiceStatus = "operational" | "degraded" | "partial" | "unknown" | "major";
1363
1373
 
1374
+ export type SessionManagerError = { type: "notFound" } | ({ type: "generic" } & string);
1375
+
1364
1376
  export type SparkHtlcStatus = "waitingForPreimage" | "preimageShared" | "returned";
1365
1377
 
1366
1378
  export type StableBalanceActiveLabel = { type: "set"; label: string } | { type: "unset" };
@@ -1378,6 +1390,25 @@ export type UpdateDepositPayload = { type: "claimError"; error: DepositClaimErro
1378
1390
  export type WebhookEventType = { type: "lightningReceiveFinished" } | { type: "lightningSendFinished" } | { type: "coopExitFinished" } | { type: "staticDepositFinished" } | ({ type: "unknown" } & string);
1379
1391
 
1380
1392
 
1393
+ /**
1394
+ * Rust-built implementation of the JS `BitcoinChainService` interface.
1395
+ *
1396
+ * Returned by factories like [`new_rest_chain_service`]; users see it as a
1397
+ * `BitcoinChainService` and pass it to `withChainService`. Pass the same
1398
+ * instance to multiple `SdkBuilder`s to share a single underlying HTTP
1399
+ * client (and its connection pool) across SDK instances.
1400
+ */
1401
+ export class BitcoinChainServiceHandle {
1402
+ private constructor();
1403
+ free(): void;
1404
+ [Symbol.dispose](): void;
1405
+ broadcastTransaction(tx: string): Promise<void>;
1406
+ getAddressUtxos(address: string): Promise<any>;
1407
+ getTransactionHex(txid: string): Promise<any>;
1408
+ getTransactionStatus(txid: string): Promise<any>;
1409
+ recommendedFees(): Promise<any>;
1410
+ }
1411
+
1381
1412
  export class BreezSdk {
1382
1413
  private constructor();
1383
1414
  free(): void;
@@ -1486,6 +1517,16 @@ export class IntoUnderlyingSource {
1486
1517
  pull(controller: ReadableStreamDefaultController): Promise<any>;
1487
1518
  }
1488
1519
 
1520
+ /**
1521
+ * A shareable MySQL connection pool. See [`PostgresConnectionPool`](super::postgres_pool::PostgresConnectionPool)
1522
+ * for sharing semantics and lifecycle.
1523
+ */
1524
+ export class MysqlConnectionPool {
1525
+ private constructor();
1526
+ free(): void;
1527
+ [Symbol.dispose](): void;
1528
+ }
1529
+
1489
1530
  /**
1490
1531
  * Passkey-based wallet operations using WebAuthn PRF extension.
1491
1532
  *
@@ -1529,6 +1570,22 @@ export class Passkey {
1529
1570
  storeLabel(label: string): Promise<void>;
1530
1571
  }
1531
1572
 
1573
+ /**
1574
+ * A shareable Postgres connection pool.
1575
+ *
1576
+ * Construct via [`create_postgres_connection_pool`] and pass the same handle to multiple
1577
+ * `SdkBuilder`s via `withPostgresConnectionPool` to share connections across SDKs.
1578
+ * Per-tenant scoping is derived from each SDK's seed.
1579
+ *
1580
+ * The pool's lifecycle is controlled by the integrator: it stays alive as
1581
+ * long as any reference is held. `disconnect()` does **not** close the pool.
1582
+ */
1583
+ export class PostgresConnectionPool {
1584
+ private constructor();
1585
+ free(): void;
1586
+ [Symbol.dispose](): void;
1587
+ }
1588
+
1532
1589
  export class SdkBuilder {
1533
1590
  private constructor();
1534
1591
  free(): void;
@@ -1541,13 +1598,57 @@ export class SdkBuilder {
1541
1598
  withFiatService(fiat_service: FiatService): SdkBuilder;
1542
1599
  withKeySet(config: KeySetConfig): SdkBuilder;
1543
1600
  withLnurlClient(lnurl_client: RestClient): SdkBuilder;
1601
+ /**
1602
+ * **Deprecated.** Call `withMysqlConnectionPool(config)` and `withMysqlConnectionPool(pool)` instead.
1603
+ */
1544
1604
  withMysqlBackend(config: MysqlStorageConfig): SdkBuilder;
1605
+ /**
1606
+ * Sets a shared `MySQL` connection pool as the backend for all stores.
1607
+ * Construct via `createMysqlConnectionPool` and pass the same handle to multiple
1608
+ * `SdkBuilder`s to share connections across SDKs.
1609
+ */
1610
+ withMysqlConnectionPool(pool: MysqlConnectionPool): SdkBuilder;
1545
1611
  withPaymentObserver(payment_observer: PaymentObserver): SdkBuilder;
1612
+ /**
1613
+ * **Deprecated.** Call `withPostgresConnectionPool(config)` and `withPostgresConnectionPool(pool)` instead.
1614
+ */
1546
1615
  withPostgresBackend(config: PostgresStorageConfig): SdkBuilder;
1616
+ /**
1617
+ * Sets a shared `PostgreSQL` connection pool as the backend for all
1618
+ * stores. Construct via `createPostgresConnectionPool` and pass the same handle
1619
+ * to multiple `SdkBuilder`s to share connections across SDKs.
1620
+ */
1621
+ withPostgresConnectionPool(pool: PostgresConnectionPool): SdkBuilder;
1547
1622
  withRestChainService(url: string, api_type: ChainApiType, credentials?: Credentials | null): SdkBuilder;
1623
+ /**
1624
+ * Sets a custom session manager used to persist authentication sessions.
1625
+ *
1626
+ * Provide a shared, persistent implementation (e.g. backed by `PostgreSQL`
1627
+ * or Redis) to let multiple SDK instances share authentication state and
1628
+ * bootstrap quickly. If not set, an in-memory session manager is used.
1629
+ */
1630
+ withSessionManager(session_manager: SessionManager): SdkBuilder;
1631
+ /**
1632
+ * Reuses a shared SSP connection across SDK instances. Pass the same
1633
+ * manager to every `SdkBuilder` whose SSP traffic should share an
1634
+ * underlying HTTP client.
1635
+ */
1636
+ withSspConnectionManager(manager: SspConnectionManager): SdkBuilder;
1548
1637
  withStorage(storage: Storage): SdkBuilder;
1549
1638
  }
1550
1639
 
1640
+ /**
1641
+ * Shared transport for SSP GraphQL traffic across SDK instances.
1642
+ *
1643
+ * All SDK instances built with the same `SspConnectionManager` share a single
1644
+ * underlying HTTP client (and its h2 connection pool) for SSP requests.
1645
+ */
1646
+ export class SspConnectionManager {
1647
+ private constructor();
1648
+ free(): void;
1649
+ [Symbol.dispose](): void;
1650
+ }
1651
+
1551
1652
  export class TokenIssuer {
1552
1653
  private constructor();
1553
1654
  free(): void;
@@ -1565,6 +1666,16 @@ export function connect(request: ConnectRequest): Promise<BreezSdk>;
1565
1666
 
1566
1667
  export function connectWithSigner(config: Config, signer: ExternalSigner, storage_dir: string): Promise<BreezSdk>;
1567
1668
 
1669
+ /**
1670
+ * Creates a shareable MySQL connection pool from the given config.
1671
+ */
1672
+ export function createMysqlConnectionPool(config: MysqlStorageConfig): MysqlConnectionPool;
1673
+
1674
+ /**
1675
+ * Creates a shareable Postgres connection pool from the given config.
1676
+ */
1677
+ export function createPostgresConnectionPool(config: PostgresStorageConfig): PostgresConnectionPool;
1678
+
1568
1679
  export function defaultConfig(network: Network): Config;
1569
1680
 
1570
1681
  export function defaultExternalSigner(mnemonic: string, passphrase: string | null | undefined, network: Network, key_set_config?: KeySetConfig | null): DefaultSigner;
@@ -1598,6 +1709,19 @@ export function getSparkStatus(): Promise<SparkStatus>;
1598
1709
 
1599
1710
  export function initLogging(logger: Logger, filter?: string | null): Promise<void>;
1600
1711
 
1712
+ /**
1713
+ * Constructs a shareable REST-based Bitcoin chain service.
1714
+ *
1715
+ * Pass the returned chain service to multiple `SdkBuilder`s via
1716
+ * `withChainService` to reuse one HTTP client across SDK instances. All
1717
+ * SDKs sharing the chain service must use the same `network`.
1718
+ *
1719
+ * For one-off, non-shared use, prefer `withRestChainService`.
1720
+ */
1721
+ export function newRestChainService(url: string, network: Network, api_type: ChainApiType, credentials?: Credentials | null): BitcoinChainService;
1722
+
1723
+ export function newSspConnectionManager(user_agent?: string | null): SspConnectionManager;
1724
+
1601
1725
  /**
1602
1726
  * Entry point invoked by JavaScript in a worker.
1603
1727
  */
@@ -1607,11 +1731,19 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
1607
1731
 
1608
1732
  export interface InitOutput {
1609
1733
  readonly memory: WebAssembly.Memory;
1734
+ readonly __wbg_bitcoinchainservicehandle_free: (a: number, b: number) => void;
1610
1735
  readonly __wbg_breezsdk_free: (a: number, b: number) => void;
1611
1736
  readonly __wbg_defaultsigner_free: (a: number, b: number) => void;
1737
+ readonly __wbg_mysqlconnectionpool_free: (a: number, b: number) => void;
1612
1738
  readonly __wbg_passkey_free: (a: number, b: number) => void;
1613
1739
  readonly __wbg_sdkbuilder_free: (a: number, b: number) => void;
1740
+ readonly __wbg_sspconnectionmanager_free: (a: number, b: number) => void;
1614
1741
  readonly __wbg_tokenissuer_free: (a: number, b: number) => void;
1742
+ readonly bitcoinchainservicehandle_broadcastTransaction: (a: number, b: number, c: number) => any;
1743
+ readonly bitcoinchainservicehandle_getAddressUtxos: (a: number, b: number, c: number) => any;
1744
+ readonly bitcoinchainservicehandle_getTransactionHex: (a: number, b: number, c: number) => any;
1745
+ readonly bitcoinchainservicehandle_getTransactionStatus: (a: number, b: number, c: number) => any;
1746
+ readonly bitcoinchainservicehandle_recommendedFees: (a: number) => any;
1615
1747
  readonly breezsdk_addContact: (a: number, b: any) => any;
1616
1748
  readonly breezsdk_addEventListener: (a: number, b: any) => any;
1617
1749
  readonly breezsdk_buyBitcoin: (a: number, b: any) => any;
@@ -1658,6 +1790,8 @@ export interface InitOutput {
1658
1790
  readonly breezsdk_updateUserSettings: (a: number, b: any) => any;
1659
1791
  readonly connect: (a: any) => any;
1660
1792
  readonly connectWithSigner: (a: any, b: any, c: number, d: number) => any;
1793
+ readonly createMysqlConnectionPool: (a: any) => [number, number, number];
1794
+ readonly createPostgresConnectionPool: (a: any) => [number, number, number];
1661
1795
  readonly defaultConfig: (a: any) => any;
1662
1796
  readonly defaultExternalSigner: (a: number, b: number, c: number, d: number, e: any, f: number) => [number, number, number];
1663
1797
  readonly defaultMysqlStorageConfig: (a: number, b: number) => any;
@@ -1683,6 +1817,8 @@ export interface InitOutput {
1683
1817
  readonly defaultsigner_subtractSecrets: (a: number, b: any, c: any) => any;
1684
1818
  readonly getSparkStatus: () => any;
1685
1819
  readonly initLogging: (a: any, b: number, c: number) => any;
1820
+ readonly newRestChainService: (a: number, b: number, c: any, d: any, e: number) => number;
1821
+ readonly newSspConnectionManager: (a: number, b: number) => number;
1686
1822
  readonly passkey_getWallet: (a: number, b: number, c: number) => any;
1687
1823
  readonly passkey_isAvailable: (a: number) => any;
1688
1824
  readonly passkey_listLabels: (a: number) => any;
@@ -1696,10 +1832,14 @@ export interface InitOutput {
1696
1832
  readonly sdkbuilder_withFiatService: (a: number, b: any) => number;
1697
1833
  readonly sdkbuilder_withKeySet: (a: number, b: any) => number;
1698
1834
  readonly sdkbuilder_withLnurlClient: (a: number, b: any) => number;
1699
- readonly sdkbuilder_withMysqlBackend: (a: number, b: any) => number;
1835
+ readonly sdkbuilder_withMysqlBackend: (a: number, b: any) => [number, number, number];
1836
+ readonly sdkbuilder_withMysqlConnectionPool: (a: number, b: number) => number;
1700
1837
  readonly sdkbuilder_withPaymentObserver: (a: number, b: any) => number;
1701
- readonly sdkbuilder_withPostgresBackend: (a: number, b: any) => number;
1838
+ readonly sdkbuilder_withPostgresBackend: (a: number, b: any) => [number, number, number];
1839
+ readonly sdkbuilder_withPostgresConnectionPool: (a: number, b: number) => number;
1702
1840
  readonly sdkbuilder_withRestChainService: (a: number, b: number, c: number, d: any, e: number) => number;
1841
+ readonly sdkbuilder_withSessionManager: (a: number, b: any) => number;
1842
+ readonly sdkbuilder_withSspConnectionManager: (a: number, b: number) => number;
1703
1843
  readonly sdkbuilder_withStorage: (a: number, b: any) => number;
1704
1844
  readonly tokenissuer_burnIssuerToken: (a: number, b: any) => any;
1705
1845
  readonly tokenissuer_createIssuerToken: (a: number, b: any) => any;
@@ -1726,16 +1866,18 @@ export interface InitOutput {
1726
1866
  readonly intounderlyingsink_write: (a: number, b: any) => any;
1727
1867
  readonly intounderlyingsource_cancel: (a: number) => void;
1728
1868
  readonly intounderlyingsource_pull: (a: number, b: any) => any;
1869
+ readonly __wbg_postgresconnectionpool_free: (a: number, b: number) => void;
1729
1870
  readonly defaultPostgresStorageConfig: (a: number, b: number) => any;
1730
- readonly wasm_bindgen__convert__closures_____invoke__h27d08ee20b1285c7: (a: number, b: number, c: any) => [number, number];
1731
- readonly wasm_bindgen__convert__closures_____invoke__h27d08ee20b1285c7_4: (a: number, b: number, c: any) => [number, number];
1732
- readonly wasm_bindgen__convert__closures_____invoke__h27d08ee20b1285c7_5: (a: number, b: number, c: any) => [number, number];
1733
- readonly wasm_bindgen__convert__closures_____invoke__h27d08ee20b1285c7_6: (a: number, b: number, c: any) => [number, number];
1871
+ readonly wasm_bindgen__convert__closures_____invoke__h459c42c6ffe5f52c: (a: number, b: number, c: any) => [number, number];
1872
+ readonly wasm_bindgen__convert__closures_____invoke__h459c42c6ffe5f52c_4: (a: number, b: number, c: any) => [number, number];
1873
+ readonly wasm_bindgen__convert__closures_____invoke__h459c42c6ffe5f52c_5: (a: number, b: number, c: any) => [number, number];
1874
+ readonly wasm_bindgen__convert__closures_____invoke__h459c42c6ffe5f52c_6: (a: number, b: number, c: any) => [number, number];
1875
+ readonly wasm_bindgen__convert__closures_____invoke__h459c42c6ffe5f52c_7: (a: number, b: number, c: any) => [number, number];
1734
1876
  readonly wasm_bindgen__convert__closures_____invoke__h41057d61edf43a32: (a: number, b: number, c: any, d: any) => void;
1735
1877
  readonly wasm_bindgen__convert__closures_____invoke__h4819aba3eed2db57: (a: number, b: number, c: any) => void;
1736
1878
  readonly wasm_bindgen__convert__closures_____invoke__h4819aba3eed2db57_2: (a: number, b: number, c: any) => void;
1737
1879
  readonly wasm_bindgen__convert__closures_____invoke__h4819aba3eed2db57_3: (a: number, b: number, c: any) => void;
1738
- readonly wasm_bindgen__convert__closures_____invoke__h484cd36e13f37bd7: (a: number, b: number) => void;
1880
+ readonly wasm_bindgen__convert__closures_____invoke__h124479769cd429fd: (a: number, b: number) => void;
1739
1881
  readonly __wbindgen_malloc: (a: number, b: number) => number;
1740
1882
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
1741
1883
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;