@kaleidorg/wallet-engine 1.0.0-beta.33 → 1.0.0-beta.34
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/adapters/SparkAdapter.d.ts +93 -16
- package/dist/adapters/SparkAdapter.d.ts.map +1 -1
- package/dist/adapters/SparkAdapter.js +831 -171
- package/dist/adapters/SparkAdapter.js.map +1 -1
- package/dist/adapters/spark.d.ts +11 -0
- package/dist/adapters/spark.d.ts.map +1 -0
- package/dist/adapters/spark.js +11 -0
- package/dist/adapters/spark.js.map +1 -0
- package/dist/lib/psbt-signer.d.ts +60 -0
- package/dist/lib/psbt-signer.d.ts.map +1 -0
- package/dist/lib/psbt-signer.js +161 -0
- package/dist/lib/psbt-signer.js.map +1 -0
- package/dist/lib/spark-activity.d.ts +5 -0
- package/dist/lib/spark-activity.d.ts.map +1 -0
- package/dist/lib/spark-activity.js +11 -0
- package/dist/lib/spark-activity.js.map +1 -0
- package/dist/lib/spark-balance-cache.d.ts +58 -0
- package/dist/lib/spark-balance-cache.d.ts.map +1 -0
- package/dist/lib/spark-balance-cache.js +86 -0
- package/dist/lib/spark-balance-cache.js.map +1 -0
- package/dist/lib/spark-client-manager.d.ts +54 -9
- package/dist/lib/spark-client-manager.d.ts.map +1 -1
- package/dist/lib/spark-client-manager.js +176 -35
- package/dist/lib/spark-client-manager.js.map +1 -1
- package/dist/lib/spark-converters.d.ts +64 -0
- package/dist/lib/spark-converters.d.ts.map +1 -0
- package/dist/lib/spark-converters.js +242 -0
- package/dist/lib/spark-converters.js.map +1 -0
- package/dist/lib/spark-helpers.d.ts +72 -0
- package/dist/lib/spark-helpers.d.ts.map +1 -0
- package/dist/lib/spark-helpers.js +151 -0
- package/dist/lib/spark-helpers.js.map +1 -0
- package/dist/lib/spark-sent-token-records.d.ts +43 -0
- package/dist/lib/spark-sent-token-records.d.ts.map +1 -0
- package/dist/lib/spark-sent-token-records.js +105 -0
- package/dist/lib/spark-sent-token-records.js.map +1 -0
- package/package.json +7 -2
|
@@ -1,48 +1,125 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Spark Protocol Adapter
|
|
3
|
-
* Implements IProtocolAdapter using @buildonspark/spark-sdk.
|
|
4
|
-
*
|
|
3
|
+
* Implements IProtocolAdapter using @buildonspark/spark-sdk (native Spark SDK).
|
|
4
|
+
*
|
|
5
|
+
* Native SDK API reference:
|
|
6
|
+
* - SparkWallet.initialize({ mnemonicOrSeed, options: { network } })
|
|
7
|
+
* - wallet.getBalance() → { balance: bigint }
|
|
8
|
+
* - wallet.getSparkAddress() → SparkAddressFormat (string)
|
|
9
|
+
* - wallet.getSingleUseDepositAddress() → string (BTC on-chain)
|
|
10
|
+
* - wallet.createLightningInvoice({ amountSats, memo? }) → { invoice: { encodedInvoice } }
|
|
11
|
+
* - wallet.payLightningInvoice({ invoice, maxFeeSats }) → LightningSendRequest | WalletTransfer
|
|
12
|
+
* - wallet.transfer({ receiverSparkAddress, amountSats }) → WalletTransfer
|
|
13
|
+
* - wallet.withdraw({ onchainAddress, amountSats, exitSpeed }) → withdrawal result
|
|
14
|
+
* - wallet.getTransfers(limit?, offset?, createdAfter?, createdBefore?) → { transfers: WalletTransfer[], offset: number }
|
|
15
|
+
* - wallet.getTransfer(id) → WalletTransfer | undefined
|
|
16
|
+
* - wallet.cleanupConnections() → void
|
|
17
|
+
*
|
|
18
|
+
* Amounts in the SDK are in SATS. Balance is returned as bigint.
|
|
19
|
+
*/
|
|
20
|
+
import { IProtocolAdapter, type ProtocolConfig } from "./IProtocolAdapter.js";
|
|
21
|
+
import { SparkTransfer } from "../types/spark.js";
|
|
22
|
+
import { ProtocolType, Layer, NodeInfo, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter, QuoteRequest, Quote, SwapResult } from "../types/base.js";
|
|
23
|
+
import { invalidateSparkBalanceCache } from "../lib/spark-balance-cache.js";
|
|
24
|
+
export { isEmptyBalance } from "../lib/spark-helpers.js";
|
|
25
|
+
export { invalidateSparkBalanceCache };
|
|
26
|
+
/**
|
|
27
|
+
* Spark Protocol Adapter Implementation
|
|
5
28
|
*/
|
|
6
|
-
import { IProtocolAdapter, BaseProtocolConfig } from './IProtocolAdapter.js';
|
|
7
|
-
import { ProtocolType, Layer, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter } from '../types/base.js';
|
|
8
29
|
export declare class SparkAdapter implements IProtocolAdapter {
|
|
9
30
|
readonly protocolName: ProtocolType;
|
|
10
|
-
readonly capabilities: readonly import("..").ProtocolCapability[];
|
|
11
31
|
readonly supportedLayers: Layer[];
|
|
12
32
|
readonly version = "1.0.0";
|
|
33
|
+
readonly capabilities: readonly import("..").ProtocolCapability[];
|
|
13
34
|
private config;
|
|
14
|
-
|
|
35
|
+
/** Maps Lightning invoice string → LightningReceiveRequest ID for status polling. */
|
|
36
|
+
private invoiceRequestIds;
|
|
37
|
+
connect(config: ProtocolConfig): Promise<void>;
|
|
15
38
|
disconnect(): Promise<void>;
|
|
16
39
|
isConnected(): boolean;
|
|
17
40
|
getConnectionInfo(): Promise<ConnectionInfo>;
|
|
18
41
|
listAssets(): Promise<UnifiedAsset[]>;
|
|
19
42
|
getAsset(assetId: string): Promise<UnifiedAsset>;
|
|
20
|
-
getAssetBalance(assetId: string): Promise<UnifiedAsset[
|
|
43
|
+
getAssetBalance(assetId: string): Promise<UnifiedAsset["balance"]>;
|
|
21
44
|
refreshBalances(): Promise<void>;
|
|
22
45
|
listTransactions(filter?: TransactionFilter): Promise<UnifiedTransaction[]>;
|
|
23
46
|
getTransaction(txId: string): Promise<UnifiedTransaction>;
|
|
24
47
|
createInvoice(request: InvoiceRequest): Promise<Invoice>;
|
|
25
|
-
|
|
48
|
+
createSparkInvoice(request: InvoiceRequest): Promise<Invoice>;
|
|
49
|
+
decodeInvoice(input: string): Promise<DecodedInvoice>;
|
|
26
50
|
sendPayment(request: PaymentRequest): Promise<PaymentResult>;
|
|
27
|
-
getPaymentStatus(
|
|
51
|
+
getPaymentStatus(paymentId: string): Promise<PaymentStatus>;
|
|
28
52
|
getReceiveAddress(assetId?: string): Promise<Address>;
|
|
29
|
-
|
|
53
|
+
claimSparkL1Deposit(params: {
|
|
54
|
+
address: string;
|
|
55
|
+
}): Promise<{
|
|
56
|
+
status: "awaiting" | "claimed" | "error";
|
|
57
|
+
txids?: string[];
|
|
58
|
+
error?: string;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* Sweep every previously-generated single-use deposit address that is still
|
|
62
|
+
* unclaimed and credit any confirmed UTXOs paid to them. Each call to
|
|
63
|
+
* `getSingleUseDepositAddress()` returns a *new* address, so a deposit sent
|
|
64
|
+
* to an address from a previous session would otherwise stay stranded:
|
|
65
|
+
* the deposit-screen poller only watches the address currently on screen.
|
|
66
|
+
* Run this on unlock (after SPARK connects) and when the user opens the
|
|
67
|
+
* deposit screen so stuck deposits surface as soon as possible.
|
|
68
|
+
*/
|
|
69
|
+
sweepSparkL1Deposits(): Promise<{
|
|
70
|
+
addressesChecked: number;
|
|
71
|
+
claimedTxids: string[];
|
|
72
|
+
errors: string[];
|
|
73
|
+
}>;
|
|
74
|
+
getNodeInfo(): Promise<NodeInfo>;
|
|
30
75
|
getBtcBalance(): Promise<{
|
|
31
76
|
confirmed: number;
|
|
32
77
|
unconfirmed: number;
|
|
33
78
|
total: number;
|
|
34
79
|
}>;
|
|
35
80
|
listChannels(): Promise<[]>;
|
|
36
|
-
listPayments(): Promise<
|
|
81
|
+
listPayments(): Promise<{
|
|
82
|
+
transfers?: SparkTransfer[];
|
|
83
|
+
}>;
|
|
37
84
|
listTransfers(_options?: {
|
|
38
85
|
asset_id?: string;
|
|
39
|
-
}): Promise<
|
|
40
|
-
|
|
86
|
+
}): Promise<{
|
|
87
|
+
transfers: [];
|
|
88
|
+
}>;
|
|
41
89
|
sendBtcOnchain(params: {
|
|
42
90
|
address: string;
|
|
43
91
|
amount: number;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
92
|
+
feeRate?: number;
|
|
93
|
+
}): Promise<Record<string, unknown>>;
|
|
94
|
+
signPsbt(psbtHex: string): Promise<{
|
|
95
|
+
psbt: string;
|
|
96
|
+
unchanged: boolean;
|
|
97
|
+
}>;
|
|
98
|
+
signMessage(message: string): Promise<string>;
|
|
99
|
+
verifyMessage(message: string, signature: string): Promise<string>;
|
|
100
|
+
createRgbInvoice(_params: unknown): Promise<never>;
|
|
101
|
+
decodeRgbInvoice(_params: unknown): Promise<never>;
|
|
102
|
+
getInvoiceStatus(params: {
|
|
103
|
+
invoice: string;
|
|
104
|
+
}): Promise<{
|
|
105
|
+
status: string;
|
|
106
|
+
}>;
|
|
107
|
+
sendAsset(params: {
|
|
108
|
+
assetId: string;
|
|
109
|
+
amount: number;
|
|
110
|
+
recipientId: string;
|
|
111
|
+
assignment?: {
|
|
112
|
+
type: string;
|
|
113
|
+
value: number;
|
|
114
|
+
} | null;
|
|
115
|
+
transportEndpoints?: string[];
|
|
116
|
+
feeRate?: number;
|
|
117
|
+
donation?: boolean;
|
|
118
|
+
witness_data?: unknown;
|
|
119
|
+
}): Promise<Record<string, unknown>>;
|
|
120
|
+
supportsSwaps(): boolean;
|
|
121
|
+
getSwapQuote(_request: QuoteRequest): Promise<Quote>;
|
|
122
|
+
executeSwap(_quote: Quote): Promise<SwapResult>;
|
|
123
|
+
getSwapStatus(_swapId: string): Promise<SwapResult>;
|
|
47
124
|
}
|
|
48
125
|
//# sourceMappingURL=SparkAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SparkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/SparkAdapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SparkAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/SparkAdapter.ts"],"names":[],"mappings":"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"}
|