@sats-connect/core 0.9.0 → 0.10.0-833738d

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