@breeztech/breez-sdk-spark 0.18.0-dev4 → 0.19.0

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.
@@ -39,16 +39,24 @@ type ReserveResult =
39
39
  | { type: 'insufficientFunds' }
40
40
  | { type: 'waitForPending'; needed: number; available: number; pending: number };
41
41
 
42
+ type LeafSelection =
43
+ | { type: 'exact'; leaves: TreeNode[] }
44
+ | { type: 'swapNeeded'; leaves: TreeNode[] }
45
+ | { type: 'insufficientFunds' };
46
+
42
47
  export interface TreeStore {
43
48
  addLeaves: (leaves: TreeNode[]) => Promise<void>;
44
49
  getLeaves: () => Promise<Leaves>;
45
50
  getAvailableBalance: () => Promise<bigint>;
51
+ getVerifiedLeafKeys: () => Promise<[string, string, string][]>;
46
52
  setLeaves: (leaves: TreeNode[], missingLeaves: TreeNode[], refreshStartedAtMs: number) => Promise<void>;
47
53
  cancelReservation: (id: string, leavesToKeep: TreeNode[]) => Promise<void>;
48
54
  finalizeReservation: (id: string, newLeaves: TreeNode[] | null) => Promise<void>;
49
55
  tryReserveLeaves: (targetAmounts: TargetAmounts | null, exactOnly: boolean, purpose: string) => Promise<ReserveResult>;
50
56
  now: () => Promise<number>;
51
57
  updateReservation: (reservationId: string, reservedLeaves: TreeNode[], changeLeaves: TreeNode[]) => Promise<LeavesReservation>;
58
+ tryReserveLeavesByIds: (leafIds: string[], purpose: string) => Promise<LeavesReservation>;
59
+ trySelectLeaves: (targetAmounts: TargetAmounts | null) => Promise<LeafSelection>;
52
60
  }
53
61
 
54
62
 
@@ -123,6 +131,17 @@ export interface TokenStore {
123
131
  preferredOutputs: WasmTokenOutputWithPrevOut[] | null,
124
132
  selectionStrategy: string | null
125
133
  ) => Promise<WasmTokenOutputsReservation>;
134
+ selectTokenOutputs: (
135
+ tokenIdentifier: string,
136
+ target: WasmReservationTarget,
137
+ preferredOutputs: WasmTokenOutputWithPrevOut[] | null,
138
+ selectionStrategy: string | null
139
+ ) => Promise<WasmTokenOutputs>;
140
+ reserveTokenOutputsByOutpoints: (
141
+ tokenIdentifier: string,
142
+ outpoints: { prevTxHash: string; prevTxVout: number }[],
143
+ purpose: string
144
+ ) => Promise<WasmTokenOutputsReservation>;
126
145
  cancelReservation: (id: string) => Promise<void>;
127
146
  finalizeReservation: (id: string) => Promise<void>;
128
147
  now: () => Promise<number>;
@@ -536,6 +555,15 @@ export interface Bolt12OfferDetails {
536
555
  signingPubkey?: string;
537
556
  }
538
557
 
558
+ export interface BuildUnsignedLnurlPayPackageRequest {
559
+ prepareResponse: PrepareLnurlPayResponse;
560
+ }
561
+
562
+ export interface BuildUnsignedTransferPackageRequest {
563
+ prepareResponse: PrepareSendPaymentResponse;
564
+ options?: BuildTransferPackageOptions;
565
+ }
566
+
539
567
  export interface BurnIssuerTokenRequest {
540
568
  amount: bigint;
541
569
  }
@@ -886,6 +914,13 @@ export interface ExternalSigningCommitments {
886
914
  binding: number[];
887
915
  }
888
916
 
