@omnisat/lasereyes 0.0.42 → 0.0.44
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 +34 -22
- package/dist/index.js +251 -99
- package/dist/index.mjs +228 -84
- 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,15 @@ 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(
|
|
360
|
+
address2,
|
|
361
|
+
network
|
|
362
|
+
);
|
|
363
|
+
if (!utxos)
|
|
364
|
+
return 0;
|
|
365
|
+
return utxos.reduce((acc, utxo) => acc + utxo.value, 0);
|
|
325
366
|
} catch (error) {
|
|
326
367
|
console.error("Error fetching BTC balance:", error);
|
|
327
368
|
throw new Error("Failed to fetch BTC balance");
|
|
@@ -350,13 +391,33 @@ function estimateTxSize(taprootInputCount, nonTaprootInputCount, outputCount) {
|
|
|
350
391
|
const totalOutputSize = outputCount * outputSize;
|
|
351
392
|
return baseTxSize + totalInputSize + totalOutputSize;
|
|
352
393
|
}
|
|
394
|
+
function getAddressUtxos(address2, network) {
|
|
395
|
+
return __async(this, null, function* () {
|
|
396
|
+
if (address2.startsWith("t")) {
|
|
397
|
+
console.log("starts with t");
|
|
398
|
+
if (network === MAINNET) {
|
|
399
|
+
return [];
|
|
400
|
+
}
|
|
401
|
+
if (network === FRACTAL_MAINNET) {
|
|
402
|
+
return [];
|
|
403
|
+
}
|
|
404
|
+
if (network === FRACTAL_TESTNET) {
|
|
405
|
+
return [];
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
return yield axios.get(`${getMempoolSpaceUrl2(network)}/api/address/${address2}/utxo`).then((response) => response.data);
|
|
409
|
+
});
|
|
410
|
+
}
|
|
353
411
|
function createSendBtcPsbt(address2, paymentAddress, recipientAddress, amount, paymentPublicKey, network, feeRate = 7) {
|
|
354
412
|
return __async(this, null, function* () {
|
|
355
413
|
const isTaprootOnly = address2 === paymentAddress;
|
|
356
|
-
const
|
|
414
|
+
const utxos = yield getAddressUtxos(
|
|
415
|
+
paymentAddress,
|
|
357
416
|
network
|
|
358
|
-
)
|
|
359
|
-
|
|
417
|
+
);
|
|
418
|
+
if (!utxos) {
|
|
419
|
+
throw new Error("No UTXOs found");
|
|
420
|
+
}
|
|
360
421
|
const sortedUtxos = utxos.sort(
|
|
361
422
|
(a, b) => b.value - a.value
|
|
362
423
|
);
|
|
@@ -480,17 +541,17 @@ var LaserEyesProvider = ({
|
|
|
480
541
|
const [hasLeather, setHasLeather] = useState(false);
|
|
481
542
|
const [hasPhantom, setHasPhantom] = useState(false);
|
|
482
543
|
const [hasWizz, setHasWizz] = useState(false);
|
|
483
|
-
const [network, setNetwork] = useLocalStorage("network", MAINNET
|
|
484
|
-
initializeWithValue: false
|
|
485
|
-
});
|
|
544
|
+
const [network, setNetwork] = useLocalStorage("network", (config == null ? void 0 : config.network) || MAINNET);
|
|
486
545
|
useEffect(() => {
|
|
487
|
-
if (config) {
|
|
546
|
+
if (config && config.network) {
|
|
488
547
|
setNetwork(config.network);
|
|
489
548
|
getNetwork().then((foundNetwork) => {
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
549
|
+
try {
|
|
550
|
+
if (config.network !== foundNetwork) {
|
|
551
|
+
switchNetwork(network);
|
|
552
|
+
}
|
|
553
|
+
} catch (e) {
|
|
554
|
+
disconnect();
|
|
494
555
|
}
|
|
495
556
|
});
|
|
496
557
|
}
|
|
@@ -557,9 +618,9 @@ var LaserEyesProvider = ({
|
|
|
557
618
|
const observer = new MutationObserver(() => {
|
|
558
619
|
var _a, _b;
|
|
559
620
|
let foundOkx;
|
|
560
|
-
if (network === TESTNET || network === FRACTAL_TESTNET) {
|
|
621
|
+
if (network === TESTNET || network === TESTNET4 || network === SIGNET || network === FRACTAL_TESTNET) {
|
|
561
622
|
foundOkx = (_a = window == null ? void 0 : window.okxwallet) == null ? void 0 : _a.bitcoinTestnet;
|
|
562
|
-
} else if (network === MAINNET) {
|
|
623
|
+
} else if (network === MAINNET || network === FRACTAL_MAINNET) {
|
|
563
624
|
foundOkx = (_b = window == null ? void 0 : window.okxwallet) == null ? void 0 : _b.bitcoin;
|
|
564
625
|
}
|
|
565
626
|
if (foundOkx) {
|
|
@@ -665,13 +726,20 @@ var LaserEyesProvider = ({
|
|
|
665
726
|
const unisatPubKey = yield lib.getPublicKey();
|
|
666
727
|
if (!unisatPubKey)
|
|
667
728
|
throw new Error("No public key found");
|
|
668
|
-
const foundNetwork = yield getNetwork();
|
|
669
729
|
setAccounts(unisatAccounts);
|
|
670
730
|
setAddress(unisatAccounts[0]);
|
|
671
731
|
setPaymentAddress(unisatAccounts[0]);
|
|
672
732
|
setPublicKey(unisatPubKey);
|
|
673
733
|
setPaymentPublicKey(unisatPubKey);
|
|
674
734
|
setLibrary(lib);
|
|
735
|
+
yield getNetwork().then((network2) => {
|
|
736
|
+
if (config.network !== network2) {
|
|
737
|
+
switchNetwork(network2);
|
|
738
|
+
}
|
|
739
|
+
});
|
|
740
|
+
getBTCBalance(unisatAccounts[0], network).then((totalBalance) => {
|
|
741
|
+
setBalance(totalBalance);
|
|
742
|
+
});
|
|
675
743
|
setProvider(UNISAT);
|
|
676
744
|
setConnected(true);
|
|
677
745
|
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
@@ -679,7 +747,7 @@ var LaserEyesProvider = ({
|
|
|
679
747
|
} catch (error) {
|
|
680
748
|
throw error;
|
|
681
749
|
}
|
|
682
|
-
}), [hasUnisat]);
|
|
750
|
+
}), [hasUnisat, network]);
|
|
683
751
|
const connectXverse = useCallback(() => __async(void 0, null, function* () {
|
|
684
752
|
try {
|
|
685
753
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, XVERSE);
|
|
@@ -703,9 +771,11 @@ var LaserEyesProvider = ({
|
|
|
703
771
|
setProvider(XVERSE);
|
|
704
772
|
setLibrary(window.BitcoinProvider);
|
|
705
773
|
}
|
|
706
|
-
getBTCBalance(foundPaymentAddress.address).then(
|
|
707
|
-
|
|
708
|
-
|
|
774
|
+
getBTCBalance(foundPaymentAddress.address, network).then(
|
|
775
|
+
(totalBalance) => {
|
|
776
|
+
setBalance(totalBalance);
|
|
777
|
+
}
|
|
778
|
+
);
|
|
709
779
|
},
|
|
710
780
|
onCancel: () => {
|
|
711
781
|
throw new Error(`User canceled lasereyes to ${XVERSE} wallet`);
|
|
@@ -734,7 +804,7 @@ var LaserEyesProvider = ({
|
|
|
734
804
|
setProvider(OYL);
|
|
735
805
|
handleAccountsChanged(result);
|
|
736
806
|
setConnected(true);
|
|
737
|
-
getBTCBalance(result[1]).then((totalBalance) => {
|
|
807
|
+
getBTCBalance(result[1], network).then((totalBalance) => {
|
|
738
808
|
setBalance(totalBalance);
|
|
739
809
|
});
|
|
740
810
|
} catch (error) {
|
|
@@ -767,9 +837,11 @@ var LaserEyesProvider = ({
|
|
|
767
837
|
setProvider(MAGIC_EDEN);
|
|
768
838
|
setLibrary(window.magicEden.bitcoin);
|
|
769
839
|
}
|
|
770
|
-
getBTCBalance(foundPaymentAddress.address).then(
|
|
771
|
-
|
|
772
|
-
|
|
840
|
+
getBTCBalance(foundPaymentAddress.address, network).then(
|
|
841
|
+
(totalBalance) => {
|
|
842
|
+
setBalance(totalBalance);
|
|
843
|
+
}
|
|
844
|
+
);
|
|
773
845
|
},
|
|
774
846
|
onCancel: () => {
|
|
775
847
|
throw new Error(`User canceled lasereyes to ${MAGIC_EDEN} wallet`);
|
|
@@ -778,7 +850,6 @@ var LaserEyesProvider = ({
|
|
|
778
850
|
throw new Error(`Can't lasereyes to ${MAGIC_EDEN} wallet`);
|
|
779
851
|
}
|
|
780
852
|
};
|
|
781
|
-
console.log(JSON.stringify(getAddressOptions));
|
|
782
853
|
yield getAddress(getAddressOptions);
|
|
783
854
|
setConnected(true);
|
|
784
855
|
} catch (error) {
|
|
@@ -786,31 +857,38 @@ var LaserEyesProvider = ({
|
|
|
786
857
|
throw error;
|
|
787
858
|
}
|
|
788
859
|
});
|
|
789
|
-
const connectOkx = () => __async(void 0, null, function* () {
|
|
860
|
+
const connectOkx = useCallback(() => __async(void 0, null, function* () {
|
|
861
|
+
var _a;
|
|
790
862
|
try {
|
|
791
863
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, OKX);
|
|
792
|
-
|
|
793
|
-
const
|
|
864
|
+
console.log("connecting", network);
|
|
865
|
+
const lib = network === TESTNET || network === TESTNET4 || network === FRACTAL_TESTNET ? window.okxwallet.bitcoinTestnet : network === SIGNET ? window.okxwallet.bitcoinSignet : window.okxwallet.bitcoin;
|
|
866
|
+
const okxAccounts = yield lib.connect();
|
|
794
867
|
if (!okxAccounts)
|
|
795
868
|
throw new Error("No accounts found");
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
869
|
+
setAccounts([okxAccounts]);
|
|
870
|
+
setAddress(okxAccounts.address);
|
|
871
|
+
if (((_a = String(okxAccounts.address)) == null ? void 0 : _a.startsWith("tb")) && network !== TESTNET && network !== TESTNET4 && network !== SIGNET) {
|
|
872
|
+
console.log("err");
|
|
873
|
+
throw new Error(
|
|
874
|
+
`Please switch networks to ${network} in the wallet settings.`
|
|
875
|
+
);
|
|
876
|
+
}
|
|
877
|
+
setPaymentAddress(okxAccounts.address);
|
|
878
|
+
setPublicKey(okxAccounts.publicKey);
|
|
879
|
+
setPaymentPublicKey(okxAccounts.publicKey);
|
|
804
880
|
setLibrary(lib);
|
|
805
881
|
setProvider(OKX);
|
|
806
882
|
setConnected(true);
|
|
807
883
|
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
808
884
|
setBalance(balance2 == null ? void 0 : balance2.total);
|
|
809
885
|
} catch (error) {
|
|
886
|
+
console.log("error", error);
|
|
810
887
|
throw error;
|
|
811
888
|
}
|
|
812
|
-
});
|
|
889
|
+
}), [hasOkx, network]);
|
|
813
890
|
const connectLeather = useCallback(() => __async(void 0, null, function* () {
|
|
891
|
+
var _a;
|
|
814
892
|
try {
|
|
815
893
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, LEATHER);
|
|
816
894
|
const lib = window.LeatherProvider;
|
|
@@ -828,6 +906,11 @@ var LaserEyesProvider = ({
|
|
|
828
906
|
const segwitAddress = addresses.find(
|
|
829
907
|
(address3) => address3.type === P2WPKH
|
|
830
908
|
);
|
|
909
|
+
if (((_a = String(taprootAddress == null ? void 0 : taprootAddress.address)) == null ? void 0 : _a.startsWith("tb")) && network !== TESTNET && network !== TESTNET4 && network !== SIGNET) {
|
|
910
|
+
throw new Error(
|
|
911
|
+
`Please switch networks to ${network} in the wallet settings.`
|
|
912
|
+
);
|
|
913
|
+
}
|
|
831
914
|
setAccounts(leatherAccountsParsed);
|
|
832
915
|
setAddress(String(taprootAddress == null ? void 0 : taprootAddress.address));
|
|
833
916
|
setPublicKey(String(taprootAddress == null ? void 0 : taprootAddress.publicKey));
|
|
@@ -835,20 +918,18 @@ var LaserEyesProvider = ({
|
|
|
835
918
|
setPaymentPublicKey(String(segwitAddress == null ? void 0 : segwitAddress.publicKey));
|
|
836
919
|
setLibrary(lib);
|
|
837
920
|
setProvider(LEATHER);
|
|
838
|
-
const balance2 = yield getBTCBalance(
|
|
921
|
+
const balance2 = yield getBTCBalance(
|
|
922
|
+
String(segwitAddress == null ? void 0 : segwitAddress.address),
|
|
923
|
+
network
|
|
924
|
+
);
|
|
839
925
|
setBalance(balance2);
|
|
840
926
|
handleAccountsChanged(leatherAccountsParsed);
|
|
841
927
|
setConnected(true);
|
|
842
928
|
yield getNetwork().then((network2) => {
|
|
843
|
-
if (!network2) {
|
|
844
|
-
setNetwork(MAINNET);
|
|
845
|
-
} else {
|
|
846
|
-
setNetwork(network2);
|
|
847
|
-
}
|
|
848
929
|
});
|
|
849
930
|
setConnected(true);
|
|
850
931
|
} catch (error) {
|
|
851
|
-
|
|
932
|
+
throw error;
|
|
852
933
|
}
|
|
853
934
|
}), [hasLeather]);
|
|
854
935
|
const connectPhantom = () => __async(void 0, null, function* () {
|
|
@@ -872,7 +953,10 @@ var LaserEyesProvider = ({
|
|
|
872
953
|
setPaymentPublicKey(paymentAccount == null ? void 0 : paymentAccount.publicKey);
|
|
873
954
|
setLibrary(lib);
|
|
874
955
|
setProvider(PHANTOM);
|
|
875
|
-
const balance2 = yield getBTCBalance(
|
|
956
|
+
const balance2 = yield getBTCBalance(
|
|
957
|
+
String(paymentAccount == null ? void 0 : paymentAccount.address),
|
|
958
|
+
network
|
|
959
|
+
);
|
|
876
960
|
setBalance(balance2);
|
|
877
961
|
setConnected(true);
|
|
878
962
|
} catch (error) {
|
|
@@ -896,9 +980,14 @@ var LaserEyesProvider = ({
|
|
|
896
980
|
setPaymentPublicKey(wizzPubKey);
|
|
897
981
|
setLibrary(lib);
|
|
898
982
|
setProvider(WIZZ);
|
|
983
|
+
yield getNetwork().then((network2) => {
|
|
984
|
+
if (config.network !== network2) {
|
|
985
|
+
switchNetwork(network2);
|
|
986
|
+
}
|
|
987
|
+
});
|
|
988
|
+
const balance2 = yield getBTCBalance(String(wizzAccounts[0]), network);
|
|
989
|
+
setBalance(balance2);
|
|
899
990
|
setConnected(true);
|
|
900
|
-
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
901
|
-
setBalance(balance2 == null ? void 0 : balance2.total);
|
|
902
991
|
} catch (error) {
|
|
903
992
|
throw error;
|
|
904
993
|
}
|
|
@@ -916,8 +1005,14 @@ var LaserEyesProvider = ({
|
|
|
916
1005
|
yield connectOyl();
|
|
917
1006
|
} else if (walletName === MAGIC_EDEN) {
|
|
918
1007
|
yield connectMagicEden();
|
|
1008
|
+
} else if (walletName === OKX) {
|
|
1009
|
+
yield connectOkx();
|
|
919
1010
|
} else if (walletName === LEATHER) {
|
|
920
1011
|
yield connectLeather();
|
|
1012
|
+
} else if (walletName === PHANTOM) {
|
|
1013
|
+
yield connectPhantom();
|
|
1014
|
+
} else if (walletName === WIZZ) {
|
|
1015
|
+
yield connectWizz();
|
|
921
1016
|
} else {
|
|
922
1017
|
throw new Error("Unsupported wallet..");
|
|
923
1018
|
}
|
|
@@ -925,6 +1020,7 @@ var LaserEyesProvider = ({
|
|
|
925
1020
|
} catch (error) {
|
|
926
1021
|
setIsConnecting(false);
|
|
927
1022
|
disconnect();
|
|
1023
|
+
console.log("e", error == null ? void 0 : error.message);
|
|
928
1024
|
throw error;
|
|
929
1025
|
} finally {
|
|
930
1026
|
setIsConnecting(false);
|
|
@@ -961,7 +1057,7 @@ var LaserEyesProvider = ({
|
|
|
961
1057
|
};
|
|
962
1058
|
const handleNetworkChanged = (network2) => {
|
|
963
1059
|
try {
|
|
964
|
-
let foundNetwork
|
|
1060
|
+
let foundNetwork;
|
|
965
1061
|
if (provider === UNISAT) {
|
|
966
1062
|
foundNetwork = getNetworkForUnisat(network2);
|
|
967
1063
|
setNetwork(foundNetwork);
|
|
@@ -970,10 +1066,12 @@ var LaserEyesProvider = ({
|
|
|
970
1066
|
throw new Error("Not implemented");
|
|
971
1067
|
} else if (provider === WIZZ) {
|
|
972
1068
|
foundNetwork = getNetworkForWizz(network2);
|
|
973
|
-
setNetwork(foundNetwork);
|
|
974
1069
|
connect(provider);
|
|
975
1070
|
} else {
|
|
976
|
-
|
|
1071
|
+
disconnect();
|
|
1072
|
+
throw new Error(
|
|
1073
|
+
"The connected wallet doesn't support programmatic network changes.."
|
|
1074
|
+
);
|
|
977
1075
|
}
|
|
978
1076
|
} catch (error) {
|
|
979
1077
|
throw error;
|
|
@@ -982,7 +1080,7 @@ var LaserEyesProvider = ({
|
|
|
982
1080
|
const requestAccounts = () => __async(void 0, null, function* () {
|
|
983
1081
|
try {
|
|
984
1082
|
if (!library)
|
|
985
|
-
|
|
1083
|
+
throw new Error("No wallet connected");
|
|
986
1084
|
if (provider === UNISAT) {
|
|
987
1085
|
return yield library.requestAccounts();
|
|
988
1086
|
} else if (provider === XVERSE) {
|
|
@@ -1011,6 +1109,9 @@ var LaserEyesProvider = ({
|
|
|
1011
1109
|
} else if (provider === OYL) {
|
|
1012
1110
|
return yield library.requestAccounts();
|
|
1013
1111
|
} else if (provider === OKX) {
|
|
1112
|
+
if (network === TESTNET || network === TESTNET4 || network === FRACTAL_TESTNET) {
|
|
1113
|
+
return yield library.connect();
|
|
1114
|
+
}
|
|
1014
1115
|
return yield library.requestAccounts();
|
|
1015
1116
|
} else if (provider === LEATHER) {
|
|
1016
1117
|
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, LEATHER);
|
|
@@ -1036,6 +1137,11 @@ var LaserEyesProvider = ({
|
|
|
1036
1137
|
setProvider(LEATHER);
|
|
1037
1138
|
handleAccountsChanged(leatherAccountsParsed);
|
|
1038
1139
|
setConnected(true);
|
|
1140
|
+
const balance2 = yield getBTCBalance(
|
|
1141
|
+
String(segwitAddress == null ? void 0 : segwitAddress.address),
|
|
1142
|
+
network
|
|
1143
|
+
);
|
|
1144
|
+
setBalance(balance2);
|
|
1039
1145
|
yield getNetwork().then((network2) => {
|
|
1040
1146
|
if (!network2) {
|
|
1041
1147
|
setNetwork(MAINNET);
|
|
@@ -1059,19 +1165,26 @@ var LaserEyesProvider = ({
|
|
|
1059
1165
|
throw error;
|
|
1060
1166
|
}
|
|
1061
1167
|
});
|
|
1062
|
-
const getNetwork = () => __async(void 0, null, function* () {
|
|
1063
|
-
var _a;
|
|
1168
|
+
const getNetwork = useCallback(() => __async(void 0, null, function* () {
|
|
1169
|
+
var _a, _b;
|
|
1064
1170
|
try {
|
|
1065
|
-
if (!library)
|
|
1066
|
-
return;
|
|
1067
1171
|
if (provider === UNISAT) {
|
|
1068
|
-
const unisatNetwork = yield library == null ? void 0 : library.
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1172
|
+
const unisatNetwork = yield library == null ? void 0 : library.getChain();
|
|
1173
|
+
if (!unisatNetwork) {
|
|
1174
|
+
return (_a = config == null ? void 0 : config.network) != null ? _a : MAINNET;
|
|
1175
|
+
}
|
|
1176
|
+
return getNetworkForUnisat(unisatNetwork.enum);
|
|
1072
1177
|
} else if (provider === XVERSE) {
|
|
1073
1178
|
if (address2.slice(0, 1) === "t") {
|
|
1074
|
-
|
|
1179
|
+
if (network === TESTNET) {
|
|
1180
|
+
return TESTNET;
|
|
1181
|
+
} else if (network === TESTNET4) {
|
|
1182
|
+
return TESTNET4;
|
|
1183
|
+
} else if (network === SIGNET) {
|
|
1184
|
+
return SIGNET;
|
|
1185
|
+
} else if (network === FRACTAL_TESTNET) {
|
|
1186
|
+
return FRACTAL_TESTNET;
|
|
1187
|
+
}
|
|
1075
1188
|
}
|
|
1076
1189
|
return MAINNET;
|
|
1077
1190
|
} else if (provider === OYL) {
|
|
@@ -1085,12 +1198,32 @@ var LaserEyesProvider = ({
|
|
|
1085
1198
|
}
|
|
1086
1199
|
return MAINNET;
|
|
1087
1200
|
} else if (provider === OKX) {
|
|
1201
|
+
if (address2.slice(0, 1) === "t") {
|
|
1202
|
+
if (network === TESTNET) {
|
|
1203
|
+
return TESTNET;
|
|
1204
|
+
} else if (network === TESTNET4) {
|
|
1205
|
+
return TESTNET4;
|
|
1206
|
+
} else if (network === SIGNET) {
|
|
1207
|
+
return SIGNET;
|
|
1208
|
+
} else if (network === FRACTAL_TESTNET) {
|
|
1209
|
+
return FRACTAL_TESTNET;
|
|
1210
|
+
}
|
|
1211
|
+
return TESTNET;
|
|
1212
|
+
}
|
|
1088
1213
|
const okxNetwork = yield library == null ? void 0 : library.getNetwork();
|
|
1089
1214
|
const foundNetwork = getNetworkForOkx(okxNetwork);
|
|
1090
1215
|
setNetwork(foundNetwork);
|
|
1091
1216
|
} else if (provider === LEATHER) {
|
|
1092
1217
|
if (address2.slice(0, 1) === "t") {
|
|
1093
|
-
|
|
1218
|
+
if (network === TESTNET) {
|
|
1219
|
+
return TESTNET;
|
|
1220
|
+
} else if (network === TESTNET4) {
|
|
1221
|
+
return TESTNET4;
|
|
1222
|
+
} else if (network === SIGNET) {
|
|
1223
|
+
return SIGNET;
|
|
1224
|
+
} else if (network === FRACTAL_TESTNET) {
|
|
1225
|
+
return FRACTAL_TESTNET;
|
|
1226
|
+
}
|
|
1094
1227
|
}
|
|
1095
1228
|
return MAINNET;
|
|
1096
1229
|
} else if (provider === PHANTOM) {
|
|
@@ -1100,28 +1233,33 @@ var LaserEyesProvider = ({
|
|
|
1100
1233
|
return MAINNET;
|
|
1101
1234
|
} else if (provider === WIZZ) {
|
|
1102
1235
|
const wizzNetwork = yield library == null ? void 0 : library.getNetwork();
|
|
1103
|
-
|
|
1104
|
-
setNetwork(foundNetwork);
|
|
1236
|
+
return getNetworkForWizz(wizzNetwork);
|
|
1105
1237
|
}
|
|
1106
|
-
return (
|
|
1238
|
+
return (_b = config == null ? void 0 : config.network) != null ? _b : MAINNET;
|
|
1107
1239
|
} catch (error) {
|
|
1108
1240
|
throw error;
|
|
1109
1241
|
}
|
|
1110
|
-
});
|
|
1242
|
+
}), [address2, provider, library]);
|
|
1111
1243
|
const switchNetwork = (network2) => __async(void 0, null, function* () {
|
|
1112
1244
|
try {
|
|
1113
1245
|
if (!library)
|
|
1114
1246
|
return;
|
|
1115
1247
|
if (provider === UNISAT) {
|
|
1116
|
-
const wantedNetwork =
|
|
1117
|
-
yield library == null ? void 0 : library.
|
|
1248
|
+
const wantedNetwork = getUnisatNetwork(network2);
|
|
1249
|
+
yield library == null ? void 0 : library.switchChain(wantedNetwork);
|
|
1118
1250
|
setNetwork(network2);
|
|
1119
1251
|
} else if (provider === WIZZ) {
|
|
1252
|
+
if (network2 === FRACTAL_TESTNET || network2 === FRACTAL_MAINNET) {
|
|
1253
|
+
return yield library.switchNetwork(WIZZ_MAINNET);
|
|
1254
|
+
}
|
|
1120
1255
|
const wantedNetwork = getNetworkForWizz(network2);
|
|
1121
1256
|
yield library == null ? void 0 : library.switchNetwork(wantedNetwork);
|
|
1122
1257
|
setNetwork(network2);
|
|
1123
1258
|
} else {
|
|
1124
|
-
|
|
1259
|
+
disconnect();
|
|
1260
|
+
throw new Error(
|
|
1261
|
+
"The connected wallet doesn't support programmatic network changes.."
|
|
1262
|
+
);
|
|
1125
1263
|
}
|
|
1126
1264
|
} catch (error) {
|
|
1127
1265
|
throw error;
|
|
@@ -1153,18 +1291,18 @@ var LaserEyesProvider = ({
|
|
|
1153
1291
|
if (provider === UNISAT) {
|
|
1154
1292
|
return yield library.getBalance();
|
|
1155
1293
|
} else if (provider === XVERSE) {
|
|
1156
|
-
return yield getBTCBalance(paymentAddress);
|
|
1294
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1157
1295
|
} else if (provider === OYL) {
|
|
1158
1296
|
const balanceResponse = yield library.getBalance();
|
|
1159
1297
|
return balanceResponse.btc.total * 1e8;
|
|
1160
1298
|
} else if (provider === MAGIC_EDEN) {
|
|
1161
|
-
return yield getBTCBalance(paymentAddress);
|
|
1299
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1162
1300
|
} else if (provider === OKX) {
|
|
1163
|
-
return yield getBTCBalance(paymentAddress);
|
|
1301
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1164
1302
|
} else if (provider === LEATHER) {
|
|
1165
|
-
return yield getBTCBalance(paymentAddress);
|
|
1303
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1166
1304
|
} else if (provider === PHANTOM) {
|
|
1167
|
-
return yield getBTCBalance(paymentAddress);
|
|
1305
|
+
return yield getBTCBalance(paymentAddress, network);
|
|
1168
1306
|
} else if (provider === WIZZ) {
|
|
1169
1307
|
const balanceResponse = yield library.getBalance();
|
|
1170
1308
|
return balanceResponse.total * 1e8;
|
|
@@ -1359,7 +1497,6 @@ var LaserEyesProvider = ({
|
|
|
1359
1497
|
message,
|
|
1360
1498
|
paymentType
|
|
1361
1499
|
});
|
|
1362
|
-
console.log("signed", signed);
|
|
1363
1500
|
return (_a = signed == null ? void 0 : signed.result) == null ? void 0 : _a.signature;
|
|
1364
1501
|
} else if (provider === PHANTOM) {
|
|
1365
1502
|
const utf8Bytes = new TextEncoder().encode(message);
|
|
@@ -1492,7 +1629,6 @@ var LaserEyesProvider = ({
|
|
|
1492
1629
|
};
|
|
1493
1630
|
} else if (provider === OYL) {
|
|
1494
1631
|
const signedPsbt = yield library == null ? void 0 : library.signPsbt(psbtHex, true, true);
|
|
1495
|
-
console.log({ signedPsbt });
|
|
1496
1632
|
const psbtSignedPsbt = bitcoin2.Psbt.fromHex(signedPsbt);
|
|
1497
1633
|
if (broadcast) {
|
|
1498
1634
|
const txId = yield pushPsbt(psbtSignedPsbt.toHex());
|
|
@@ -2516,6 +2652,7 @@ var WalletIcon = ({
|
|
|
2516
2652
|
}
|
|
2517
2653
|
};
|
|
2518
2654
|
export {
|
|
2655
|
+
FRACTAL_MAINNET,
|
|
2519
2656
|
FRACTAL_TESTNET,
|
|
2520
2657
|
LEATHER,
|
|
2521
2658
|
LEATHER_MAINNET,
|
|
@@ -2547,15 +2684,21 @@ export {
|
|
|
2547
2684
|
REGTEST,
|
|
2548
2685
|
SIGNET,
|
|
2549
2686
|
TESTNET,
|
|
2687
|
+
TESTNET4,
|
|
2550
2688
|
UNISAT,
|
|
2689
|
+
UNISAT_FRACTAL_MAINNET,
|
|
2551
2690
|
UNISAT_FRACTAL_TESTNET,
|
|
2552
2691
|
UNISAT_MAINNET,
|
|
2692
|
+
UNISAT_SIGNET,
|
|
2553
2693
|
UNISAT_TESTNET,
|
|
2694
|
+
UNISAT_TESTNET4,
|
|
2554
2695
|
UnisatLogo,
|
|
2555
2696
|
WALLETS,
|
|
2556
2697
|
WIZZ,
|
|
2557
2698
|
WIZZ_MAINNET,
|
|
2699
|
+
WIZZ_SIGNET,
|
|
2558
2700
|
WIZZ_TESTNET,
|
|
2701
|
+
WIZZ_TESTNET4,
|
|
2559
2702
|
WalletIcon,
|
|
2560
2703
|
WizzLogo,
|
|
2561
2704
|
XVERSE,
|
|
@@ -2570,6 +2713,7 @@ export {
|
|
|
2570
2713
|
estimateTxSize,
|
|
2571
2714
|
findOrdinalsAddress,
|
|
2572
2715
|
findPaymentAddress,
|
|
2716
|
+
getAddressUtxos,
|
|
2573
2717
|
getBTCBalance,
|
|
2574
2718
|
getBitcoinNetwork,
|
|
2575
2719
|
getLeatherNetwork,
|