@sats-connect/core 0.16.0 → 0.17.0-bac1521

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/index.js DELETED
@@ -1,3453 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/index.ts
31
- var index_exports = {};
32
- __export(index_exports, {
33
- AddressPurpose: () => AddressPurpose,
34
- AddressType: () => AddressType,
35
- BaseAdapter: () => BaseAdapter,
36
- BitcoinNetworkType: () => BitcoinNetworkType,
37
- DefaultAdaptersInfo: () => DefaultAdaptersInfo,
38
- MessageSigningProtocols: () => MessageSigningProtocols,
39
- PermissionRequestParams: () => PermissionRequestParams,
40
- ProviderPlatform: () => ProviderPlatform,
41
- RpcErrorCode: () => RpcErrorCode,
42
- RpcIdSchema: () => RpcIdSchema,
43
- SatsConnectAdapter: () => SatsConnectAdapter,
44
- SparkNetworkType: () => SparkNetworkType,
45
- StacksNetworkType: () => StacksNetworkType,
46
- StarknetNetworkType: () => StarknetNetworkType,
47
- accountActionsSchema: () => accountActionsSchema,
48
- accountChangeEventName: () => accountChangeEventName,
49
- accountChangeSchema: () => accountChangeSchema,
50
- accountPermissionSchema: () => accountPermissionSchema,
51
- addListener: () => addListener,
52
- addNetworkMethodName: () => addNetworkMethodName,
53
- addNetworkParamsSchema: () => addNetworkParamsSchema,
54
- addNetworkRequestMessageSchema: () => addNetworkRequestMessageSchema,
55
- addNetworkResultSchema: () => addNetworkResultSchema,
56
- addressSchema: () => addressSchema,
57
- changeNetworkByIdMethodName: () => changeNetworkByIdMethodName,
58
- changeNetworkByIdParamsSchema: () => changeNetworkByIdParamsSchema,
59
- changeNetworkByIdRequestMessageSchema: () => changeNetworkByIdRequestMessageSchema,
60
- changeNetworkByIdResultSchema: () => changeNetworkByIdResultSchema,
61
- changeNetworkMethodName: () => changeNetworkMethodName,
62
- changeNetworkParamsSchema: () => changeNetworkParamsSchema,
63
- changeNetworkRequestMessageSchema: () => changeNetworkRequestMessageSchema,
64
- changeNetworkResultSchema: () => changeNetworkResultSchema,
65
- connectMethodName: () => connectMethodName,
66
- connectParamsSchema: () => connectParamsSchema,
67
- connectRequestMessageSchema: () => connectRequestMessageSchema,
68
- connectResultSchema: () => connectResultSchema,
69
- createInscription: () => createInscription,
70
- createRepeatInscriptions: () => createRepeatInscriptions,
71
- defaultAdapters: () => defaultAdapters,
72
- disconnectEventName: () => disconnectEventName,
73
- disconnectMethodName: () => disconnectMethodName,
74
- disconnectParamsSchema: () => disconnectParamsSchema,
75
- disconnectRequestMessageSchema: () => disconnectRequestMessageSchema,
76
- disconnectResultSchema: () => disconnectResultSchema,
77
- disconnectSchema: () => disconnectSchema,
78
- getAccountMethodName: () => getAccountMethodName,
79
- getAccountParamsSchema: () => getAccountParamsSchema,
80
- getAccountRequestMessageSchema: () => getAccountRequestMessageSchema,
81
- getAccountResultSchema: () => getAccountResultSchema,
82
- getAccountsMethodName: () => getAccountsMethodName,
83
- getAccountsParamsSchema: () => getAccountsParamsSchema,
84
- getAccountsRequestMessageSchema: () => getAccountsRequestMessageSchema,
85
- getAccountsResultSchema: () => getAccountsResultSchema,
86
- getAddress: () => getAddress,
87
- getAddressesMethodName: () => getAddressesMethodName,
88
- getAddressesParamsSchema: () => getAddressesParamsSchema,
89
- getAddressesRequestMessageSchema: () => getAddressesRequestMessageSchema,
90
- getAddressesResultSchema: () => getAddressesResultSchema,
91
- getBalanceMethodName: () => getBalanceMethodName,
92
- getBalanceParamsSchema: () => getBalanceParamsSchema,
93
- getBalanceRequestMessageSchema: () => getBalanceRequestMessageSchema,
94
- getBalanceResultSchema: () => getBalanceResultSchema,
95
- getCapabilities: () => getCapabilities,
96
- getCurrentPermissionsMethodName: () => getCurrentPermissionsMethodName,
97
- getCurrentPermissionsParamsSchema: () => getCurrentPermissionsParamsSchema,
98
- getCurrentPermissionsRequestMessageSchema: () => getCurrentPermissionsRequestMessageSchema,
99
- getCurrentPermissionsResultSchema: () => getCurrentPermissionsResultSchema,
100
- getDefaultProvider: () => getDefaultProvider,
101
- getInfoMethodName: () => getInfoMethodName,
102
- getInfoParamsSchema: () => getInfoParamsSchema,
103
- getInfoRequestMessageSchema: () => getInfoRequestMessageSchema,
104
- getInfoResultSchema: () => getInfoResultSchema,
105
- getInscriptionsMethodName: () => getInscriptionsMethodName,
106
- getInscriptionsParamsSchema: () => getInscriptionsParamsSchema,
107
- getInscriptionsRequestMessageSchema: () => getInscriptionsRequestMessageSchema,
108
- getInscriptionsResultSchema: () => getInscriptionsResultSchema,
109
- getNetworkMethodName: () => getNetworkMethodName,
110
- getNetworkParamsSchema: () => getNetworkParamsSchema,
111
- getNetworkRequestMessageSchema: () => getNetworkRequestMessageSchema,
112
- getNetworkResultSchema: () => getNetworkResultSchema,
113
- getProviderById: () => getProviderById,
114
- getProviderOrThrow: () => getProviderOrThrow,
115
- getProviders: () => getProviders,
116
- getSupportedWallets: () => getSupportedWallets,
117
- getWalletTypeMethodName: () => getWalletTypeMethodName,
118
- getWalletTypeParamsSchema: () => getWalletTypeParamsSchema,
119
- getWalletTypeRequestMessageSchema: () => getWalletTypeRequestMessageSchema,
120
- getWalletTypeResultSchema: () => getWalletTypeResultSchema,
121
- isProviderInstalled: () => isProviderInstalled,
122
- networkChangeEventName: () => networkChangeEventName,
123
- networkChangeSchema: () => networkChangeSchema,
124
- openBridgeMethodName: () => openBridgeMethodName,
125
- openBridgeParamsSchema: () => openBridgeParamsSchema,
126
- openBridgeRequestMessageSchema: () => openBridgeRequestMessageSchema,
127
- openBridgeResultSchema: () => openBridgeResultSchema,
128
- openBuyMethodName: () => openBuyMethodName,
129
- openBuyParamsSchema: () => openBuyParamsSchema,
130
- openBuyRequestMessageSchema: () => openBuyRequestMessageSchema,
131
- openBuyResultSchema: () => openBuyResultSchema,
132
- openReceiveMethodName: () => openReceiveMethodName,
133
- openReceiveParamsSchema: () => openReceiveParamsSchema,
134
- openReceiveRequestMessageSchema: () => openReceiveRequestMessageSchema,
135
- openReceiveResultSchema: () => openReceiveResultSchema,
136
- permission: () => permission,
137
- removeDefaultProvider: () => removeDefaultProvider,
138
- renouncePermissionsMethodName: () => renouncePermissionsMethodName,
139
- renouncePermissionsParamsSchema: () => renouncePermissionsParamsSchema,
140
- renouncePermissionsRequestMessageSchema: () => renouncePermissionsRequestMessageSchema,
141
- renouncePermissionsResultSchema: () => renouncePermissionsResultSchema,
142
- request: () => request,
143
- requestPermissionsMethodName: () => requestPermissionsMethodName,
144
- requestPermissionsParamsSchema: () => requestPermissionsParamsSchema,
145
- requestPermissionsRequestMessageSchema: () => requestPermissionsRequestMessageSchema,
146
- requestPermissionsResultSchema: () => requestPermissionsResultSchema,
147
- rpcErrorResponseMessageSchema: () => rpcErrorResponseMessageSchema,
148
- rpcRequestMessageSchema: () => rpcRequestMessageSchema,
149
- rpcResponseMessageSchema: () => rpcResponseMessageSchema,
150
- rpcSuccessResponseMessageSchema: () => rpcSuccessResponseMessageSchema,
151
- runesEtchMethodName: () => runesEtchMethodName,
152
- runesEtchParamsSchema: () => runesEtchParamsSchema,
153
- runesEtchRequestMessageSchema: () => runesEtchRequestMessageSchema,
154
- runesEtchResultSchema: () => runesEtchResultSchema,
155
- runesGetBalanceMethodName: () => runesGetBalanceMethodName,
156
- runesGetBalanceParamsSchema: () => runesGetBalanceParamsSchema,
157
- runesGetBalanceRequestMessageSchema: () => runesGetBalanceRequestMessageSchema,
158
- runesGetBalanceResultSchema: () => runesGetBalanceResultSchema,
159
- runesMintMethodName: () => runesMintMethodName,
160
- runesMintParamsSchema: () => runesMintParamsSchema,
161
- runesMintRequestMessageSchema: () => runesMintRequestMessageSchema,
162
- runesMintResultSchema: () => runesMintResultSchema,
163
- runesTransferMethodName: () => runesTransferMethodName,
164
- runesTransferParamsSchema: () => runesTransferParamsSchema,
165
- runesTransferRequestMessageSchema: () => runesTransferRequestMessageSchema,
166
- runesTransferResultSchema: () => runesTransferResultSchema,
167
- sendBtcTransaction: () => sendBtcTransaction,
168
- sendInscriptionsMethodName: () => sendInscriptionsMethodName,
169
- sendInscriptionsParamsSchema: () => sendInscriptionsParamsSchema,
170
- sendInscriptionsRequestMessageSchema: () => sendInscriptionsRequestMessageSchema,
171
- sendInscriptionsResultSchema: () => sendInscriptionsResultSchema,
172
- sendTransferMethodName: () => sendTransferMethodName,
173
- sendTransferParamsSchema: () => sendTransferParamsSchema,
174
- sendTransferRequestMessageSchema: () => sendTransferRequestMessageSchema,
175
- sendTransferResultSchema: () => sendTransferResultSchema,
176
- setDefaultProvider: () => setDefaultProvider,
177
- signMessage: () => signMessage,
178
- signMessageMethodName: () => signMessageMethodName,
179
- signMessageParamsSchema: () => signMessageParamsSchema,
180
- signMessageRequestMessageSchema: () => signMessageRequestMessageSchema,
181
- signMessageResultSchema: () => signMessageResultSchema,
182
- signMultipleMessagesMethodName: () => signMultipleMessagesMethodName,
183
- signMultipleMessagesParamsSchema: () => signMultipleMessagesParamsSchema,
184
- signMultipleMessagesRequestMessageSchema: () => signMultipleMessagesRequestMessageSchema,
185
- signMultipleMessagesResultSchema: () => signMultipleMessagesResultSchema,
186
- signMultipleTransactions: () => signMultipleTransactions,
187
- signPsbtMethodName: () => signPsbtMethodName,
188
- signPsbtParamsSchema: () => signPsbtParamsSchema,
189
- signPsbtRequestMessageSchema: () => signPsbtRequestMessageSchema,
190
- signPsbtResultSchema: () => signPsbtResultSchema,
191
- signTransaction: () => signTransaction,
192
- sparkFlashnetAddLiquidityIntentSchema: () => sparkFlashnetAddLiquidityIntentSchema,
193
- sparkFlashnetClawbackFundsMethodName: () => sparkFlashnetClawbackFundsMethodName,
194
- sparkFlashnetClawbackFundsParamsSchema: () => sparkFlashnetClawbackFundsParamsSchema,
195
- sparkFlashnetClawbackFundsRequestMessageSchema: () => sparkFlashnetClawbackFundsRequestMessageSchema,
196
- sparkFlashnetClawbackFundsResultSchema: () => sparkFlashnetClawbackFundsResultSchema,
197
- sparkFlashnetClawbackIntentSchema: () => sparkFlashnetClawbackIntentSchema,
198
- sparkFlashnetConfirmInitialDepositIntentSchema: () => sparkFlashnetConfirmInitialDepositIntentSchema,
199
- sparkFlashnetCreateConstantProductPoolIntentSchema: () => sparkFlashnetCreateConstantProductPoolIntentSchema,
200
- sparkFlashnetCreateSingleSidedPoolIntentSchema: () => sparkFlashnetCreateSingleSidedPoolIntentSchema,
201
- sparkFlashnetExecuteRouteSwapMethodName: () => sparkFlashnetExecuteRouteSwapMethodName,
202
- sparkFlashnetExecuteRouteSwapParamsSchema: () => sparkFlashnetExecuteRouteSwapParamsSchema,
203
- sparkFlashnetExecuteRouteSwapRequestMessageSchema: () => sparkFlashnetExecuteRouteSwapRequestMessageSchema,
204
- sparkFlashnetExecuteRouteSwapResultSchema: () => sparkFlashnetExecuteRouteSwapResultSchema,
205
- sparkFlashnetExecuteSwapMethodName: () => sparkFlashnetExecuteSwapMethodName,
206
- sparkFlashnetExecuteSwapParamsSchema: () => sparkFlashnetExecuteSwapParamsSchema,
207
- sparkFlashnetExecuteSwapRequestMessageSchema: () => sparkFlashnetExecuteSwapRequestMessageSchema,
208
- sparkFlashnetExecuteSwapResultSchema: () => sparkFlashnetExecuteSwapResultSchema,
209
- sparkFlashnetGetJwtMethodName: () => sparkFlashnetGetJwtMethodName,
210
- sparkFlashnetGetJwtParamsSchema: () => sparkFlashnetGetJwtParamsSchema,
211
- sparkFlashnetGetJwtRequestMessageSchema: () => sparkFlashnetGetJwtRequestMessageSchema,
212
- sparkFlashnetGetJwtResultSchema: () => sparkFlashnetGetJwtResultSchema,
213
- sparkFlashnetRemoveLiquidityIntentSchema: () => sparkFlashnetRemoveLiquidityIntentSchema,
214
- sparkFlashnetRouteSwapIntentSchema: () => sparkFlashnetRouteSwapIntentSchema,
215
- sparkFlashnetSignIntentMethodName: () => sparkFlashnetSignIntentMethodName,
216
- sparkFlashnetSignIntentParamsSchema: () => sparkFlashnetSignIntentParamsSchema,
217
- sparkFlashnetSignIntentRequestMessageSchema: () => sparkFlashnetSignIntentRequestMessageSchema,
218
- sparkFlashnetSignIntentResultSchema: () => sparkFlashnetSignIntentResultSchema,
219
- sparkFlashnetSignStructuredMessageMethodName: () => sparkFlashnetSignStructuredMessageMethodName,
220
- sparkFlashnetSignStructuredMessageParamsSchema: () => sparkFlashnetSignStructuredMessageParamsSchema,
221
- sparkFlashnetSignStructuredMessageRequestMessageSchema: () => sparkFlashnetSignStructuredMessageRequestMessageSchema,
222
- sparkFlashnetSignStructuredMessageResultSchema: () => sparkFlashnetSignStructuredMessageResultSchema,
223
- sparkFlashnetSwapIntentSchema: () => sparkFlashnetSwapIntentSchema,
224
- sparkGetAddressesMethodName: () => sparkGetAddressesMethodName,
225
- sparkGetAddressesParamsSchema: () => sparkGetAddressesParamsSchema,
226
- sparkGetAddressesRequestMessageSchema: () => sparkGetAddressesRequestMessageSchema,
227
- sparkGetAddressesResultSchema: () => sparkGetAddressesResultSchema,
228
- sparkGetBalanceMethodName: () => sparkGetBalanceMethodName,
229
- sparkGetBalanceParamsSchema: () => sparkGetBalanceParamsSchema,
230
- sparkGetBalanceRequestMessageSchema: () => sparkGetBalanceRequestMessageSchema,
231
- sparkGetBalanceResultSchema: () => sparkGetBalanceResultSchema,
232
- sparkGetClawbackEligibleTransfersMethodName: () => sparkGetClawbackEligibleTransfersMethodName,
233
- sparkGetClawbackEligibleTransfersParamsSchema: () => sparkGetClawbackEligibleTransfersParamsSchema,
234
- sparkGetClawbackEligibleTransfersRequestMessageSchema: () => sparkGetClawbackEligibleTransfersRequestMessageSchema,
235
- sparkGetClawbackEligibleTransfersResultSchema: () => sparkGetClawbackEligibleTransfersResultSchema,
236
- sparkSignMessageMethodName: () => sparkSignMessageMethodName,
237
- sparkSignMessageParamsSchema: () => sparkSignMessageParamsSchema,
238
- sparkSignMessageRequestMessageSchema: () => sparkSignMessageRequestMessageSchema,
239
- sparkSignMessageResultSchema: () => sparkSignMessageResultSchema,
240
- sparkTransferMethodName: () => sparkTransferMethodName,
241
- sparkTransferParamsSchema: () => sparkTransferParamsSchema,
242
- sparkTransferRequestMessageSchema: () => sparkTransferRequestMessageSchema,
243
- sparkTransferResultSchema: () => sparkTransferResultSchema,
244
- sparkTransferTokenMethodName: () => sparkTransferTokenMethodName,
245
- sparkTransferTokenParamsSchema: () => sparkTransferTokenParamsSchema,
246
- sparkTransferTokenRequestMessageSchema: () => sparkTransferTokenRequestMessageSchema,
247
- sparkTransferTokenResultSchema: () => sparkTransferTokenResultSchema,
248
- stxCallContractMethodName: () => stxCallContractMethodName,
249
- stxCallContractParamsSchema: () => stxCallContractParamsSchema,
250
- stxCallContractRequestMessageSchema: () => stxCallContractRequestMessageSchema,
251
- stxCallContractResultSchema: () => stxCallContractResultSchema,
252
- stxDeployContractMethodName: () => stxDeployContractMethodName,
253
- stxDeployContractParamsSchema: () => stxDeployContractParamsSchema,
254
- stxDeployContractRequestMessageSchema: () => stxDeployContractRequestMessageSchema,
255
- stxDeployContractResultSchema: () => stxDeployContractResultSchema,
256
- stxGetAccountsMethodName: () => stxGetAccountsMethodName,
257
- stxGetAccountsParamsSchema: () => stxGetAccountsParamsSchema,
258
- stxGetAccountsRequestMessageSchema: () => stxGetAccountsRequestMessageSchema,
259
- stxGetAccountsResultSchema: () => stxGetAccountsResultSchema,
260
- stxGetAddressesMethodName: () => stxGetAddressesMethodName,
261
- stxGetAddressesParamsSchema: () => stxGetAddressesParamsSchema,
262
- stxGetAddressesRequestMessageSchema: () => stxGetAddressesRequestMessageSchema,
263
- stxGetAddressesResultSchema: () => stxGetAddressesResultSchema,
264
- stxSignMessageMethodName: () => stxSignMessageMethodName,
265
- stxSignMessageParamsSchema: () => stxSignMessageParamsSchema,
266
- stxSignMessageRequestMessageSchema: () => stxSignMessageRequestMessageSchema,
267
- stxSignMessageResultSchema: () => stxSignMessageResultSchema,
268
- stxSignStructuredMessageMethodName: () => stxSignStructuredMessageMethodName,
269
- stxSignStructuredMessageParamsSchema: () => stxSignStructuredMessageParamsSchema,
270
- stxSignStructuredMessageRequestMessageSchema: () => stxSignStructuredMessageRequestMessageSchema,
271
- stxSignStructuredMessageResultSchema: () => stxSignStructuredMessageResultSchema,
272
- stxSignTransactionMethodName: () => stxSignTransactionMethodName,
273
- stxSignTransactionParamsSchema: () => stxSignTransactionParamsSchema,
274
- stxSignTransactionRequestMessageSchema: () => stxSignTransactionRequestMessageSchema,
275
- stxSignTransactionResultSchema: () => stxSignTransactionResultSchema,
276
- stxSignTransactionsMethodName: () => stxSignTransactionsMethodName,
277
- stxSignTransactionsParamsSchema: () => stxSignTransactionsParamsSchema,
278
- stxSignTransactionsRequestMessageSchema: () => stxSignTransactionsRequestMessageSchema,
279
- stxSignTransactionsResultSchema: () => stxSignTransactionsResultSchema,
280
- stxTransferStxMethodName: () => stxTransferStxMethodName,
281
- stxTransferStxParamsSchema: () => stxTransferStxParamsSchema,
282
- stxTransferStxRequestMessageSchema: () => stxTransferStxRequestMessageSchema,
283
- stxTransferStxResultSchema: () => stxTransferStxResultSchema,
284
- walletActionsSchema: () => walletActionsSchema,
285
- walletEventSchema: () => walletEventSchema,
286
- walletPermissionSchema: () => walletPermissionSchema,
287
- walletTypeSchema: () => walletTypeSchema,
288
- walletTypes: () => walletTypes
289
- });
290
- module.exports = __toCommonJS(index_exports);
291
-
292
- // src/request/index.ts
293
- var v62 = __toESM(require("valibot"));
294
-
295
- // src/provider/types.ts
296
- var v4 = __toESM(require("valibot"));
297
-
298
- // src/addresses/index.ts
299
- var import_jsontokens = require("jsontokens");
300
-
301
- // src/addresses/types.ts
302
- var v2 = __toESM(require("valibot"));
303
-
304
- // src/request/types/common.ts
305
- var v = __toESM(require("valibot"));
306
- var walletTypes = ["software", "ledger", "keystone"];
307
- var walletTypeSchema = v.picklist(walletTypes);
308
-
309
- // src/addresses/types.ts
310
- var AddressPurpose = /* @__PURE__ */ ((AddressPurpose2) => {
311
- AddressPurpose2["Ordinals"] = "ordinals";
312
- AddressPurpose2["Payment"] = "payment";
313
- AddressPurpose2["Stacks"] = "stacks";
314
- AddressPurpose2["Starknet"] = "starknet";
315
- AddressPurpose2["Spark"] = "spark";
316
- return AddressPurpose2;
317
- })(AddressPurpose || {});
318
- var AddressType = /* @__PURE__ */ ((AddressType3) => {
319
- AddressType3["p2pkh"] = "p2pkh";
320
- AddressType3["p2sh"] = "p2sh";
321
- AddressType3["p2wpkh"] = "p2wpkh";
322
- AddressType3["p2wsh"] = "p2wsh";
323
- AddressType3["p2tr"] = "p2tr";
324
- AddressType3["stacks"] = "stacks";
325
- AddressType3["starknet"] = "starknet";
326
- AddressType3["spark"] = "spark";
327
- return AddressType3;
328
- })(AddressType || {});
329
- var addressSchema = v2.object({
330
- address: v2.string(),
331
- publicKey: v2.string(),
332
- purpose: v2.enum(AddressPurpose),
333
- addressType: v2.enum(AddressType),
334
- walletType: walletTypeSchema
335
- });
336
-
337
- // src/addresses/index.ts
338
- var getAddress = async (options) => {
339
- const provider = await getProviderOrThrow(options.getProvider);
340
- const { purposes } = options.payload;
341
- if (!purposes) {
342
- throw new Error("Address purposes are required");
343
- }
344
- try {
345
- const request2 = (0, import_jsontokens.createUnsecuredToken)(options.payload);
346
- const response = await provider.connect(request2);
347
- options.onFinish?.(response);
348
- } catch (error) {
349
- console.error("[Connect] Error during address request", error);
350
- options.onCancel?.();
351
- }
352
- };
353
-
354
- // src/types.ts
355
- var v3 = __toESM(require("valibot"));
356
- var BitcoinNetworkType = /* @__PURE__ */ ((BitcoinNetworkType2) => {
357
- BitcoinNetworkType2["Mainnet"] = "Mainnet";
358
- BitcoinNetworkType2["Testnet"] = "Testnet";
359
- BitcoinNetworkType2["Testnet4"] = "Testnet4";
360
- BitcoinNetworkType2["Signet"] = "Signet";
361
- BitcoinNetworkType2["Regtest"] = "Regtest";
362
- return BitcoinNetworkType2;
363
- })(BitcoinNetworkType || {});
364
- var StacksNetworkType = /* @__PURE__ */ ((StacksNetworkType2) => {
365
- StacksNetworkType2["Mainnet"] = "mainnet";
366
- StacksNetworkType2["Testnet"] = "testnet";
367
- return StacksNetworkType2;
368
- })(StacksNetworkType || {});
369
- var StarknetNetworkType = /* @__PURE__ */ ((StarknetNetworkType2) => {
370
- StarknetNetworkType2["Mainnet"] = "mainnet";
371
- StarknetNetworkType2["Sepolia"] = "sepolia";
372
- return StarknetNetworkType2;
373
- })(StarknetNetworkType || {});
374
- var SparkNetworkType = /* @__PURE__ */ ((SparkNetworkType2) => {
375
- SparkNetworkType2["Mainnet"] = "mainnet";
376
- SparkNetworkType2["Regtest"] = "regtest";
377
- return SparkNetworkType2;
378
- })(SparkNetworkType || {});
379
- var RpcIdSchema = v3.optional(v3.union([v3.string(), v3.number(), v3.null()]));
380
- var rpcRequestMessageSchema = v3.object({
381
- jsonrpc: v3.literal("2.0"),
382
- method: v3.string(),
383
- params: v3.optional(
384
- v3.union([
385
- v3.array(v3.unknown()),
386
- v3.looseObject({}),
387
- // Note: This is to support current incorrect usage of RPC 2.0. Params need
388
- // to be either an array or an object when provided. Changing this now would
389
- // be a breaking change, so accepting null values for now. Tracking in
390
- // https://linear.app/xverseapp/issue/ENG-4538.
391
- v3.null()
392
- ])
393
- ),
394
- id: v3.unwrap(RpcIdSchema)
395
- });
396
- var RpcErrorCode = /* @__PURE__ */ ((RpcErrorCode2) => {
397
- RpcErrorCode2[RpcErrorCode2["PARSE_ERROR"] = -32700] = "PARSE_ERROR";
398
- RpcErrorCode2[RpcErrorCode2["INVALID_REQUEST"] = -32600] = "INVALID_REQUEST";
399
- RpcErrorCode2[RpcErrorCode2["METHOD_NOT_FOUND"] = -32601] = "METHOD_NOT_FOUND";
400
- RpcErrorCode2[RpcErrorCode2["INVALID_PARAMS"] = -32602] = "INVALID_PARAMS";
401
- RpcErrorCode2[RpcErrorCode2["INTERNAL_ERROR"] = -32603] = "INTERNAL_ERROR";
402
- RpcErrorCode2[RpcErrorCode2["USER_REJECTION"] = -32e3] = "USER_REJECTION";
403
- RpcErrorCode2[RpcErrorCode2["METHOD_NOT_SUPPORTED"] = -32001] = "METHOD_NOT_SUPPORTED";
404
- RpcErrorCode2[RpcErrorCode2["ACCESS_DENIED"] = -32002] = "ACCESS_DENIED";
405
- return RpcErrorCode2;
406
- })(RpcErrorCode || {});
407
- var rpcSuccessResponseMessageSchema = v3.object({
408
- jsonrpc: v3.literal("2.0"),
409
- result: v3.nonOptional(v3.unknown()),
410
- id: RpcIdSchema
411
- });
412
- var rpcErrorResponseMessageSchema = v3.object({
413
- jsonrpc: v3.literal("2.0"),
414
- error: v3.nonOptional(v3.unknown()),
415
- id: RpcIdSchema
416
- });
417
- var rpcResponseMessageSchema = v3.union([
418
- rpcSuccessResponseMessageSchema,
419
- rpcErrorResponseMessageSchema
420
- ]);
421
-
422
- // src/provider/types.ts
423
- var accountChangeEventName = "accountChange";
424
- var accountChangeSchema = v4.object({
425
- type: v4.literal(accountChangeEventName),
426
- addresses: v4.optional(v4.array(addressSchema))
427
- });
428
- var networkChangeEventName = "networkChange";
429
- var networkChangeSchema = v4.object({
430
- type: v4.literal(networkChangeEventName),
431
- bitcoin: v4.object({
432
- name: v4.enum(BitcoinNetworkType)
433
- }),
434
- stacks: v4.object({
435
- name: v4.string()
436
- }),
437
- addresses: v4.optional(v4.array(addressSchema))
438
- });
439
- var disconnectEventName = "disconnect";
440
- var disconnectSchema = v4.object({
441
- type: v4.literal(disconnectEventName)
442
- });
443
- var walletEventSchema = v4.variant("type", [
444
- accountChangeSchema,
445
- networkChangeSchema,
446
- disconnectSchema
447
- ]);
448
-
449
- // src/provider/index.ts
450
- async function getProviderOrThrow(getProvider) {
451
- const provider = await getProvider?.() || window.XverseProviders?.BitcoinProvider || window.BitcoinProvider;
452
- if (!provider) {
453
- throw new Error("No Bitcoin wallet installed");
454
- }
455
- return provider;
456
- }
457
- function getProviders() {
458
- if (!window.btc_providers) window.btc_providers = [];
459
- return window.btc_providers;
460
- }
461
- function getProviderById(providerId) {
462
- return providerId?.split(".").reduce((acc, part) => acc?.[part], window);
463
- }
464
- function isProviderInstalled(providerId) {
465
- return !!getProviderById(providerId);
466
- }
467
- function setDefaultProvider(providerId) {
468
- localStorage.setItem("sats-connect_defaultProvider", providerId);
469
- }
470
- function getDefaultProvider() {
471
- return localStorage.getItem("sats-connect_defaultProvider");
472
- }
473
- function removeDefaultProvider() {
474
- localStorage.removeItem("sats-connect_defaultProvider");
475
- }
476
- function getSupportedWallets() {
477
- const wallets = Object.values(DefaultAdaptersInfo).map((provider) => {
478
- {
479
- return {
480
- ...provider,
481
- isInstalled: isProviderInstalled(provider.id)
482
- };
483
- }
484
- });
485
- return wallets;
486
- }
487
-
488
- // src/request/sanitizeRequest.ts
489
- var sanitizeRequest = (method, params, providerInfo) => {
490
- try {
491
- const [major, minor, patch] = providerInfo.version.split(".").map((part) => parseInt(part, 10));
492
- const platform = providerInfo.platform;
493
- if (
494
- // platform is missing for versions < 1.5.0 on web and < 1.55.0 on mobile
495
- !platform || platform === "web" /* Web */ && major <= 1 && minor <= 4 || platform === "mobile" /* Mobile */ && major <= 1 && minor <= 54
496
- ) {
497
- const v1Sanitized = sanitizeAddressPurposeRequest(method, params);
498
- method = v1Sanitized.method;
499
- params = v1Sanitized.params;
500
- }
501
- } catch {
502
- }
503
- return { method, params };
504
- };
505
- var sanitizeAddressPurposeRequest = (method, params) => {
506
- const filterPurposes = (purposes) => purposes?.filter(
507
- (purpose) => purpose !== "spark" /* Spark */ && purpose !== "starknet" /* Starknet */
508
- );
509
- if (method === "wallet_connect") {
510
- const typedParams = params;
511
- if (!typedParams) {
512
- return { method, params };
513
- }
514
- const { addresses, ...rest } = typedParams;
515
- const overrideParams = {
516
- ...rest,
517
- addresses: filterPurposes(addresses)
518
- };
519
- return { method, params: overrideParams };
520
- }
521
- if (method === "getAccounts") {
522
- const typedParams = params;
523
- const { purposes, ...rest } = typedParams;
524
- const overrideParams = { ...rest, purposes: filterPurposes(purposes) };
525
- return { method, params: overrideParams };
526
- }
527
- if (method === "getAddresses") {
528
- const typedParams = params;
529
- const { purposes, ...rest } = typedParams;
530
- const overrideParams = { ...rest, purposes: filterPurposes(purposes) };
531
- return { method, params: overrideParams };
532
- }
533
- return { method, params };
534
- };
535
-
536
- // src/request/types/btcMethods/common.ts
537
- var MessageSigningProtocols = /* @__PURE__ */ ((MessageSigningProtocols2) => {
538
- MessageSigningProtocols2["ECDSA"] = "ECDSA";
539
- MessageSigningProtocols2["BIP322"] = "BIP322";
540
- return MessageSigningProtocols2;
541
- })(MessageSigningProtocols || {});
542
-
543
- // src/request/types/btcMethods/getAccounts.ts
544
- var v5 = __toESM(require("valibot"));
545
- var getAccountsMethodName = "getAccounts";
546
- var getAccountsParamsSchema = v5.object({
547
- /**
548
- * The purposes for which to generate addresses. See
549
- * {@linkcode AddressPurpose} for available purposes.
550
- */
551
- purposes: v5.array(v5.enum(AddressPurpose)),
552
- /**
553
- * A message to be displayed to the user in the request prompt.
554
- */
555
- message: v5.optional(v5.string())
556
- });
557
- var getAccountsResultSchema = v5.array(
558
- v5.object({
559
- ...addressSchema.entries,
560
- ...v5.object({
561
- walletType: walletTypeSchema
562
- }).entries
563
- })
564
- );
565
- var getAccountsRequestMessageSchema = v5.object({
566
- ...rpcRequestMessageSchema.entries,
567
- ...v5.object({
568
- method: v5.literal(getAccountsMethodName),
569
- params: getAccountsParamsSchema,
570
- id: v5.string()
571
- }).entries
572
- });
573
-
574
- // src/request/types/btcMethods/getAddresses.ts
575
- var v21 = __toESM(require("valibot"));
576
-
577
- // src/request/types/walletMethods/addNetwork.ts
578
- var v6 = __toESM(require("valibot"));
579
- var addNetworkMethodName = "wallet_addNetwork";
580
- var addNetworkParamsSchema = v6.variant("chain", [
581
- v6.object({
582
- chain: v6.literal("bitcoin"),
583
- type: v6.enum(BitcoinNetworkType),
584
- name: v6.string(),
585
- rpcUrl: v6.string(),
586
- rpcFallbackUrl: v6.optional(v6.string()),
587
- indexerUrl: v6.optional(v6.string()),
588
- blockExplorerUrl: v6.optional(v6.string()),
589
- switch: v6.optional(v6.boolean())
590
- }),
591
- v6.object({
592
- chain: v6.literal("stacks"),
593
- name: v6.string(),
594
- type: v6.enum(StacksNetworkType),
595
- rpcUrl: v6.string(),
596
- blockExplorerUrl: v6.optional(v6.string()),
597
- switch: v6.optional(v6.boolean())
598
- }),
599
- v6.object({
600
- chain: v6.literal("starknet"),
601
- name: v6.string(),
602
- type: v6.enum(StarknetNetworkType),
603
- rpcUrl: v6.string(),
604
- blockExplorerUrl: v6.optional(v6.string()),
605
- switch: v6.optional(v6.boolean())
606
- })
607
- ]);
608
- var addNetworkRequestMessageSchema = v6.object({
609
- ...rpcRequestMessageSchema.entries,
610
- ...v6.object({
611
- method: v6.literal(addNetworkMethodName),
612
- params: addNetworkParamsSchema,
613
- id: v6.string()
614
- }).entries
615
- });
616
- var addNetworkResultSchema = v6.object({
617
- id: v6.string()
618
- });
619
-
620
- // src/request/types/walletMethods/changeNetwork.ts
621
- var v7 = __toESM(require("valibot"));
622
- var changeNetworkMethodName = "wallet_changeNetwork";
623
- var changeNetworkParamsSchema = v7.object({
624
- name: v7.enum(BitcoinNetworkType)
625
- });
626
- var changeNetworkResultSchema = v7.nullish(v7.null());
627
- var changeNetworkRequestMessageSchema = v7.object({
628
- ...rpcRequestMessageSchema.entries,
629
- ...v7.object({
630
- method: v7.literal(changeNetworkMethodName),
631
- params: changeNetworkParamsSchema,
632
- id: v7.string()
633
- }).entries
634
- });
635
-
636
- // src/request/types/walletMethods/changeNetworkById.ts
637
- var v8 = __toESM(require("valibot"));
638
- var changeNetworkByIdMethodName = "wallet_changeNetworkById";
639
- var changeNetworkByIdParamsSchema = v8.object({
640
- id: v8.string()
641
- });
642
- var changeNetworkByIdResultSchema = v8.nullish(v8.null());
643
- var changeNetworkByIdRequestMessageSchema = v8.object({
644
- ...rpcRequestMessageSchema.entries,
645
- ...v8.object({
646
- method: v8.literal(changeNetworkByIdMethodName),
647
- params: changeNetworkByIdParamsSchema,
648
- id: v8.string()
649
- }).entries
650
- });
651
-
652
- // src/request/types/walletMethods/common.ts
653
- var v9 = __toESM(require("valibot"));
654
- var accountActionsSchema = v9.object({
655
- read: v9.optional(v9.boolean())
656
- });
657
- var walletActionsSchema = v9.object({
658
- readNetwork: v9.optional(v9.boolean())
659
- });
660
- var accountPermissionSchema = v9.object({
661
- type: v9.literal("account"),
662
- resourceId: v9.string(),
663
- clientId: v9.string(),
664
- actions: accountActionsSchema
665
- });
666
- var walletPermissionSchema = v9.object({
667
- type: v9.literal("wallet"),
668
- resourceId: v9.string(),
669
- clientId: v9.string(),
670
- actions: walletActionsSchema
671
- });
672
- var PermissionRequestParams = v9.variant("type", [
673
- v9.object({
674
- ...v9.omit(accountPermissionSchema, ["clientId"]).entries
675
- }),
676
- v9.object({
677
- ...v9.omit(walletPermissionSchema, ["clientId"]).entries
678
- })
679
- ]);
680
- var permission = v9.variant("type", [accountPermissionSchema, walletPermissionSchema]);
681
-
682
- // src/request/types/walletMethods/connect.ts
683
- var v11 = __toESM(require("valibot"));
684
-
685
- // src/request/types/walletMethods/getNetwork.ts
686
- var v10 = __toESM(require("valibot"));
687
- var getNetworkMethodName = "wallet_getNetwork";
688
- var getNetworkParamsSchema = v10.nullish(v10.null());
689
- var getNetworkResultSchema = v10.object({
690
- bitcoin: v10.object({
691
- name: v10.enum(BitcoinNetworkType)
692
- }),
693
- stacks: v10.object({
694
- name: v10.enum(StacksNetworkType)
695
- }),
696
- spark: v10.object({
697
- name: v10.enum(SparkNetworkType)
698
- })
699
- });
700
- var getNetworkRequestMessageSchema = v10.object({
701
- ...rpcRequestMessageSchema.entries,
702
- ...v10.object({
703
- method: v10.literal(getNetworkMethodName),
704
- params: getNetworkParamsSchema,
705
- id: v10.string()
706
- }).entries
707
- });
708
-
709
- // src/request/types/walletMethods/connect.ts
710
- var connectMethodName = "wallet_connect";
711
- var connectParamsSchema = v11.nullish(
712
- v11.object({
713
- permissions: v11.optional(v11.array(PermissionRequestParams)),
714
- addresses: v11.optional(v11.array(v11.enum(AddressPurpose))),
715
- message: v11.optional(
716
- v11.pipe(v11.string(), v11.maxLength(80, "The message must not exceed 80 characters."))
717
- ),
718
- network: v11.optional(v11.enum(BitcoinNetworkType))
719
- })
720
- );
721
- var connectResultSchema = v11.object({
722
- id: v11.string(),
723
- addresses: v11.array(addressSchema),
724
- walletType: walletTypeSchema,
725
- network: getNetworkResultSchema
726
- });
727
- var connectRequestMessageSchema = v11.object({
728
- ...rpcRequestMessageSchema.entries,
729
- ...v11.object({
730
- method: v11.literal(connectMethodName),
731
- params: connectParamsSchema,
732
- id: v11.string()
733
- }).entries
734
- });
735
-
736
- // src/request/types/walletMethods/disconnect.ts
737
- var v12 = __toESM(require("valibot"));
738
- var disconnectMethodName = "wallet_disconnect";
739
- var disconnectParamsSchema = v12.nullish(v12.null());
740
- var disconnectResultSchema = v12.nullish(v12.null());
741
- var disconnectRequestMessageSchema = v12.object({
742
- ...rpcRequestMessageSchema.entries,
743
- ...v12.object({
744
- method: v12.literal(disconnectMethodName),
745
- params: disconnectParamsSchema,
746
- id: v12.string()
747
- }).entries
748
- });
749
-
750
- // src/request/types/walletMethods/getAccount.ts
751
- var v13 = __toESM(require("valibot"));
752
- var getAccountMethodName = "wallet_getAccount";
753
- var getAccountParamsSchema = v13.nullish(v13.null());
754
- var getAccountResultSchema = v13.object({
755
- id: v13.string(),
756
- addresses: v13.array(addressSchema),
757
- walletType: walletTypeSchema,
758
- network: getNetworkResultSchema
759
- });
760
- var getAccountRequestMessageSchema = v13.object({
761
- ...rpcRequestMessageSchema.entries,
762
- ...v13.object({
763
- method: v13.literal(getAccountMethodName),
764
- params: getAccountParamsSchema,
765
- id: v13.string()
766
- }).entries
767
- });
768
-
769
- // src/request/types/walletMethods/getCurrentPermissions.ts
770
- var v14 = __toESM(require("valibot"));
771
- var getCurrentPermissionsMethodName = "wallet_getCurrentPermissions";
772
- var getCurrentPermissionsParamsSchema = v14.nullish(v14.null());
773
- var getCurrentPermissionsResultSchema = v14.array(permission);
774
- var getCurrentPermissionsRequestMessageSchema = v14.object({
775
- ...rpcRequestMessageSchema.entries,
776
- ...v14.object({
777
- method: v14.literal(getCurrentPermissionsMethodName),
778
- params: getCurrentPermissionsParamsSchema,
779
- id: v14.string()
780
- }).entries
781
- });
782
-
783
- // src/request/types/walletMethods/getWalletType.ts
784
- var v15 = __toESM(require("valibot"));
785
- var getWalletTypeMethodName = "wallet_getWalletType";
786
- var getWalletTypeParamsSchema = v15.nullish(v15.null());
787
- var getWalletTypeResultSchema = walletTypeSchema;
788
- var getWalletTypeRequestMessageSchema = v15.object({
789
- ...rpcRequestMessageSchema.entries,
790
- ...v15.object({
791
- method: v15.literal(getWalletTypeMethodName),
792
- params: getWalletTypeParamsSchema,
793
- id: v15.string()
794
- }).entries
795
- });
796
-
797
- // src/request/types/walletMethods/openBridge.ts
798
- var v16 = __toESM(require("valibot"));
799
- var openBridgeMethodName = "wallet_openBridge";
800
- var openBridgeParamsSchema = v16.object({
801
- fromAsset: v16.string(),
802
- toAsset: v16.string()
803
- });
804
- var openBridgeResultSchema = v16.nullish(v16.null());
805
- var openBridgeRequestMessageSchema = v16.object({
806
- ...rpcRequestMessageSchema.entries,
807
- ...v16.object({
808
- method: v16.literal(openBridgeMethodName),
809
- params: openBridgeParamsSchema,
810
- id: v16.string()
811
- }).entries
812
- });
813
-
814
- // src/request/types/walletMethods/openBuy.ts
815
- var v17 = __toESM(require("valibot"));
816
- var openBuyMethodName = "wallet_openBuy";
817
- var openBuyParamsSchema = v17.object({
818
- asset: v17.string()
819
- });
820
- var openBuyResultSchema = v17.nullish(v17.null());
821
- var openBuyRequestMessageSchema = v17.object({
822
- ...rpcRequestMessageSchema.entries,
823
- ...v17.object({
824
- method: v17.literal(openBuyMethodName),
825
- params: openBuyParamsSchema,
826
- id: v17.string()
827
- }).entries
828
- });
829
-
830
- // src/request/types/walletMethods/openReceive.ts
831
- var v18 = __toESM(require("valibot"));
832
- var openReceiveMethodName = "wallet_openReceive";
833
- var openReceiveParamsSchema = v18.object({
834
- address: v18.string()
835
- });
836
- var openReceiveResultSchema = addressSchema;
837
- var openReceiveRequestMessageSchema = v18.object({
838
- ...rpcRequestMessageSchema.entries,
839
- ...v18.object({
840
- method: v18.literal(openReceiveMethodName),
841
- params: openReceiveParamsSchema,
842
- id: v18.string()
843
- }).entries
844
- });
845
-
846
- // src/request/types/walletMethods/renouncePermissions.ts
847
- var v19 = __toESM(require("valibot"));
848
- var renouncePermissionsMethodName = "wallet_renouncePermissions";
849
- var renouncePermissionsParamsSchema = v19.nullish(v19.null());
850
- var renouncePermissionsResultSchema = v19.nullish(v19.null());
851
- var renouncePermissionsRequestMessageSchema = v19.object({
852
- ...rpcRequestMessageSchema.entries,
853
- ...v19.object({
854
- method: v19.literal(renouncePermissionsMethodName),
855
- params: renouncePermissionsParamsSchema,
856
- id: v19.string()
857
- }).entries
858
- });
859
-
860
- // src/request/types/walletMethods/requestPermissions.ts
861
- var v20 = __toESM(require("valibot"));
862
- var requestPermissionsMethodName = "wallet_requestPermissions";
863
- var requestPermissionsParamsSchema = v20.nullish(v20.array(PermissionRequestParams));
864
- var requestPermissionsResultSchema = v20.literal(true);
865
- var requestPermissionsRequestMessageSchema = v20.object({
866
- ...rpcRequestMessageSchema.entries,
867
- ...v20.object({
868
- method: v20.literal(requestPermissionsMethodName),
869
- params: requestPermissionsParamsSchema,
870
- id: v20.string()
871
- }).entries
872
- });
873
-
874
- // src/request/types/btcMethods/getAddresses.ts
875
- var getAddressesMethodName = "getAddresses";
876
- var getAddressesParamsSchema = v21.object({
877
- /**
878
- * The purposes for which to generate addresses. See
879
- * {@linkcode AddressPurpose} for available purposes.
880
- */
881
- purposes: v21.array(v21.enum(AddressPurpose)),
882
- /**
883
- * A message to be displayed to the user in the request prompt.
884
- */
885
- message: v21.optional(v21.string())
886
- });
887
- var getAddressesResultSchema = v21.object({
888
- /**
889
- * The addresses generated for the given purposes.
890
- */
891
- addresses: v21.array(addressSchema),
892
- network: getNetworkResultSchema
893
- });
894
- var getAddressesRequestMessageSchema = v21.object({
895
- ...rpcRequestMessageSchema.entries,
896
- ...v21.object({
897
- method: v21.literal(getAddressesMethodName),
898
- params: getAddressesParamsSchema,
899
- id: v21.string()
900
- }).entries
901
- });
902
-
903
- // src/request/types/btcMethods/getBalance.ts
904
- var v22 = __toESM(require("valibot"));
905
- var getBalanceMethodName = "getBalance";
906
- var getBalanceParamsSchema = v22.nullish(v22.null());
907
- var getBalanceResultSchema = v22.object({
908
- /**
909
- * The confirmed balance of the wallet in sats. Using a string due to chrome
910
- * messages not supporting bigint
911
- * (https://issues.chromium.org/issues/40116184).
912
- */
913
- confirmed: v22.string(),
914
- /**
915
- * The unconfirmed balance of the wallet in sats. Using a string due to chrome
916
- * messages not supporting bigint
917
- * (https://issues.chromium.org/issues/40116184).
918
- */
919
- unconfirmed: v22.string(),
920
- /**
921
- * The total balance (both confirmed and unconfrimed UTXOs) of the wallet in
922
- * sats. Using a string due to chrome messages not supporting bigint
923
- * (https://issues.chromium.org/issues/40116184).
924
- */
925
- total: v22.string()
926
- });
927
- var getBalanceRequestMessageSchema = v22.object({
928
- ...rpcRequestMessageSchema.entries,
929
- ...v22.object({
930
- method: v22.literal(getBalanceMethodName),
931
- id: v22.string()
932
- }).entries
933
- });
934
-
935
- // src/request/types/btcMethods/getInfo.ts
936
- var v23 = __toESM(require("valibot"));
937
- var ProviderPlatform = /* @__PURE__ */ ((ProviderPlatform2) => {
938
- ProviderPlatform2["Web"] = "web";
939
- ProviderPlatform2["Mobile"] = "mobile";
940
- return ProviderPlatform2;
941
- })(ProviderPlatform || {});
942
- var getInfoMethodName = "getInfo";
943
- var getInfoParamsSchema = v23.nullish(v23.null());
944
- var getInfoResultSchema = v23.object({
945
- /**
946
- * Version of the wallet.
947
- */
948
- version: v23.string(),
949
- /**
950
- * The platform the wallet is running on (web or mobile).
951
- */
952
- platform: v23.optional(v23.enum(ProviderPlatform)),
953
- /**
954
- * [WBIP](https://wbips.netlify.app/wbips/WBIP002) methods supported by the wallet.
955
- */
956
- methods: v23.optional(v23.array(v23.string())),
957
- /**
958
- * List of WBIP standards supported by the wallet. Not currently used.
959
- */
960
- supports: v23.array(v23.string())
961
- });
962
- var getInfoRequestMessageSchema = v23.object({
963
- ...rpcRequestMessageSchema.entries,
964
- ...v23.object({
965
- method: v23.literal(getInfoMethodName),
966
- params: getInfoParamsSchema,
967
- id: v23.string()
968
- }).entries
969
- });
970
-
971
- // src/request/types/btcMethods/sendTransfer.ts
972
- var v24 = __toESM(require("valibot"));
973
- var sendTransferMethodName = "sendTransfer";
974
- var sendTransferParamsSchema = v24.object({
975
- /**
976
- * Array of recipients to send to.
977
- * The amount to send to each recipient is in satoshis.
978
- */
979
- recipients: v24.array(
980
- v24.object({
981
- address: v24.string(),
982
- amount: v24.number()
983
- })
984
- )
985
- });
986
- var sendTransferResultSchema = v24.object({
987
- /**
988
- * The transaction id as a hex-encoded string.
989
- */
990
- txid: v24.string()
991
- });
992
- var sendTransferRequestMessageSchema = v24.object({
993
- ...rpcRequestMessageSchema.entries,
994
- ...v24.object({
995
- method: v24.literal(sendTransferMethodName),
996
- params: sendTransferParamsSchema,
997
- id: v24.string()
998
- }).entries
999
- });
1000
-
1001
- // src/request/types/btcMethods/signMessage.ts
1002
- var v25 = __toESM(require("valibot"));
1003
- var signMessageMethodName = "signMessage";
1004
- var signMessageParamsSchema = v25.object({
1005
- /**
1006
- * The address used for signing.
1007
- **/
1008
- address: v25.string(),
1009
- /**
1010
- * The message to sign.
1011
- **/
1012
- message: v25.string(),
1013
- /**
1014
- * The protocol to use for signing the message.
1015
- *
1016
- * If not specified, defaults to ECDSA if signing with a P2WPKH or P2SH address,
1017
- * and to BIP322 if signing with a taproot address.
1018
- */
1019
- protocol: v25.optional(v25.enum(MessageSigningProtocols))
1020
- });
1021
- var signMessageResultSchema = v25.object({
1022
- /**
1023
- * The signature of the message.
1024
- */
1025
- signature: v25.string(),
1026
- /**
1027
- * hash of the message.
1028
- */
1029
- messageHash: v25.string(),
1030
- /**
1031
- * The address used for signing.
1032
- */
1033
- address: v25.string(),
1034
- /**
1035
- * The protocol used for signing the message.
1036
- */
1037
- protocol: v25.enum(MessageSigningProtocols)
1038
- });
1039
- var signMessageRequestMessageSchema = v25.object({
1040
- ...rpcRequestMessageSchema.entries,
1041
- ...v25.object({
1042
- method: v25.literal(signMessageMethodName),
1043
- params: signMessageParamsSchema,
1044
- id: v25.string()
1045
- }).entries
1046
- });
1047
-
1048
- // src/request/types/btcMethods/signMultipleMessages.ts
1049
- var v26 = __toESM(require("valibot"));
1050
- var signMultipleMessagesMethodName = "signMultipleMessages";
1051
- var signMultipleMessagesParamsSchema = v26.array(
1052
- v26.object({
1053
- /**
1054
- * The address used for signing.
1055
- **/
1056
- address: v26.string(),
1057
- /**
1058
- * The message to sign.
1059
- **/
1060
- message: v26.string(),
1061
- /**
1062
- * The protocol to use to sign the message.
1063
- *
1064
- * If not specified, defaults to ECDSA if signing with a P2WPKH or P2SH address,
1065
- * and to BIP322 if signing with a taproot address.
1066
- */
1067
- protocol: v26.optional(v26.enum(MessageSigningProtocols))
1068
- })
1069
- );
1070
- var signMultipleMessagesResultSchema = v26.array(
1071
- v26.object({
1072
- /**
1073
- * The signature of the message.
1074
- */
1075
- signature: v26.string(),
1076
- /**
1077
- * The original message which was signed.
1078
- */
1079
- message: v26.string(),
1080
- /**
1081
- * Hash of the message.
1082
- */
1083
- messageHash: v26.string(),
1084
- /**
1085
- * The address used for signing.
1086
- */
1087
- address: v26.string(),
1088
- /**
1089
- * The protocol used for signing the message.
1090
- */
1091
- protocol: v26.enum(MessageSigningProtocols)
1092
- })
1093
- );
1094
- var signMultipleMessagesRequestMessageSchema = v26.object({
1095
- ...rpcRequestMessageSchema.entries,
1096
- ...v26.object({
1097
- method: v26.literal(signMultipleMessagesMethodName),
1098
- params: signMultipleMessagesParamsSchema,
1099
- id: v26.string()
1100
- }).entries
1101
- });
1102
-
1103
- // src/request/types/btcMethods/signPSBT.ts
1104
- var v27 = __toESM(require("valibot"));
1105
- var signPsbtMethodName = "signPsbt";
1106
- var signPsbtParamsSchema = v27.object({
1107
- /**
1108
- * The base64 encoded PSBT to sign.
1109
- */
1110
- psbt: v27.string(),
1111
- /**
1112
- * The inputs to sign.
1113
- * The key is the address and the value is an array of indexes of the inputs to sign.
1114
- */
1115
- signInputs: v27.optional(v27.record(v27.string(), v27.array(v27.number()))),
1116
- /**
1117
- * Whether to broadcast the transaction after signing.
1118
- **/
1119
- broadcast: v27.optional(v27.boolean())
1120
- });
1121
- var signPsbtResultSchema = v27.object({
1122
- /**
1123
- * The base64 encoded PSBT after signing.
1124
- */
1125
- psbt: v27.string(),
1126
- /**
1127
- * The transaction id as a hex-encoded string.
1128
- * This is only returned if the transaction was broadcast.
1129
- **/
1130
- txid: v27.optional(v27.string())
1131
- });
1132
- var signPsbtRequestMessageSchema = v27.object({
1133
- ...rpcRequestMessageSchema.entries,
1134
- ...v27.object({
1135
- method: v27.literal(signPsbtMethodName),
1136
- params: signPsbtParamsSchema,
1137
- id: v27.string()
1138
- }).entries
1139
- });
1140
-
1141
- // src/request/types/ordinalsMethods.ts
1142
- var v28 = __toESM(require("valibot"));
1143
- var getInscriptionsMethodName = "ord_getInscriptions";
1144
- var getInscriptionsParamsSchema = v28.object({
1145
- offset: v28.number(),
1146
- limit: v28.number()
1147
- });
1148
- var getInscriptionsResultSchema = v28.object({
1149
- total: v28.number(),
1150
- limit: v28.number(),
1151
- offset: v28.number(),
1152
- inscriptions: v28.array(
1153
- v28.object({
1154
- inscriptionId: v28.string(),
1155
- inscriptionNumber: v28.string(),
1156
- address: v28.string(),
1157
- collectionName: v28.optional(v28.string()),
1158
- postage: v28.string(),
1159
- contentLength: v28.string(),
1160
- contentType: v28.string(),
1161
- timestamp: v28.number(),
1162
- offset: v28.number(),
1163
- genesisTransaction: v28.string(),
1164
- output: v28.string()
1165
- })
1166
- )
1167
- });
1168
- var getInscriptionsRequestMessageSchema = v28.object({
1169
- ...rpcRequestMessageSchema.entries,
1170
- ...v28.object({
1171
- method: v28.literal(getInscriptionsMethodName),
1172
- params: getInscriptionsParamsSchema,
1173
- id: v28.string()
1174
- }).entries
1175
- });
1176
- var sendInscriptionsMethodName = "ord_sendInscriptions";
1177
- var sendInscriptionsParamsSchema = v28.object({
1178
- transfers: v28.array(
1179
- v28.object({
1180
- address: v28.string(),
1181
- inscriptionId: v28.string()
1182
- })
1183
- )
1184
- });
1185
- var sendInscriptionsResultSchema = v28.object({
1186
- txid: v28.string()
1187
- });
1188
- var sendInscriptionsRequestMessageSchema = v28.object({
1189
- ...rpcRequestMessageSchema.entries,
1190
- ...v28.object({
1191
- method: v28.literal(sendInscriptionsMethodName),
1192
- params: sendInscriptionsParamsSchema,
1193
- id: v28.string()
1194
- }).entries
1195
- });
1196
-
1197
- // src/request/types/runesMethods/etch.ts
1198
- var v29 = __toESM(require("valibot"));
1199
- var runesEtchMethodName = "runes_etch";
1200
- var etchTermsSchema = v29.object({
1201
- amount: v29.string(),
1202
- cap: v29.string(),
1203
- heightStart: v29.optional(v29.string()),
1204
- heightEnd: v29.optional(v29.string()),
1205
- offsetStart: v29.optional(v29.string()),
1206
- offsetEnd: v29.optional(v29.string())
1207
- });
1208
- var inscriptionDetailsSchema = v29.object({
1209
- contentType: v29.string(),
1210
- contentBase64: v29.string()
1211
- });
1212
- var runesEtchParamsSchema = v29.object({
1213
- runeName: v29.string(),
1214
- divisibility: v29.optional(v29.number()),
1215
- symbol: v29.optional(v29.string()),
1216
- premine: v29.optional(v29.string()),
1217
- isMintable: v29.boolean(),
1218
- delegateInscriptionId: v29.optional(v29.string()),
1219
- destinationAddress: v29.string(),
1220
- refundAddress: v29.string(),
1221
- feeRate: v29.number(),
1222
- appServiceFee: v29.optional(v29.number()),
1223
- appServiceFeeAddress: v29.optional(v29.string()),
1224
- terms: v29.optional(etchTermsSchema),
1225
- inscriptionDetails: v29.optional(inscriptionDetailsSchema),
1226
- network: v29.optional(v29.enum(BitcoinNetworkType))
1227
- });
1228
- var runesEtchResultSchema = v29.object({
1229
- orderId: v29.string(),
1230
- fundTransactionId: v29.string(),
1231
- fundingAddress: v29.string()
1232
- });
1233
- var runesEtchRequestMessageSchema = v29.object({
1234
- ...rpcRequestMessageSchema.entries,
1235
- ...v29.object({
1236
- method: v29.literal(runesEtchMethodName),
1237
- params: runesEtchParamsSchema,
1238
- id: v29.string()
1239
- }).entries
1240
- });
1241
-
1242
- // src/request/types/runesMethods/getBalance.ts
1243
- var v30 = __toESM(require("valibot"));
1244
- var runesGetBalanceMethodName = "runes_getBalance";
1245
- var runesGetBalanceParamsSchema = v30.nullish(v30.null());
1246
- var runesGetBalanceResultSchema = v30.object({
1247
- balances: v30.array(
1248
- v30.object({
1249
- runeName: v30.string(),
1250
- amount: v30.string(),
1251
- divisibility: v30.number(),
1252
- symbol: v30.string(),
1253
- inscriptionId: v30.nullish(v30.string()),
1254
- spendableBalance: v30.string()
1255
- })
1256
- )
1257
- });
1258
- var runesGetBalanceRequestMessageSchema = v30.object({
1259
- ...rpcRequestMessageSchema.entries,
1260
- ...v30.object({
1261
- method: v30.literal(runesGetBalanceMethodName),
1262
- params: runesGetBalanceParamsSchema,
1263
- id: v30.string()
1264
- }).entries
1265
- });
1266
-
1267
- // src/request/types/runesMethods/mint.ts
1268
- var v31 = __toESM(require("valibot"));
1269
- var runesMintMethodName = "runes_mint";
1270
- var runesMintParamsSchema = v31.object({
1271
- appServiceFee: v31.optional(v31.number()),
1272
- appServiceFeeAddress: v31.optional(v31.string()),
1273
- destinationAddress: v31.string(),
1274
- feeRate: v31.number(),
1275
- refundAddress: v31.string(),
1276
- repeats: v31.number(),
1277
- runeName: v31.string(),
1278
- network: v31.optional(v31.enum(BitcoinNetworkType))
1279
- });
1280
- var runesMintResultSchema = v31.object({
1281
- orderId: v31.string(),
1282
- fundTransactionId: v31.string(),
1283
- fundingAddress: v31.string()
1284
- });
1285
- var runesMintRequestMessageSchema = v31.object({
1286
- ...rpcRequestMessageSchema.entries,
1287
- ...v31.object({
1288
- method: v31.literal(runesMintMethodName),
1289
- params: runesMintParamsSchema,
1290
- id: v31.string()
1291
- }).entries
1292
- });
1293
-
1294
- // src/request/types/runesMethods/transfer.ts
1295
- var v32 = __toESM(require("valibot"));
1296
- var runesTransferMethodName = "runes_transfer";
1297
- var runesTransferParamsSchema = v32.object({
1298
- recipients: v32.array(
1299
- v32.object({
1300
- runeName: v32.string(),
1301
- amount: v32.string(),
1302
- address: v32.string()
1303
- })
1304
- )
1305
- });
1306
- var runesTransferResultSchema = v32.object({
1307
- txid: v32.string()
1308
- });
1309
- var runesTransferRequestMessageSchema = v32.object({
1310
- ...rpcRequestMessageSchema.entries,
1311
- ...v32.object({
1312
- method: v32.literal(runesTransferMethodName),
1313
- params: runesTransferParamsSchema,
1314
- id: v32.string()
1315
- }).entries
1316
- });
1317
-
1318
- // src/request/types/sparkMethods/flashnetMethods/clawbackFunds.ts
1319
- var v33 = __toESM(require("valibot"));
1320
- var sparkFlashnetClawbackFundsMethodName = "spark_flashnet_clawbackFunds";
1321
- var sparkFlashnetClawbackFundsParamsSchema = v33.object({
1322
- sparkTransferId: v33.string(),
1323
- lpIdentityPublicKey: v33.string()
1324
- });
1325
- var sparkFlashnetClawbackFundsResultSchema = v33.object({
1326
- requestId: v33.string(),
1327
- accepted: v33.boolean(),
1328
- internalRequestId: v33.optional(v33.string()),
1329
- sparkStatusTrackingId: v33.optional(v33.string()),
1330
- error: v33.optional(v33.string())
1331
- });
1332
- var sparkFlashnetClawbackFundsRequestMessageSchema = v33.object({
1333
- ...rpcRequestMessageSchema.entries,
1334
- ...v33.object({
1335
- method: v33.literal(sparkFlashnetClawbackFundsMethodName),
1336
- params: sparkFlashnetClawbackFundsParamsSchema,
1337
- id: v33.string()
1338
- }).entries
1339
- });
1340
-
1341
- // src/request/types/sparkMethods/flashnetMethods/executeRouteSwap.ts
1342
- var v34 = __toESM(require("valibot"));
1343
- var sparkFlashnetExecuteRouteSwapMethodName = "spark_flashnet_executeRouteSwap";
1344
- var sparkFlashnetExecuteRouteSwapParamsSchema = v34.object({
1345
- hops: v34.array(
1346
- v34.object({
1347
- poolId: v34.string(),
1348
- assetInAddress: v34.string(),
1349
- assetOutAddress: v34.string(),
1350
- hopIntegratorFeeRateBps: v34.optional(v34.number())
1351
- })
1352
- ),
1353
- initialAssetAddress: v34.string(),
1354
- inputAmount: v34.string(),
1355
- maxRouteSlippageBps: v34.string(),
1356
- minAmountOut: v34.optional(v34.string()),
1357
- integratorFeeRateBps: v34.optional(v34.number()),
1358
- integratorPublicKey: v34.optional(v34.string())
1359
- });
1360
- var sparkFlashnetExecuteRouteSwapResultSchema = v34.object({
1361
- requestId: v34.string(),
1362
- accepted: v34.boolean(),
1363
- outputAmount: v34.string(),
1364
- executionPrice: v34.string(),
1365
- finalOutboundTransferId: v34.string(),
1366
- error: v34.optional(v34.string())
1367
- });
1368
- var sparkFlashnetExecuteRouteSwapRequestMessageSchema = v34.object({
1369
- ...rpcRequestMessageSchema.entries,
1370
- ...v34.object({
1371
- method: v34.literal(sparkFlashnetExecuteRouteSwapMethodName),
1372
- params: sparkFlashnetExecuteRouteSwapParamsSchema,
1373
- id: v34.string()
1374
- }).entries
1375
- });
1376
-
1377
- // src/request/types/sparkMethods/flashnetMethods/executeSwap.ts
1378
- var v35 = __toESM(require("valibot"));
1379
- var sparkFlashnetExecuteSwapMethodName = "spark_flashnet_executeSwap";
1380
- var sparkFlashnetExecuteSwapParamsSchema = v35.object({
1381
- poolId: v35.string(),
1382
- assetInAddress: v35.string(),
1383
- assetOutAddress: v35.string(),
1384
- amountIn: v35.string(),
1385
- maxSlippageBps: v35.number(),
1386
- minAmountOut: v35.optional(v35.string()),
1387
- integratorFeeRateBps: v35.optional(v35.number()),
1388
- integratorPublicKey: v35.optional(v35.string())
1389
- });
1390
- var sparkFlashnetExecuteSwapResultSchema = v35.object({
1391
- requestId: v35.string(),
1392
- accepted: v35.boolean(),
1393
- amountOut: v35.optional(v35.string()),
1394
- feeAmount: v35.optional(v35.string()),
1395
- executionPrice: v35.optional(v35.string()),
1396
- assetOutAddress: v35.optional(v35.string()),
1397
- assetInAddress: v35.optional(v35.string()),
1398
- outboundTransferId: v35.optional(v35.string()),
1399
- error: v35.optional(v35.string())
1400
- });
1401
- var sparkFlashnetExecuteSwapRequestMessageSchema = v35.object({
1402
- ...rpcRequestMessageSchema.entries,
1403
- ...v35.object({
1404
- method: v35.literal(sparkFlashnetExecuteSwapMethodName),
1405
- params: sparkFlashnetExecuteSwapParamsSchema,
1406
- id: v35.string()
1407
- }).entries
1408
- });
1409
-
1410
- // src/request/types/sparkMethods/flashnetMethods/getClawbackEligibleTransfers.ts
1411
- var v36 = __toESM(require("valibot"));
1412
- var sparkGetClawbackEligibleTransfersMethodName = "spark_flashnet_getClawbackEligibleTransfers";
1413
- var sparkGetClawbackEligibleTransfersParamsSchema = v36.nullish(v36.null());
1414
- var sparkGetClawbackEligibleTransfersResultSchema = v36.object({
1415
- eligibleTransfers: v36.array(
1416
- v36.object({
1417
- txId: v36.string(),
1418
- createdAt: v36.string(),
1419
- lpIdentityPublicKey: v36.string()
1420
- })
1421
- )
1422
- });
1423
- var sparkGetClawbackEligibleTransfersRequestMessageSchema = v36.object({
1424
- ...rpcRequestMessageSchema.entries,
1425
- ...v36.object({
1426
- method: v36.literal(sparkGetClawbackEligibleTransfersMethodName),
1427
- params: sparkGetClawbackEligibleTransfersParamsSchema,
1428
- id: v36.string()
1429
- }).entries
1430
- });
1431
-
1432
- // src/request/types/sparkMethods/flashnetMethods/getJwt.ts
1433
- var v37 = __toESM(require("valibot"));
1434
- var sparkFlashnetGetJwtMethodName = "spark_flashnet_getJwt";
1435
- var sparkFlashnetGetJwtParamsSchema = v37.null();
1436
- var sparkFlashnetGetJwtResultSchema = v37.object({
1437
- /**
1438
- * The JWT token for authenticated requests to the Flashnet API.
1439
- */
1440
- jwt: v37.string()
1441
- });
1442
- var sparkFlashnetGetJwtRequestMessageSchema = v37.object({
1443
- ...rpcRequestMessageSchema.entries,
1444
- ...v37.object({
1445
- method: v37.literal(sparkFlashnetGetJwtMethodName),
1446
- params: sparkFlashnetGetJwtParamsSchema,
1447
- id: v37.string()
1448
- }).entries
1449
- });
1450
-
1451
- // src/request/types/sparkMethods/flashnetMethods/intents/addLiquidity.ts
1452
- var v38 = __toESM(require("valibot"));
1453
- var sparkFlashnetAddLiquidityIntentSchema = v38.object({
1454
- type: v38.literal("addLiquidity"),
1455
- data: v38.object({
1456
- userPublicKey: v38.string(),
1457
- poolId: v38.string(),
1458
- assetAAmount: v38.string(),
1459
- assetBAmount: v38.string(),
1460
- assetAMinAmountIn: v38.string(),
1461
- assetBMinAmountIn: v38.string(),
1462
- assetATransferId: v38.string(),
1463
- assetBTransferId: v38.string(),
1464
- nonce: v38.string()
1465
- })
1466
- });
1467
-
1468
- // src/request/types/sparkMethods/flashnetMethods/intents/clawback.ts
1469
- var v39 = __toESM(require("valibot"));
1470
- var sparkFlashnetClawbackIntentSchema = v39.object({
1471
- type: v39.literal("clawback"),
1472
- data: v39.object({
1473
- senderPublicKey: v39.string(),
1474
- sparkTransferId: v39.string(),
1475
- lpIdentityPublicKey: v39.string(),
1476
- nonce: v39.string()
1477
- })
1478
- });
1479
-
1480
- // src/request/types/sparkMethods/flashnetMethods/intents/confirmInitialDeposit.ts
1481
- var v40 = __toESM(require("valibot"));
1482
- var sparkFlashnetConfirmInitialDepositIntentSchema = v40.object({
1483
- type: v40.literal("confirmInitialDeposit"),
1484
- data: v40.object({
1485
- poolId: v40.string(),
1486
- assetASparkTransferId: v40.string(),
1487
- poolOwnerPublicKey: v40.string(),
1488
- nonce: v40.string()
1489
- })
1490
- });
1491
-
1492
- // src/request/types/sparkMethods/flashnetMethods/intents/createConstantProductPool.ts
1493
- var v41 = __toESM(require("valibot"));
1494
- var sparkFlashnetCreateConstantProductPoolIntentSchema = v41.object({
1495
- type: v41.literal("createConstantProductPool"),
1496
- data: v41.object({
1497
- poolOwnerPublicKey: v41.string(),
1498
- assetAAddress: v41.string(),
1499
- assetBAddress: v41.string(),
1500
- lpFeeRateBps: v41.union([v41.number(), v41.string()]),
1501
- totalHostFeeRateBps: v41.union([v41.number(), v41.string()]),
1502
- nonce: v41.string()
1503
- })
1504
- });
1505
-
1506
- // src/request/types/sparkMethods/flashnetMethods/intents/createSingleSidedPool.ts
1507
- var v42 = __toESM(require("valibot"));
1508
- var sparkFlashnetCreateSingleSidedPoolIntentSchema = v42.object({
1509
- type: v42.literal("createSingleSidedPool"),
1510
- data: v42.object({
1511
- assetAAddress: v42.string(),
1512
- assetBAddress: v42.string(),
1513
- assetAInitialReserve: v42.string(),
1514
- virtualReserveA: v42.union([v42.number(), v42.string()]),
1515
- virtualReserveB: v42.union([v42.number(), v42.string()]),
1516
- threshold: v42.union([v42.number(), v42.string()]),
1517
- lpFeeRateBps: v42.union([v42.number(), v42.string()]),
1518
- totalHostFeeRateBps: v42.union([v42.number(), v42.string()]),
1519
- poolOwnerPublicKey: v42.string(),
1520
- nonce: v42.string()
1521
- })
1522
- });
1523
-
1524
- // src/request/types/sparkMethods/flashnetMethods/intents/removeLiquidity.ts
1525
- var v43 = __toESM(require("valibot"));
1526
- var sparkFlashnetRemoveLiquidityIntentSchema = v43.object({
1527
- type: v43.literal("removeLiquidity"),
1528
- data: v43.object({
1529
- userPublicKey: v43.string(),
1530
- poolId: v43.string(),
1531
- lpTokensToRemove: v43.string(),
1532
- nonce: v43.string()
1533
- })
1534
- });
1535
-
1536
- // src/request/types/sparkMethods/flashnetMethods/intents/routeSwap.ts
1537
- var v44 = __toESM(require("valibot"));
1538
- var sparkFlashnetRouteSwapIntentSchema = v44.object({
1539
- type: v44.literal("executeRouteSwap"),
1540
- data: v44.object({
1541
- userPublicKey: v44.string(),
1542
- initialSparkTransferId: v44.string(),
1543
- hops: v44.array(
1544
- v44.object({
1545
- poolId: v44.string(),
1546
- inputAssetAddress: v44.string(),
1547
- outputAssetAddress: v44.string(),
1548
- hopIntegratorFeeRateBps: v44.optional(v44.union([v44.number(), v44.string()]))
1549
- })
1550
- ),
1551
- inputAmount: v44.string(),
1552
- maxRouteSlippageBps: v44.union([v44.number(), v44.string()]),
1553
- minAmountOut: v44.string(),
1554
- defaultIntegratorFeeRateBps: v44.optional(v44.union([v44.number(), v44.string()])),
1555
- nonce: v44.string()
1556
- })
1557
- });
1558
-
1559
- // src/request/types/sparkMethods/flashnetMethods/intents/swap.ts
1560
- var v45 = __toESM(require("valibot"));
1561
- var sparkFlashnetSwapIntentSchema = v45.object({
1562
- type: v45.literal("executeSwap"),
1563
- data: v45.object({
1564
- userPublicKey: v45.string(),
1565
- poolId: v45.string(),
1566
- transferId: v45.string(),
1567
- assetInAddress: v45.string(),
1568
- assetOutAddress: v45.string(),
1569
- amountIn: v45.string(),
1570
- maxSlippageBps: v45.union([v45.number(), v45.string()]),
1571
- minAmountOut: v45.string(),
1572
- totalIntegratorFeeRateBps: v45.optional(v45.union([v45.number(), v45.string()])),
1573
- nonce: v45.string()
1574
- })
1575
- });
1576
-
1577
- // src/request/types/sparkMethods/flashnetMethods/signIntent.ts
1578
- var v46 = __toESM(require("valibot"));
1579
- var sparkFlashnetSignIntentMethodName = "spark_flashnet_signIntent";
1580
- var sparkFlashnetSignIntentParamsSchema = v46.union([
1581
- sparkFlashnetSwapIntentSchema,
1582
- sparkFlashnetRouteSwapIntentSchema,
1583
- sparkFlashnetAddLiquidityIntentSchema,
1584
- sparkFlashnetClawbackIntentSchema,
1585
- sparkFlashnetConfirmInitialDepositIntentSchema,
1586
- sparkFlashnetCreateConstantProductPoolIntentSchema,
1587
- sparkFlashnetCreateSingleSidedPoolIntentSchema,
1588
- sparkFlashnetRemoveLiquidityIntentSchema
1589
- ]);
1590
- var sparkFlashnetSignIntentResultSchema = v46.object({
1591
- /**
1592
- * The signed intent as a hex string.
1593
- */
1594
- signature: v46.string()
1595
- });
1596
- var sparkFlashnetSignIntentRequestMessageSchema = v46.object({
1597
- ...rpcRequestMessageSchema.entries,
1598
- ...v46.object({
1599
- method: v46.literal(sparkFlashnetSignIntentMethodName),
1600
- params: sparkFlashnetSignIntentParamsSchema,
1601
- id: v46.string()
1602
- }).entries
1603
- });
1604
-
1605
- // src/request/types/sparkMethods/flashnetMethods/signStructuredMessage.ts
1606
- var v47 = __toESM(require("valibot"));
1607
- var sparkFlashnetSignStructuredMessageMethodName = "spark_flashnet_signStructuredMessage";
1608
- var sparkFlashnetSignStructuredMessageParamsSchema = v47.object({
1609
- message: v47.string()
1610
- });
1611
- var sparkFlashnetSignStructuredMessageResultSchema = v47.object({
1612
- message: v47.string(),
1613
- signature: v47.string()
1614
- });
1615
- var sparkFlashnetSignStructuredMessageRequestMessageSchema = v47.object({
1616
- ...rpcRequestMessageSchema.entries,
1617
- ...v47.object({
1618
- method: v47.literal(sparkFlashnetSignStructuredMessageMethodName),
1619
- params: sparkFlashnetSignStructuredMessageParamsSchema,
1620
- id: v47.string()
1621
- }).entries
1622
- });
1623
-
1624
- // src/request/types/sparkMethods/getAddresses.ts
1625
- var v48 = __toESM(require("valibot"));
1626
- var sparkGetAddressesMethodName = "spark_getAddresses";
1627
- var sparkGetAddressesParamsSchema = v48.nullish(
1628
- v48.object({
1629
- /**
1630
- * A message to be displayed to the user in the request prompt.
1631
- */
1632
- message: v48.optional(v48.string())
1633
- })
1634
- );
1635
- var sparkGetAddressesResultSchema = v48.object({
1636
- /**
1637
- * The addresses generated for the given purposes.
1638
- */
1639
- addresses: v48.array(addressSchema),
1640
- network: getNetworkResultSchema
1641
- });
1642
- var sparkGetAddressesRequestMessageSchema = v48.object({
1643
- ...rpcRequestMessageSchema.entries,
1644
- ...v48.object({
1645
- method: v48.literal(sparkGetAddressesMethodName),
1646
- params: sparkGetAddressesParamsSchema,
1647
- id: v48.string()
1648
- }).entries
1649
- });
1650
-
1651
- // src/request/types/sparkMethods/getBalance.ts
1652
- var v49 = __toESM(require("valibot"));
1653
- var sparkGetBalanceMethodName = "spark_getBalance";
1654
- var sparkGetBalanceParamsSchema = v49.nullish(v49.null());
1655
- var sparkGetBalanceResultSchema = v49.object({
1656
- /**
1657
- * The Spark Bitcoin address balance in sats in string form.
1658
- */
1659
- balance: v49.string(),
1660
- tokenBalances: v49.array(
1661
- v49.object({
1662
- /* The address balance of the token in string form as it can overflow a js number */
1663
- balance: v49.string(),
1664
- tokenMetadata: v49.object({
1665
- tokenIdentifier: v49.string(),
1666
- tokenName: v49.string(),
1667
- tokenTicker: v49.string(),
1668
- decimals: v49.number(),
1669
- maxSupply: v49.string()
1670
- })
1671
- })
1672
- )
1673
- });
1674
- var sparkGetBalanceRequestMessageSchema = v49.object({
1675
- ...rpcRequestMessageSchema.entries,
1676
- ...v49.object({
1677
- method: v49.literal(sparkGetBalanceMethodName),
1678
- params: sparkGetBalanceParamsSchema,
1679
- id: v49.string()
1680
- }).entries
1681
- });
1682
-
1683
- // src/request/types/sparkMethods/signMessage.ts
1684
- var v50 = __toESM(require("valibot"));
1685
- var sparkSignMessageMethodName = "spark_signMessage";
1686
- var sparkSignMessageParamsSchema = v50.object({
1687
- /**
1688
- * The message to sign. The message should only consist of valid UTF-8 characters.
1689
- */
1690
- message: v50.string()
1691
- });
1692
- var sparkSignMessageResultSchema = v50.object({
1693
- /**
1694
- * The signature, encoded in base64, of the message hash.
1695
- *
1696
- * Note: When signing, the message is decoded into a byte array,
1697
- * and the resulting byte array is hashed with SHA256 before signing
1698
- * with the private key.
1699
- */
1700
- signature: v50.string()
1701
- });
1702
- var sparkSignMessageRequestMessageSchema = v50.object({
1703
- ...rpcRequestMessageSchema.entries,
1704
- ...v50.object({
1705
- method: v50.literal(sparkSignMessageMethodName),
1706
- params: sparkSignMessageParamsSchema,
1707
- id: v50.string()
1708
- }).entries
1709
- });
1710
-
1711
- // src/request/types/sparkMethods/transfer.ts
1712
- var v51 = __toESM(require("valibot"));
1713
- var sparkTransferMethodName = "spark_transfer";
1714
- var sparkTransferParamsSchema = v51.object({
1715
- /**
1716
- * Amount of SATS to transfer as a string or number.
1717
- */
1718
- amountSats: v51.union([v51.number(), v51.string()]),
1719
- /**
1720
- * The recipient's spark address.
1721
- */
1722
- receiverSparkAddress: v51.string()
1723
- });
1724
- var sparkTransferResultSchema = v51.object({
1725
- /**
1726
- * The ID of the transaction.
1727
- */
1728
- id: v51.string()
1729
- });
1730
- var sparkTransferRequestMessageSchema = v51.object({
1731
- ...rpcRequestMessageSchema.entries,
1732
- ...v51.object({
1733
- method: v51.literal(sparkTransferMethodName),
1734
- params: sparkTransferParamsSchema,
1735
- id: v51.string()
1736
- }).entries
1737
- });
1738
-
1739
- // src/request/types/sparkMethods/transferToken.ts
1740
- var v52 = __toESM(require("valibot"));
1741
- var sparkTransferTokenMethodName = "spark_transferToken";
1742
- var sparkTransferTokenParamsSchema = v52.object({
1743
- /**
1744
- * Amount of units of the token to transfer as a string or number.
1745
- */
1746
- tokenAmount: v52.union([v52.number(), v52.string()]),
1747
- /**
1748
- * The Bech32m token identifier.
1749
- */
1750
- tokenIdentifier: v52.string(),
1751
- /**
1752
- * The recipient's spark address.
1753
- */
1754
- receiverSparkAddress: v52.string()
1755
- });
1756
- var sparkTransferTokenResultSchema = v52.object({
1757
- /**
1758
- * The ID of the transaction.
1759
- */
1760
- id: v52.string()
1761
- });
1762
- var sparkTransferTokenRequestMessageSchema = v52.object({
1763
- ...rpcRequestMessageSchema.entries,
1764
- ...v52.object({
1765
- method: v52.literal(sparkTransferTokenMethodName),
1766
- params: sparkTransferTokenParamsSchema,
1767
- id: v52.string()
1768
- }).entries
1769
- });
1770
-
1771
- // src/request/types/stxMethods/callContract.ts
1772
- var v53 = __toESM(require("valibot"));
1773
- var stxCallContractMethodName = "stx_callContract";
1774
- var stxCallContractParamsSchema = v53.object({
1775
- /**
1776
- * The contract principal.
1777
- *
1778
- * E.g. `"SPKE...GD5C.my-contract"`
1779
- */
1780
- contract: v53.string(),
1781
- /**
1782
- * The name of the function to call.
1783
- *
1784
- * Note: spec changes ongoing,
1785
- * https://github.com/stacksgov/sips/pull/166#pullrequestreview-1914236999
1786
- */
1787
- functionName: v53.string(),
1788
- /**
1789
- * @deprecated in favor of `functionArgs` for @stacks/connect compatibility
1790
- */
1791
- arguments: v53.optional(v53.array(v53.string())),
1792
- /**
1793
- * The function's arguments. The arguments are expected to be hex-encoded
1794
- * strings of Clarity values.
1795
- *
1796
- * To convert Clarity values to their hex representation, the `cvToHex`
1797
- * helper from the `@stacks/transactions` package may be helpful.
1798
- *
1799
- * ```js
1800
- * import { cvToHex } from '@stacks/transactions';
1801
- *
1802
- * const functionArgs = [someClarityValue1, someClarityValue2];
1803
- * const hexArgs = functionArgs.map(cvToHex);
1804
- * ```
1805
- */
1806
- functionArgs: v53.optional(v53.array(v53.string())),
1807
- /**
1808
- * The post conditions to apply to the contract call.
1809
- */
1810
- postConditions: v53.optional(v53.array(v53.string())),
1811
- /**
1812
- * The mode to apply to the post conditions.
1813
- */
1814
- postConditionMode: v53.optional(v53.union([v53.literal("allow"), v53.literal("deny")]))
1815
- });
1816
- var stxCallContractResultSchema = v53.object({
1817
- /**
1818
- * The ID of the transaction.
1819
- */
1820
- txid: v53.string(),
1821
- /**
1822
- * A Stacks transaction as a hex-encoded string.
1823
- */
1824
- transaction: v53.string()
1825
- });
1826
- var stxCallContractRequestMessageSchema = v53.object({
1827
- ...rpcRequestMessageSchema.entries,
1828
- ...v53.object({
1829
- method: v53.literal(stxCallContractMethodName),
1830
- params: stxCallContractParamsSchema,
1831
- id: v53.string()
1832
- }).entries
1833
- });
1834
-
1835
- // src/request/types/stxMethods/deployContract.ts
1836
- var v54 = __toESM(require("valibot"));
1837
- var stxDeployContractMethodName = "stx_deployContract";
1838
- var stxDeployContractParamsSchema = v54.object({
1839
- /**
1840
- * Name of the contract.
1841
- */
1842
- name: v54.string(),
1843
- /**
1844
- * The source code of the Clarity contract.
1845
- */
1846
- clarityCode: v54.string(),
1847
- /**
1848
- * The version of the Clarity contract.
1849
- */
1850
- clarityVersion: v54.optional(v54.number()),
1851
- /**
1852
- * The post conditions to apply to the contract call.
1853
- */
1854
- postConditions: v54.optional(v54.array(v54.string())),
1855
- /**
1856
- * The mode to apply to the post conditions.
1857
- */
1858
- postConditionMode: v54.optional(v54.union([v54.literal("allow"), v54.literal("deny")]))
1859
- });
1860
- var stxDeployContractResultSchema = v54.object({
1861
- /**
1862
- * The ID of the transaction.
1863
- */
1864
- txid: v54.string(),
1865
- /**
1866
- * A Stacks transaction as a hex-encoded string.
1867
- */
1868
- transaction: v54.string()
1869
- });
1870
- var stxDeployContractRequestMessageSchema = v54.object({
1871
- ...rpcRequestMessageSchema.entries,
1872
- ...v54.object({
1873
- method: v54.literal(stxDeployContractMethodName),
1874
- params: stxDeployContractParamsSchema,
1875
- id: v54.string()
1876
- }).entries
1877
- });
1878
-
1879
- // src/request/types/stxMethods/getAccounts.ts
1880
- var v55 = __toESM(require("valibot"));
1881
- var stxGetAccountsMethodName = "stx_getAccounts";
1882
- var stxGetAccountsParamsSchema = v55.nullish(v55.null());
1883
- var stxGetAccountsResultSchema = v55.object({
1884
- /**
1885
- * The addresses generated for the given purposes.
1886
- */
1887
- addresses: v55.array(
1888
- v55.object({
1889
- address: v55.string(),
1890
- publicKey: v55.string(),
1891
- gaiaHubUrl: v55.string(),
1892
- gaiaAppKey: v55.string()
1893
- })
1894
- ),
1895
- network: getNetworkResultSchema
1896
- });
1897
- var stxGetAccountsRequestMessageSchema = v55.object({
1898
- ...rpcRequestMessageSchema.entries,
1899
- ...v55.object({
1900
- method: v55.literal(stxGetAccountsMethodName),
1901
- params: stxGetAccountsParamsSchema,
1902
- id: v55.string()
1903
- }).entries
1904
- });
1905
-
1906
- // src/request/types/stxMethods/getAddresses.ts
1907
- var v56 = __toESM(require("valibot"));
1908
- var stxGetAddressesMethodName = "stx_getAddresses";
1909
- var stxGetAddressesParamsSchema = v56.nullish(
1910
- v56.object({
1911
- /**
1912
- * A message to be displayed to the user in the request prompt.
1913
- */
1914
- message: v56.optional(v56.string())
1915
- })
1916
- );
1917
- var stxGetAddressesResultSchema = v56.object({
1918
- /**
1919
- * The addresses generated for the given purposes.
1920
- */
1921
- addresses: v56.array(addressSchema),
1922
- network: getNetworkResultSchema
1923
- });
1924
- var stxGetAddressesRequestMessageSchema = v56.object({
1925
- ...rpcRequestMessageSchema.entries,
1926
- ...v56.object({
1927
- method: v56.literal(stxGetAddressesMethodName),
1928
- params: stxGetAddressesParamsSchema,
1929
- id: v56.string()
1930
- }).entries
1931
- });
1932
-
1933
- // src/request/types/stxMethods/signMessage.ts
1934
- var v57 = __toESM(require("valibot"));
1935
- var stxSignMessageMethodName = "stx_signMessage";
1936
- var stxSignMessageParamsSchema = v57.object({
1937
- /**
1938
- * The message to sign.
1939
- */
1940
- message: v57.string()
1941
- });
1942
- var stxSignMessageResultSchema = v57.object({
1943
- /**
1944
- * The signature of the message.
1945
- */
1946
- signature: v57.string(),
1947
- /**
1948
- * The public key used to sign the message.
1949
- */
1950
- publicKey: v57.string()
1951
- });
1952
- var stxSignMessageRequestMessageSchema = v57.object({
1953
- ...rpcRequestMessageSchema.entries,
1954
- ...v57.object({
1955
- method: v57.literal(stxSignMessageMethodName),
1956
- params: stxSignMessageParamsSchema,
1957
- id: v57.string()
1958
- }).entries
1959
- });
1960
-
1961
- // src/request/types/stxMethods/signStructuredMessage.ts
1962
- var v58 = __toESM(require("valibot"));
1963
- var stxSignStructuredMessageMethodName = "stx_signStructuredMessage";
1964
- var stxSignStructuredMessageParamsSchema = v58.object({
1965
- /**
1966
- * The domain to be signed.
1967
- */
1968
- domain: v58.string(),
1969
- /**
1970
- * Message payload to be signed.
1971
- */
1972
- message: v58.string(),
1973
- /**
1974
- * The public key to sign the message with.
1975
- */
1976
- publicKey: v58.optional(v58.string())
1977
- });
1978
- var stxSignStructuredMessageResultSchema = v58.object({
1979
- /**
1980
- * Signature of the message.
1981
- */
1982
- signature: v58.string(),
1983
- /**
1984
- * Public key as hex-encoded string.
1985
- */
1986
- publicKey: v58.string()
1987
- });
1988
- var stxSignStructuredMessageRequestMessageSchema = v58.object({
1989
- ...rpcRequestMessageSchema.entries,
1990
- ...v58.object({
1991
- method: v58.literal(stxSignStructuredMessageMethodName),
1992
- params: stxSignStructuredMessageParamsSchema,
1993
- id: v58.string()
1994
- }).entries
1995
- });
1996
-
1997
- // src/request/types/stxMethods/signTransaction.ts
1998
- var v59 = __toESM(require("valibot"));
1999
- var stxSignTransactionMethodName = "stx_signTransaction";
2000
- var stxSignTransactionParamsSchema = v59.object({
2001
- /**
2002
- * The transaction to sign as a hex-encoded string.
2003
- */
2004
- transaction: v59.string(),
2005
- /**
2006
- * The public key to sign the transaction with. The wallet may use any key
2007
- * when not provided.
2008
- */
2009
- pubkey: v59.optional(v59.string()),
2010
- /**
2011
- * Whether to broadcast the transaction after signing. Defaults to `true`.
2012
- */
2013
- broadcast: v59.optional(v59.boolean())
2014
- });
2015
- var stxSignTransactionResultSchema = v59.object({
2016
- /**
2017
- * The signed transaction as a hex-encoded string.
2018
- */
2019
- transaction: v59.string()
2020
- });
2021
- var stxSignTransactionRequestMessageSchema = v59.object({
2022
- ...rpcRequestMessageSchema.entries,
2023
- ...v59.object({
2024
- method: v59.literal(stxSignTransactionMethodName),
2025
- params: stxSignTransactionParamsSchema,
2026
- id: v59.string()
2027
- }).entries
2028
- });
2029
-
2030
- // src/request/types/stxMethods/signTransactions.ts
2031
- var v60 = __toESM(require("valibot"));
2032
- var stxSignTransactionsMethodName = "stx_signTransactions";
2033
- var stxSignTransactionsParamsSchema = v60.object({
2034
- /**
2035
- * The transactions to sign as hex-encoded strings.
2036
- */
2037
- transactions: v60.pipe(
2038
- v60.array(
2039
- v60.pipe(
2040
- v60.string(),
2041
- v60.check((hex) => {
2042
- return true;
2043
- }, "Invalid hex-encoded Stacks transaction.")
2044
- )
2045
- ),
2046
- v60.minLength(1)
2047
- ),
2048
- /**
2049
- * Whether the signed transactions should be broadcast after signing. Defaults
2050
- * to `true`.
2051
- */
2052
- broadcast: v60.optional(v60.boolean())
2053
- });
2054
- var stxSignTransactionsResultSchema = v60.object({
2055
- /**
2056
- * The signed transactions as hex-encoded strings, in the same order as in the
2057
- * sign request.
2058
- */
2059
- transactions: v60.array(v60.string())
2060
- });
2061
- var stxSignTransactionsRequestMessageSchema = v60.object({
2062
- ...rpcRequestMessageSchema.entries,
2063
- ...v60.object({
2064
- method: v60.literal(stxSignTransactionsMethodName),
2065
- params: stxSignTransactionsParamsSchema,
2066
- id: v60.string()
2067
- }).entries
2068
- });
2069
-
2070
- // src/request/types/stxMethods/transferStx.ts
2071
- var v61 = __toESM(require("valibot"));
2072
- var stxTransferStxMethodName = "stx_transferStx";
2073
- var stxTransferStxParamsSchema = v61.object({
2074
- /**
2075
- * Amount of STX tokens to transfer in microstacks as a string. Anything
2076
- * parseable by `BigInt` is acceptable.
2077
- *
2078
- * Example,
2079
- *
2080
- * ```js
2081
- * const amount1 = 1234;
2082
- * const amount2 = 1234n;
2083
- * const amount3 = '1234';
2084
- * ```
2085
- */
2086
- amount: v61.union([v61.number(), v61.string()]),
2087
- /**
2088
- * The recipient's principal.
2089
- */
2090
- recipient: v61.string(),
2091
- /**
2092
- * A string representing the memo.
2093
- */
2094
- memo: v61.optional(v61.string()),
2095
- /**
2096
- * Version of parameter format.
2097
- */
2098
- version: v61.optional(v61.string()),
2099
- /**
2100
- * The mode of the post conditions.
2101
- */
2102
- postConditionMode: v61.optional(v61.number()),
2103
- /**
2104
- * A hex-encoded string representing the post conditions.
2105
- *
2106
- * A post condition may be converted to it's hex representation using the `serializePostCondition` helper from the `@stacks/transactions` package,
2107
- *
2108
- * ```js
2109
- * import { serializePostCondition } from '@stacks/transactions';
2110
- *
2111
- * const postCondition = somePostCondition;
2112
- * const hexPostCondition = serializePostCondition(postCondition).toString('hex');
2113
- * ```
2114
- */
2115
- postConditions: v61.optional(v61.array(v61.string())),
2116
- /**
2117
- * The public key to sign the transaction with. The wallet may use any key
2118
- * when not provided.
2119
- */
2120
- pubkey: v61.optional(v61.string())
2121
- });
2122
- var stxTransferStxResultSchema = v61.object({
2123
- /**
2124
- * The ID of the transaction.
2125
- */
2126
- txid: v61.string(),
2127
- /**
2128
- * A Stacks transaction as a hex-encoded string.
2129
- */
2130
- transaction: v61.string()
2131
- });
2132
- var stxTransferStxRequestMessageSchema = v61.object({
2133
- ...rpcRequestMessageSchema.entries,
2134
- ...v61.object({
2135
- method: v61.literal(stxTransferStxMethodName),
2136
- params: stxTransferStxParamsSchema,
2137
- id: v61.string()
2138
- }).entries
2139
- });
2140
-
2141
- // src/request/index.ts
2142
- var cache = {};
2143
- var requestInternal = async (provider, method, params) => {
2144
- const response = await provider.request(method, params);
2145
- if (v62.is(rpcErrorResponseMessageSchema, response)) {
2146
- return {
2147
- status: "error",
2148
- error: response.error
2149
- };
2150
- }
2151
- if (v62.is(rpcSuccessResponseMessageSchema, response)) {
2152
- return {
2153
- status: "success",
2154
- result: response.result
2155
- };
2156
- }
2157
- return {
2158
- status: "error",
2159
- error: {
2160
- code: -32603 /* INTERNAL_ERROR */,
2161
- message: "Received unknown response from provider.",
2162
- data: response
2163
- }
2164
- };
2165
- };
2166
- var request = async (method, params, providerId) => {
2167
- let provider = window.XverseProviders?.BitcoinProvider || window.BitcoinProvider;
2168
- if (providerId) {
2169
- provider = await getProviderById(providerId);
2170
- }
2171
- if (!provider) {
2172
- throw new Error("no wallet provider was found");
2173
- }
2174
- if (!method) {
2175
- throw new Error("A wallet method is required");
2176
- }
2177
- if (!cache.providerInfo) {
2178
- const infoResult = await requestInternal(provider, "getInfo", null);
2179
- if (infoResult.status === "success") {
2180
- cache.providerInfo = infoResult.result;
2181
- }
2182
- }
2183
- if (cache.providerInfo) {
2184
- if (method === "getInfo") {
2185
- return {
2186
- status: "success",
2187
- result: cache.providerInfo
2188
- };
2189
- }
2190
- const sanitized = sanitizeRequest(method, params, cache.providerInfo);
2191
- if (sanitized.overrideResponse) {
2192
- return sanitized.overrideResponse;
2193
- }
2194
- method = sanitized.method;
2195
- params = sanitized.params;
2196
- }
2197
- return requestInternal(provider, method, params);
2198
- };
2199
- var addListener = (...rawArgs) => {
2200
- const [listenerInfo, providerId] = (() => {
2201
- if (rawArgs.length === 1) {
2202
- return [rawArgs[0], void 0];
2203
- }
2204
- if (rawArgs.length === 2) {
2205
- if (typeof rawArgs[1] === "function") {
2206
- return [
2207
- {
2208
- eventName: rawArgs[0],
2209
- cb: rawArgs[1]
2210
- },
2211
- void 0
2212
- ];
2213
- } else {
2214
- return rawArgs;
2215
- }
2216
- }
2217
- if (rawArgs.length === 3) {
2218
- return [
2219
- {
2220
- eventName: rawArgs[0],
2221
- cb: rawArgs[1]
2222
- },
2223
- rawArgs[2]
2224
- ];
2225
- }
2226
- throw new Error("Unexpected number of arguments. Expecting 2 (or 3 for legacy requests).", {
2227
- cause: rawArgs
2228
- });
2229
- })();
2230
- let provider = window.XverseProviders?.BitcoinProvider || window.BitcoinProvider;
2231
- if (providerId) {
2232
- provider = getProviderById(providerId);
2233
- }
2234
- if (!provider) {
2235
- throw new Error("no wallet provider was found");
2236
- }
2237
- if (!provider.addListener) {
2238
- console.error(
2239
- `The wallet provider you are using does not support the addListener method. Please update your wallet provider.`
2240
- );
2241
- return () => {
2242
- };
2243
- }
2244
- return provider.addListener(listenerInfo);
2245
- };
2246
-
2247
- // src/runes/api.ts
2248
- var import_axios = __toESM(require("axios"));
2249
- var urlNetworkSuffix = {
2250
- ["Mainnet" /* Mainnet */]: "",
2251
- ["Testnet" /* Testnet */]: "-testnet",
2252
- ["Testnet4" /* Testnet4 */]: "-testnet4",
2253
- ["Signet" /* Signet */]: "-signet"
2254
- };
2255
- var ORDINALS_API_BASE_URL = (network = "Mainnet" /* Mainnet */) => {
2256
- if (network === "Regtest" /* Regtest */) {
2257
- throw new Error(`Ordinals API does not support ${network} network`);
2258
- }
2259
- return `https://ordinals${urlNetworkSuffix[network]}.xverse.app/v1`;
2260
- };
2261
- var RunesApi = class {
2262
- client;
2263
- constructor(network) {
2264
- this.client = import_axios.default.create({
2265
- baseURL: ORDINALS_API_BASE_URL(network)
2266
- });
2267
- }
2268
- parseError = (error) => {
2269
- return {
2270
- code: error.response?.status,
2271
- message: JSON.stringify(error.response?.data)
2272
- };
2273
- };
2274
- estimateMintCost = async (mintParams) => {
2275
- try {
2276
- const response = await this.client.post("/runes/mint/estimate", {
2277
- ...mintParams
2278
- });
2279
- return {
2280
- data: response.data
2281
- };
2282
- } catch (error) {
2283
- const err = error;
2284
- return {
2285
- error: this.parseError(err)
2286
- };
2287
- }
2288
- };
2289
- estimateEtchCost = async (etchParams) => {
2290
- try {
2291
- const response = await this.client.post("/runes/etch/estimate", {
2292
- ...etchParams
2293
- });
2294
- return {
2295
- data: response.data
2296
- };
2297
- } catch (error) {
2298
- const err = error;
2299
- return {
2300
- error: this.parseError(err)
2301
- };
2302
- }
2303
- };
2304
- createMintOrder = async (mintOrderParams) => {
2305
- try {
2306
- const response = await this.client.post("/runes/mint/orders", {
2307
- ...mintOrderParams
2308
- });
2309
- return {
2310
- data: response.data
2311
- };
2312
- } catch (error) {
2313
- const err = error;
2314
- return {
2315
- error: this.parseError(err)
2316
- };
2317
- }
2318
- };
2319
- createEtchOrder = async (etchOrderParams) => {
2320
- try {
2321
- const response = await this.client.post("/runes/etch/orders", {
2322
- ...etchOrderParams
2323
- });
2324
- return {
2325
- data: response.data
2326
- };
2327
- } catch (error) {
2328
- const err = error;
2329
- return {
2330
- error: this.parseError(err)
2331
- };
2332
- }
2333
- };
2334
- executeMint = async (orderId, fundTransactionId) => {
2335
- try {
2336
- const response = await this.client.post(`/runes/mint/orders/${orderId}/execute`, {
2337
- fundTransactionId
2338
- });
2339
- return {
2340
- data: response.data
2341
- };
2342
- } catch (error) {
2343
- const err = error;
2344
- return {
2345
- error: this.parseError(err)
2346
- };
2347
- }
2348
- };
2349
- executeEtch = async (orderId, fundTransactionId) => {
2350
- try {
2351
- const response = await this.client.post(`/runes/etch/orders/${orderId}/execute`, {
2352
- fundTransactionId
2353
- });
2354
- return {
2355
- data: response.data
2356
- };
2357
- } catch (error) {
2358
- const err = error;
2359
- return {
2360
- error: this.parseError(err)
2361
- };
2362
- }
2363
- };
2364
- getOrder = async (orderId) => {
2365
- try {
2366
- const response = await this.client.get(`/orders/${orderId}`);
2367
- return {
2368
- data: response.data
2369
- };
2370
- } catch (error) {
2371
- const err = error;
2372
- return {
2373
- error: this.parseError(err)
2374
- };
2375
- }
2376
- };
2377
- rbfOrder = async (rbfRequest) => {
2378
- const { orderId, newFeeRate } = rbfRequest;
2379
- try {
2380
- const response = await this.client.post(`/orders/${orderId}/rbf-estimate`, {
2381
- newFeeRate
2382
- });
2383
- return {
2384
- data: response.data
2385
- };
2386
- } catch (error) {
2387
- const err = error;
2388
- return {
2389
- error: this.parseError(err)
2390
- };
2391
- }
2392
- };
2393
- };
2394
- var clients = {};
2395
- var getRunesApiClient = (network = "Mainnet" /* Mainnet */) => {
2396
- if (!clients[network]) {
2397
- clients[network] = new RunesApi(network);
2398
- }
2399
- return clients[network];
2400
- };
2401
-
2402
- // src/adapters/satsConnectAdapter.ts
2403
- var SatsConnectAdapter = class {
2404
- async mintRunes(params) {
2405
- try {
2406
- const walletInfo = await this.requestInternal("getInfo", null).catch(() => null);
2407
- if (walletInfo && walletInfo.status === "success") {
2408
- const isMintSupported = walletInfo.result.methods?.includes("runes_mint");
2409
- if (isMintSupported) {
2410
- const response = await this.requestInternal("runes_mint", params);
2411
- if (response) {
2412
- if (response.status === "success") {
2413
- return response;
2414
- }
2415
- if (response.status === "error" && response.error.code !== -32601 /* METHOD_NOT_FOUND */) {
2416
- return response;
2417
- }
2418
- }
2419
- }
2420
- }
2421
- const mintRequest = {
2422
- destinationAddress: params.destinationAddress,
2423
- feeRate: params.feeRate,
2424
- refundAddress: params.refundAddress,
2425
- repeats: params.repeats,
2426
- runeName: params.runeName,
2427
- appServiceFee: params.appServiceFee,
2428
- appServiceFeeAddress: params.appServiceFeeAddress
2429
- };
2430
- const orderResponse = await new RunesApi(params.network).createMintOrder(mintRequest);
2431
- if (!orderResponse.data) {
2432
- return {
2433
- status: "error",
2434
- error: {
2435
- code: orderResponse.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2436
- message: orderResponse.error.message
2437
- }
2438
- };
2439
- }
2440
- const paymentResponse = await this.requestInternal("sendTransfer", {
2441
- recipients: [
2442
- {
2443
- address: orderResponse.data.fundAddress,
2444
- amount: orderResponse.data.fundAmount
2445
- }
2446
- ]
2447
- });
2448
- if (paymentResponse.status !== "success") {
2449
- return paymentResponse;
2450
- }
2451
- await new RunesApi(params.network).executeMint(
2452
- orderResponse.data.orderId,
2453
- paymentResponse.result.txid
2454
- );
2455
- return {
2456
- status: "success",
2457
- result: {
2458
- orderId: orderResponse.data.orderId,
2459
- fundTransactionId: paymentResponse.result.txid,
2460
- fundingAddress: orderResponse.data.fundAddress
2461
- }
2462
- };
2463
- } catch (error) {
2464
- return {
2465
- status: "error",
2466
- error: {
2467
- code: -32603 /* INTERNAL_ERROR */,
2468
- message: error.message
2469
- }
2470
- };
2471
- }
2472
- }
2473
- async etchRunes(params) {
2474
- const etchRequest = {
2475
- destinationAddress: params.destinationAddress,
2476
- refundAddress: params.refundAddress,
2477
- feeRate: params.feeRate,
2478
- runeName: params.runeName,
2479
- divisibility: params.divisibility,
2480
- symbol: params.symbol,
2481
- premine: params.premine,
2482
- isMintable: params.isMintable,
2483
- terms: params.terms,
2484
- inscriptionDetails: params.inscriptionDetails,
2485
- delegateInscriptionId: params.delegateInscriptionId,
2486
- appServiceFee: params.appServiceFee,
2487
- appServiceFeeAddress: params.appServiceFeeAddress
2488
- };
2489
- try {
2490
- const walletInfo = await this.requestInternal("getInfo", null).catch(() => null);
2491
- if (walletInfo && walletInfo.status === "success") {
2492
- const isEtchSupported = walletInfo.result.methods?.includes("runes_etch");
2493
- if (isEtchSupported) {
2494
- const response = await this.requestInternal("runes_etch", params);
2495
- if (response) {
2496
- if (response.status === "success") {
2497
- return response;
2498
- }
2499
- if (response.status === "error" && response.error.code !== -32601 /* METHOD_NOT_FOUND */) {
2500
- return response;
2501
- }
2502
- }
2503
- }
2504
- }
2505
- const orderResponse = await new RunesApi(params.network).createEtchOrder(etchRequest);
2506
- if (!orderResponse.data) {
2507
- return {
2508
- status: "error",
2509
- error: {
2510
- code: orderResponse.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2511
- message: orderResponse.error.message
2512
- }
2513
- };
2514
- }
2515
- const paymentResponse = await this.requestInternal("sendTransfer", {
2516
- recipients: [
2517
- {
2518
- address: orderResponse.data.fundAddress,
2519
- amount: orderResponse.data.fundAmount
2520
- }
2521
- ]
2522
- });
2523
- if (paymentResponse.status !== "success") {
2524
- return paymentResponse;
2525
- }
2526
- await new RunesApi(params.network).executeEtch(
2527
- orderResponse.data.orderId,
2528
- paymentResponse.result.txid
2529
- );
2530
- return {
2531
- status: "success",
2532
- result: {
2533
- orderId: orderResponse.data.orderId,
2534
- fundTransactionId: paymentResponse.result.txid,
2535
- fundingAddress: orderResponse.data.fundAddress
2536
- }
2537
- };
2538
- } catch (error) {
2539
- return {
2540
- status: "error",
2541
- error: {
2542
- code: -32603 /* INTERNAL_ERROR */,
2543
- message: error.message
2544
- }
2545
- };
2546
- }
2547
- }
2548
- async estimateMint(params) {
2549
- const estimateMintRequest = {
2550
- destinationAddress: params.destinationAddress,
2551
- feeRate: params.feeRate,
2552
- repeats: params.repeats,
2553
- runeName: params.runeName,
2554
- appServiceFee: params.appServiceFee,
2555
- appServiceFeeAddress: params.appServiceFeeAddress
2556
- };
2557
- const response = await getRunesApiClient(
2558
- params.network
2559
- ).estimateMintCost(estimateMintRequest);
2560
- if (response.data) {
2561
- return {
2562
- status: "success",
2563
- result: response.data
2564
- };
2565
- }
2566
- return {
2567
- status: "error",
2568
- error: {
2569
- code: response.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2570
- message: response.error.message
2571
- }
2572
- };
2573
- }
2574
- async estimateEtch(params) {
2575
- const estimateEtchRequest = {
2576
- destinationAddress: params.destinationAddress,
2577
- feeRate: params.feeRate,
2578
- runeName: params.runeName,
2579
- divisibility: params.divisibility,
2580
- symbol: params.symbol,
2581
- premine: params.premine,
2582
- isMintable: params.isMintable,
2583
- terms: params.terms,
2584
- inscriptionDetails: params.inscriptionDetails,
2585
- delegateInscriptionId: params.delegateInscriptionId,
2586
- appServiceFee: params.appServiceFee,
2587
- appServiceFeeAddress: params.appServiceFeeAddress
2588
- };
2589
- const response = await getRunesApiClient(params.network).estimateEtchCost(estimateEtchRequest);
2590
- if (response.data) {
2591
- return {
2592
- status: "success",
2593
- result: response.data
2594
- };
2595
- }
2596
- return {
2597
- status: "error",
2598
- error: {
2599
- code: response.error.code === 400 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2600
- message: response.error.message
2601
- }
2602
- };
2603
- }
2604
- async getOrder(params) {
2605
- const response = await getRunesApiClient(params.network).getOrder(params.id);
2606
- if (response.data) {
2607
- return {
2608
- status: "success",
2609
- result: response.data
2610
- };
2611
- }
2612
- return {
2613
- status: "error",
2614
- error: {
2615
- code: response.error.code === 400 || response.error.code === 404 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2616
- message: response.error.message
2617
- }
2618
- };
2619
- }
2620
- async estimateRbfOrder(params) {
2621
- const rbfOrderRequest = {
2622
- newFeeRate: params.newFeeRate,
2623
- orderId: params.orderId
2624
- };
2625
- const response = await getRunesApiClient(params.network).rbfOrder(rbfOrderRequest);
2626
- if (response.data) {
2627
- return {
2628
- status: "success",
2629
- result: {
2630
- fundingAddress: response.data.fundingAddress,
2631
- rbfCost: response.data.rbfCost
2632
- }
2633
- };
2634
- }
2635
- return {
2636
- status: "error",
2637
- error: {
2638
- code: response.error.code === 400 || response.error.code === 404 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2639
- message: response.error.message
2640
- }
2641
- };
2642
- }
2643
- async rbfOrder(params) {
2644
- try {
2645
- const rbfOrderRequest = {
2646
- newFeeRate: params.newFeeRate,
2647
- orderId: params.orderId
2648
- };
2649
- const orderResponse = await getRunesApiClient(params.network).rbfOrder(rbfOrderRequest);
2650
- if (!orderResponse.data) {
2651
- return {
2652
- status: "error",
2653
- error: {
2654
- code: orderResponse.error.code === 400 || orderResponse.error.code === 404 ? -32600 /* INVALID_REQUEST */ : -32603 /* INTERNAL_ERROR */,
2655
- message: orderResponse.error.message
2656
- }
2657
- };
2658
- }
2659
- const paymentResponse = await this.requestInternal("sendTransfer", {
2660
- recipients: [
2661
- {
2662
- address: orderResponse.data.fundingAddress,
2663
- amount: orderResponse.data.rbfCost
2664
- }
2665
- ]
2666
- });
2667
- if (paymentResponse.status !== "success") {
2668
- return paymentResponse;
2669
- }
2670
- return {
2671
- status: "success",
2672
- result: {
2673
- fundingAddress: orderResponse.data.fundingAddress,
2674
- orderId: rbfOrderRequest.orderId,
2675
- fundRBFTransactionId: paymentResponse.result.txid
2676
- }
2677
- };
2678
- } catch (error) {
2679
- return {
2680
- status: "error",
2681
- error: {
2682
- code: -32603 /* INTERNAL_ERROR */,
2683
- message: error.message
2684
- }
2685
- };
2686
- }
2687
- }
2688
- async request(method, params) {
2689
- switch (method) {
2690
- case "runes_mint":
2691
- return this.mintRunes(params);
2692
- case "runes_etch":
2693
- return this.etchRunes(params);
2694
- case "runes_estimateMint":
2695
- return this.estimateMint(params);
2696
- case "runes_estimateEtch":
2697
- return this.estimateEtch(params);
2698
- case "runes_getOrder": {
2699
- return this.getOrder(params);
2700
- }
2701
- case "runes_estimateRbfOrder": {
2702
- return this.estimateRbfOrder(params);
2703
- }
2704
- case "runes_rbfOrder": {
2705
- return this.rbfOrder(params);
2706
- }
2707
- default:
2708
- return this.requestInternal(method, params);
2709
- }
2710
- }
2711
- };
2712
-
2713
- // src/adapters/xverse.ts
2714
- var XverseAdapter = class extends SatsConnectAdapter {
2715
- id = DefaultAdaptersInfo.xverse.id;
2716
- requestInternal = async (method, params) => {
2717
- return request(method, params, this.id);
2718
- };
2719
- addListener = (listenerInfo) => {
2720
- return addListener(listenerInfo, this.id);
2721
- };
2722
- };
2723
-
2724
- // src/adapters/unisat.ts
2725
- var import_bitcoin_address_validation = require("bitcoin-address-validation");
2726
- var import_buffer = require("buffer");
2727
- function convertSignInputsToInputType(signInputs) {
2728
- let result = [];
2729
- if (!signInputs) {
2730
- return result;
2731
- }
2732
- for (let address in signInputs) {
2733
- let indexes = signInputs[address];
2734
- for (let index of indexes) {
2735
- result.push({
2736
- index,
2737
- address
2738
- });
2739
- }
2740
- }
2741
- return result;
2742
- }
2743
- var UnisatAdapter = class extends SatsConnectAdapter {
2744
- id = DefaultAdaptersInfo.unisat.id;
2745
- async getAccounts(params) {
2746
- const { purposes } = params;
2747
- if (purposes.includes("stacks" /* Stacks */) || purposes.includes("starknet" /* Starknet */) || purposes.includes("spark" /* Spark */)) {
2748
- throw new Error("Only bitcoin addresses are supported");
2749
- }
2750
- const accounts = await window.unisat.requestAccounts();
2751
- const publicKey = await window.unisat.getPublicKey();
2752
- const address = accounts[0];
2753
- const addressType = (0, import_bitcoin_address_validation.getAddressInfo)(accounts[0]).type;
2754
- const pk = addressType === import_bitcoin_address_validation.AddressType.p2tr ? publicKey.slice(2) : publicKey;
2755
- const paymentAddress = {
2756
- address,
2757
- publicKey: pk,
2758
- addressType,
2759
- purpose: "payment" /* Payment */,
2760
- walletType: "software"
2761
- };
2762
- const ordinalsAddress = {
2763
- address,
2764
- publicKey: pk,
2765
- addressType,
2766
- purpose: "ordinals" /* Ordinals */,
2767
- walletType: "software"
2768
- };
2769
- const response = [];
2770
- if (purposes.includes("payment" /* Payment */)) {
2771
- response.push({ ...paymentAddress, walletType: "software" });
2772
- }
2773
- if (purposes.includes("ordinals" /* Ordinals */)) {
2774
- response.push({ ...ordinalsAddress, walletType: "software" });
2775
- }
2776
- return response;
2777
- }
2778
- async signMessage(params) {
2779
- const { message, address } = params;
2780
- const addressType = (0, import_bitcoin_address_validation.getAddressInfo)(address).type;
2781
- const Bip322supportedTypes = [import_bitcoin_address_validation.AddressType.p2wpkh, import_bitcoin_address_validation.AddressType.p2tr];
2782
- if (Bip322supportedTypes.includes(addressType)) {
2783
- const response2 = await window.unisat.signMessage(message, "bip322-simple");
2784
- return {
2785
- address,
2786
- messageHash: "",
2787
- signature: response2,
2788
- protocol: "BIP322" /* BIP322 */
2789
- };
2790
- }
2791
- const response = await window.unisat.signMessage(message, "ecdsa");
2792
- return {
2793
- address,
2794
- messageHash: "",
2795
- signature: response,
2796
- protocol: "ECDSA" /* ECDSA */
2797
- };
2798
- }
2799
- async sendTransfer(params) {
2800
- const { recipients } = params;
2801
- if (recipients.length > 1) {
2802
- throw new Error("Only one recipient is supported by this wallet provider");
2803
- }
2804
- const txid = await window.unisat.sendBitcoin(recipients[0].address, recipients[0].amount);
2805
- return {
2806
- txid
2807
- };
2808
- }
2809
- async signPsbt(params) {
2810
- const { psbt, signInputs, broadcast } = params;
2811
- const psbtHex = import_buffer.Buffer.from(psbt, "base64").toString("hex");
2812
- const signedPsbt = await window.unisat.signPsbt(psbtHex, {
2813
- autoFinalized: broadcast,
2814
- toSignInputs: convertSignInputsToInputType(signInputs)
2815
- });
2816
- const signedPsbtBase64 = import_buffer.Buffer.from(signedPsbt, "hex").toString("base64");
2817
- let txid;
2818
- if (broadcast) {
2819
- txid = await window.unisat.pushPsbt(signedPsbt);
2820
- }
2821
- return {
2822
- psbt: signedPsbtBase64,
2823
- txid
2824
- };
2825
- }
2826
- requestInternal = async (method, params) => {
2827
- try {
2828
- switch (method) {
2829
- case "getAccounts": {
2830
- const response = await this.getAccounts(
2831
- params
2832
- );
2833
- return {
2834
- status: "success",
2835
- result: response
2836
- };
2837
- }
2838
- case "sendTransfer": {
2839
- const response = await this.sendTransfer(params);
2840
- return {
2841
- status: "success",
2842
- result: response
2843
- };
2844
- }
2845
- case "signMessage": {
2846
- const response = await this.signMessage(params);
2847
- return {
2848
- status: "success",
2849
- result: response
2850
- };
2851
- }
2852
- case "signPsbt": {
2853
- const response = await this.signPsbt(params);
2854
- return {
2855
- status: "success",
2856
- result: response
2857
- };
2858
- }
2859
- default: {
2860
- const error = {
2861
- code: -32001 /* METHOD_NOT_SUPPORTED */,
2862
- message: "Method not supported by the selected wallet"
2863
- };
2864
- console.error("Error calling the method", error);
2865
- return {
2866
- status: "error",
2867
- error
2868
- };
2869
- }
2870
- }
2871
- } catch (error) {
2872
- console.error("Error calling the method", error);
2873
- return {
2874
- status: "error",
2875
- error: {
2876
- code: error.code === 4001 ? -32e3 /* USER_REJECTION */ : -32603 /* INTERNAL_ERROR */,
2877
- message: error.message ? error.message : "Wallet method call error",
2878
- data: error
2879
- }
2880
- };
2881
- }
2882
- };
2883
- addListener = ({ eventName, cb }) => {
2884
- switch (eventName) {
2885
- case "accountChange": {
2886
- const handler = () => {
2887
- cb({ type: "accountChange" });
2888
- };
2889
- window.unisat.on("accountsChanged", handler);
2890
- return () => {
2891
- window.unisat.removeListener("accountsChanged", handler);
2892
- };
2893
- }
2894
- case "networkChange": {
2895
- const handler = () => {
2896
- cb({ type: "networkChange" });
2897
- };
2898
- window.unisat.on("networkChanged", handler);
2899
- return () => {
2900
- window.unisat.removeListener("networkChanged", handler);
2901
- };
2902
- }
2903
- default: {
2904
- console.error("Event not supported by the selected wallet");
2905
- return () => {
2906
- };
2907
- }
2908
- }
2909
- };
2910
- };
2911
-
2912
- // src/adapters/fordefi.ts
2913
- var FordefiAdapter = class extends SatsConnectAdapter {
2914
- id = DefaultAdaptersInfo.fordefi.id;
2915
- requestInternal = async (method, params) => {
2916
- const provider = getProviderById(this.id);
2917
- if (!provider) {
2918
- throw new Error("no wallet provider was found");
2919
- }
2920
- if (!method) {
2921
- throw new Error("A wallet method is required");
2922
- }
2923
- return await provider.request(method, params);
2924
- };
2925
- addListener = ({ eventName, cb }) => {
2926
- const provider = getProviderById(this.id);
2927
- if (!provider) {
2928
- throw new Error("no wallet provider was found");
2929
- }
2930
- if (!provider.addListener) {
2931
- console.error(
2932
- `The wallet provider you are using does not support the addListener method. Please update your wallet provider.`
2933
- );
2934
- return () => {
2935
- };
2936
- }
2937
- return provider.addListener(eventName, cb);
2938
- };
2939
- };
2940
-
2941
- // src/adapters/BaseAdapter.ts
2942
- var BaseAdapter = class extends SatsConnectAdapter {
2943
- id = "";
2944
- constructor(providerId) {
2945
- super();
2946
- this.id = providerId;
2947
- }
2948
- requestInternal = async (method, params) => {
2949
- return request(method, params, this.id);
2950
- };
2951
- addListener = (..._args) => {
2952
- throw new Error("Method not supported for `BaseAdapter`.");
2953
- };
2954
- };
2955
-
2956
- // src/adapters/index.ts
2957
- var DefaultAdaptersInfo = {
2958
- fordefi: {
2959
- id: "FordefiProviders.UtxoProvider",
2960
- name: "Fordefi",
2961
- webUrl: "https://www.fordefi.com/",
2962
- chromeWebStoreUrl: "https://chromewebstore.google.com/detail/fordefi/hcmehenccjdmfbojapcbcofkgdpbnlle",
2963
- icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzNDk0XzY2MjU0KSI+CjxwYXRoIGQ9Ik0xMC44NzY5IDE1LjYzNzhIMS41VjE4LjM5OUMxLjUgMTkuODAxMyAyLjYzNDQ3IDIwLjkzOCA0LjAzMzkyIDIwLjkzOEg4LjI0OTkyTDEwLjg3NjkgMTUuNjM3OFoiIGZpbGw9IiM3OTk0RkYiLz4KPHBhdGggZD0iTTEuNSA5Ljc3NTUxSDE5LjA1MTZMMTcuMDEzOSAxMy44NzExSDEuNVY5Ljc3NTUxWiIgZmlsbD0iIzQ4NkRGRiIvPgo8cGF0aCBkPSJNNy42NTk5NiAzSDEuNTI0NDFWOC4wMDcwNEgyMi40NjEyVjNIMTYuMzI1NlY2LjczOTQ0SDE1LjA2MDZWM0g4LjkyNTAyVjYuNzM5NDRINy42NTk5NlYzWiIgZmlsbD0iIzVDRDFGQSIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzNDk0XzY2MjU0Ij4KPHJlY3Qgd2lkdGg9IjIxIiBoZWlnaHQ9IjE4IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS41IDMpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="
2964
- },
2965
- xverse: {
2966
- id: "XverseProviders.BitcoinProvider",
2967
- name: "Xverse",
2968
- webUrl: "https://www.xverse.app/",
2969
- googlePlayStoreUrl: "https://play.google.com/store/apps/details?id=com.secretkeylabs.xverse",
2970
- iOSAppStoreUrl: "https://apps.apple.com/app/xverse-bitcoin-web3-wallet/id1552272513",
2971
- chromeWebStoreUrl: "https://chromewebstore.google.com/detail/xverse-wallet/idnnbdplmphpflfnlkomgpfbpcgelopg",
2972
- icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyIiBoZWlnaHQ9IjEwMiIgdmlld0JveD0iMCAwIDEwMiAxMDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJJY29uX0FydCAoRWRpdCBNZSkiPgo8cmVjdCB3aWR0aD0iMTAyIiBoZWlnaHQ9IjEwMiIgZmlsbD0iIzE4MTgxOCIvPgo8ZyBpZD0iTG9nby9FbWJsZW0iIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMF8xMjIzKSI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik03NC42NTQyIDczLjg4ODNWNjUuMjMxMkM3NC42NTQyIDY0Ljg4OCA3NC41MTc3IDY0LjU2MDYgNzQuMjc0NSA2NC4zMTc0TDM3LjQzOTcgMjcuNDgyNUMzNy4xOTY1IDI3LjIzOTIgMzYuODY5MSAyNy4xMDI4IDM2LjUyNTggMjcuMTAyOEgyNy44NjlDMjcuNDQxNiAyNy4xMDI4IDI3LjA5MzggMjcuNDUwNiAyNy4wOTM4IDI3Ljg3OFYzNS45MjExQzI3LjA5MzggMzYuMjY0NCAyNy4yMzAyIDM2LjU5MTcgMjcuNDczNCAzNi44MzVMNDAuNjk1MiA1MC4wNTY3QzQwLjk5NzUgNTAuMzU5MSA0MC45OTc1IDUwLjg1MDEgNDAuNjk1MiA1MS4xNTI0TDI3LjMyMTEgNjQuNTI2NUMyNy4xNzU2IDY0LjY3MiAyNy4wOTM4IDY0Ljg2OTggMjcuMDkzOCA2NS4wNzQ0VjczLjg4ODNDMjcuMDkzOCA3NC4zMTUzIDI3LjQ0MTYgNzQuNjYzNSAyNy44NjkgNzQuNjYzNUg0Mi4zMzQyQzQyLjc2MTYgNzQuNjYzNSA0My4xMDk0IDc0LjMxNTMgNDMuMTA5NCA3My44ODgzVjY4LjY5NThDNDMuMTA5NCA2OC40OTEyIDQzLjE5MTIgNjguMjkzNSA0My4zMzY4IDY4LjE0NzlMNTAuNTExNCA2MC45NzMzQzUwLjgxMzggNjAuNjcwOSA1MS4zMDQ4IDYwLjY3MDkgNTEuNjA3MiA2MC45NzMzTDY0LjkxOTggNzQuMjg2MUM2NS4xNjMxIDc0LjUyOTMgNjUuNDkwNCA3NC42NjU4IDY1LjgzMzcgNzQuNjY1OEg3My44NzY3Qzc0LjMwNDIgNzQuNjY1OCA3NC42NTE5IDc0LjMxNzYgNzQuNjUxOSA3My44OTA2TDc0LjY1NDIgNzMuODg4M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGlkPSJWZWN0b3JfMiIgZD0iTTU1LjM1OCAzOC41NjcySDYyLjYwMzFDNjMuMDMyOCAzOC41NjcyIDYzLjM4MjkgMzguOTE3MyA2My4zODI5IDM5LjM0NjlWNDYuNTkyMUM2My4zODI5IDQ3LjI4NzcgNjQuMjI0IDQ3LjYzNTUgNjQuNzE1MSA0Ny4xNDIyTDc0LjY1NDEgMzcuMTg3M0M3NC43OTk0IDM3LjA0MTggNzQuODgxNiAzNi44NDQgNzQuODgxNiAzNi42MzcxVjI3LjkxODlDNzQuODgxNiAyNy40ODkyIDc0LjUzMzQgMjcuMTM5MSA3NC4xMDE3IDI3LjEzOTFMNjUuMjUzOCAyNy4xMjc3QzY1LjA0NyAyNy4xMjc3IDY0Ljg0OTIgMjcuMjA5NiA2NC43MDE0IDI3LjM1NTFMNTQuODA1NiAzNy4yMzVDNTQuMzE0NSAzNy43MjYgNTQuNjYyMyAzOC41NjcyIDU1LjM1NTcgMzguNTY3Mkg1NS4zNThaIiBmaWxsPSIjRUU3QTMwIi8+CjwvZz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMF8xMjIzIj4KPHJlY3Qgd2lkdGg9IjQ3LjgxMjUiIGhlaWdodD0iNDcuODEyNSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3LjA5MzggMjcuMDkzOCkiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K"
2973
- },
2974
- unisat: {
2975
- id: "unisat",
2976
- name: "Unisat",
2977
- webUrl: "https://unisat.io/",
2978
- icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIiBmaWxsPSJibGFjayIvPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTAwNTBfNDE3MSkiPgo8cGF0aCBkPSJNMTEzLjY2IDI5LjI4OTdMMTQzLjk3IDU5LjMwOTdDMTQ2LjU1IDYxLjg1OTcgMTQ3LjgyIDY0LjQzOTcgMTQ3Ljc4IDY3LjAzOTdDMTQ3Ljc0IDY5LjYzOTcgMTQ2LjYzIDcyLjAwOTcgMTQ0LjQ2IDc0LjE1OTdDMTQyLjE5IDc2LjQwOTcgMTM5Ljc0IDc3LjU0OTcgMTM3LjEyIDc3LjU5OTdDMTM0LjUgNzcuNjM5NyAxMzEuOSA3Ni4zNzk3IDEyOS4zMiA3My44Mjk3TDk4LjMxOTkgNDMuMTI5N0M5NC43OTk5IDM5LjYzOTcgOTEuMzk5OSAzNy4xNjk3IDg4LjEyOTkgMzUuNzE5N0M4NC44NTk5IDM0LjI2OTcgODEuNDE5OSAzNC4wMzk3IDc3LjgxOTkgMzUuMDM5N0M3NC4yMDk5IDM2LjAyOTcgNzAuMzM5OSAzOC41Nzk3IDY2LjE4OTkgNDIuNjc5N0M2MC40Njk5IDQ4LjM0OTcgNTcuNzM5OSA1My42Njk3IDU4LjAxOTkgNTguNjM5N0M1OC4yOTk5IDYzLjYwOTcgNjEuMTM5OSA2OC43Njk3IDY2LjUyOTkgNzQuMDk5N0w5Ny43Nzk5IDEwNS4wNkMxMDAuMzkgMTA3LjY0IDEwMS42NyAxMTAuMjIgMTAxLjYzIDExMi43OEMxMDEuNTkgMTE1LjM1IDEwMC40NyAxMTcuNzIgOTguMjU5OSAxMTkuOTFDOTYuMDU5OSAxMjIuMDkgOTMuNjI5OSAxMjMuMjMgOTAuOTg5OSAxMjMuMzJDODguMzQ5OSAxMjMuNDEgODUuNzE5OSAxMjIuMTYgODMuMTE5OSAxMTkuNThMNTIuODA5OSA4OS41NTk3QzQ3Ljg3OTkgODQuNjc5NyA0NC4zMTk5IDgwLjA1OTcgNDIuMTI5OSA3NS42OTk3QzM5LjkzOTkgNzEuMzM5NyAzOS4xMTk5IDY2LjQwOTcgMzkuNjg5OSA2MC45MDk3QzQwLjE5OTkgNTYuMTk5NyA0MS43MDk5IDUxLjYzOTcgNDQuMjI5OSA0Ny4yMTk3QzQ2LjczOTkgNDIuNzk5NyA1MC4zMzk5IDM4LjI3OTcgNTUuMDA5OSAzMy42NDk3QzYwLjU2OTkgMjguMTM5NyA2NS44Nzk5IDIzLjkxOTcgNzAuOTM5OSAyMC45Nzk3Qzc1Ljk4OTkgMTguMDM5NyA4MC44Nzk5IDE2LjQwOTcgODUuNTk5OSAxNi4wNjk3QzkwLjMyOTkgMTUuNzI5NyA5NC45ODk5IDE2LjY2OTcgOTkuNTk5OSAxOC44ODk3QzEwNC4yMSAyMS4xMDk3IDEwOC44OSAyNC41Njk3IDExMy42NSAyOS4yODk3SDExMy42NloiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xMDA1MF80MTcxKSIvPgo8cGF0aCBkPSJNNjYuMTA5OSAxNTAuNDJMMzUuODA5OSAxMjAuNEMzMy4yMjk5IDExNy44NCAzMS45NTk5IDExNS4yNyAzMS45OTk5IDExMi42N0MzMi4wMzk5IDExMC4wNyAzMy4xNDk5IDEwNy43IDM1LjMxOTkgMTA1LjU1QzM3LjU4OTkgMTAzLjMgNDAuMDM5OSAxMDIuMTYgNDIuNjU5OSAxMDIuMTFDNDUuMjc5OSAxMDIuMDcgNDcuODc5OSAxMDMuMzIgNTAuNDU5OSAxMDUuODhMODEuNDQ5OSAxMzYuNThDODQuOTc5OSAxNDAuMDcgODguMzY5OSAxNDIuNTQgOTEuNjM5OSAxNDMuOTlDOTQuOTA5OSAxNDUuNDQgOTguMzQ5OSAxNDUuNjYgMTAxLjk2IDE0NC42N0MxMDUuNTcgMTQzLjY4IDEwOS40NCAxNDEuMTMgMTEzLjU5IDEzNy4wMkMxMTkuMzEgMTMxLjM1IDEyMi4wNCAxMjYuMDMgMTIxLjc2IDEyMS4wNkMxMjEuNDggMTE2LjA5IDExOC42NCAxMTAuOTMgMTEzLjI1IDEwNS41OUw5Ni41OTk5IDg5LjI0MDFDOTMuOTg5OSA4Ni42NjAxIDkyLjcwOTkgODQuMDgwMSA5Mi43NDk5IDgxLjUyMDFDOTIuNzg5OSA3OC45NTAxIDkzLjkwOTkgNzYuNTgwMSA5Ni4xMTk5IDc0LjM5MDFDOTguMzE5OSA3Mi4yMTAxIDEwMC43NSA3MS4wNzAxIDEwMy4zOSA3MC45ODAxQzEwNi4wMyA3MC44OTAxIDEwOC42NiA3Mi4xNDAxIDExMS4yNiA3NC43MjAxTDEyNi45NiA5MC4xMzAxQzEzMS44OSA5NS4wMTAxIDEzNS40NSA5OS42MzAxIDEzNy42NCAxMDMuOTlDMTM5LjgzIDEwOC4zNSAxNDAuNjUgMTEzLjI4IDE0MC4wOCAxMTguNzhDMTM5LjU3IDEyMy40OSAxMzguMDYgMTI4LjA1IDEzNS41NCAxMzIuNDdDMTMzLjAzIDEzNi44OSAxMjkuNDMgMTQxLjQxIDEyNC43NiAxNDYuMDRDMTE5LjIgMTUxLjU1IDExMy44OSAxNTUuNzcgMTA4LjgzIDE1OC43MUMxMDMuNzcgMTYxLjY1IDk4Ljg3OTkgMTYzLjI5IDk0LjE0OTkgMTYzLjYzQzg5LjQxOTkgMTYzLjk3IDg0Ljc1OTkgMTYzLjAzIDgwLjE0OTkgMTYwLjgxQzc1LjUzOTkgMTU4LjU5IDcwLjg1OTkgMTU1LjEzIDY2LjA5OTkgMTUwLjQxTDY2LjEwOTkgMTUwLjQyWiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzEwMDUwXzQxNzEpIi8+CjxwYXRoIGQ9Ik04NS4wMDk5IDcyLjk1OTJDOTEuMTU2OCA3Mi45NTkyIDk2LjEzOTkgNjcuOTc2MSA5Ni4xMzk5IDYxLjgyOTJDOTYuMTM5OSA1NS42ODIzIDkxLjE1NjggNTAuNjk5MiA4NS4wMDk5IDUwLjY5OTJDNzguODYzIDUwLjY5OTIgNzMuODc5OSA1NS42ODIzIDczLjg3OTkgNjEuODI5MkM3My44Nzk5IDY3Ljk3NjEgNzguODYzIDcyLjk1OTIgODUuMDA5OSA3Mi45NTkyWiIgZmlsbD0idXJsKCNwYWludDJfcmFkaWFsXzEwMDUwXzQxNzEpIi8+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xMDA1MF80MTcxIiB4MT0iMTM4Ljk4NSIgeTE9IjQ2Ljc3OTUiIHgyPSI0NS4wNTI5IiB5Mj0iODguNTIzMyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMjAxQzFCIi8+CjxzdG9wIG9mZnNldD0iMC4zNiIgc3RvcC1jb2xvcj0iIzc3MzkwRCIvPgo8c3RvcCBvZmZzZXQ9IjAuNjciIHN0b3AtY29sb3I9IiNFQTgxMDEiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRjRCODUyIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhcl8xMDA1MF80MTcxIiB4MT0iNDMuMzgxMiIgeTE9IjEzNC4xNjciIHgyPSIxNTIuMjMxIiB5Mj0iMTAxLjc3MSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjMUYxRDFDIi8+CjxzdG9wIG9mZnNldD0iMC4zNyIgc3RvcC1jb2xvcj0iIzc3MzkwRCIvPgo8c3RvcCBvZmZzZXQ9IjAuNjciIHN0b3AtY29sb3I9IiNFQTgxMDEiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRjRGQjUyIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQyX3JhZGlhbF8xMDA1MF80MTcxIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDg1LjAwOTkgNjEuODM5Mikgc2NhbGUoMTEuMTMpIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0Y0Qjg1MiIvPgo8c3RvcCBvZmZzZXQ9IjAuMzMiIHN0b3AtY29sb3I9IiNFQTgxMDEiLz4KPHN0b3Agb2Zmc2V0PSIwLjY0IiBzdG9wLWNvbG9yPSIjNzczOTBEIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzIxMUMxRCIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEwMDUwXzQxNzEiPgo8cmVjdCB3aWR0aD0iMTE1Ljc3IiBoZWlnaHQ9IjE0Ny43IiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIgMTYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="
2979
- }
2980
- };
2981
- var defaultAdapters = {
2982
- [DefaultAdaptersInfo.fordefi.id]: FordefiAdapter,
2983
- [DefaultAdaptersInfo.xverse.id]: XverseAdapter,
2984
- [DefaultAdaptersInfo.unisat.id]: UnisatAdapter
2985
- };
2986
-
2987
- // src/capabilities/index.ts
2988
- var import_jsontokens2 = require("jsontokens");
2989
- var extractOrValidateCapabilities = (provider, reportedCapabilities) => {
2990
- const validateCapability = (capability) => {
2991
- if (!provider[capability]) {
2992
- return false;
2993
- }
2994
- if (reportedCapabilities && !reportedCapabilities.has(capability)) {
2995
- return false;
2996
- }
2997
- return true;
2998
- };
2999
- const capabilityMap = {
3000
- request: validateCapability("request"),
3001
- connect: validateCapability("connect"),
3002
- signMessage: validateCapability("signMessage"),
3003
- signTransaction: validateCapability("signTransaction"),
3004
- sendBtcTransaction: validateCapability("sendBtcTransaction"),
3005
- createInscription: validateCapability("createInscription"),
3006
- createRepeatInscriptions: validateCapability("createRepeatInscriptions"),
3007
- signMultipleTransactions: validateCapability("signMultipleTransactions"),
3008
- addListener: validateCapability("addListener")
3009
- };
3010
- return Object.entries(capabilityMap).reduce((acc, [capability, value]) => {
3011
- if (value) return [...acc, capability];
3012
- return acc;
3013
- }, []);
3014
- };
3015
- var getCapabilities = async (options) => {
3016
- const provider = await getProviderOrThrow(options.getProvider);
3017
- const request2 = (0, import_jsontokens2.createUnsecuredToken)(options.payload);
3018
- if (provider.getCapabilities) {
3019
- try {
3020
- const response = await provider.getCapabilities(request2);
3021
- options.onFinish?.(extractOrValidateCapabilities(provider, new Set(response)));
3022
- } catch (error) {
3023
- console.error("[Connect] Error during capabilities request", error);
3024
- }
3025
- }
3026
- try {
3027
- const inferredCapabilities = extractOrValidateCapabilities(provider);
3028
- options.onFinish?.(inferredCapabilities);
3029
- } catch (error) {
3030
- console.error("[Connect] Error during capabilities request", error);
3031
- options.onCancel?.();
3032
- }
3033
- };
3034
-
3035
- // src/inscriptions/createInscription.ts
3036
- var import_jsontokens3 = require("jsontokens");
3037
-
3038
- // src/inscriptions/utils.ts
3039
- var MAX_CONTENT_LENGTH_MAINNET = 4e5;
3040
- var MAX_CONTENT_LENGTH_TESTNET = 6e4;
3041
- var validateInscriptionPayload = (payload) => {
3042
- const { contentType, content, payloadType, network, appFeeAddress, appFee } = payload;
3043
- if (!/^[a-z]+\/[a-z0-9\-\.\+]+(?=;.*|$)/.test(contentType)) {
3044
- throw new Error("Invalid content type detected");
3045
- }
3046
- if (!content || content.length === 0) {
3047
- throw new Error("Empty content not allowed");
3048
- }
3049
- if (!payloadType || payloadType !== "BASE_64" && payloadType !== "PLAIN_TEXT") {
3050
- throw new Error("Empty invalid payloadType specified");
3051
- }
3052
- if (content.length > (network.type === "Mainnet" ? MAX_CONTENT_LENGTH_MAINNET : MAX_CONTENT_LENGTH_TESTNET)) {
3053
- throw new Error("Content too large");
3054
- }
3055
- if ((appFeeAddress?.length ?? 0) > 0 && (appFee ?? 0) <= 0) {
3056
- throw new Error("Invalid combination of app fee address and fee provided");
3057
- }
3058
- };
3059
-
3060
- // src/inscriptions/createInscription.ts
3061
- var createInscription = async (options) => {
3062
- const { getProvider } = options;
3063
- const provider = await getProviderOrThrow(getProvider);
3064
- validateInscriptionPayload(options.payload);
3065
- try {
3066
- const request2 = (0, import_jsontokens3.createUnsecuredToken)(options.payload);
3067
- const response = await provider.createInscription(request2);
3068
- options.onFinish?.(response);
3069
- } catch (error) {
3070
- console.error("[Connect] Error during create inscription", error);
3071
- options.onCancel?.();
3072
- }
3073
- };
3074
-
3075
- // src/inscriptions/createRepeatInscriptions.ts
3076
- var import_jsontokens4 = require("jsontokens");
3077
- var createRepeatInscriptions = async (options) => {
3078
- const { getProvider } = options;
3079
- const provider = await getProviderOrThrow(getProvider);
3080
- validateInscriptionPayload(options.payload);
3081
- try {
3082
- const request2 = (0, import_jsontokens4.createUnsecuredToken)(options.payload);
3083
- const response = await provider.createRepeatInscriptions(request2);
3084
- options.onFinish?.(response);
3085
- } catch (error) {
3086
- console.error("[Connect] Error during create repeat inscriptions", error);
3087
- options.onCancel?.();
3088
- }
3089
- };
3090
-
3091
- // src/messages/index.ts
3092
- var import_jsontokens5 = require("jsontokens");
3093
- var signMessage = async (options) => {
3094
- const provider = await getProviderOrThrow(options.getProvider);
3095
- const { address, message } = options.payload;
3096
- if (!address) {
3097
- throw new Error("An address is required to sign a message");
3098
- }
3099
- if (!message) {
3100
- throw new Error("A message to be signed is required");
3101
- }
3102
- try {
3103
- const request2 = (0, import_jsontokens5.createUnsecuredToken)(options.payload);
3104
- const response = await provider.signMessage(request2);
3105
- options.onFinish?.(response);
3106
- } catch (error) {
3107
- console.error("[Connect] Error during sign message request", error);
3108
- options.onCancel?.();
3109
- }
3110
- };
3111
-
3112
- // src/transactions/sendBtcTransaction.ts
3113
- var import_jsontokens6 = require("jsontokens");
3114
- var serializer = (recipient) => {
3115
- return recipient.map((value) => {
3116
- const { address, amountSats } = value;
3117
- return {
3118
- address,
3119
- amountSats: amountSats.toString()
3120
- };
3121
- });
3122
- };
3123
- var sendBtcTransaction = async (options) => {
3124
- const provider = await getProviderOrThrow(options.getProvider);
3125
- const { recipients, senderAddress, network, message } = options.payload;
3126
- if (!recipients || recipients.length === 0) {
3127
- throw new Error("At least one recipient is required");
3128
- }
3129
- if (recipients.some(
3130
- (item) => typeof item.address !== "string" || typeof item.amountSats !== "bigint"
3131
- )) {
3132
- throw new Error("Incorrect recipient format");
3133
- }
3134
- if (!senderAddress) {
3135
- throw new Error("The sender address is required");
3136
- }
3137
- try {
3138
- const serializedRecipients = serializer(recipients);
3139
- const serializedPayload = {
3140
- network,
3141
- senderAddress,
3142
- message,
3143
- recipients: serializedRecipients
3144
- };
3145
- const request2 = (0, import_jsontokens6.createUnsecuredToken)(serializedPayload);
3146
- const response = await provider.sendBtcTransaction(request2);
3147
- options.onFinish?.(response);
3148
- } catch (error) {
3149
- console.error("[Connect] Error during send BTC transaction request", error);
3150
- options.onCancel?.();
3151
- }
3152
- };
3153
-
3154
- // src/transactions/signTransaction.ts
3155
- var import_jsontokens7 = require("jsontokens");
3156
- var signTransaction = async (options) => {
3157
- const provider = await getProviderOrThrow(options.getProvider);
3158
- const { psbtBase64, inputsToSign } = options.payload;
3159
- if (!psbtBase64) {
3160
- throw new Error("A value for psbtBase64 representing the tx hash is required");
3161
- }
3162
- if (!inputsToSign) {
3163
- throw new Error("An array specifying the inputs to be signed by the wallet is required");
3164
- }
3165
- try {
3166
- const request2 = (0, import_jsontokens7.createUnsecuredToken)(options.payload);
3167
- const response = await provider.signTransaction(request2);
3168
- options.onFinish?.(response);
3169
- } catch (error) {
3170
- console.error("[Connect] Error during sign transaction request", error);
3171
- options.onCancel?.();
3172
- }
3173
- };
3174
-
3175
- // src/transactions/signMultipleTransactions.ts
3176
- var import_jsontokens8 = require("jsontokens");
3177
- var signMultipleTransactions = async (options) => {
3178
- const provider = await getProviderOrThrow(options.getProvider);
3179
- const { psbts } = options.payload;
3180
- if (!psbts || !psbts.length) {
3181
- throw new Error("psbts array is required");
3182
- }
3183
- if (psbts.length > 100) {
3184
- throw new Error("psbts array must contain less than 100 psbts");
3185
- }
3186
- try {
3187
- const request2 = (0, import_jsontokens8.createUnsecuredToken)(options.payload);
3188
- const response = await provider.signMultipleTransactions(request2);
3189
- options.onFinish?.(response);
3190
- } catch (error) {
3191
- console.error("[Connect] Error during sign Multiple transactions request", error);
3192
- options.onCancel?.();
3193
- }
3194
- };
3195
- // Annotate the CommonJS export names for ESM import in node:
3196
- 0 && (module.exports = {
3197
- AddressPurpose,
3198
- AddressType,
3199
- BaseAdapter,
3200
- BitcoinNetworkType,
3201
- DefaultAdaptersInfo,
3202
- MessageSigningProtocols,
3203
- PermissionRequestParams,
3204
- ProviderPlatform,
3205
- RpcErrorCode,
3206
- RpcIdSchema,
3207
- SatsConnectAdapter,
3208
- SparkNetworkType,
3209
- StacksNetworkType,
3210
- StarknetNetworkType,
3211
- accountActionsSchema,
3212
- accountChangeEventName,
3213
- accountChangeSchema,
3214
- accountPermissionSchema,
3215
- addListener,
3216
- addNetworkMethodName,
3217
- addNetworkParamsSchema,
3218
- addNetworkRequestMessageSchema,
3219
- addNetworkResultSchema,
3220
- addressSchema,
3221
- changeNetworkByIdMethodName,
3222
- changeNetworkByIdParamsSchema,
3223
- changeNetworkByIdRequestMessageSchema,
3224
- changeNetworkByIdResultSchema,
3225
- changeNetworkMethodName,
3226
- changeNetworkParamsSchema,
3227
- changeNetworkRequestMessageSchema,
3228
- changeNetworkResultSchema,
3229
- connectMethodName,
3230
- connectParamsSchema,
3231
- connectRequestMessageSchema,
3232
- connectResultSchema,
3233
- createInscription,
3234
- createRepeatInscriptions,
3235
- defaultAdapters,
3236
- disconnectEventName,
3237
- disconnectMethodName,
3238
- disconnectParamsSchema,
3239
- disconnectRequestMessageSchema,
3240
- disconnectResultSchema,
3241
- disconnectSchema,
3242
- getAccountMethodName,
3243
- getAccountParamsSchema,
3244
- getAccountRequestMessageSchema,
3245
- getAccountResultSchema,
3246
- getAccountsMethodName,
3247
- getAccountsParamsSchema,
3248
- getAccountsRequestMessageSchema,
3249
- getAccountsResultSchema,
3250
- getAddress,
3251
- getAddressesMethodName,
3252
- getAddressesParamsSchema,
3253
- getAddressesRequestMessageSchema,
3254
- getAddressesResultSchema,
3255
- getBalanceMethodName,
3256
- getBalanceParamsSchema,
3257
- getBalanceRequestMessageSchema,
3258
- getBalanceResultSchema,
3259
- getCapabilities,
3260
- getCurrentPermissionsMethodName,
3261
- getCurrentPermissionsParamsSchema,
3262
- getCurrentPermissionsRequestMessageSchema,
3263
- getCurrentPermissionsResultSchema,
3264
- getDefaultProvider,
3265
- getInfoMethodName,
3266
- getInfoParamsSchema,
3267
- getInfoRequestMessageSchema,
3268
- getInfoResultSchema,
3269
- getInscriptionsMethodName,
3270
- getInscriptionsParamsSchema,
3271
- getInscriptionsRequestMessageSchema,
3272
- getInscriptionsResultSchema,
3273
- getNetworkMethodName,
3274
- getNetworkParamsSchema,
3275
- getNetworkRequestMessageSchema,
3276
- getNetworkResultSchema,
3277
- getProviderById,
3278
- getProviderOrThrow,
3279
- getProviders,
3280
- getSupportedWallets,
3281
- getWalletTypeMethodName,
3282
- getWalletTypeParamsSchema,
3283
- getWalletTypeRequestMessageSchema,
3284
- getWalletTypeResultSchema,
3285
- isProviderInstalled,
3286
- networkChangeEventName,
3287
- networkChangeSchema,
3288
- openBridgeMethodName,
3289
- openBridgeParamsSchema,
3290
- openBridgeRequestMessageSchema,
3291
- openBridgeResultSchema,
3292
- openBuyMethodName,
3293
- openBuyParamsSchema,
3294
- openBuyRequestMessageSchema,
3295
- openBuyResultSchema,
3296
- openReceiveMethodName,
3297
- openReceiveParamsSchema,
3298
- openReceiveRequestMessageSchema,
3299
- openReceiveResultSchema,
3300
- permission,
3301
- removeDefaultProvider,
3302
- renouncePermissionsMethodName,
3303
- renouncePermissionsParamsSchema,
3304
- renouncePermissionsRequestMessageSchema,
3305
- renouncePermissionsResultSchema,
3306
- request,
3307
- requestPermissionsMethodName,
3308
- requestPermissionsParamsSchema,
3309
- requestPermissionsRequestMessageSchema,
3310
- requestPermissionsResultSchema,
3311
- rpcErrorResponseMessageSchema,
3312
- rpcRequestMessageSchema,
3313
- rpcResponseMessageSchema,
3314
- rpcSuccessResponseMessageSchema,
3315
- runesEtchMethodName,
3316
- runesEtchParamsSchema,
3317
- runesEtchRequestMessageSchema,
3318
- runesEtchResultSchema,
3319
- runesGetBalanceMethodName,
3320
- runesGetBalanceParamsSchema,
3321
- runesGetBalanceRequestMessageSchema,
3322
- runesGetBalanceResultSchema,
3323
- runesMintMethodName,
3324
- runesMintParamsSchema,
3325
- runesMintRequestMessageSchema,
3326
- runesMintResultSchema,
3327
- runesTransferMethodName,
3328
- runesTransferParamsSchema,
3329
- runesTransferRequestMessageSchema,
3330
- runesTransferResultSchema,
3331
- sendBtcTransaction,
3332
- sendInscriptionsMethodName,
3333
- sendInscriptionsParamsSchema,
3334
- sendInscriptionsRequestMessageSchema,
3335
- sendInscriptionsResultSchema,
3336
- sendTransferMethodName,
3337
- sendTransferParamsSchema,
3338
- sendTransferRequestMessageSchema,
3339
- sendTransferResultSchema,
3340
- setDefaultProvider,
3341
- signMessage,
3342
- signMessageMethodName,
3343
- signMessageParamsSchema,
3344
- signMessageRequestMessageSchema,
3345
- signMessageResultSchema,
3346
- signMultipleMessagesMethodName,
3347
- signMultipleMessagesParamsSchema,
3348
- signMultipleMessagesRequestMessageSchema,
3349
- signMultipleMessagesResultSchema,
3350
- signMultipleTransactions,
3351
- signPsbtMethodName,
3352
- signPsbtParamsSchema,
3353
- signPsbtRequestMessageSchema,
3354
- signPsbtResultSchema,
3355
- signTransaction,
3356
- sparkFlashnetAddLiquidityIntentSchema,
3357
- sparkFlashnetClawbackFundsMethodName,
3358
- sparkFlashnetClawbackFundsParamsSchema,
3359
- sparkFlashnetClawbackFundsRequestMessageSchema,
3360
- sparkFlashnetClawbackFundsResultSchema,
3361
- sparkFlashnetClawbackIntentSchema,
3362
- sparkFlashnetConfirmInitialDepositIntentSchema,
3363
- sparkFlashnetCreateConstantProductPoolIntentSchema,
3364
- sparkFlashnetCreateSingleSidedPoolIntentSchema,
3365
- sparkFlashnetExecuteRouteSwapMethodName,
3366
- sparkFlashnetExecuteRouteSwapParamsSchema,
3367
- sparkFlashnetExecuteRouteSwapRequestMessageSchema,
3368
- sparkFlashnetExecuteRouteSwapResultSchema,
3369
- sparkFlashnetExecuteSwapMethodName,
3370
- sparkFlashnetExecuteSwapParamsSchema,
3371
- sparkFlashnetExecuteSwapRequestMessageSchema,
3372
- sparkFlashnetExecuteSwapResultSchema,
3373
- sparkFlashnetGetJwtMethodName,
3374
- sparkFlashnetGetJwtParamsSchema,
3375
- sparkFlashnetGetJwtRequestMessageSchema,
3376
- sparkFlashnetGetJwtResultSchema,
3377
- sparkFlashnetRemoveLiquidityIntentSchema,
3378
- sparkFlashnetRouteSwapIntentSchema,
3379
- sparkFlashnetSignIntentMethodName,
3380
- sparkFlashnetSignIntentParamsSchema,
3381
- sparkFlashnetSignIntentRequestMessageSchema,
3382
- sparkFlashnetSignIntentResultSchema,
3383
- sparkFlashnetSignStructuredMessageMethodName,
3384
- sparkFlashnetSignStructuredMessageParamsSchema,
3385
- sparkFlashnetSignStructuredMessageRequestMessageSchema,
3386
- sparkFlashnetSignStructuredMessageResultSchema,
3387
- sparkFlashnetSwapIntentSchema,
3388
- sparkGetAddressesMethodName,
3389
- sparkGetAddressesParamsSchema,
3390
- sparkGetAddressesRequestMessageSchema,
3391
- sparkGetAddressesResultSchema,
3392
- sparkGetBalanceMethodName,
3393
- sparkGetBalanceParamsSchema,
3394
- sparkGetBalanceRequestMessageSchema,
3395
- sparkGetBalanceResultSchema,
3396
- sparkGetClawbackEligibleTransfersMethodName,
3397
- sparkGetClawbackEligibleTransfersParamsSchema,
3398
- sparkGetClawbackEligibleTransfersRequestMessageSchema,
3399
- sparkGetClawbackEligibleTransfersResultSchema,
3400
- sparkSignMessageMethodName,
3401
- sparkSignMessageParamsSchema,
3402
- sparkSignMessageRequestMessageSchema,
3403
- sparkSignMessageResultSchema,
3404
- sparkTransferMethodName,
3405
- sparkTransferParamsSchema,
3406
- sparkTransferRequestMessageSchema,
3407
- sparkTransferResultSchema,
3408
- sparkTransferTokenMethodName,
3409
- sparkTransferTokenParamsSchema,
3410
- sparkTransferTokenRequestMessageSchema,
3411
- sparkTransferTokenResultSchema,
3412
- stxCallContractMethodName,
3413
- stxCallContractParamsSchema,
3414
- stxCallContractRequestMessageSchema,
3415
- stxCallContractResultSchema,
3416
- stxDeployContractMethodName,
3417
- stxDeployContractParamsSchema,
3418
- stxDeployContractRequestMessageSchema,
3419
- stxDeployContractResultSchema,
3420
- stxGetAccountsMethodName,
3421
- stxGetAccountsParamsSchema,
3422
- stxGetAccountsRequestMessageSchema,
3423
- stxGetAccountsResultSchema,
3424
- stxGetAddressesMethodName,
3425
- stxGetAddressesParamsSchema,
3426
- stxGetAddressesRequestMessageSchema,
3427
- stxGetAddressesResultSchema,
3428
- stxSignMessageMethodName,
3429
- stxSignMessageParamsSchema,
3430
- stxSignMessageRequestMessageSchema,
3431
- stxSignMessageResultSchema,
3432
- stxSignStructuredMessageMethodName,
3433
- stxSignStructuredMessageParamsSchema,
3434
- stxSignStructuredMessageRequestMessageSchema,
3435
- stxSignStructuredMessageResultSchema,
3436
- stxSignTransactionMethodName,
3437
- stxSignTransactionParamsSchema,
3438
- stxSignTransactionRequestMessageSchema,
3439
- stxSignTransactionResultSchema,
3440
- stxSignTransactionsMethodName,
3441
- stxSignTransactionsParamsSchema,
3442
- stxSignTransactionsRequestMessageSchema,
3443
- stxSignTransactionsResultSchema,
3444
- stxTransferStxMethodName,
3445
- stxTransferStxParamsSchema,
3446
- stxTransferStxRequestMessageSchema,
3447
- stxTransferStxResultSchema,
3448
- walletActionsSchema,
3449
- walletEventSchema,
3450
- walletPermissionSchema,
3451
- walletTypeSchema,
3452
- walletTypes
3453
- });