@omnisat/lasereyes 0.0.3 → 0.0.5

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 CHANGED
@@ -59,6 +59,7 @@ var LEATHER_MAINNET = "mainnet";
59
59
  var LEATHER_TESTNET = "testnet";
60
60
  var MAINNET = "mainnet";
61
61
  var TESTNET = "testnet";
62
+ var REGTEST = "regtest";
62
63
  var getXverseNetwork = (network) => {
63
64
  if (network === MAINNET)
64
65
  return XVERSE_MAINNET;
@@ -150,16 +151,40 @@ import {
150
151
  useRef,
151
152
  useState
152
153
  } from "react";
153
- import * as bitcoin from "bitcoinjs-lib";
154
+ import * as bitcoin2 from "bitcoinjs-lib";
154
155
  import { getAddress, signTransaction } from "sats-connect";
155
156
 
156
157
  // src/consts/settings.ts
157
158
  var LOCAL_STORAGE_DEFAULT_WALLET = "defaultWallet";
158
- var NETWORK = TESTNET;
159
+ var NETWORK = MAINNET;
159
160
 
160
161
  // src/providers/LaserEyesProvider.tsx
161
162
  import { fromOutputScript } from "bitcoinjs-lib/src/address";
162
163
  import { useLocalStorage } from "usehooks-ts";
164
+
165
+ // src/lib/helpers.ts
166
+ import * as bitcoin from "bitcoinjs-lib";
167
+ var getBitcoinNetwork = (network) => {
168
+ if (network === "testnet") {
169
+ return bitcoin.networks.testnet;
170
+ } else if (network === "regtest") {
171
+ return bitcoin.networks.regtest;
172
+ } else {
173
+ return bitcoin.networks.bitcoin;
174
+ }
175
+ };
176
+ var findOrdinalsAddress = (addresses) => {
177
+ return addresses.find(
178
+ ({ purpose }) => purpose === "ordinals"
179
+ );
180
+ };
181
+ var findPaymentAddress = (addresses) => {
182
+ return addresses.find(
183
+ ({ purpose }) => purpose === "payment"
184
+ );
185
+ };
186
+
187
+ // src/providers/LaserEyesProvider.tsx
163
188
  import { jsx } from "react/jsx-runtime";
164
189
  var initialWalletContext = {
165
190
  hasOyl: false,
@@ -169,29 +194,18 @@ var initialWalletContext = {
169
194
  connected: false,
170
195
  isConnecting: false,
171
196
  publicKey: "",
172
- // Empty string as the public key is unknown
173
197
  address: "",
174
- // Empty string as the address is unknown
175
198
  paymentAddress: "",
176
- // Empty string as the address is unknown
177
199
  paymentPublicKey: "",
178
200
  balance: {
179
201
  confirmed: 0,
180
- // Initial confirmed balance is zero
181
202
  unconfirmed: 0,
182
- // Initial unconfirmed balance is zero
183
203
  total: 0
184
- // Initial total balance is zero
185
204
  },
186
- network: "",
187
- // Empty string as the network is unknown
205
+ network: MAINNET,
188
206
  library: null,
189
- // Initial library is null, assuming it will be an object once initialized
190
207
  provider: null,
191
- // Initial provider is null, assuming it will be an object once initialized
192
208
  accounts: [],
193
- // Initially, there are no accounts
194
- // Placeholder functions for wallet operations. These should be replaced with actual implementations.
195
209
  connect: (walletName) => __async(void 0, null, function* () {
196
210
  }),
197
211
  disconnect: () => {
@@ -200,10 +214,9 @@ var initialWalletContext = {
200
214
  return [];
201
215
  }),
202
216
  getNetwork: () => __async(void 0, null, function* () {
203
- return "";
217
+ return MAINNET;
204
218
  }),
205
219
  switchNetwork: (network) => __async(void 0, null, function* () {
206
- return "";
207
220
  }),
208
221
  getPublicKey: () => __async(void 0, null, function* () {
209
222
  return "";
@@ -211,35 +224,32 @@ var initialWalletContext = {
211
224
  getBalance: () => __async(void 0, null, function* () {
212
225
  return "";
213
226
  }),
214
- getInscriptions: () => __async(void 0, null, function* () {
215
- }),
216
- getAllBRC20Tokens: () => __async(void 0, null, function* () {
217
- }),
218
227
  sendBTC: (to, amount) => __async(void 0, null, function* () {
219
228
  return "";
220
229
  }),
221
- payInscribe: () => __async(void 0, null, function* () {
222
- }),
223
- deploy: () => __async(void 0, null, function* () {
224
- }),
225
- mint: () => __async(void 0, null, function* () {
226
- }),
227
230
  signMessage: (message) => __async(void 0, null, function* () {
228
231
  return "";
229
232
  }),
230
233
  signPsbt: (tx) => __async(void 0, null, function* () {
231
- return "";
234
+ return {
235
+ signedPsbtHex: "",
236
+ signedPsbtBase64: "",
237
+ txId: ""
238
+ };
232
239
  }),
233
240
  pushPsbt: (tx) => __async(void 0, null, function* () {
234
241
  return "";
235
242
  })
236
- // signPsbts: async () => { /* Implementation */ },
237
243
  };
238
244
  var LaserEyesContext = createContext(initialWalletContext);
239
245
  var useLaserEyes = () => {
240
246
  return useContext(LaserEyesContext);
241
247
  };
242
- var LaserEyesProvider = ({ children }) => {
248
+ var LaserEyesProvider = ({
249
+ children,
250
+ config
251
+ }) => {
252
+ var _a;
243
253
  const [connected, setConnected] = useState(false);
244
254
  const [isConnecting, setIsConnecting] = useState(false);
245
255
  const [accounts, setAccounts] = useState([]);
@@ -252,13 +262,20 @@ var LaserEyesProvider = ({ children }) => {
252
262
  unconfirmed: 0,
253
263
  total: 0
254
264
  });
255
- const [network, setNetwork] = useLocalStorage("network", NETWORK);
265
+ const [network, setNetwork] = useLocalStorage("network", (_a = config.network) != null ? _a : NETWORK);
256
266
  const [library, setLibrary] = useState(null);
257
267
  const [provider, setProvider] = useState("");
258
268
  const [hasOyl, setHasOyl] = useState(false);
259
269
  const [hasUnisat, setHasUnisat] = useState(false);
260
270
  const [hasXverse, setHasXverse] = useState(false);
261
271
  const [hasLeather, setHasLeather] = useState(false);
272
+ useEffect(() => {
273
+ if (config) {
274
+ setNetwork(config.network);
275
+ } else {
276
+ setNetwork(MAINNET);
277
+ }
278
+ }, [config]);
262
279
  useEffect(() => {
263
280
  const oylLib = window == null ? void 0 : window.oyl;
264
281
  setHasOyl(!!oylLib);
@@ -268,8 +285,8 @@ var LaserEyesProvider = ({ children }) => {
268
285
  setHasUnisat(!!unisatLib);
269
286
  }, []);
270
287
  useEffect(() => {
271
- var _a;
272
- const xverseLib = (_a = window == null ? void 0 : window.XverseProviders) == null ? void 0 : _a.BitcoinProvider;
288
+ var _a2;
289
+ const xverseLib = (_a2 = window == null ? void 0 : window.XverseProviders) == null ? void 0 : _a2.BitcoinProvider;
273
290
  setHasXverse(!!xverseLib);
274
291
  }, []);
275
292
  useEffect(() => {
@@ -293,7 +310,7 @@ var LaserEyesProvider = ({ children }) => {
293
310
  handleAccountsChanged(result);
294
311
  setConnected(true);
295
312
  } catch (error) {
296
- new Error("Can't lasereyes to wallet");
313
+ throw new Error(`Can't lasereyes to ${OYL} wallet`);
297
314
  }
298
315
  });
299
316
  const connectUnisat = () => __async(void 0, null, function* () {
@@ -313,7 +330,7 @@ var LaserEyesProvider = ({ children }) => {
313
330
  setNetwork(foundNetwork);
314
331
  });
315
332
  } catch (error) {
316
- new Error("Can't lasereyes to wallet");
333
+ throw new Error(`Can't lasereyes to ${UNISAT} wallet`);
317
334
  }
318
335
  });
319
336
  const connectXverse = () => __async(void 0, null, function* () {
@@ -344,7 +361,7 @@ var LaserEyesProvider = ({ children }) => {
344
361
  yield getAddress(getAddressOptions);
345
362
  setConnected(true);
346
363
  } catch (error) {
347
- new Error(`Can't lasereyes to ${XVERSE} wallet`);
364
+ throw new Error(`Can't lasereyes to ${XVERSE} wallet`);
348
365
  }
349
366
  });
350
367
  const connectLeather = () => __async(void 0, null, function* () {
@@ -381,7 +398,7 @@ var LaserEyesProvider = ({ children }) => {
381
398
  });
382
399
  setConnected(true);
383
400
  } catch (error) {
384
- new Error(`Can't lasereyes to ${LEATHER} wallet`);
401
+ throw new Error(`Can't lasereyes to ${LEATHER} wallet`);
385
402
  }
386
403
  });
387
404
  const handleAccountsChanged = (_accounts) => {
@@ -435,12 +452,12 @@ var LaserEyesProvider = ({ children }) => {
435
452
  }
436
453
  });
437
454
  const handleNetworkChanged = (network2) => {
438
- let foundNetwork = "";
455
+ let foundNetwork = MAINNET;
439
456
  if (provider === UNISAT) {
440
457
  foundNetwork = getNetworkForUnisat(network2);
441
458
  }
442
459
  if (provider === XVERSE) {
443
- foundNetwork = getXverseNetwork(network2);
460
+ foundNetwork = getNetworkForXverse(network2);
444
461
  }
445
462
  if (provider === LEATHER) {
446
463
  foundNetwork = getLeatherNetwork(network2);
@@ -448,21 +465,12 @@ var LaserEyesProvider = ({ children }) => {
448
465
  setNetwork(foundNetwork);
449
466
  getBasicInfo();
450
467
  };
451
- const findOrdinalsAddress = (addresses) => {
452
- return addresses.find(
453
- ({ purpose }) => purpose === "ordinals"
454
- );
455
- };
456
- const findPaymentAddress = (addresses) => {
457
- return addresses.find(
458
- ({ purpose }) => purpose === "payment"
459
- );
460
- };
461
468
  const connect = (walletName) => __async(void 0, null, function* () {
469
+ console.log("connecting");
462
470
  setIsConnecting(true);
463
471
  try {
464
472
  if (!walletName)
465
- new Error("No wallet provided");
473
+ throw new Error("No wallet provided");
466
474
  if (walletName === OYL) {
467
475
  yield connectOyl();
468
476
  } else if (walletName === UNISAT) {
@@ -472,13 +480,13 @@ var LaserEyesProvider = ({ children }) => {
472
480
  } else if (walletName === LEATHER) {
473
481
  yield connectLeather();
474
482
  } else {
475
- new Error("Wallet not found!");
483
+ throw new Error("Wallet not found!");
476
484
  }
477
485
  setConnected(true);
478
486
  } catch (error) {
479
- console.error("error", error);
487
+ setIsConnecting(false);
480
488
  disconnect();
481
- new Error("Can't lasereyes to wallet");
489
+ throw new Error("Can't lasereyes to wallet");
482
490
  } finally {
483
491
  setIsConnecting(false);
484
492
  }
@@ -492,69 +500,39 @@ var LaserEyesProvider = ({ children }) => {
492
500
  localStorage == null ? void 0 : localStorage.removeItem(LOCAL_STORAGE_DEFAULT_WALLET);
493
501
  };
494
502
  const requestAccounts = () => __async(void 0, null, function* () {
495
- if (!library)
496
- return;
497
- if (provider === OYL) {
498
- return yield library.requestAccounts();
499
- } else if (provider === UNISAT) {
500
- return yield library.requestAccounts();
501
- } else if (provider === XVERSE) {
502
- const getAddressOptions = {
503
- payload: {
504
- // @ts-ignore
505
- purposes: ["ordinals", "payment"],
506
- message: "Address for receiving Ordinals and payments",
507
- network: {
508
- type: XVERSE_NETWORK
503
+ try {
504
+ if (!library)
505
+ return;
506
+ if (provider === OYL) {
507
+ return yield library.requestAccounts();
508
+ } else if (provider === UNISAT) {
509
+ return yield library.requestAccounts();
510
+ } else if (provider === XVERSE) {
511
+ const getAddressOptions = {
512
+ payload: {
513
+ // @ts-ignore
514
+ purposes: ["ordinals", "payment"],
515
+ message: "Address for receiving Ordinals and payments",
516
+ network: {
517
+ type: XVERSE_NETWORK
518
+ }
519
+ },
520
+ onFinish: (response) => __async(void 0, null, function* () {
521
+ const foundAddress = findOrdinalsAddress(response.addresses);
522
+ setAddress(foundAddress.address);
523
+ const foundPaymentAddress = findPaymentAddress(response.addresses);
524
+ setPaymentAddress(foundPaymentAddress);
525
+ setPublicKey(String(response.addresses[0].publicKey));
526
+ setPaymentPublicKey(String(response.addresses[1].publicKey));
527
+ }),
528
+ onCancel: () => {
529
+ throw new Error("User cancelled");
509
530
  }
510
- },
511
- onFinish: (response) => __async(void 0, null, function* () {
512
- const foundAddress = findOrdinalsAddress(response.addresses);
513
- setAddress(foundAddress.address);
514
- const foundPaymentAddress = findPaymentAddress(response.addresses);
515
- setPaymentAddress(foundPaymentAddress);
516
- setPublicKey(String(response.addresses[0].publicKey));
517
- setPaymentPublicKey(String(response.addresses[1].publicKey));
518
- }),
519
- onCancel: () => {
520
- console.log("CANCELLED");
521
- }
522
- };
523
- return [address];
524
- } else if (provider === LEATHER) {
525
- localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, LEATHER);
526
- const lib = window.LeatherProvider;
527
- const getAddressesResponse = yield lib.request(
528
- "getAddresses"
529
- );
530
- const addressesResponse = getAddressesResponse.result;
531
- const addresses = addressesResponse.addresses;
532
- const leatherAccountsParsed = addresses.map(
533
- (address2) => address2.address
534
- );
535
- const taprootAddress = addresses.find(
536
- (address2) => address2.type === P2TR
537
- );
538
- const segwitAddress = addresses.find(
539
- (address2) => address2.type === P2WPKH
540
- );
541
- setAccounts(leatherAccountsParsed);
542
- setAddress(String(taprootAddress == null ? void 0 : taprootAddress.address));
543
- setPaymentAddress(String(segwitAddress == null ? void 0 : segwitAddress.address));
544
- setLibrary(lib);
545
- setProvider(LEATHER);
546
- handleAccountsChanged(leatherAccountsParsed);
547
- setConnected(true);
548
- yield getNetwork().then((network2) => {
549
- if (!network2) {
550
- setNetwork(MAINNET);
551
- } else {
552
- setNetwork(network2);
553
- }
554
- });
555
- setConnected(true);
556
- } else {
557
- console.log("NO WALLET CONNECTED");
531
+ };
532
+ return [address];
533
+ }
534
+ } catch (error) {
535
+ throw error;
558
536
  }
559
537
  });
560
538
  const getNetwork = () => __async(void 0, null, function* () {
@@ -562,25 +540,19 @@ var LaserEyesProvider = ({ children }) => {
562
540
  if (!library)
563
541
  return;
564
542
  if (provider === OYL) {
565
- new Error("Not implemented");
543
+ throw new Error("Not implemented");
566
544
  } else if (provider === UNISAT) {
567
545
  const unisatNetwork = yield library == null ? void 0 : library.getNetwork();
568
546
  const foundNetwork = getNetworkForUnisat(unisatNetwork);
569
547
  setNetwork(foundNetwork);
570
548
  return foundNetwork;
571
549
  } else if (provider === XVERSE) {
572
- if (address.slice(0, 1) === "t") {
573
- return TESTNET;
574
- }
575
- return MAINNET;
550
+ throw new Error("Not implemented");
576
551
  } else if (provider === LEATHER) {
577
- if (address.slice(0, 1) === "t") {
578
- return TESTNET;
579
- }
580
- return MAINNET;
552
+ throw new Error("Not implemented");
581
553
  }
582
554
  } catch (error) {
583
- console.error("error", error);
555
+ throw error;
584
556
  }
585
557
  });
586
558
  const switchNetwork = (network2) => __async(void 0, null, function* () {
@@ -588,18 +560,16 @@ var LaserEyesProvider = ({ children }) => {
588
560
  if (!library)
589
561
  return;
590
562
  if (provider === OYL) {
591
- new Error("Not implemented");
563
+ throw new Error("Not implemented");
592
564
  } else if (provider === UNISAT) {
593
565
  const wantedNetwork = getUnisatNetwork(network2);
594
566
  yield library == null ? void 0 : library.switchNetwork(wantedNetwork);
595
567
  setNetwork(network2);
596
568
  } else if (provider === XVERSE) {
597
- return NETWORK;
598
- } else if (provider === LEATHER) {
599
- return NETWORK;
569
+ throw new Error("Not implemented");
600
570
  }
601
571
  } catch (error) {
602
- console.error("error", error);
572
+ throw error;
603
573
  }
604
574
  });
605
575
  const getPublicKey = () => __async(void 0, null, function* () {
@@ -611,12 +581,13 @@ var LaserEyesProvider = ({ children }) => {
611
581
  } else if (provider === UNISAT) {
612
582
  return yield library == null ? void 0 : library.getPublicKey();
613
583
  } else if (provider === XVERSE) {
614
- new Error("Not implemented");
584
+ throw new Error("Not implemented");
615
585
  } else if (provider === LEATHER) {
616
- new Error("Not implemented");
586
+ throw new Error("Not implemented");
617
587
  }
618
588
  } catch (error) {
619
589
  console.error("error", error);
590
+ throw error;
620
591
  }
621
592
  });
622
593
  const getBalance = () => __async(void 0, null, function* () {
@@ -628,12 +599,10 @@ var LaserEyesProvider = ({ children }) => {
628
599
  } else if (provider === UNISAT) {
629
600
  return yield library.getBalance();
630
601
  } else if (provider === XVERSE) {
631
- new Error("Not implemented");
632
- } else if (provider === LEATHER) {
633
- new Error("Not implemented");
602
+ throw new Error("Not implemented");
634
603
  }
635
604
  } catch (error) {
636
- console.error("error", error);
605
+ throw error;
637
606
  }
638
607
  });
639
608
  const getInscriptions = () => __async(void 0, null, function* () {
@@ -645,29 +614,12 @@ var LaserEyesProvider = ({ children }) => {
645
614
  } else if (provider === UNISAT) {
646
615
  return yield library.getInscriptions(0, 10);
647
616
  } else if (provider === XVERSE) {
648
- new Error("Not implemented");
617
+ throw new Error("Not implemented");
649
618
  } else if (provider === LEATHER) {
650
- new Error("Not implemented");
619
+ throw new Error("Not implemented");
651
620
  }
652
621
  } catch (error) {
653
- console.error("error", error);
654
- }
655
- });
656
- const getAllBRC20Tokens = () => __async(void 0, null, function* () {
657
- try {
658
- if (!library)
659
- return;
660
- if (provider === OYL) {
661
- new Error("Not implemented");
662
- } else if (provider === UNISAT) {
663
- new Error("Not implemented");
664
- } else if (provider === XVERSE) {
665
- new Error("Not implemented");
666
- } else if (provider === LEATHER) {
667
- new Error("Not implemented");
668
- }
669
- } catch (error) {
670
- console.error("error", error);
622
+ throw error;
671
623
  }
672
624
  });
673
625
  const sendBTC = (to, amount) => __async(void 0, null, function* () {
@@ -688,75 +640,20 @@ var LaserEyesProvider = ({ children }) => {
688
640
  console.error("error", error);
689
641
  }
690
642
  });
691
- const payInscribe = () => __async(void 0, null, function* () {
692
- try {
693
- if (!library)
694
- return;
695
- if (provider === OYL) {
696
- new Error("Not implemented");
697
- } else if (provider === UNISAT) {
698
- new Error("Not implemented");
699
- } else if (provider === XVERSE) {
700
- new Error("Not implemented");
701
- } else if (provider === LEATHER) {
702
- new Error("Not implemented");
703
- }
704
- } catch (error) {
705
- console.error("error", error);
706
- }
707
- });
708
- const deploy = () => __async(void 0, null, function* () {
709
- try {
710
- if (!library)
711
- return;
712
- if (provider === OYL) {
713
- new Error("Not implemented");
714
- } else if (provider === UNISAT) {
715
- new Error("Not implemented");
716
- } else if (provider === XVERSE) {
717
- new Error("Not implemented");
718
- } else if (provider === LEATHER) {
719
- new Error("Not implemented");
720
- }
721
- } catch (error) {
722
- console.error("error", error);
723
- }
724
- });
725
- const mint = () => __async(void 0, null, function* () {
726
- try {
727
- if (!library)
728
- return;
729
- if (provider === OYL) {
730
- new Error("Not implemented");
731
- } else if (provider === UNISAT) {
732
- new Error("Not implemented");
733
- } else if (provider === XVERSE) {
734
- new Error("Not implemented");
735
- } else if (provider === LEATHER) {
736
- new Error("Not implemented");
737
- }
738
- } catch (error) {
739
- console.error("error", error);
740
- }
741
- });
742
643
  const signMessage = (message) => __async(void 0, null, function* () {
743
644
  try {
744
645
  if (!library)
745
646
  return;
746
647
  if (provider === OYL) {
747
- new Error("Not implemented");
648
+ throw new Error("Not implemented");
748
649
  } else if (provider === UNISAT) {
749
650
  return yield library == null ? void 0 : library.signMessage(message);
750
651
  } else if (provider === XVERSE) {
751
- new Error("Not implemented");
752
- } else if (provider === LEATHER) {
753
- return yield library == null ? void 0 : library.request("signMessage", {
754
- message,
755
- paymentType: P2TR
756
- });
652
+ throw new Error("Not implemented");
757
653
  }
758
654
  } catch (error) {
759
- console.error("error", error);
655
+ console.error(error);
656
+ throw error;
760
657
  }
761
658
  });
762
659
  const signPsbt = (psbt, finalize = false, broadcast = true) => __async(void 0, null, function* () {
@@ -767,12 +664,17 @@ var LaserEyesProvider = ({ children }) => {
767
664
  const response = yield library == null ? void 0 : library.signPsbt(psbt);
768
665
  return response;
769
666
  } else if (provider === UNISAT) {
770
- return yield library == null ? void 0 : library.signPsbt(psbt, {
667
+ const txHex = yield library == null ? void 0 : library.signPsbt(psbt, {
771
668
  autoFinalized: finalize
772
669
  });
670
+ const signedPsbt = bitcoin2.Psbt.fromHex(txHex);
671
+ return {
672
+ signedPsbtHex: signedPsbt.toHex(),
673
+ signedPsbtBase64: signedPsbt.toBase64()
674
+ };
773
675
  } else if (provider === XVERSE) {
774
- const toSignPsbt = bitcoin.Psbt.fromBase64(String(psbt), {
775
- network: bitcoin.networks.testnet
676
+ const toSignPsbt = bitcoin2.Psbt.fromBase64(String(psbt), {
677
+ network: getBitcoinNetwork(network)
776
678
  });
777
679
  const inputs = toSignPsbt.data.inputs;
778
680
  const inputsToSign = [];
@@ -791,7 +693,7 @@ var LaserEyesProvider = ({ children }) => {
791
693
  const { script } = input.witnessUtxo;
792
694
  const addressFromScript = fromOutputScript(
793
695
  script,
794
- bitcoin.networks.testnet
696
+ getBitcoinNetwork(network)
795
697
  );
796
698
  if (addressFromScript === paymentAddress) {
797
699
  paymentsAddressData.signingIndexes.push(Number(counter));
@@ -817,6 +719,7 @@ var LaserEyesProvider = ({ children }) => {
817
719
  inputsToSign.push(paymentsAddressData);
818
720
  }
819
721
  let txId = "";
722
+ let signedPsbtHex, signedPsbtBase64;
820
723
  const xverseNetwork = getXverseNetwork(network);
821
724
  const signPsbtOptions = {
822
725
  payload: {
@@ -832,39 +735,28 @@ var LaserEyesProvider = ({ children }) => {
832
735
  if (response.txId) {
833
736
  txId = response.txId;
834
737
  } else if (response.psbtBase64) {
835
- const signedPsbt = bitcoin.Psbt.fromBase64(
738
+ const signedPsbt = bitcoin2.Psbt.fromBase64(
836
739
  String(response.psbtBase64),
837
740
  {
838
- network: bitcoin.networks.testnet
741
+ network: getBitcoinNetwork(network)
839
742
  }
840
743
  );
841
- txId = signedPsbt.toHex();
744
+ signedPsbtHex = signedPsbt.toHex();
745
+ signedPsbtBase64 = signedPsbt.toBase64();
842
746
  }
843
747
  },
844
748
  onCancel: () => console.log("Canceled")
845
749
  };
846
750
  yield signTransaction(signPsbtOptions);
847
- return txId;
848
- } else if (provider === LEATHER) {
849
- const requestParams = { hex: psbt, broadcast };
850
- const response = yield library == null ? void 0 : library.request(
851
- "signPsbt",
852
- requestParams
853
- );
854
- const leatherHexResult = response.result;
855
- const signedTx = leatherHexResult.hex;
856
- if (!broadcast) {
857
- return signedTx;
858
- }
859
- const toSignPsbt = bitcoin.Psbt.fromHex(String(signedTx), {
860
- network: bitcoin.networks.testnet
861
- });
862
- toSignPsbt.finalizeAllInputs();
863
- const txId = toSignPsbt.extractTransaction().getId();
864
- return txId;
751
+ return {
752
+ signedPsbtHex,
753
+ signedPsbtBase64,
754
+ txId
755
+ };
865
756
  }
866
757
  } catch (error2) {
867
758
  console.error("error", error2);
759
+ throw error2;
868
760
  }
869
761
  });
870
762
  const pushPsbt = (psbt, finalize = false) => __async(void 0, null, function* () {
@@ -901,41 +793,41 @@ var LaserEyesProvider = ({ children }) => {
901
793
  console.error("error", error);
902
794
  }
903
795
  });
904
- const contextValue = {
905
- library,
906
- accounts,
907
- publicKey,
908
- address,
909
- paymentAddress,
910
- paymentPublicKey,
911
- provider,
912
- balance,
913
- network,
914
- connected,
915
- isConnecting,
916
- hasOyl,
917
- hasUnisat,
918
- hasXverse,
919
- hasLeather,
920
- //
921
- connect,
922
- disconnect,
923
- requestAccounts,
924
- getNetwork,
925
- switchNetwork,
926
- getPublicKey,
927
- getBalance,
928
- getInscriptions,
929
- getAllBRC20Tokens,
930
- sendBTC,
931
- signPsbt,
932
- pushPsbt,
933
- payInscribe,
934
- deploy,
935
- mint,
936
- signMessage
937
- };
938
- return /* @__PURE__ */ jsx(LaserEyesContext.Provider, { value: contextValue, children });
796
+ return /* @__PURE__ */ jsx(
797
+ LaserEyesContext.Provider,
798
+ {
799
+ value: {
800
+ library,
801
+ accounts,
802
+ publicKey,
803
+ address,
804
+ paymentAddress,
805
+ paymentPublicKey,
806
+ provider,
807
+ balance,
808
+ network,
809
+ connected,
810
+ isConnecting,
811
+ hasOyl,
812
+ hasUnisat,
813
+ hasXverse,
814
+ hasLeather,
815
+ // functions
816
+ connect,
817
+ disconnect,
818
+ requestAccounts,
819
+ getNetwork,
820
+ switchNetwork,
821
+ getPublicKey,
822
+ getBalance,
823
+ sendBTC,
824
+ signPsbt,
825
+ pushPsbt,
826
+ signMessage
827
+ },
828
+ children
829
+ }
830
+ );
939
831
  };
940
832
  export {
941
833
  LEATHER,
@@ -950,6 +842,7 @@ export {
950
842
  P2WPKH,
951
843
  P2WSH,
952
844
  PHANTOM,
845
+ REGTEST,
953
846
  TESTNET,
954
847
  UNISAT,
955
848
  UNISAT_MAINNET,