@omnisat/lasereyes 0.0.4 → 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/README.md +44 -70
- package/dist/index.d.ts +4 -9
- package/dist/index.js +168 -274
- package/dist/index.mjs +167 -274
- package/package.json +6 -7
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
|
|
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 =
|
|
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 = ({
|
|
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
|
|
272
|
-
const xverseLib = (
|
|
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(
|
|
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(
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
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
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
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
|
-
|
|
573
|
-
return TESTNET;
|
|
574
|
-
}
|
|
575
|
-
return MAINNET;
|
|
550
|
+
throw new Error("Not implemented");
|
|
576
551
|
} else if (provider === LEATHER) {
|
|
577
|
-
|
|
578
|
-
return TESTNET;
|
|
579
|
-
}
|
|
580
|
-
return MAINNET;
|
|
552
|
+
throw new Error("Not implemented");
|
|
581
553
|
}
|
|
582
554
|
} catch (error) {
|
|
583
|
-
|
|
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
|
-
|
|
598
|
-
} else if (provider === LEATHER) {
|
|
599
|
-
return NETWORK;
|
|
569
|
+
throw new Error("Not implemented");
|
|
600
570
|
}
|
|
601
571
|
} catch (error) {
|
|
602
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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 =
|
|
775
|
-
network:
|
|
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
|
-
|
|
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 =
|
|
738
|
+
const signedPsbt = bitcoin2.Psbt.fromBase64(
|
|
836
739
|
String(response.psbtBase64),
|
|
837
740
|
{
|
|
838
|
-
network:
|
|
741
|
+
network: getBitcoinNetwork(network)
|
|
839
742
|
}
|
|
840
743
|
);
|
|
841
|
-
|
|
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
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
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
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
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,
|