917
+ export interface ExternalSigningSigner {
918
+ derivePublicKey(path: string): Promise<PublicKeyBytes>;
919
+ signEcdsa(message: MessageBytes, path: string): Promise<EcdsaSignatureBytes>;
920
+ signEcdsaRecoverable(message: MessageBytes, path: string): Promise<RecoverableEcdsaSignatureBytes>;
921
+ signHashSchnorr(hash: Uint8Array, path: string): Promise<SchnorrSignatureBytes>;
922
+ }
923
+
889
924
  export interface ExternalSparkSigner {
890
925
  getIdentityPublicKey(): Promise<PublicKeyBytes>;
891
926
  getPublicKeyForLeaf(leafId: ExternalTreeNodeId): Promise<PublicKeyBytes>;
@@ -1071,6 +1106,12 @@ export interface LnurlInfo {
1071
1106
  bech32: string;
1072
1107
  }
1073
1108
 
1109
+ export interface LnurlPayContext {
1110
+ payRequest: LnurlPayRequestDetails;
1111
+ comment?: string;
1112
+ successAction?: SuccessAction;
1113
+ }
1114
+
1074
1115
  export interface LnurlPayInfo {
1075
1116
  lnAddress?: string;
1076
1117
  comment?: string;
@@ -1260,6 +1301,14 @@ export interface PublicKeyBytes {
1260
1301
  bytes: number[];
1261
1302
  }
1262
1303
 
1304
+ export interface PublishSignedLnurlPayPackageRequest {
1305
+ signedPackage: SignedTransferPackage;
1306
+ }
1307
+
1308
+ export interface PublishSignedTransferPackageRequest {
1309
+ signedPackage: SignedTransferPackage;
1310
+ }
1311
+
1263
1312
  export interface Rate {
1264
1313
  coin: string;
1265
1314
  value: number;
@@ -1401,6 +1450,11 @@ export interface SignMessageResponse {
1401
1450
  signature: string;
1402
1451
  }
1403
1452
 
1453
+ export interface SignedTransferPackage {
1454
+ unsigned: UnsignedTransferPackage;
1455
+ signature: TransferSignature;
1456
+ }
1457
+
1404
1458
  export interface SilentPaymentAddressDetails {
1405
1459
  address: string;
1406
1460
  network: BitcoinNetwork;
@@ -1421,6 +1475,7 @@ export interface SparkConfig {
1421
1475
  sspConfig: SparkSspConfig;
1422
1476
  expectedWithdrawBondSats: number;
1423
1477
  expectedWithdrawRelativeBlockLocktime: number;
1478
+ maxTokenTransactionInputs?: number;
1424
1479
  }
1425
1480
 
1426
1481
  export interface SparkHtlcDetails {
@@ -1590,7 +1645,9 @@ export interface TurnkeyConfig {
1590
1645
  walletId: string;
1591
1646
  network: Network;
1592
1647
  accountNumber?: number;
1648
+ identityPublicKey?: string;
1593
1649
  retry?: TurnkeyRetryConfig;
1650
+ maxRps?: number;
1594
1651
  }
1595
1652
 
1596
1653
  export interface TurnkeyRetryConfig {
@@ -1673,6 +1730,8 @@ export type AutoOptimizationEvent = { type: "started"; totalRounds: number } | {
1673
1730
 
1674
1731
  export type BitcoinNetwork = "bitcoin" | "testnet3" | "testnet4" | "signet" | "regtest";
1675
1732
 
1733
+ export type BuildTransferPackageOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean; completionTimeoutSecs?: number };
1734
+
1676
1735
  export type BuyBitcoinRequest = { type: "moonpay"; lockedAmountSat?: number; redirectUrl?: string } | { type: "cashApp"; amountSats: number };
1677
1736
 
1678
1737
  export type ChainApiType = "esplora" | "mempoolSpace";
@@ -1741,6 +1800,10 @@ export type PaymentType = "send" | "receive";
1741
1800
 
1742
1801
  export type ProvisionalPaymentDetails = { type: "bitcoin"; withdrawalAddress: string } | { type: "lightning"; invoice: string } | { type: "spark"; payRequest: string } | { type: "token"; tokenId: string; payRequest: string };
1743
1802
 
1803
+ export type PublishSignedLnurlPayResponse = { type: "swapCompleted" } | { type: "paymentSent"; response: LnurlPayResponse };
1804
+
1805
+ export type PublishSignedTransferPackageResponse = { type: "swapCompleted" } | { type: "paymentSent"; payment: Payment };
1806
+
1744
1807
  export type ReceivePaymentMethod = { type: "sparkAddress" } | { type: "sparkInvoice"; amount?: string; tokenIdentifier?: string; expiryTime?: number; description?: string; senderPublicKey?: string } | { type: "bitcoinAddress"; newAddress?: boolean } | { type: "bolt11Invoice"; description: string; amountSats?: number; expirySecs?: number; paymentHash?: string };
1745
1808
 
1746
1809
  export type SdkEvent = { type: "synced" } | { type: "unclaimedDeposits"; unclaimedDeposits: DepositInfo[] } | { type: "claimedDeposits"; claimedDeposits: DepositInfo[] } | { type: "paymentSucceeded"; payment: Payment } | { type: "paymentPending"; payment: Payment } | { type: "paymentFailed"; payment: Payment } | { type: "autoOptimization"; optimizationEvent: AutoOptimizationEvent } | { type: "lightningAddressChanged"; lightningAddress?: LightningAddressInfo } | { type: "newDeposits"; newDeposits: DepositInfo[] };
@@ -1769,6 +1832,12 @@ export type SuccessActionProcessed = { type: "aes"; result: AesSuccessActionData
1769
1832
 
1770
1833
  export type TokenTransactionType = "transfer" | "mint" | "burn";
1771
1834
 
1835
+ export type TransferSignature = { type: "transfer"; signed: ExternalPreparedTransfer } | { type: "token"; signed: ExternalPreparedTokenTransaction };
1836
+
1837
+ export type TransferTarget = { type: "spark"; address: string; sparkInvoice?: string } | { type: "lightning"; bolt11: string; lnurlPay?: LnurlPayContext; feePolicy: FeePolicy; completionTimeoutSecs?: number } | { type: "coopExit"; address: string; feeQuote: SendOnchainFeeQuote; confirmationSpeed: OnchainConfirmationSpeed };
1838
+
1839
+ export type UnsignedTransferPackage = { type: "swap"; prepareTransfer: ExternalPrepareTransferRequest; targetAmounts: number[]; amountSat: number; feeSat: number } | { type: "transfer"; prepareTransfer: ExternalPrepareTransferRequest; amountSat: number; feeSat: number; target: TransferTarget } | { type: "token"; prepareTokenTransaction: ExternalPrepareTokenTransactionRequest; tokenContext: number[]; tokenIdentifier: string; amount: string; fee: string; isSwap: boolean };
1840
+
1772
1841
  export type UpdateDepositPayload = { type: "claimError"; error: DepositClaimError } | { type: "refund"; refundTxid: string; refundTx: string };
1773
1842
 
1774
1843
  export type WebhookEventType = { type: "lightningReceiveFinished" } | { type: "lightningSendFinished" } | { type: "coopExitFinished" } | { type: "staticDepositFinished" } | ({ type: "unknown" } & string);
@@ -1800,6 +1869,8 @@ export class BreezSdk {
1800
1869
  addContact(request: AddContactRequest): Promise<Contact>;
1801
1870
  addEventListener(listener: EventListener): Promise<string>;
1802
1871
  authorizeLightningAddressTransfer(request: AuthorizeTransferRequest): Promise<TransferAuthorization>;
1872
+ buildUnsignedLnurlPayPackage(request: BuildUnsignedLnurlPayPackageRequest): Promise<UnsignedTransferPackage>;
1873
+ buildUnsignedTransferPackage(request: BuildUnsignedTransferPackageRequest): Promise<UnsignedTransferPackage>;
1803
1874
  buyBitcoin(request: BuyBitcoinRequest): Promise<BuyBitcoinResponse>;
1804
1875
  checkLightningAddressAvailable(request: CheckLightningAddressRequest): Promise<boolean>;
1805
1876
  checkMessage(request: CheckMessageRequest): Promise<CheckMessageResponse>;
@@ -1830,6 +1901,8 @@ export class BreezSdk {
1830
1901
  parse(input: string): Promise<InputType>;
1831
1902
  prepareLnurlPay(request: PrepareLnurlPayRequest): Promise<PrepareLnurlPayResponse>;
1832
1903
  prepareSendPayment(request: PrepareSendPaymentRequest): Promise<PrepareSendPaymentResponse>;
1904
+ publishSignedLnurlPayPackage(request: PublishSignedLnurlPayPackageRequest): Promise<PublishSignedLnurlPayResponse>;
1905
+ publishSignedTransferPackage(request: PublishSignedTransferPackageRequest): Promise<PublishSignedTransferPackageResponse>;
1833
1906
  receivePayment(request: ReceivePaymentRequest): Promise<ReceivePaymentResponse>;
1834
1907
  recommendedFees(): Promise<RecommendedFees>;
1835
1908
  refundDeposit(request: RefundDepositRequest): Promise<RefundDepositResponse>;
@@ -1845,6 +1918,21 @@ export class BreezSdk {
1845
1918
  updateUserSettings(request: UpdateUserSettingsRequest): Promise<void>;
1846
1919
  }
1847
1920
 
1921
+ /**
1922
+ * A JS handle to a backend's own session store (from `defaultSessionStore`),
1923
+ * exposing the same `getSession` / `setSession` interface. Wrap it in a JS
1924
+ * `SessionStore` decorator and pass that to `SdkBuilder.withSessionStore` to
1925
+ * transform tokens while keeping the backend's persistence: for example
1926
+ * at-rest encryption, which the SDK does not apply itself.
1927
+ */
1928
+ export class DefaultSessionStore {
1929
+ private constructor();
1930
+ free(): void;
1931
+ [Symbol.dispose](): void;
1932
+ getSession(service_identity_key: string): Promise<Session>;
1933
+ setSession(service_identity_key: string, session: Session): Promise<void>;
1934
+ }
1935
+
1848
1936
  /**
1849
1937
  * A Rust-backed [`ExternalBreezSigner`] surfaced to JS as a signer object that
1850
1938
  * can be passed to `connectWithSigner` or `SdkBuilder.newWithSigner`. Produced
@@ -1885,6 +1973,24 @@ export class ExternalSigners {
1885
1973
  readonly sparkSigner: ExternalSparkSignerHandle;
1886
1974
  }
1887
1975
 
1976
+ /**
1977
+ * A Rust-backed [`ExternalSigningSigner`] surfaced to JS as a signer object
1978
+ * that can be passed to `connectWithSigningOnlySigner` or
1979
+ * `SdkBuilder.newWithSigningOnlySigner`. Produced by
1980
+ * `createTurnkeySigningOnlySigner`.
1981
+ *
1982
+ * [`ExternalSigningSigner`]: breez_sdk_spark::signer::ExternalSigningSigner
1983
+ */
1984
+ export class ExternalSigningSignerHandle {
1985
+ private constructor();
1986
+ free(): void;
1987
+ [Symbol.dispose](): void;
1988
+ derivePublicKey(path: string): Promise<PublicKeyBytes>;
1989
+ signEcdsa(message: MessageBytes, path: string): Promise<EcdsaSignatureBytes>;
1990
+ signEcdsaRecoverable(message: MessageBytes, path: string): Promise<RecoverableEcdsaSignatureBytes>;
1991
+ signHashSchnorr(hash: Uint8Array, path: string): Promise<SchnorrSignatureBytes>;
1992
+ }
1993
+
1888
1994
  /**
1889
1995
  * A Rust-backed [`ExternalSparkSigner`] surfaced to JS as a signer object that
1890
1996
  * can be passed to `connectWithSigner` or `SdkBuilder.newWithSigner`. Produced
@@ -2004,6 +2110,13 @@ export class SdkBuilder {
2004
2110
  build(): Promise<BreezSdk>;
2005
2111
  static new(config: Config, seed: Seed): SdkBuilder;
2006
2112
  static newWithSigner(config: Config, breez_signer: ExternalBreezSigner, spark_signer: ExternalSparkSigner): SdkBuilder;
2113
+ /**
2114
+ * Creates a new `SdkBuilder` with a signing-only external signer, for a
2115
+ * signer that can't perform the SDK's local ECIES/HMAC operations. The SDK
2116
+ * keeps session tokens in plaintext and disables the features that rely on
2117
+ * ECIES/HMAC.
2118
+ */
2119
+ static newWithSigningOnlySigner(config: Config, breez_signer: ExternalSigningSigner, spark_signer: ExternalSparkSigner): SdkBuilder;
2007
2120
  withAccountNumber(account_number: number): SdkBuilder;
2008
2121
  withChainService(chain_service: BitcoinChainService): SdkBuilder;
2009
2122
  withDefaultStorage(storage_dir: string): Promise<SdkBuilder>;
@@ -2019,6 +2132,13 @@ export class SdkBuilder {
2019
2132
  */
2020
2133
  withPostgresBackend(config: PostgresStorageConfig): SdkBuilder;
2021
2134
  withRestChainService(url: string, api_type: ChainApiType, credentials?: Credentials | null): SdkBuilder;
2135
+ /**
2136
+ * Overrides the session store used to cache auth tokens, replacing the one
2137
+ * the backend provides. Pass any `SessionStore`: for example one that wraps
2138
+ * the backend's own store from `defaultSessionStore` to add at-rest
2139
+ * encryption, which the SDK does not apply itself.
2140
+ */
2141
+ withSessionStore(session_store: SessionStore): SdkBuilder;
2022
2142
  /**
2023
2143
  * Threads a shared [`WasmSdkContext`] into the builder.
2024
2144
  *
@@ -2037,6 +2157,25 @@ export class SdkBuilder {
2037
2157
  withStorageBackend(config: WasmStorageConfig): SdkBuilder;
2038
2158
  }
2039
2159
 
2160
+ /**
2161
+ * The signing-only external signers for the SDK's signer-based connect.
2162
+ * Returned by `createTurnkeySigningOnlySigner`; pass both halves to
2163
+ * `connectWithSigningOnlySigner` or `SdkBuilder.newWithSigningOnlySigner`.
2164
+ */
2165
+ export class SigningOnlyExternalSigners {
2166
+ private constructor();
2167
+ free(): void;
2168
+ [Symbol.dispose](): void;
2169
+ /**
2170
+ * Signing-only external signer for non-Spark SDK signing.
2171
+ */
2172
+ readonly breezSigner: ExternalSigningSignerHandle;
2173
+ /**
2174
+ * External high-level Spark signer for the Spark wallet flows.
2175
+ */
2176
+ readonly sparkSigner: ExternalSparkSignerHandle;
2177
+ }
2178
+
2040
2179
  export class TokenIssuer {
2041
2180
  private constructor();
2042
2181
  free(): void;
@@ -2079,6 +2218,13 @@ export function connect(request: ConnectRequest): Promise<BreezSdk>;
2079
2218
 
2080
2219
  export function connectWithSigner(config: Config, breez_signer: ExternalBreezSigner, spark_signer: ExternalSparkSigner, storage_dir: string): Promise<BreezSdk>;
2081
2220
 
2221
+ /**
2222
+ * Connects using a signing-only external signer, for a signer that can't
2223
+ * perform the SDK's local ECIES/HMAC operations. The SDK keeps session tokens
2224
+ * in plaintext and disables the features that rely on ECIES/HMAC.
2225
+ */
2226
+ export function connectWithSigningOnlySigner(config: Config, breez_signer: ExternalSigningSigner, spark_signer: ExternalSparkSigner, storage_dir: string): Promise<BreezSdk>;
2227
+
2082
2228
  /**
2083
2229
  * Builds the Turnkey-backed signers from `config`, then pass
2084
2230
  * `signers.breezSigner` and `signers.sparkSigner` to `connectWithSigner`,
@@ -2086,6 +2232,14 @@ export function connectWithSigner(config: Config, breez_signer: ExternalBreezSig
2086
2232
  */
2087
2233
  export function createTurnkeySigner(config: TurnkeyConfig): Promise<ExternalSigners>;
2088
2234
 
2235
+ /**
2236
+ * Builds the signing-only Turnkey-backed signers from `config` (for a wallet
2237
+ * under a deny-export policy), then pass `signers.breezSigner` and
2238
+ * `signers.sparkSigner` to `connectWithSigningOnlySigner`. The Breez half
2239
+ * performs signing only and never exports a key.
2240
+ */
2241
+ export function createTurnkeySigningOnlySigner(config: TurnkeyConfig): Promise<SigningOnlyExternalSigners>;
2242
+
2089
2243
  export function defaultConfig(network: Network): Config;
2090
2244
 
2091
2245
  /**
@@ -2119,6 +2273,14 @@ export function defaultPostgresStorageConfig(connection_string: string): Postgre
2119
2273
 
2120
2274
  export function defaultServerConfig(network: Network): Config;
2121
2275
 
2276
+ /**
2277
+ * The session store the `config`'s backend provides for `identity` (the wallet
2278
+ * identity public key, hex), as a handle to wrap in a `SessionStore` decorator
2279
+ * and pass to `SdkBuilder.withSessionStore`, keeping the backend's persistence.
2280
+ * A typical use is at-rest encryption, which the SDK does not apply itself.
2281
+ */
2282
+ export function defaultSessionStore(config: WasmStorageConfig, network: Network, identity: string): Promise<DefaultSessionStore>;
2283
+
2122
2284
  /**
2123
2285
  * File-based storage rooted at `storageDir` — IndexedDB in the browser,
2124
2286
  * SQLite under Node.js.
@@ -2189,6 +2351,8 @@ export interface InitOutput {
2189
2351
  readonly breezsdk_addContact: (a: number, b: any) => any;
2190
2352
  readonly breezsdk_addEventListener: (a: number, b: any) => any;
2191
2353
  readonly breezsdk_authorizeLightningAddressTransfer: (a: number, b: any) => any;
2354
+ readonly breezsdk_buildUnsignedLnurlPayPackage: (a: number, b: any) => any;
2355
+ readonly breezsdk_buildUnsignedTransferPackage: (a: number, b: any) => any;
2192
2356
  readonly breezsdk_buyBitcoin: (a: number, b: any) => any;
2193
2357
  readonly breezsdk_checkLightningAddressAvailable: (a: number, b: any) => any;
2194
2358
  readonly breezsdk_checkMessage: (a: number, b: any) => any;
@@ -2219,6 +2383,8 @@ export interface InitOutput {
2219
2383
  readonly breezsdk_parse: (a: number, b: number, c: number) => any;
2220
2384
  readonly breezsdk_prepareLnurlPay: (a: number, b: any) => any;
2221
2385
  readonly breezsdk_prepareSendPayment: (a: number, b: any) => any;
2386
+ readonly breezsdk_publishSignedLnurlPayPackage: (a: number, b: any) => any;
2387
+ readonly breezsdk_publishSignedTransferPackage: (a: number, b: any) => any;
2222
2388
  readonly breezsdk_receivePayment: (a: number, b: any) => any;
2223
2389
  readonly breezsdk_recommendedFees: (a: number) => any;
2224
2390
  readonly breezsdk_refundDeposit: (a: number, b: any) => any;
@@ -2234,13 +2400,18 @@ export interface InitOutput {
2234
2400
  readonly breezsdk_updateUserSettings: (a: number, b: any) => any;
2235
2401
  readonly connect: (a: any) => any;
2236
2402
  readonly connectWithSigner: (a: any, b: any, c: any, d: number, e: number) => any;
2403
+ readonly connectWithSigningOnlySigner: (a: any, b: any, c: any, d: number, e: number) => any;
2237
2404
  readonly createTurnkeySigner: (a: any) => any;
2405
+ readonly createTurnkeySigningOnlySigner: (a: any) => any;
2238
2406
  readonly defaultConfig: (a: any) => any;
2239
2407
  readonly defaultExternalSigners: (a: number, b: number, c: number, d: number, e: any, f: number) => [number, number, number];
2240
2408
  readonly defaultMysqlStorageConfig: (a: number, b: number) => any;
2241
2409
  readonly defaultPostgresStorageConfig: (a: number, b: number) => any;
2242
2410
  readonly defaultServerConfig: (a: any) => any;
2411
+ readonly defaultSessionStore: (a: number, b: any, c: number, d: number) => any;
2243
2412
  readonly defaultStorage: (a: number, b: number) => number;
2413
+ readonly defaultsessionstore_getSession: (a: number, b: number, c: number) => any;
2414
+ readonly defaultsessionstore_setSession: (a: number, b: number, c: number, d: any) => any;
2244
2415
  readonly externalbreezsignerhandle_decryptEcies: (a: number, b: number, c: number, d: number, e: number) => any;
2245
2416
  readonly externalbreezsignerhandle_derivePublicKey: (a: number, b: number, c: number) => any;
2246
2417
  readonly externalbreezsignerhandle_encryptEcies: (a: number, b: number, c: number, d: number, e: number) => any;
@@ -2250,6 +2421,10 @@ export interface InitOutput {
2250
2421
  readonly externalbreezsignerhandle_signHashSchnorr: (a: number, b: number, c: number, d: number, e: number) => any;
2251
2422
  readonly externalsigners_breezSigner: (a: number) => number;
2252
2423
  readonly externalsigners_sparkSigner: (a: number) => number;
2424
+ readonly externalsigningsignerhandle_derivePublicKey: (a: number, b: number, c: number) => any;
2425
+ readonly externalsigningsignerhandle_signEcdsa: (a: number, b: any, c: number, d: number) => any;
2426
+ readonly externalsigningsignerhandle_signEcdsaRecoverable: (a: number, b: any, c: number, d: number) => any;
2427
+ readonly externalsigningsignerhandle_signHashSchnorr: (a: number, b: number, c: number, d: number, e: number) => any;
2253
2428
  readonly externalsparksignerhandle_getIdentityPublicKey: (a: number) => any;
2254
2429
  readonly externalsparksignerhandle_getPublicKeyForLeaf: (a: number, b: any) => any;
2255
2430
  readonly externalsparksignerhandle_getStaticDepositPublicKey: (a: number, b: number) => any;
@@ -2281,6 +2456,7 @@ export interface InitOutput {
2281
2456
  readonly sdkbuilder_build: (a: number) => any;
2282
2457
  readonly sdkbuilder_new: (a: any, b: any) => number;
2283
2458
  readonly sdkbuilder_newWithSigner: (a: any, b: any, c: any) => number;
2459
+ readonly sdkbuilder_newWithSigningOnlySigner: (a: any, b: any, c: any) => number;
2284
2460
  readonly sdkbuilder_withAccountNumber: (a: number, b: number) => number;
2285
2461
  readonly sdkbuilder_withChainService: (a: number, b: any) => number;
2286
2462
  readonly sdkbuilder_withDefaultStorage: (a: number, b: number, c: number) => any;
@@ -2290,6 +2466,7 @@ export interface InitOutput {
2290
2466
  readonly sdkbuilder_withPaymentObserver: (a: number, b: any) => number;
2291
2467
  readonly sdkbuilder_withPostgresBackend: (a: number, b: any) => [number, number, number];
2292
2468
  readonly sdkbuilder_withRestChainService: (a: number, b: number, c: number, d: any, e: number) => number;
2469
+ readonly sdkbuilder_withSessionStore: (a: number, b: any) => number;
2293
2470
  readonly sdkbuilder_withSharedContext: (a: number, b: number) => number;
2294
2471
  readonly sdkbuilder_withStorage: (a: number, b: any) => number;
2295
2472
  readonly sdkbuilder_withStorageBackend: (a: number, b: number) => number;
@@ -2320,12 +2497,17 @@ export interface InitOutput {
2320
2497
  readonly intounderlyingsource_cancel: (a: number) => void;
2321
2498
  readonly intounderlyingsource_pull: (a: number, b: any) => any;
2322
2499
  readonly __wbg_externalbreezsignerhandle_free: (a: number, b: number) => void;
2500
+ readonly __wbg_defaultsessionstore_free: (a: number, b: number) => void;
2501
+ readonly __wbg_externalsigningsignerhandle_free: (a: number, b: number) => void;
2323
2502
  readonly __wbg_externalsparksignerhandle_free: (a: number, b: number) => void;
2324
- readonly wasm_bindgen__convert__closures_____invoke__h039d35996dc01d12: (a: number, b: number, c: any) => [number, number];
2325
- readonly wasm_bindgen__convert__closures_____invoke__h039d35996dc01d12_6: (a: number, b: number, c: any) => [number, number];
2326
- readonly wasm_bindgen__convert__closures_____invoke__h039d35996dc01d12_7: (a: number, b: number, c: any) => [number, number];
2327
- readonly wasm_bindgen__convert__closures_____invoke__h039d35996dc01d12_8: (a: number, b: number, c: any) => [number, number];
2328
- readonly wasm_bindgen__convert__closures_____invoke__h039d35996dc01d12_9: (a: number, b: number, c: any) => [number, number];
2503
+ readonly __wbg_signingonlyexternalsigners_free: (a: number, b: number) => void;
2504
+ readonly signingonlyexternalsigners_breezSigner: (a: number) => number;
2505
+ readonly signingonlyexternalsigners_sparkSigner: (a: number) => number;
2506
+ readonly wasm_bindgen__convert__closures_____invoke__h21f6855640435575: (a: number, b: number, c: any) => [number, number];
2507
+ readonly wasm_bindgen__convert__closures_____invoke__h21f6855640435575_6: (a: number, b: number, c: any) => [number, number];
2508
+ readonly wasm_bindgen__convert__closures_____invoke__h21f6855640435575_7: (a: number, b: number, c: any) => [number, number];
2509
+ readonly wasm_bindgen__convert__closures_____invoke__h21f6855640435575_8: (a: number, b: number, c: any) => [number, number];
2510
+ readonly wasm_bindgen__convert__closures_____invoke__h21f6855640435575_9: (a: number, b: number, c: any) => [number, number];
2329
2511
  readonly wasm_bindgen__convert__closures_____invoke__h41057d61edf43a32: (a: number, b: number, c: any, d: any) => void;
2330
2512
  readonly wasm_bindgen__convert__closures_____invoke__h3120db8c4a8a92b2: (a: number, b: number, c: any) => void;
2331
2513
  readonly wasm_bindgen__convert__closures_____invoke__h3120db8c4a8a92b2_2: (a: number, b: number, c: any) => void;