diff --git a/package-lock.json b/package-lock.json index 8d54105d..120524ab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@aibtc/tx-schemas": "^0.7.0", "@bitflowlabs/core-sdk": "^3.0.0", - "@buildonspark/spark-sdk": "^0.7.14", + "@buildonspark/spark-sdk": "^0.5.0", "@faktoryfun/styx-sdk": "^1.3.5", "@modelcontextprotocol/sdk": "^1.27.1", "@noble/curves": "^2.0.1", @@ -111,14 +111,14 @@ "license": "(Apache-2.0 AND BSD-3-Clause)" }, "node_modules/@buildonspark/spark-sdk": { - "version": "0.7.14", - "resolved": "https://registry.npmjs.org/@buildonspark/spark-sdk/-/spark-sdk-0.7.14.tgz", - "integrity": "sha512-R/kJp+MSPQDvV6QfFGEBV9um6hhQNN60vWGA+e5hdh/cMroVL9BAmz7h4cNxXHZM0PhpMW18PeLVg9Qjhh9ipQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@buildonspark/spark-sdk/-/spark-sdk-0.5.0.tgz", + "integrity": "sha512-+u39p8Hb9t0VzWPsPvnt5r8P799R/wTyLfycu9PvZdsTQbxOPbSV+vYhMWLxqQdEtT/DeC+zVgt2skda+lG4Gg==", "license": "Apache-2.0", "dependencies": { "@bufbuild/protobuf": "^2.2.5", - "@lightsparkdev/core": "^1.4.9", - "@noble/curves": "^1.9.7", + "@lightsparkdev/core": "^1.4.4", + "@noble/curves": "^1.8.0", "@noble/hashes": "^1.7.0", "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^2.0.0", @@ -146,7 +146,7 @@ "nice-grpc-common": "^2.0.2", "nice-grpc-opentelemetry": "^0.1.18", "nice-grpc-web": "^3.3.7", - "ts-proto": "2.8.3", + "ts-proto": "^2.6.1", "ua-parser-js": "^2.0.6", "uuidv7": "^1.0.2" }, diff --git a/package.json b/package.json index 63d834a6..16f543c0 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "dependencies": { "@aibtc/tx-schemas": "^0.7.0", "@bitflowlabs/core-sdk": "^3.0.0", - "@buildonspark/spark-sdk": "^0.7.14", + "@buildonspark/spark-sdk": "^0.5.0", "@faktoryfun/styx-sdk": "^1.3.5", "@modelcontextprotocol/sdk": "^1.27.1", "@noble/curves": "^2.0.1", diff --git a/src/services/lightning/spark-provider.ts b/src/services/lightning/spark-provider.ts index 8c9bd02e..4f62a95a 100644 --- a/src/services/lightning/spark-provider.ts +++ b/src/services/lightning/spark-provider.ts @@ -50,6 +50,10 @@ interface SparkCurrencyAmount { originalUnit: string; } +type SparkWalletBalance = + | { balance: bigint | number | string } + | { satsBalance: { available: bigint | number | string } }; + /** * Convert a Spark `CurrencyAmount` to whole satoshis. * @@ -169,9 +173,12 @@ export class SparkLightningProvider implements LightningProvider { } async getBalance(): Promise<{ balanceSats: number }> { - const balance = await this.wallet.getBalance(); + const balance = (await this.wallet.getBalance()) as SparkWalletBalance; + const balanceSats = + "satsBalance" in balance ? balance.satsBalance.available : balance.balance; + return { - balanceSats: Number(balance.satsBalance.available), + balanceSats: Number(balanceSats), }; }