@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.
- package/breez-sdk-spark.tgz +0 -0
- package/bundler/breez_sdk_spark_wasm.d.ts +124 -0
- package/bundler/breez_sdk_spark_wasm.js +1 -1
- package/bundler/breez_sdk_spark_wasm_bg.js +369 -33
- package/bundler/breez_sdk_spark_wasm_bg.wasm +0 -0
- package/bundler/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
- package/deno/breez_sdk_spark_wasm.d.ts +124 -0
- package/deno/breez_sdk_spark_wasm.js +369 -33
- package/deno/breez_sdk_spark_wasm_bg.wasm +0 -0
- package/deno/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
- package/nodejs/breez_sdk_spark_wasm.d.ts +124 -0
- package/nodejs/breez_sdk_spark_wasm.js +377 -33
- package/nodejs/breez_sdk_spark_wasm_bg.wasm +0 -0
- package/nodejs/breez_sdk_spark_wasm_bg.wasm.d.ts +25 -7
- package/nodejs/index.js +22 -0
- package/nodejs/index.mjs +8 -0
- package/nodejs/mysql-session-manager/errors.cjs +13 -0
- package/nodejs/mysql-session-manager/index.cjs +144 -0
- package/nodejs/mysql-session-manager/migrations.cjs +102 -0
- package/nodejs/mysql-session-manager/package.json +9 -0
- package/nodejs/mysql-storage/index.cjs +1 -0
- package/nodejs/mysql-token-store/index.cjs +4 -12
- package/nodejs/mysql-tree-store/index.cjs +2 -0
- package/nodejs/package.json +2 -0
- package/nodejs/postgres-session-manager/errors.cjs +13 -0
- package/nodejs/postgres-session-manager/index.cjs +165 -0
- package/nodejs/postgres-session-manager/migrations.cjs +126 -0
- package/nodejs/postgres-session-manager/package.json +9 -0
- package/nodejs/postgres-token-store/index.cjs +2 -13
- package/package.json +1 -1
- package/ssr/index.js +48 -0
- package/web/breez_sdk_spark_wasm.d.ts +149 -7
- package/web/breez_sdk_spark_wasm.js +369 -33
- package/web/breez_sdk_spark_wasm_bg.wasm +0 -0
- 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 };
|
|
@@ -532,13 +532,9 @@ class PostgresTokenStore {
|
|
|
532
532
|
*/
|
|
533
533
|
async insertTokenOutputs(tokenOutputs) {
|
|
534
534
|
try {
|
|
535
|
-
|
|
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
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
|
|
1731
|
-
readonly
|
|
1732
|
-
readonly
|
|
1733
|
-
readonly
|
|
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
|
|
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;
|