@omnisat/lasereyes 0.0.41 → 0.0.43
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.d.ts +35 -23
- package/dist/index.js +229 -105
- package/dist/index.mjs +206 -90
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -61,9 +61,12 @@ var __forAwait = (obj, it, method) => {
|
|
|
61
61
|
|
|
62
62
|
// src/consts/networks.ts
|
|
63
63
|
var XVERSE_NETWORK = "Mainnet";
|
|
64
|
-
var UNISAT_MAINNET = "
|
|
65
|
-
var UNISAT_TESTNET = "
|
|
66
|
-
var
|
|
64
|
+
var UNISAT_MAINNET = "BITCOIN_MAINNET";
|
|
65
|
+
var UNISAT_TESTNET = "BITCOIN_TESTNET";
|
|
66
|
+
var UNISAT_TESTNET4 = "BITCOIN_TESTNET4";
|
|
67
|
+
var UNISAT_SIGNET = "BITCOIN_SIGNET";
|
|
68
|
+
var UNISAT_FRACTAL_MAINNET = "FRACTAL_BITCOIN_MAINNET";
|
|
69
|
+
var UNISAT_FRACTAL_TESTNET = "FRACTAL_BITCOIN_TESTNET";
|
|
67
70
|
var OP_WALLET_MAINNET = "livenet";
|
|
68
71
|
var OP_WALLET_TESTNET = "testnet";
|
|
69
72
|
var XVERSE_MAINNET = "Mainnet";
|
|
@@ -73,11 +76,15 @@ var OKX_MAINNET = "livenet";
|
|
|
73
76
|
var OKX_TESTNET = "testnet";
|
|
74
77
|
var WIZZ_MAINNET = "livenet";
|
|
75
78
|
var WIZZ_TESTNET = "testnet";
|
|
79
|
+
var WIZZ_TESTNET4 = "testnet4";
|
|
80
|
+
var WIZZ_SIGNET = "signet";
|
|
76
81
|
var LEATHER_MAINNET = "mainnet";
|
|
77
82
|
var LEATHER_TESTNET = "testnet";
|
|
78
83
|
var MAINNET = "mainnet";
|
|
79
84
|
var SIGNET = "signet";
|
|
80
85
|
var TESTNET = "testnet";
|
|
86
|
+
var TESTNET4 = "testnet4";
|
|
87
|
+
var FRACTAL_MAINNET = "fractal_mainnet";
|
|
81
88
|
var FRACTAL_TESTNET = "fractal_testnet";
|
|
82
89
|
var REGTEST = "regtest";
|
|
83
90
|
var getXverseNetwork = (network) => {
|
|
@@ -101,6 +108,12 @@ var getUnisatNetwork = (network) => {
|
|
|
101
108
|
return UNISAT_MAINNET;
|
|
102
109
|
if (network === TESTNET)
|
|
103
110
|
return UNISAT_TESTNET;
|
|
111
|
+
if (network === TESTNET4)
|
|
112
|
+
return UNISAT_TESTNET4;
|
|
113
|
+
if (network === SIGNET)
|
|
114
|
+
return UNISAT_SIGNET;
|
|
115
|
+
if (network === FRACTAL_MAINNET)
|
|
116
|
+
return UNISAT_FRACTAL_MAINNET;
|
|
104
117
|
if (network === FRACTAL_TESTNET)
|
|
105
118
|
return UNISAT_FRACTAL_TESTNET;
|
|
106
119
|
return UNISAT_MAINNET;
|
|
@@ -110,6 +123,14 @@ var getWizzNetwork = (network) => {
|
|
|
110
123
|
return WIZZ_MAINNET;
|
|
111
124
|
if (network === TESTNET)
|
|
112
125
|
return WIZZ_TESTNET;
|
|
126
|
+
if (network === TESTNET4)
|
|
127
|
+
return WIZZ_TESTNET4;
|
|
128
|
+
if (network === SIGNET)
|
|
129
|
+
return WIZZ_SIGNET;
|
|
130
|
+
if (network === FRACTAL_TESTNET)
|
|
131
|
+
return WIZZ_TESTNET;
|
|
132
|
+
if (network === FRACTAL_MAINNET)
|
|
133
|
+
return WIZZ_MAINNET;
|
|
113
134
|
return WIZZ_MAINNET;
|
|
114
135
|
};
|
|
115
136
|
var getNetworkForUnisat = (network) => {
|
|
@@ -117,6 +138,12 @@ var getNetworkForUnisat = (network) => {
|
|
|
117
138
|
return MAINNET;
|
|
118
139
|
if (network === UNISAT_TESTNET)
|
|
119
140
|
return TESTNET;
|
|
141
|
+
if (network === UNISAT_TESTNET4)
|
|
142
|
+
return TESTNET4;
|
|
143
|
+
if (network === UNISAT_SIGNET)
|
|
144
|
+
return SIGNET;
|
|
145
|
+
if (network === UNISAT_FRACTAL_MAINNET)
|
|
146
|
+
return FRACTAL_MAINNET;
|
|
120
147
|
if (network === UNISAT_FRACTAL_TESTNET)
|
|
121
148
|
return FRACTAL_TESTNET;
|
|
122
149
|
return MAINNET;
|
|
@@ -147,6 +174,14 @@ var getNetworkForWizz = (network) => {
|
|
|
147
174
|
return MAINNET;
|
|
148
175
|
if (network === WIZZ_TESTNET)
|
|
149
176
|
return TESTNET;
|
|
177
|
+
if (network === WIZZ_TESTNET4)
|
|
178
|
+
return TESTNET4;
|
|
179
|
+
if (network === WIZZ_SIGNET)
|
|
180
|
+
return SIGNET;
|
|
181
|
+
if (network === FRACTAL_TESTNET)
|
|
182
|
+
return TESTNET;
|
|
183
|
+
if (network === FRACTAL_MAINNET)
|
|
184
|
+
return MAINNET;
|
|
150
185
|
return MAINNET;
|
|
151
186
|
};
|
|
152
187
|
var MEMPOOL_SPACE_URL = "https://mempool.space";
|
|
@@ -293,18 +328,18 @@ import axios from "axios";
|
|
|
293
328
|
// src/lib/urls.ts
|
|
294
329
|
var MEMPOOL_SPACE_URL2 = "https://mempool.space";
|
|
295
330
|
var MEMPOOL_SPACE_TESTNET_URL2 = "https://mempool.space/testnet";
|
|
296
|
-
var
|
|
331
|
+
var MEMPOOL_SPACE_TESTNET4_URL = "https://mempool.space/testnet4";
|
|
332
|
+
var MEMPOOL_SPACE_SIGNET_URL2 = "https://mempool.space/signet";
|
|
333
|
+
var MEMPOOL_SPACE_FRACTAL_MAINNET_URL = "https://mempool.fractalbitcoin.io";
|
|
334
|
+
var MEMPOOL_SPACE_FRACTAL_TESTNET_URL = "https://mempool-testnet.fractalbitcoin.io/";
|
|
335
|
+
var getMempoolSpaceUrl2 = (network) => network === TESTNET ? MEMPOOL_SPACE_TESTNET_URL2 : network === TESTNET4 ? MEMPOOL_SPACE_TESTNET4_URL : network === SIGNET ? MEMPOOL_SPACE_SIGNET_URL2 : network === FRACTAL_MAINNET ? MEMPOOL_SPACE_FRACTAL_MAINNET_URL : network === FRACTAL_TESTNET ? MEMPOOL_SPACE_FRACTAL_TESTNET_URL : MEMPOOL_SPACE_URL2;
|
|
297
336
|
|
|
298
337
|
// src/lib/helpers.ts
|
|
299
338
|
import * as ecc from "@bitcoinerlab/secp256k1";
|
|
300
339
|
bitcoin.initEccLib(ecc);
|
|
301
340
|
var getBitcoinNetwork = (network) => {
|
|
302
|
-
if (network === TESTNET || network ===
|
|
341
|
+
if (network === TESTNET || network === TESTNET4 || network === SIGNET) {
|
|
303
342
|
return bitcoin.networks.testnet;
|
|
304
|
-
} else if (network === SIGNET) {
|
|
305
|
-
return bitcoin.networks.testnet;
|
|
306
|
-
} else if (network === REGTEST) {
|
|
307
|
-
return bitcoin.networks.regtest;
|
|
308
343
|
} else {
|
|
309
344
|
return bitcoin.networks.bitcoin;
|
|
310
345
|
}
|
|
@@ -319,9 +354,10 @@ var findPaymentAddress = (addresses) => {
|
|
|
319
354
|
({ purpose }) => purpose === "payment"
|
|
320
355
|
);
|
|
321
356
|
};
|
|
322
|
-
var getBTCBalance = (address2) => __async(void 0, null, function* () {
|
|
357
|
+
var getBTCBalance = (address2, network) => __async(void 0, null, function* () {
|
|
323
358
|
try {
|
|
324
|
-
|
|
359
|
+
const utxos = yield getAddressUtxos(address2, network);
|
|
360
|
+
return utxos.reduce((acc, utxo) => acc + utxo.value, 0);
|
|
325
361
|
} catch (error) {
|
|
326
362
|
console.error("Error fetching BTC balance:", error);
|
|
327
363
|
throw new Error("Failed to fetch BTC balance");
|
|
@@ -350,13 +386,15 @@ function estimateTxSize(taprootInputCount, nonTaprootInputCount, outputCount) {
|
|
|
350
386
|
const totalOutputSize = outputCount * outputSize;
|
|
351
387
|
return baseTxSize + totalInputSize + totalOutputSize;
|
|
352
388
|
}
|
|
389
|
+
function getAddressUtxos(address2, network) {
|
|
390
|
+
return __async(this, null, function* () {
|
|
391
|
+
return yield axios.get(`${getMempoolSpaceUrl2(network)}/api/address/${address2}/utxo`).then((response) => response.data);
|
|
392
|
+
});
|
|
393
|
+
}
|
|
353
394
|
function createSendBtcPsbt(address2, paymentAddress, recipientAddress, amount, paymentPublicKey, network, feeRate = 7) {
|
|
354
395
|
return __async(this, null, function* () {
|
|
355
396
|
const isTaprootOnly = address2 === paymentAddress;
|
|
356
|
-
const
|
|
357
|
-
network
|
|
358
|
-
)}/api/address/${paymentAddress}/utxo`;
|
|
359
|
-
const utxos = yield axios.get(mempoolUrl).then((response) => response.data);
|
|
397
|
+
const utxos = yield getAddressUtxos(paymentAddress, network);
|
|
360
398
|
const sortedUtxos = utxos.sort(
|
|
361
399
|
(a, b) => b.value - a.value
|
|
362
400
|
);
|
|
@@ -457,6 +495,7 @@ var LaserEyesProvider = ({
|
|
|
457
495
|
children,
|
|
458
496
|
config
|
|
459
497
|
}) => {
|
|
498
|
+
var _a;
|
|
460
499
|
const selfRef = useRef({
|
|
461
500
|
accounts: []
|
|
462
501
|
});
|
|
@@ -480,17 +519,19 @@ var LaserEyesProvider = ({
|
|
|
480
519
|
const [hasLeather, setHasLeather] = useState(false);
|
|
481
520
|
const [hasPhantom, setHasPhantom] = useState(false);
|
|
482
521
|
const [hasWizz, setHasWizz] = useState(false);
|
|
483
|
-
const [network, setNetwork] = useLocalStorage("network", MAINNET, {
|
|
522
|
+
const [network, setNetwork] = useLocalStorage("network", (_a = config == null ? void 0 : config.network) != null ? _a : MAINNET, {
|
|
484
523
|
initializeWithValue: false
|
|
485
524
|
});
|
|
486
525
|
useEffect(() => {
|
|
487
526
|
if (config) {
|
|
488
527
|
setNetwork(config.network);
|
|
489
528
|
getNetwork().then((foundNetwork) => {
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
529
|
+
try {
|
|
530
|
+
if (config.network !== foundNetwork) {
|
|
531
|
+
switchNetwork(network);
|
|
532
|
+
}
|
|
533
|
+
} catch (e) {
|
|
534
|
+
disconnect();
|
|
494
535
|
}
|
|
495
536
|
});
|
|
496
537
|
}
|
|
@@ -515,8 +556,8 @@ var LaserEyesProvider = ({
|
|
|
515
556
|
}, []);
|
|
516
557
|
useEffect(() => {
|
|
517
558
|
const observer = new MutationObserver(() => {
|
|
518
|
-
var
|
|
519
|
-
const xverseLib = (
|
|
559
|
+
var _a2;
|
|
560
|
+
const xverseLib = (_a2 = window == null ? void 0 : window.XverseProviders) == null ? void 0 : _a2.BitcoinProvider;
|
|
520
561
|
if (xverseLib) {
|
|
521
562
|
setHasXverse(true);
|
|
522
563
|
observer.disconnect();
|
|
@@ -555,11 +596,11 @@ var LaserEyesProvider = ({
|
|
|
555
596
|
}, []);
|
|
556
597
|
useEffect(() => {
|
|
557
598
|
const observer = new MutationObserver(() => {
|
|
558
|
-
var
|
|
599
|
+
var _a2, _b;
|
|
559
600
|
let foundOkx;
|
|
560
|
-
if (network === TESTNET || network === FRACTAL_TESTNET) {
|
|
561
|
-
foundOkx = (
|
|
562
|
-
} else if (network === MAINNET) {
|
|
601
|
+
if (network === TESTNET || network === TESTNET4 || network === SIGNET || network === FRACTAL_TESTNET) {
|
|
602
|
+
foundOkx = (_a2 = window == null ? void 0 : window.okxwallet) == null ? void 0 : _a2.bitcoinTestnet;
|
|
603
|
+
} else if (network === MAINNET || network === FRACTAL_MAINNET) {
|
|
563
604
|
foundOkx = (_b = window == null ? void 0 : window.okxwallet) == null ? void 0 : _b.bitcoin;
|
|
564
605
|
}
|
|
565
606
|
if (foundOkx) {
|
|
@@ -587,8 +628,8 @@ var LaserEyesProvider = ({
|
|
|
587
628
|
}, []);
|
|
588
629
|
useEffect(() => {
|
|
589
630
|
const observer = new MutationObserver(() => {
|
|
590
|
-
var
|
|
591
|
-
const phantomLib = (
|
|
631
|
+
var _a2;
|
|
632
|
+
const phantomLib = (_a2 = window == null ? void 0 : window.phantom) == null ? void 0 : _a2.bitcoin;
|
|
592
633
|
if (phantomLib && phantomLib.isPhantom) {
|
|
593
634
|
setHasPhantom(true);
|
|
594
635
|
observer.disconnect();
|
|
@@ -665,13 +706,20 @@ var LaserEyesProvider = ({
|
|
|
665
706
|
const unisatPubKey = yield lib.getPublicKey();
|
|
666
707
|
if (!unisatPubKey)
|
|
667
708
|
throw new Error("No public key found");
|
|
668
|
-
const foundNetwork = yield getNetwork();
|
|
669
709
|
setAccounts(unisatAccounts);
|
|
670
710
|
setAddress(unisatAccounts[0]);
|
|
671
711
|
setPaymentAddress(unisatAccounts[0]);
|
|
672
712
|
setPublicKey(unisatPubKey);
|
|
673
713
|
setPaymentPublicKey(unisatPubKey);
|
|
674
714
|
setLibrary(lib);
|
|
715
|
+
yield getNetwork().then((network2) => {
|
|
716
|
+
if (config.network !== network2) {
|
|
717
|
+
switchNetwork(network2);
|
|
718
|
+
}
|
|
719
|
+
});
|
|
720
|
+
getBTCBalance(unisatAccounts[0], network).then((totalBalance) => {
|
|
721
|
+
setBalance(totalBalance);
|
|
722
|
+
});
|
|
675
723
|
setProvider(UNISAT);
|
|
676
724
|
setConnected(true);
|
|
677
725
|
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
@@ -679,7 +727,7 @@ var LaserEyesProvider = ({
|
|
|
679
727
|
} catch (error) {
|
|
680
728
|
throw error;
|
|
681
729
|
}
|
|
682
|
-
}), [hasUnisat]);
|
|
730
|
+
}), [hasUnisat, network]);
|
|
683
731
|
const connectXverse = useCallback(() => __async(void 0, null, function* () {
|
|
684
732
|
try {
|
|
685
733
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, XVERSE);
|
|
@@ -703,9 +751,11 @@ var LaserEyesProvider = ({
|
|
|
703
751
|
setProvider(XVERSE);
|
|
704
752
|
setLibrary(window.BitcoinProvider);
|
|
705
753
|
}
|
|
706
|
-
getBTCBalance(foundPaymentAddress.address).then(
|
|
707
|
-
|
|
708
|
-
|
|
754
|
+
getBTCBalance(foundPaymentAddress.address, network).then(
|
|
755
|
+
(totalBalance) => {
|
|
756
|
+
setBalance(totalBalance);
|
|
757
|
+
}
|
|
758
|
+
);
|
|
709
759
|
},
|
|
710
760
|
onCancel: () => {
|
|
711
761
|
throw new Error(`User canceled lasereyes to ${XVERSE} wallet`);
|
|
@@ -734,7 +784,7 @@ var LaserEyesProvider = ({
|
|
|
734
784
|
setProvider(OYL);
|
|
735
785
|
handleAccountsChanged(result);
|
|
736
786
|
setConnected(true);
|
|
737
|
-
getBTCBalance(result[1]).then((totalBalance) => {
|
|
787
|
+
getBTCBalance(result[1], network).then((totalBalance) => {
|
|
738
788
|
setBalance(totalBalance);
|
|
739
789
|
});
|
|
740
790
|
} catch (error) {
|
|
@@ -767,9 +817,11 @@ var LaserEyesProvider = ({
|
|
|
767
817
|
setProvider(MAGIC_EDEN);
|
|
768
818
|
setLibrary(window.magicEden.bitcoin);
|
|
769
819
|
}
|
|
770
|
-
getBTCBalance(foundPaymentAddress.address).then(
|
|
771
|
-
|
|
772
|
-
|
|
820
|
+
getBTCBalance(foundPaymentAddress.address, network).then(
|
|
821
|
+
(totalBalance) => {
|
|
822
|
+
setBalance(totalBalance);
|
|
823
|
+
}
|
|
824
|
+
);
|
|
773
825
|
},
|
|
774
826
|
onCancel: () => {
|
|
775
827
|
throw new Error(`User canceled lasereyes to ${MAGIC_EDEN} wallet`);
|
|
@@ -778,7 +830,6 @@ var LaserEyesProvider = ({
|
|
|
778
830
|
throw new Error(`Can't lasereyes to ${MAGIC_EDEN} wallet`);
|
|
779
831
|
}
|
|
780
832
|
};
|
|
781
|
-
console.log(JSON.stringify(getAddressOptions));
|
|
782
833
|
yield getAddress(getAddressOptions);
|
|
783
834
|
setConnected(true);
|
|
784
835
|
} catch (error) {
|
|
@@ -789,28 +840,27 @@ var LaserEyesProvider = ({
|
|
|
789
840
|
const connectOkx = () => __async(void 0, null, function* () {
|
|
790
841
|
try {
|
|
791
842
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, OKX);
|
|
792
|
-
const lib = network === TESTNET || network === FRACTAL_TESTNET ? window.okxwallet.bitcoinTestnet : window.okxwallet.bitcoin;
|
|
793
|
-
const okxAccounts = yield lib.
|
|
843
|
+
const lib = network === TESTNET || network === TESTNET4 || network === FRACTAL_TESTNET ? window.okxwallet.bitcoinTestnet : network === SIGNET ? window.okxwallet.bitcoinSignet : window.okxwallet.bitcoin;
|
|
844
|
+
const okxAccounts = yield lib.connect();
|
|
794
845
|
if (!okxAccounts)
|
|
795
846
|
throw new Error("No accounts found");
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
setPaymentAddress(okxAccounts[0]);
|
|
802
|
-
setPublicKey(okxPubKey);
|
|
803
|
-
setPaymentPublicKey(okxPubKey);
|
|
847
|
+
setAccounts([okxAccounts]);
|
|
848
|
+
setAddress(okxAccounts.address);
|
|
849
|
+
setPaymentAddress(okxAccounts.address);
|
|
850
|
+
setPublicKey(okxAccounts.publicKey);
|
|
851
|
+
setPaymentPublicKey(okxAccounts.publicKey);
|
|
804
852
|
setLibrary(lib);
|
|
805
853
|
setProvider(OKX);
|
|
806
854
|
setConnected(true);
|
|
807
855
|
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
808
856
|
setBalance(balance2 == null ? void 0 : balance2.total);
|
|
809
857
|
} catch (error) {
|
|
858
|
+
console.log("error", error);
|
|
810
859
|
throw error;
|
|
811
860
|
}
|
|
812
861
|
});
|
|
813
862
|
const connectLeather = useCallback(() => __async(void 0, null, function* () {
|
|
863
|
+
var _a2;
|
|
814
864
|
try {
|
|
815
865
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, LEATHER);
|
|
816
866
|
const lib = window.LeatherProvider;
|
|
@@ -828,6 +878,11 @@ var LaserEyesProvider = ({
|
|
|
828
878
|
const segwitAddress = addresses.find(
|
|
829
879
|
(address3) => address3.type === P2WPKH
|
|
830
880
|
);
|
|
881
|
+
if (((_a2 = String(taprootAddress)) == null ? void 0 : _a2.startsWith("tb")) && network !== TESTNET && network !== TESTNET4 && network !== SIGNET) {
|
|
882
|
+
throw new Error(
|
|
883
|
+
"Please switch networks to testnet in the wallet settings."
|
|
884
|
+
);
|
|
885
|
+
}
|
|
831
886
|
setAccounts(leatherAccountsParsed);
|
|
832
887
|
setAddress(String(taprootAddress == null ? void 0 : taprootAddress.address));
|
|
833
888
|
setPublicKey(String(taprootAddress == null ? void 0 : taprootAddress.publicKey));
|
|
@@ -835,20 +890,18 @@ var LaserEyesProvider = ({
|
|
|
835
890
|
setPaymentPublicKey(String(segwitAddress == null ? void 0 : segwitAddress.publicKey));
|
|
836
891
|
setLibrary(lib);
|
|
837
892
|
setProvider(LEATHER);
|
|
838
|
-
const balance2 = yield getBTCBalance(
|
|
893
|
+
const balance2 = yield getBTCBalance(
|
|
894
|
+
String(segwitAddress == null ? void 0 : segwitAddress.address),
|
|
895
|
+
network
|
|
896
|
+
);
|
|
839
897
|
setBalance(balance2);
|
|
840
898
|
handleAccountsChanged(leatherAccountsParsed);
|
|
841
899
|
setConnected(true);
|
|
842
900
|
yield getNetwork().then((network2) => {
|
|
843
|
-
if (!network2) {
|
|
844
|
-
setNetwork(MAINNET);
|
|
845
|
-
} else {
|
|
846
|
-
setNetwork(network2);
|
|
847
|
-
}
|
|
848
901
|
});
|
|
849
902
|
setConnected(true);
|
|
850
903
|
} catch (error) {
|
|
851
|
-
|
|
904
|
+
throw error;
|
|
852
905
|
}
|
|
853
906
|
}), [hasLeather]);
|
|
854
907
|
const connectPhantom = () => __async(void 0, null, function* () {
|
|
@@ -872,7 +925,10 @@ var LaserEyesProvider = ({
|
|
|
872
925
|
setPaymentPublicKey(paymentAccount == null ? void 0 : paymentAccount.publicKey);
|
|
873
926
|
setLibrary(lib);
|
|
874
927
|
setProvider(PHANTOM);
|
|
875
|
-
const balance2 = yield getBTCBalance(
|
|
928
|
+
const balance2 = yield getBTCBalance(
|
|
929
|
+
String(paymentAccount == null ? void 0 : paymentAccount.address),
|
|
930
|
+
network
|
|
931
|
+
);
|
|
876
932
|
setBalance(balance2);
|
|
877
933
|
setConnected(true);
|
|
878
934
|
} catch (error) {
|
|
@@ -896,9 +952,14 @@ var LaserEyesProvider = ({
|
|
|
896
952
|
setPaymentPublicKey(wizzPubKey);
|
|
897
953
|
setLibrary(lib);
|
|
898
954
|
setProvider(WIZZ);
|
|
955
|
+
yield getNetwork().then((network2) => {
|
|
956
|
+
if (config.network !== network2) {
|
|
957
|
+
switchNetwork(network2);
|
|
958
|
+
}
|
|
959
|
+
});
|
|
960
|
+
const balance2 = yield getBTCBalance(String(wizzAccounts[0]), network);
|
|
961
|
+
setBalance(balance2);
|
|
899
962
|
setConnected(true);
|
|
900
|
-
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
901
|
-
setBalance(balance2 == null ? void 0 : balance2.total);
|
|
902
963
|
} catch (error) {
|
|
903
964
|
throw error;
|
|
904
965
|
}
|
|
@@ -916,8 +977,14 @@ var LaserEyesProvider = ({
|
|
|
916
977
|
yield connectOyl();
|
|
917
978
|
} else if (walletName === MAGIC_EDEN) {
|
|
918
979
|
yield connectMagicEden();
|
|
980
|
+
} else if (walletName === OKX) {
|
|
981
|
+
yield connectOkx();
|
|
919
982
|
} else if (walletName === LEATHER) {
|
|
920
983
|
yield connectLeather();
|
|
984
|
+
} else if (walletName === PHANTOM) {
|
|
985
|
+
yield connectPhantom();
|
|
986
|
+
} else if (walletName === WIZZ) {
|
|
987
|
+
yield connectWizz();
|
|
921
988
|
} else {
|
|
922
989
|
throw new Error("Unsupported wallet..");
|
|
923
990
|
}
|
|
@@ -925,6 +992,7 @@ var LaserEyesProvider = ({
|
|
|
925
992
|
} catch (error) {
|
|
926
993
|
setIsConnecting(false);
|
|
927
994
|
disconnect();
|
|
995
|
+
console.log("e", error == null ? void 0 : error.message);
|
|
928
996
|
throw error;
|
|
929
997
|
} finally {
|
|
930
998
|
setIsConnecting(false);
|
|
@@ -961,7 +1029,7 @@ var LaserEyesProvider = ({
|
|
|
961
1029
|
};
|
|
962
1030
|
const handleNetworkChanged = (network2) => {
|
|
963
1031
|
try {
|
|
964
|
-
let foundNetwork
|
|
1032
|
+
let foundNetwork;
|
|
965
1033
|
if (provider === UNISAT) {
|
|
966
1034
|
foundNetwork = getNetworkForUnisat(network2);
|
|
967
1035
|
setNetwork(foundNetwork);
|
|
@@ -970,10 +1038,12 @@ var LaserEyesProvider = ({
|
|
|
970
1038
|
throw new Error("Not implemented");
|
|
971
1039
|
} else if (provider === WIZZ) {
|
|
972
1040
|
foundNetwork = getNetworkForWizz(network2);
|
|
973
|
-
setNetwork(foundNetwork);
|
|
974
1041
|
connect(provider);
|
|
975
1042
|
} else {
|
|
976
|
-
|
|
1043
|
+
disconnect();
|
|
1044
|
+
throw new Error(
|
|
1045
|
+
"The connected wallet doesn't support programmatic network changes.."
|
|
1046
|
+
);
|
|
977
1047
|
}
|
|
978
1048
|
} catch (error) {
|
|
979
1049
|
throw error;
|
|
@@ -982,7 +1052,7 @@ var LaserEyesProvider = ({
|
|
|
982
1052
|
const requestAccounts = () => __async(void 0, null, function* () {
|
|
983
1053
|
try {
|
|
984
1054
|
if (!library)
|
|
985
|
-
|
|
1055
|
+
throw new Error("No wallet connected");
|
|
986
1056
|
if (provider === UNISAT) {
|
|
987
1057
|
return yield library.requestAccounts();
|
|
988
1058
|
} else if (provider === XVERSE) {
|
|
@@ -1011,6 +1081,9 @@ var LaserEyesProvider = ({
|
|
|
1011
1081
|
} else if (provider === OYL) {
|
|
1012
1082
|
return yield library.requestAccounts();
|
|
1013
1083
|
} else if (provider === OKX) {
|
|
1084
|
+
if (network === TESTNET || network === TESTNET4 || network === FRACTAL_TESTNET) {
|
|
1085
|
+
return yield library.connect();
|
|
1086
|
+
}
|
|
1014
1087
|
return yield library.requestAccounts();
|
|
1015
1088
|
} else if (provider === LEATHER) {
|
|
1016
1089
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, LEATHER);
|
|
@@ -1036,6 +1109,11 @@ var LaserEyesProvider = ({
|
|
|
1036
1109
|
setProvider(LEATHER);
|
|
1037
1110
|
handleAccountsChanged(leatherAccountsParsed);
|
|
1038
1111
|
setConnected(true);
|
|
1112
|
+
const balance2 = yield getBTCBalance(
|
|
1113
|
+
String(segwitAddress == null ? void 0 : segwitAddress.address),
|
|
1114
|
+
network
|
|
1115
|
+
);
|
|
1116
|
+
setBalance(balance2);
|
|
1039
1117
|
yield getNetwork().then((network2) => {
|
|
1040
1118
|
if (!network2) {
|
|
1041
1119
|
setNetwork(MAINNET);
|
|
@@ -1059,19 +1137,23 @@ var LaserEyesProvider = ({
|
|
|
1059
1137
|
throw error;
|
|
1060
1138
|
}
|
|
1061
1139
|
});
|
|
1062
|
-
const getNetwork = () => __async(void 0, null, function* () {
|
|
1063
|
-
var
|
|
1140
|
+
const getNetwork = useCallback(() => __async(void 0, null, function* () {
|
|
1141
|
+
var _a2;
|
|
1064
1142
|
try {
|
|
1065
|
-
if (!library)
|
|
1066
|
-
return;
|
|
1067
1143
|
if (provider === UNISAT) {
|
|
1068
|
-
const unisatNetwork = yield library == null ? void 0 : library.
|
|
1069
|
-
|
|
1070
|
-
setNetwork(foundNetwork);
|
|
1071
|
-
return foundNetwork;
|
|
1144
|
+
const unisatNetwork = yield library == null ? void 0 : library.getChain();
|
|
1145
|
+
return getNetworkForUnisat(unisatNetwork.enum);
|
|
1072
1146
|
} else if (provider === XVERSE) {
|
|
1073
1147
|
if (address2.slice(0, 1) === "t") {
|
|
1074
|
-
|
|
1148
|
+
if (network === TESTNET) {
|
|
1149
|
+
return TESTNET;
|
|
1150
|
+
} else if (network === TESTNET4) {
|
|
1151
|
+
return TESTNET4;
|
|
1152
|
+
} else if (network === SIGNET) {
|
|
1153
|
+
return SIGNET;
|
|
1154
|
+
} else if (network === FRACTAL_TESTNET) {
|
|
1155
|
+
return FRACTAL_TESTNET;
|
|
1156
|
+
}
|
|
1075
1157
|
}
|
|
1076
1158
|
return MAINNET;
|
|
1077
1159
|
} else if (provider === OYL) {
|
|
@@ -1085,12 +1167,32 @@ var LaserEyesProvider = ({
|
|
|
1085
1167
|
}
|
|
1086
1168
|
return MAINNET;
|
|
1087
1169
|
} else if (provider === OKX) {
|
|
1170
|
+
if (address2.slice(0, 1) === "t") {
|
|
1171
|
+
if (network === TESTNET) {
|
|
1172
|
+
return TESTNET;
|
|
1173
|
+
} else if (network === TESTNET4) {
|
|
1174
|
+
return TESTNET4;
|
|
1175
|
+
} else if (network === SIGNET) {
|
|
1176
|
+
return SIGNET;
|
|
1177
|
+
} else if (network === FRACTAL_TESTNET) {
|
|
1178
|
+
return FRACTAL_TESTNET;
|
|
1179
|
+
}
|
|
1180
|
+
return TESTNET;
|
|
1181
|
+
}
|
|
1088
1182
|
const okxNetwork = yield library == null ? void 0 : library.getNetwork();
|
|
1089
1183
|
const foundNetwork = getNetworkForOkx(okxNetwork);
|
|
1090
1184
|
setNetwork(foundNetwork);
|
|
1091
1185
|
} else if (provider === LEATHER) {
|
|
1092
1186
|
if (address2.slice(0, 1) === "t") {
|
|
1093
|
-
|
|
1187
|
+
if (network === TESTNET) {
|
|
1188
|
+
return TESTNET;
|
|
1189
|
+
} else if (network === TESTNET4) {
|
|
1190
|
+
return TESTNET4;
|
|
1191
|
+
} else if (network === SIGNET) {
|
|
1192
|
+
return SIGNET;
|
|
1193
|
+
} else if (network === FRACTAL_TESTNET) {
|
|
1194
|
+
return FRACTAL_TESTNET;
|
|
1195
|
+
}
|
|
1094
1196
|
}
|
|
1095
1197
|
return MAINNET;
|
|
1096
1198
|
} else if (provider === PHANTOM) {
|
|
@@ -1100,28 +1202,33 @@ var LaserEyesProvider = ({
|
|
|
1100
1202
|
return MAINNET;
|
|
1101
1203
|
} else if (provider === WIZZ) {
|
|
1102
1204
|
const wizzNetwork = yield library == null ? void 0 : library.getNetwork();
|
|
1103
|
-
|
|
1104
|
-
setNetwork(foundNetwork);
|
|
1205
|
+
return getNetworkForWizz(wizzNetwork);
|
|
1105
1206
|
}
|
|
1106
|
-
return (
|
|
1207
|
+
return (_a2 = config == null ? void 0 : config.network) != null ? _a2 : MAINNET;
|
|
1107
1208
|
} catch (error) {
|
|
1108
1209
|
throw error;
|
|
1109
1210
|
}
|
|
1110
|
-
});
|
|
1211
|
+
}), [address2, provider, library]);
|
|
1111
1212
|
const switchNetwork = (network2) => __async(void 0, null, function* () {
|
|
1112
1213
|
try {
|
|
1113
1214
|
if (!library)
|
|
1114
1215
|
return;
|
|
1115
1216
|
if (provider === UNISAT) {
|
|
1116
|
-
const wantedNetwork =
|
|
1117
|
-
yield library == null ? void 0 : library.
|
|
1217
|
+
const wantedNetwork = getUnisatNetwork(network2);
|
|
1218
|
+
yield library == null ? void 0 : library.switchChain(wantedNetwork);
|
|
1118
1219
|
setNetwork(network2);
|
|
1119
1220
|
} else if (provider === WIZZ) {
|
|
1221
|
+
if (network2 === FRACTAL_TESTNET || network2 === FRACTAL_MAINNET) {
|
|
1222
|
+
return yield library.switchNetwork(WIZZ_MAINNET);
|
|
1223
|
+
}
|
|
1120
1224
|
const wantedNetwork = getNetworkForWizz(network2);
|
|
1121
1225
|
yield library == null ? void 0 : library.switchNetwork(wantedNetwork);
|
|
1122
1226
|
setNetwork(network2);
|
|
1123
1227
|
} else {
|
|
1124
|
-
|
|
1228
|
+
disconnect();
|
|
1229
|
+
throw new Error(
|
|
1230
|
+
"The connected wallet doesn't support programmatic network changes.."
|
|
1231
|
+
);
|
|
1125
1232
|
}
|
|
1126
1233
|
} catch (error) {
|
|
1127
1234
|
throw error;
|
|
@@ -1151,20 +1258,23 @@ var LaserEyesProvider = ({
|
|
|
1151
1258
|
if (!library)
|
|
1152
1259
|
return;
|
|
1153
1260
|
if (provider === UNISAT) {
|
|
1261
|
+
if (network === TESTNET) {
|
|
1262
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1263
|
+
}
|
|
1154
1264
|
return yield library.getBalance();
|
|
1155
1265
|
} else if (provider === XVERSE) {
|
|
1156
|
-
return yield getBTCBalance(paymentAddress);
|
|
1266
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1157
1267
|
} else if (provider === OYL) {
|
|
1158
1268
|
const balanceResponse = yield library.getBalance();
|
|
1159
1269
|
return balanceResponse.btc.total * 1e8;
|
|
1160
1270
|
} else if (provider === MAGIC_EDEN) {
|
|
1161
|
-
return yield getBTCBalance(paymentAddress);
|
|
1271
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1162
1272
|
} else if (provider === OKX) {
|
|
1163
|
-
return yield getBTCBalance(paymentAddress);
|
|
1273
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1164
1274
|
} else if (provider === LEATHER) {
|
|
1165
|
-
return yield getBTCBalance(paymentAddress);
|
|
1275
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1166
1276
|
} else if (provider === PHANTOM) {
|
|
1167
|
-
return yield getBTCBalance(paymentAddress);
|
|
1277
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1168
1278
|
} else if (provider === WIZZ) {
|
|
1169
1279
|
const balanceResponse = yield library.getBalance();
|
|
1170
1280
|
return balanceResponse.total * 1e8;
|
|
@@ -1193,7 +1303,7 @@ var LaserEyesProvider = ({
|
|
|
1193
1303
|
}
|
|
1194
1304
|
});
|
|
1195
1305
|
const sendBTC = (to, amount) => __async(void 0, null, function* () {
|
|
1196
|
-
var
|
|
1306
|
+
var _a2;
|
|
1197
1307
|
try {
|
|
1198
1308
|
if (amount <= 0)
|
|
1199
1309
|
throw new Error("Amount must be greater than 0");
|
|
@@ -1279,7 +1389,7 @@ var LaserEyesProvider = ({
|
|
|
1279
1389
|
}
|
|
1280
1390
|
]
|
|
1281
1391
|
});
|
|
1282
|
-
if ((
|
|
1392
|
+
if ((_a2 = response == null ? void 0 : response.result) == null ? void 0 : _a2.txid) {
|
|
1283
1393
|
return response.result.txid;
|
|
1284
1394
|
} else {
|
|
1285
1395
|
if (response.error.code === RpcErrorCode.USER_REJECTION) {
|
|
@@ -1301,7 +1411,7 @@ var LaserEyesProvider = ({
|
|
|
1301
1411
|
}
|
|
1302
1412
|
});
|
|
1303
1413
|
const signMessage = (message, toSignAddress) => __async(void 0, null, function* () {
|
|
1304
|
-
var
|
|
1414
|
+
var _a2;
|
|
1305
1415
|
try {
|
|
1306
1416
|
if (!library)
|
|
1307
1417
|
return;
|
|
@@ -1359,8 +1469,7 @@ var LaserEyesProvider = ({
|
|
|
1359
1469
|
message,
|
|
1360
1470
|
paymentType
|
|
1361
1471
|
});
|
|
1362
|
-
|
|
1363
|
-
return (_a = signed == null ? void 0 : signed.result) == null ? void 0 : _a.signature;
|
|
1472
|
+
return (_a2 = signed == null ? void 0 : signed.result) == null ? void 0 : _a2.signature;
|
|
1364
1473
|
} else if (provider === PHANTOM) {
|
|
1365
1474
|
const utf8Bytes = new TextEncoder().encode(message);
|
|
1366
1475
|
const uintArray = new Uint8Array(utf8Bytes);
|
|
@@ -1492,7 +1601,6 @@ var LaserEyesProvider = ({
|
|
|
1492
1601
|
};
|
|
1493
1602
|
} else if (provider === OYL) {
|
|
1494
1603
|
const signedPsbt = yield library == null ? void 0 : library.signPsbt(psbtHex, true, true);
|
|
1495
|
-
console.log({ signedPsbt });
|
|
1496
1604
|
const psbtSignedPsbt = bitcoin2.Psbt.fromHex(signedPsbt);
|
|
1497
1605
|
if (broadcast) {
|
|
1498
1606
|
const txId = yield pushPsbt(psbtSignedPsbt.toHex());
|
|
@@ -2516,6 +2624,7 @@ var WalletIcon = ({
|
|
|
2516
2624
|
}
|
|
2517
2625
|
};
|
|
2518
2626
|
export {
|
|
2627
|
+
FRACTAL_MAINNET,
|
|
2519
2628
|
FRACTAL_TESTNET,
|
|
2520
2629
|
LEATHER,
|
|
2521
2630
|
LEATHER_MAINNET,
|
|
@@ -2547,15 +2656,21 @@ export {
|
|
|
2547
2656
|
REGTEST,
|
|
2548
2657
|
SIGNET,
|
|
2549
2658
|
TESTNET,
|
|
2659
|
+
TESTNET4,
|
|
2550
2660
|
UNISAT,
|
|
2661
|
+
UNISAT_FRACTAL_MAINNET,
|
|
2551
2662
|
UNISAT_FRACTAL_TESTNET,
|
|
2552
2663
|
UNISAT_MAINNET,
|
|
2664
|
+
UNISAT_SIGNET,
|
|
2553
2665
|
UNISAT_TESTNET,
|
|
2666
|
+
UNISAT_TESTNET4,
|
|
2554
2667
|
UnisatLogo,
|
|
2555
2668
|
WALLETS,
|
|
2556
2669
|
WIZZ,
|
|
2557
2670
|
WIZZ_MAINNET,
|
|
2671
|
+
WIZZ_SIGNET,
|
|
2558
2672
|
WIZZ_TESTNET,
|
|
2673
|
+
WIZZ_TESTNET4,
|
|
2559
2674
|
WalletIcon,
|
|
2560
2675
|
WizzLogo,
|
|
2561
2676
|
XVERSE,
|
|
@@ -2570,6 +2685,7 @@ export {
|
|
|
2570
2685
|
estimateTxSize,
|
|
2571
2686
|
findOrdinalsAddress,
|
|
2572
2687
|
findPaymentAddress,
|
|
2688
|
+
getAddressUtxos,
|
|
2573
2689
|
getBTCBalance,
|
|
2574
2690
|
getBitcoinNetwork,
|
|
2575
2691
|
getLeatherNetwork,
|