@omnisat/lasereyes 0.0.4 → 0.0.6
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 +43 -70
- package/dist/index.d.ts +4 -9
- package/dist/index.js +296 -590
- package/dist/index.mjs +285 -590
- package/package.json +11 -9
package/dist/index.mjs
CHANGED
|
@@ -34,22 +34,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
34
34
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
35
35
|
});
|
|
36
36
|
};
|
|
37
|
-
var __forAwait = (obj, it, method) => {
|
|
38
|
-
it = obj[Symbol.asyncIterator];
|
|
39
|
-
method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((resolve, reject, done) => {
|
|
40
|
-
arg = fn.call(obj, arg);
|
|
41
|
-
done = arg.done;
|
|
42
|
-
return Promise.resolve(arg.value).then((value) => resolve({ value, done }), reject);
|
|
43
|
-
}));
|
|
44
|
-
return it ? it.call(obj) : (obj = obj[Symbol.iterator](), it = {}, method("next"), method("return"), it);
|
|
45
|
-
};
|
|
46
37
|
|
|
47
|
-
// src/consts/
|
|
48
|
-
var OYL = "oyl";
|
|
49
|
-
var UNISAT = "unisat";
|
|
50
|
-
var XVERSE = "xverse";
|
|
51
|
-
var PHANTOM = "phantom";
|
|
52
|
-
var LEATHER = "leather";
|
|
38
|
+
// src/consts/networks.ts
|
|
53
39
|
var XVERSE_NETWORK = "Mainnet";
|
|
54
40
|
var UNISAT_MAINNET = "livenet";
|
|
55
41
|
var UNISAT_TESTNET = "testnet";
|
|
@@ -59,6 +45,7 @@ var LEATHER_MAINNET = "mainnet";
|
|
|
59
45
|
var LEATHER_TESTNET = "testnet";
|
|
60
46
|
var MAINNET = "mainnet";
|
|
61
47
|
var TESTNET = "testnet";
|
|
48
|
+
var REGTEST = "regtest";
|
|
62
49
|
var getXverseNetwork = (network) => {
|
|
63
50
|
if (network === MAINNET)
|
|
64
51
|
return XVERSE_MAINNET;
|
|
@@ -101,6 +88,16 @@ var getNetworkForLeather = (network) => {
|
|
|
101
88
|
return TESTNET;
|
|
102
89
|
return MAINNET;
|
|
103
90
|
};
|
|
91
|
+
var MEMPOOL_SPACE_URL = "https://mempool.space";
|
|
92
|
+
var MEMPOOL_SPACE_TESTNET_URL = "https://mempool.space/testnet";
|
|
93
|
+
var getMempoolSpaceUrl = (network) => network === TESTNET ? MEMPOOL_SPACE_TESTNET_URL : MEMPOOL_SPACE_URL;
|
|
94
|
+
|
|
95
|
+
// src/consts/wallets.ts
|
|
96
|
+
var OYL = "oyl";
|
|
97
|
+
var UNISAT = "unisat";
|
|
98
|
+
var XVERSE = "xverse";
|
|
99
|
+
var PHANTOM = "phantom";
|
|
100
|
+
var LEATHER = "leather";
|
|
104
101
|
var P2TR = "p2tr";
|
|
105
102
|
var P2PKH = "p2pkh";
|
|
106
103
|
var P2WPKH = "p2wpkh";
|
|
@@ -150,17 +147,10 @@ import {
|
|
|
150
147
|
useRef,
|
|
151
148
|
useState
|
|
152
149
|
} from "react";
|
|
153
|
-
import * as
|
|
154
|
-
import { getAddress, signTransaction } from "sats-connect";
|
|
150
|
+
import * as bitcoin2 from "bitcoinjs-lib";
|
|
155
151
|
|
|
156
152
|
// src/consts/settings.ts
|
|
157
153
|
var LOCAL_STORAGE_DEFAULT_WALLET = "defaultWallet";
|
|
158
|
-
var NETWORK = TESTNET;
|
|
159
|
-
|
|
160
|
-
// src/providers/LaserEyesProvider.tsx
|
|
161
|
-
import { fromOutputScript } from "bitcoinjs-lib/src/address";
|
|
162
|
-
import { useLocalStorage } from "usehooks-ts";
|
|
163
|
-
import { jsx } from "react/jsx-runtime";
|
|
164
154
|
var initialWalletContext = {
|
|
165
155
|
hasOyl: false,
|
|
166
156
|
hasUnisat: false,
|
|
@@ -169,29 +159,14 @@ var initialWalletContext = {
|
|
|
169
159
|
connected: false,
|
|
170
160
|
isConnecting: false,
|
|
171
161
|
publicKey: "",
|
|
172
|
-
// Empty string as the public key is unknown
|
|
173
162
|
address: "",
|
|
174
|
-
// Empty string as the address is unknown
|
|
175
163
|
paymentAddress: "",
|
|
176
|
-
// Empty string as the address is unknown
|
|
177
164
|
paymentPublicKey: "",
|
|
178
|
-
balance:
|
|
179
|
-
|
|
180
|
-
// Initial confirmed balance is zero
|
|
181
|
-
unconfirmed: 0,
|
|
182
|
-
// Initial unconfirmed balance is zero
|
|
183
|
-
total: 0
|
|
184
|
-
// Initial total balance is zero
|
|
185
|
-
},
|
|
186
|
-
network: "",
|
|
187
|
-
// Empty string as the network is unknown
|
|
165
|
+
balance: void 0,
|
|
166
|
+
network: MAINNET,
|
|
188
167
|
library: null,
|
|
189
|
-
// Initial library is null, assuming it will be an object once initialized
|
|
190
168
|
provider: null,
|
|
191
|
-
// Initial provider is null, assuming it will be an object once initialized
|
|
192
169
|
accounts: [],
|
|
193
|
-
// Initially, there are no accounts
|
|
194
|
-
// Placeholder functions for wallet operations. These should be replaced with actual implementations.
|
|
195
170
|
connect: (walletName) => __async(void 0, null, function* () {
|
|
196
171
|
}),
|
|
197
172
|
disconnect: () => {
|
|
@@ -200,10 +175,9 @@ var initialWalletContext = {
|
|
|
200
175
|
return [];
|
|
201
176
|
}),
|
|
202
177
|
getNetwork: () => __async(void 0, null, function* () {
|
|
203
|
-
return
|
|
178
|
+
return MAINNET;
|
|
204
179
|
}),
|
|
205
180
|
switchNetwork: (network) => __async(void 0, null, function* () {
|
|
206
|
-
return "";
|
|
207
181
|
}),
|
|
208
182
|
getPublicKey: () => __async(void 0, null, function* () {
|
|
209
183
|
return "";
|
|
@@ -212,34 +186,90 @@ var initialWalletContext = {
|
|
|
212
186
|
return "";
|
|
213
187
|
}),
|
|
214
188
|
getInscriptions: () => __async(void 0, null, function* () {
|
|
215
|
-
|
|
216
|
-
getAllBRC20Tokens: () => __async(void 0, null, function* () {
|
|
189
|
+
return [];
|
|
217
190
|
}),
|
|
218
191
|
sendBTC: (to, amount) => __async(void 0, null, function* () {
|
|
219
192
|
return "";
|
|
220
193
|
}),
|
|
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
194
|
signMessage: (message) => __async(void 0, null, function* () {
|
|
228
195
|
return "";
|
|
229
196
|
}),
|
|
230
197
|
signPsbt: (tx) => __async(void 0, null, function* () {
|
|
231
|
-
return
|
|
198
|
+
return {
|
|
199
|
+
signedPsbtHex: "",
|
|
200
|
+
signedPsbtBase64: "",
|
|
201
|
+
txId: ""
|
|
202
|
+
};
|
|
232
203
|
}),
|
|
233
204
|
pushPsbt: (tx) => __async(void 0, null, function* () {
|
|
234
205
|
return "";
|
|
235
206
|
})
|
|
236
|
-
// signPsbts: async () => { /* Implementation */ },
|
|
237
207
|
};
|
|
208
|
+
|
|
209
|
+
// src/providers/LaserEyesProvider.tsx
|
|
210
|
+
import { useLocalStorage } from "usehooks-ts";
|
|
211
|
+
|
|
212
|
+
// src/lib/helpers.ts
|
|
213
|
+
import * as bitcoin from "bitcoinjs-lib";
|
|
214
|
+
import axios from "axios";
|
|
215
|
+
var getBitcoinNetwork = (network) => {
|
|
216
|
+
if (network === TESTNET) {
|
|
217
|
+
return bitcoin.networks.testnet;
|
|
218
|
+
} else if (network === REGTEST) {
|
|
219
|
+
return bitcoin.networks.regtest;
|
|
220
|
+
} else {
|
|
221
|
+
return bitcoin.networks.bitcoin;
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
var findOrdinalsAddress = (addresses) => {
|
|
225
|
+
return addresses.find(
|
|
226
|
+
({ purpose }) => purpose === "ordinals"
|
|
227
|
+
);
|
|
228
|
+
};
|
|
229
|
+
var findPaymentAddress = (addresses) => {
|
|
230
|
+
return addresses.find(
|
|
231
|
+
({ purpose }) => purpose === "payment"
|
|
232
|
+
);
|
|
233
|
+
};
|
|
234
|
+
var getBTCBalance = (address) => __async(void 0, null, function* () {
|
|
235
|
+
try {
|
|
236
|
+
return yield axios.get(`https://blockchain.info/q/addressbalance/${address}`).then((response) => response.data);
|
|
237
|
+
} catch (error) {
|
|
238
|
+
console.error("Error fetching BTC balance:", error);
|
|
239
|
+
throw new Error("Failed to fetch BTC balance");
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
var satoshisToBTC = (satoshis) => {
|
|
243
|
+
if (Number.isNaN(satoshis) || satoshis === void 0)
|
|
244
|
+
return "--";
|
|
245
|
+
const btcValue = satoshis / 1e8;
|
|
246
|
+
return btcValue.toFixed(8);
|
|
247
|
+
};
|
|
248
|
+
var isBase64 = (str) => {
|
|
249
|
+
const base64Regex = /^(?:[A-Za-z0-9+\/]{4})*?(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/;
|
|
250
|
+
return base64Regex.test(str);
|
|
251
|
+
};
|
|
252
|
+
var isHex = (str) => {
|
|
253
|
+
const hexRegex = /^[a-fA-F0-9]+$/;
|
|
254
|
+
return hexRegex.test(str);
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
// src/providers/LaserEyesProvider.tsx
|
|
258
|
+
import { jsx } from "react/jsx-runtime";
|
|
238
259
|
var LaserEyesContext = createContext(initialWalletContext);
|
|
239
260
|
var useLaserEyes = () => {
|
|
240
261
|
return useContext(LaserEyesContext);
|
|
241
262
|
};
|
|
242
|
-
var LaserEyesProvider = ({
|
|
263
|
+
var LaserEyesProvider = ({
|
|
264
|
+
children,
|
|
265
|
+
config
|
|
266
|
+
}) => {
|
|
267
|
+
const selfRef = useRef({
|
|
268
|
+
accounts: []
|
|
269
|
+
});
|
|
270
|
+
const self = selfRef.current;
|
|
271
|
+
const [library, setLibrary] = useState(null);
|
|
272
|
+
const [provider, setProvider] = useState();
|
|
243
273
|
const [connected, setConnected] = useState(false);
|
|
244
274
|
const [isConnecting, setIsConnecting] = useState(false);
|
|
245
275
|
const [accounts, setAccounts] = useState([]);
|
|
@@ -247,158 +277,30 @@ var LaserEyesProvider = ({ children }) => {
|
|
|
247
277
|
const [paymentPublicKey, setPaymentPublicKey] = useState("");
|
|
248
278
|
const [address, setAddress] = useState("");
|
|
249
279
|
const [paymentAddress, setPaymentAddress] = useState("");
|
|
250
|
-
const [balance, setBalance] = useState(
|
|
251
|
-
confirmed: 0,
|
|
252
|
-
unconfirmed: 0,
|
|
253
|
-
total: 0
|
|
254
|
-
});
|
|
255
|
-
const [network, setNetwork] = useLocalStorage("network", NETWORK);
|
|
256
|
-
const [library, setLibrary] = useState(null);
|
|
257
|
-
const [provider, setProvider] = useState("");
|
|
258
|
-
const [hasOyl, setHasOyl] = useState(false);
|
|
280
|
+
const [balance, setBalance] = useState();
|
|
259
281
|
const [hasUnisat, setHasUnisat] = useState(false);
|
|
260
|
-
const [
|
|
261
|
-
|
|
282
|
+
const [network, setNetwork] = useLocalStorage("network", MAINNET, {
|
|
283
|
+
initializeWithValue: false
|
|
284
|
+
});
|
|
262
285
|
useEffect(() => {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
286
|
+
if (config) {
|
|
287
|
+
setNetwork(config.network);
|
|
288
|
+
getNetwork().then((foundNetwork) => {
|
|
289
|
+
if (config.network !== foundNetwork) {
|
|
290
|
+
switchNetwork(network);
|
|
291
|
+
} else if (network !== foundNetwork) {
|
|
292
|
+
setNetwork(network);
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}, [config, library]);
|
|
266
297
|
useEffect(() => {
|
|
267
298
|
const unisatLib = window == null ? void 0 : window.unisat;
|
|
268
299
|
setHasUnisat(!!unisatLib);
|
|
269
300
|
}, []);
|
|
270
301
|
useEffect(() => {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
setHasXverse(!!xverseLib);
|
|
274
|
-
}, []);
|
|
275
|
-
useEffect(() => {
|
|
276
|
-
const leatherLib = window == null ? void 0 : window.LeatherProvider;
|
|
277
|
-
setHasLeather(!!leatherLib);
|
|
278
|
-
}, []);
|
|
279
|
-
const selfRef = useRef({
|
|
280
|
-
accounts: []
|
|
281
|
-
});
|
|
282
|
-
const self = selfRef.current;
|
|
283
|
-
const connectOyl = () => __async(void 0, null, function* () {
|
|
284
|
-
try {
|
|
285
|
-
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, OYL);
|
|
286
|
-
const lib = window.oyl;
|
|
287
|
-
const result = yield lib.requestAccounts();
|
|
288
|
-
setAccounts(result);
|
|
289
|
-
setAddress(result[0]);
|
|
290
|
-
setPaymentAddress(result[0]);
|
|
291
|
-
setLibrary(lib);
|
|
292
|
-
setProvider(OYL);
|
|
293
|
-
handleAccountsChanged(result);
|
|
294
|
-
setConnected(true);
|
|
295
|
-
} catch (error) {
|
|
296
|
-
new Error("Can't lasereyes to wallet");
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
const connectUnisat = () => __async(void 0, null, function* () {
|
|
300
|
-
try {
|
|
301
|
-
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, UNISAT);
|
|
302
|
-
const lib = window.unisat;
|
|
303
|
-
const result = yield lib.requestAccounts();
|
|
304
|
-
setAccounts(result);
|
|
305
|
-
setAddress(result[0]);
|
|
306
|
-
setPaymentAddress(result[0]);
|
|
307
|
-
setLibrary(lib);
|
|
308
|
-
setProvider(UNISAT);
|
|
309
|
-
handleAccountsChanged(result);
|
|
310
|
-
setConnected(true);
|
|
311
|
-
yield getNetwork().then((network2) => {
|
|
312
|
-
const foundNetwork = getNetworkForUnisat(String(network2));
|
|
313
|
-
setNetwork(foundNetwork);
|
|
314
|
-
});
|
|
315
|
-
} catch (error) {
|
|
316
|
-
new Error("Can't lasereyes to wallet");
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
const connectXverse = () => __async(void 0, null, function* () {
|
|
320
|
-
try {
|
|
321
|
-
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, XVERSE);
|
|
322
|
-
let xverseNetwork = getXverseNetwork(NETWORK);
|
|
323
|
-
const getAddressOptions = {
|
|
324
|
-
payload: {
|
|
325
|
-
purposes: ["ordinals", "payment"],
|
|
326
|
-
message: "Address for receiving Ordinals and payments",
|
|
327
|
-
network: {
|
|
328
|
-
type: xverseNetwork
|
|
329
|
-
}
|
|
330
|
-
},
|
|
331
|
-
onFinish: (response) => {
|
|
332
|
-
setPublicKey(String(response.addresses[0].publicKey));
|
|
333
|
-
setPaymentPublicKey(String(response.addresses[1].publicKey));
|
|
334
|
-
const foundAddress = findOrdinalsAddress(response.addresses);
|
|
335
|
-
const foundPaymentAddress = findPaymentAddress(response.addresses);
|
|
336
|
-
if (foundAddress && foundPaymentAddress) {
|
|
337
|
-
setAddress(foundAddress.address);
|
|
338
|
-
setPaymentAddress(foundPaymentAddress.address);
|
|
339
|
-
setProvider(XVERSE);
|
|
340
|
-
setLibrary(window.BitcoinProvider);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
};
|
|
344
|
-
yield getAddress(getAddressOptions);
|
|
345
|
-
setConnected(true);
|
|
346
|
-
} catch (error) {
|
|
347
|
-
new Error(`Can't lasereyes to ${XVERSE} wallet`);
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
const connectLeather = () => __async(void 0, null, function* () {
|
|
351
|
-
try {
|
|
352
|
-
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, LEATHER);
|
|
353
|
-
const lib = window.LeatherProvider;
|
|
354
|
-
const getAddressesResponse = yield lib.request(
|
|
355
|
-
"getAddresses"
|
|
356
|
-
);
|
|
357
|
-
const addressesResponse = getAddressesResponse.result;
|
|
358
|
-
const addresses = addressesResponse.addresses;
|
|
359
|
-
const leatherAccountsParsed = addresses.map(
|
|
360
|
-
(address2) => address2.address
|
|
361
|
-
);
|
|
362
|
-
const taprootAddress = addresses.find(
|
|
363
|
-
(address2) => address2.type === P2TR
|
|
364
|
-
);
|
|
365
|
-
const segwitAddress = addresses.find(
|
|
366
|
-
(address2) => address2.type === P2WPKH
|
|
367
|
-
);
|
|
368
|
-
setAccounts(leatherAccountsParsed);
|
|
369
|
-
setAddress(String(taprootAddress == null ? void 0 : taprootAddress.address));
|
|
370
|
-
setPaymentAddress(String(segwitAddress == null ? void 0 : segwitAddress.address));
|
|
371
|
-
setLibrary(lib);
|
|
372
|
-
setProvider(LEATHER);
|
|
373
|
-
handleAccountsChanged(leatherAccountsParsed);
|
|
374
|
-
setConnected(true);
|
|
375
|
-
yield getNetwork().then((network2) => {
|
|
376
|
-
if (!network2) {
|
|
377
|
-
setNetwork(MAINNET);
|
|
378
|
-
} else {
|
|
379
|
-
setNetwork(network2);
|
|
380
|
-
}
|
|
381
|
-
});
|
|
382
|
-
setConnected(true);
|
|
383
|
-
} catch (error) {
|
|
384
|
-
new Error(`Can't lasereyes to ${LEATHER} wallet`);
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
const handleAccountsChanged = (_accounts) => {
|
|
388
|
-
if (self.accounts[0] === _accounts[0]) {
|
|
389
|
-
return;
|
|
390
|
-
}
|
|
391
|
-
self.accounts = _accounts;
|
|
392
|
-
if (_accounts.length > 0) {
|
|
393
|
-
setAccounts(_accounts);
|
|
394
|
-
setConnected(true);
|
|
395
|
-
setAddress(_accounts[0]);
|
|
396
|
-
setPaymentAddress(_accounts[0]);
|
|
397
|
-
getBasicInfo();
|
|
398
|
-
} else {
|
|
399
|
-
setConnected(false);
|
|
400
|
-
}
|
|
401
|
-
};
|
|
302
|
+
setBalance(void 0);
|
|
303
|
+
}, [network]);
|
|
402
304
|
useEffect(() => {
|
|
403
305
|
if (provider !== UNISAT) {
|
|
404
306
|
return;
|
|
@@ -417,11 +319,50 @@ var LaserEyesProvider = ({ children }) => {
|
|
|
417
319
|
const defaultWallet = localStorage == null ? void 0 : localStorage.getItem(
|
|
418
320
|
LOCAL_STORAGE_DEFAULT_WALLET
|
|
419
321
|
);
|
|
420
|
-
if (defaultWallet) {
|
|
322
|
+
if (defaultWallet && !isConnecting) {
|
|
421
323
|
setProvider(defaultWallet);
|
|
422
324
|
connect(defaultWallet);
|
|
423
325
|
}
|
|
424
326
|
}, []);
|
|
327
|
+
const connectUnisat = () => __async(void 0, null, function* () {
|
|
328
|
+
try {
|
|
329
|
+
localStorage == null ? void 0 : localStorage.setItem(LOCAL_STORAGE_DEFAULT_WALLET, UNISAT);
|
|
330
|
+
const lib = window.unisat;
|
|
331
|
+
const unisatAccounts = yield lib.requestAccounts();
|
|
332
|
+
if (!unisatAccounts)
|
|
333
|
+
throw new Error("No accounts found");
|
|
334
|
+
const unisatPubKey = yield lib.getPublicKey();
|
|
335
|
+
if (!unisatPubKey)
|
|
336
|
+
throw new Error("No public key found");
|
|
337
|
+
setAccounts(unisatAccounts);
|
|
338
|
+
setAddress(unisatAccounts[0]);
|
|
339
|
+
setPaymentAddress(unisatAccounts[0]);
|
|
340
|
+
setPublicKey(unisatPubKey);
|
|
341
|
+
setPaymentPublicKey(unisatPubKey);
|
|
342
|
+
setLibrary(lib);
|
|
343
|
+
setProvider(UNISAT);
|
|
344
|
+
setConnected(true);
|
|
345
|
+
const balance2 = yield lib == null ? void 0 : lib.getBalance();
|
|
346
|
+
setBalance(balance2 == null ? void 0 : balance2.total);
|
|
347
|
+
} catch (error) {
|
|
348
|
+
throw new Error(`Can't lasereyes to ${UNISAT} wallet`);
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
const handleAccountsChanged = (_accounts) => {
|
|
352
|
+
if (!_accounts.length) {
|
|
353
|
+
disconnect();
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
if (self.accounts[0] === _accounts[0]) {
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
self.accounts = _accounts;
|
|
360
|
+
if (_accounts.length > 0) {
|
|
361
|
+
connect(UNISAT);
|
|
362
|
+
} else {
|
|
363
|
+
setConnected(false);
|
|
364
|
+
}
|
|
365
|
+
};
|
|
425
366
|
const getBasicInfo = () => __async(void 0, null, function* () {
|
|
426
367
|
if (provider !== UNISAT)
|
|
427
368
|
return;
|
|
@@ -431,511 +372,254 @@ var LaserEyesProvider = ({ children }) => {
|
|
|
431
372
|
setBalance(balance2);
|
|
432
373
|
const network2 = yield library == null ? void 0 : library.getNetwork();
|
|
433
374
|
if (network2) {
|
|
434
|
-
|
|
375
|
+
const foundNetwork = getNetworkForUnisat(String(network2));
|
|
376
|
+
setNetwork(foundNetwork);
|
|
435
377
|
}
|
|
436
378
|
});
|
|
437
379
|
const handleNetworkChanged = (network2) => {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
380
|
+
try {
|
|
381
|
+
let foundNetwork = MAINNET;
|
|
382
|
+
if (provider === UNISAT) {
|
|
383
|
+
foundNetwork = getNetworkForUnisat(network2);
|
|
384
|
+
setNetwork(foundNetwork);
|
|
385
|
+
connect(provider);
|
|
386
|
+
} else {
|
|
387
|
+
throw new Error("Unsupported wallet");
|
|
388
|
+
}
|
|
389
|
+
} catch (error) {
|
|
390
|
+
throw error;
|
|
447
391
|
}
|
|
448
|
-
setNetwork(foundNetwork);
|
|
449
|
-
getBasicInfo();
|
|
450
|
-
};
|
|
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
392
|
};
|
|
461
393
|
const connect = (walletName) => __async(void 0, null, function* () {
|
|
462
394
|
setIsConnecting(true);
|
|
463
395
|
try {
|
|
464
396
|
if (!walletName)
|
|
465
|
-
new Error("No wallet provided");
|
|
466
|
-
if (walletName ===
|
|
467
|
-
yield connectOyl();
|
|
468
|
-
} else if (walletName === UNISAT) {
|
|
397
|
+
throw new Error("No wallet provided");
|
|
398
|
+
if (walletName === UNISAT) {
|
|
469
399
|
yield connectUnisat();
|
|
470
|
-
} else if (walletName === XVERSE) {
|
|
471
|
-
yield connectXverse();
|
|
472
|
-
} else if (walletName === LEATHER) {
|
|
473
|
-
yield connectLeather();
|
|
474
400
|
} else {
|
|
475
|
-
new Error("
|
|
401
|
+
throw new Error("Unsupported wallet!");
|
|
476
402
|
}
|
|
477
403
|
setConnected(true);
|
|
478
404
|
} catch (error) {
|
|
479
|
-
|
|
405
|
+
setIsConnecting(false);
|
|
480
406
|
disconnect();
|
|
481
|
-
new Error("Can't lasereyes to wallet");
|
|
407
|
+
throw new Error("Can't lasereyes to wallet");
|
|
482
408
|
} finally {
|
|
483
409
|
setIsConnecting(false);
|
|
484
410
|
}
|
|
485
411
|
});
|
|
486
412
|
const disconnect = () => {
|
|
487
413
|
setAddress("");
|
|
414
|
+
setPaymentAddress("");
|
|
415
|
+
setPublicKey("");
|
|
488
416
|
setAccounts([]);
|
|
489
|
-
setProvider(
|
|
417
|
+
setProvider(void 0);
|
|
490
418
|
setLibrary(null);
|
|
491
419
|
setConnected(false);
|
|
420
|
+
setBalance(void 0);
|
|
492
421
|
localStorage == null ? void 0 : localStorage.removeItem(LOCAL_STORAGE_DEFAULT_WALLET);
|
|
493
422
|
};
|
|
494
423
|
const requestAccounts = () => __async(void 0, null, function* () {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
purposes: ["ordinals", "payment"],
|
|
506
|
-
message: "Address for receiving Ordinals and payments",
|
|
507
|
-
network: {
|
|
508
|
-
type: XVERSE_NETWORK
|
|
509
|
-
}
|
|
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");
|
|
424
|
+
try {
|
|
425
|
+
if (!library)
|
|
426
|
+
return;
|
|
427
|
+
if (provider === UNISAT) {
|
|
428
|
+
return yield library.requestAccounts();
|
|
429
|
+
} else {
|
|
430
|
+
throw new Error("Unsupported wallet");
|
|
431
|
+
}
|
|
432
|
+
} catch (error) {
|
|
433
|
+
throw error;
|
|
558
434
|
}
|
|
559
435
|
});
|
|
560
436
|
const getNetwork = () => __async(void 0, null, function* () {
|
|
561
437
|
try {
|
|
562
438
|
if (!library)
|
|
563
439
|
return;
|
|
564
|
-
if (provider ===
|
|
565
|
-
new Error("Not implemented");
|
|
566
|
-
} else if (provider === UNISAT) {
|
|
440
|
+
if (provider === UNISAT) {
|
|
567
441
|
const unisatNetwork = yield library == null ? void 0 : library.getNetwork();
|
|
568
442
|
const foundNetwork = getNetworkForUnisat(unisatNetwork);
|
|
569
443
|
setNetwork(foundNetwork);
|
|
570
444
|
return foundNetwork;
|
|
571
|
-
} else
|
|
572
|
-
|
|
573
|
-
return TESTNET;
|
|
574
|
-
}
|
|
575
|
-
return MAINNET;
|
|
576
|
-
} else if (provider === LEATHER) {
|
|
577
|
-
if (address.slice(0, 1) === "t") {
|
|
578
|
-
return TESTNET;
|
|
579
|
-
}
|
|
580
|
-
return MAINNET;
|
|
445
|
+
} else {
|
|
446
|
+
throw new Error("Unsupported wallet");
|
|
581
447
|
}
|
|
582
448
|
} catch (error) {
|
|
583
|
-
|
|
449
|
+
throw error;
|
|
584
450
|
}
|
|
585
451
|
});
|
|
586
452
|
const switchNetwork = (network2) => __async(void 0, null, function* () {
|
|
587
453
|
try {
|
|
588
454
|
if (!library)
|
|
589
455
|
return;
|
|
590
|
-
if (provider ===
|
|
591
|
-
new Error("Not implemented");
|
|
592
|
-
} else if (provider === UNISAT) {
|
|
456
|
+
if (provider === UNISAT) {
|
|
593
457
|
const wantedNetwork = getUnisatNetwork(network2);
|
|
594
458
|
yield library == null ? void 0 : library.switchNetwork(wantedNetwork);
|
|
595
459
|
setNetwork(network2);
|
|
596
|
-
} else
|
|
597
|
-
|
|
598
|
-
} else if (provider === LEATHER) {
|
|
599
|
-
return NETWORK;
|
|
460
|
+
} else {
|
|
461
|
+
throw new Error("Unsupported wallet");
|
|
600
462
|
}
|
|
601
463
|
} catch (error) {
|
|
602
|
-
|
|
464
|
+
throw error;
|
|
603
465
|
}
|
|
604
466
|
});
|
|
605
467
|
const getPublicKey = () => __async(void 0, null, function* () {
|
|
606
468
|
try {
|
|
607
469
|
if (!library)
|
|
608
470
|
return;
|
|
609
|
-
if (provider ===
|
|
610
|
-
|
|
611
|
-
} else if (provider === UNISAT) {
|
|
471
|
+
if (provider === UNISAT) {
|
|
472
|
+
const pub = yield library == null ? void 0 : library.getPublicKey();
|
|
612
473
|
return yield library == null ? void 0 : library.getPublicKey();
|
|
613
|
-
} else
|
|
614
|
-
new Error("
|
|
615
|
-
} else if (provider === LEATHER) {
|
|
616
|
-
new Error("Not implemented");
|
|
474
|
+
} else {
|
|
475
|
+
throw new Error("Unsupported wallet");
|
|
617
476
|
}
|
|
618
477
|
} catch (error) {
|
|
619
|
-
|
|
478
|
+
throw error;
|
|
620
479
|
}
|
|
621
480
|
});
|
|
622
481
|
const getBalance = () => __async(void 0, null, function* () {
|
|
623
482
|
try {
|
|
624
483
|
if (!library)
|
|
625
484
|
return;
|
|
626
|
-
if (provider ===
|
|
485
|
+
if (provider === UNISAT) {
|
|
627
486
|
return yield library.getBalance();
|
|
628
|
-
} else
|
|
629
|
-
|
|
630
|
-
} else if (provider === XVERSE) {
|
|
631
|
-
new Error("Not implemented");
|
|
632
|
-
} else if (provider === LEATHER) {
|
|
633
|
-
new Error("Not implemented");
|
|
487
|
+
} else {
|
|
488
|
+
throw new Error("Unsupported wallet");
|
|
634
489
|
}
|
|
635
490
|
} catch (error) {
|
|
636
|
-
|
|
491
|
+
throw error;
|
|
637
492
|
}
|
|
638
493
|
});
|
|
639
494
|
const getInscriptions = () => __async(void 0, null, function* () {
|
|
640
495
|
try {
|
|
641
496
|
if (!library)
|
|
642
497
|
return;
|
|
643
|
-
if (provider ===
|
|
498
|
+
if (provider === UNISAT) {
|
|
644
499
|
return yield library.getInscriptions(0, 10);
|
|
645
|
-
} else
|
|
646
|
-
|
|
647
|
-
} else if (provider === XVERSE) {
|
|
648
|
-
new Error("Not implemented");
|
|
649
|
-
} else if (provider === LEATHER) {
|
|
650
|
-
new Error("Not implemented");
|
|
651
|
-
}
|
|
652
|
-
} 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");
|
|
500
|
+
} else {
|
|
501
|
+
throw new Error("Unsupported wallet");
|
|
668
502
|
}
|
|
669
503
|
} catch (error) {
|
|
670
|
-
|
|
504
|
+
throw error;
|
|
671
505
|
}
|
|
672
506
|
});
|
|
673
507
|
const sendBTC = (to, amount) => __async(void 0, null, function* () {
|
|
674
508
|
try {
|
|
675
|
-
if (
|
|
676
|
-
new Error("
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
} else if (provider === XVERSE) {
|
|
680
|
-
new Error("Not implemented");
|
|
681
|
-
} else if (provider === LEATHER) {
|
|
682
|
-
return yield library == null ? void 0 : library.request("sendTransfer", {
|
|
683
|
-
address: to,
|
|
684
|
-
amount: amount.toString()
|
|
685
|
-
});
|
|
686
|
-
}
|
|
687
|
-
} catch (error) {
|
|
688
|
-
console.error("error", error);
|
|
689
|
-
}
|
|
690
|
-
});
|
|
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 {
|
|
509
|
+
if (amount <= 0)
|
|
510
|
+
throw new Error("Amount must be greater than 0");
|
|
511
|
+
if (!Number.isInteger(amount))
|
|
512
|
+
throw new Error("Amount must be an integer");
|
|
727
513
|
if (!library)
|
|
728
|
-
|
|
729
|
-
if (provider ===
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
new Error("Not implemented");
|
|
514
|
+
throw new Error("Library not found");
|
|
515
|
+
if (provider === UNISAT) {
|
|
516
|
+
const txId = yield library == null ? void 0 : library.sendBitcoin(to, amount);
|
|
517
|
+
if (!txId)
|
|
518
|
+
throw new Error("Transaction failed");
|
|
519
|
+
return txId;
|
|
520
|
+
} else {
|
|
521
|
+
throw new Error("Unsupported wallet");
|
|
737
522
|
}
|
|
738
523
|
} catch (error) {
|
|
739
|
-
|
|
524
|
+
throw error;
|
|
740
525
|
}
|
|
741
526
|
});
|
|
742
527
|
const signMessage = (message) => __async(void 0, null, function* () {
|
|
743
528
|
try {
|
|
744
529
|
if (!library)
|
|
745
530
|
return;
|
|
746
|
-
if (provider ===
|
|
747
|
-
new Error("Not implemented");
|
|
748
|
-
} else if (provider === UNISAT) {
|
|
531
|
+
if (provider === UNISAT) {
|
|
749
532
|
return yield library == null ? void 0 : library.signMessage(message);
|
|
750
|
-
} else
|
|
751
|
-
new Error("
|
|
752
|
-
} else if (provider === LEATHER) {
|
|
753
|
-
return yield library == null ? void 0 : library.request("signMessage", {
|
|
754
|
-
message,
|
|
755
|
-
paymentType: P2TR
|
|
756
|
-
});
|
|
533
|
+
} else {
|
|
534
|
+
throw new Error("Unsupported wallet");
|
|
757
535
|
}
|
|
758
536
|
} catch (error) {
|
|
759
|
-
|
|
537
|
+
throw error;
|
|
760
538
|
}
|
|
761
539
|
});
|
|
762
540
|
const signPsbt = (psbt, finalize = false, broadcast = true) => __async(void 0, null, function* () {
|
|
763
541
|
try {
|
|
542
|
+
let psbtHex, psbtBase64;
|
|
764
543
|
if (!library)
|
|
765
544
|
return;
|
|
766
|
-
if (
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
} else if (
|
|
770
|
-
|
|
545
|
+
if (isHex(psbt)) {
|
|
546
|
+
psbtBase64 = bitcoin2.Psbt.fromHex(psbt).toBase64();
|
|
547
|
+
psbtHex = psbt;
|
|
548
|
+
} else if (isBase64(psbt)) {
|
|
549
|
+
psbtHex = bitcoin2.Psbt.fromBase64(psbt).toHex();
|
|
550
|
+
psbtBase64 = psbt;
|
|
551
|
+
} else {
|
|
552
|
+
throw new Error("Invalid PSBT format");
|
|
553
|
+
}
|
|
554
|
+
if (provider === UNISAT) {
|
|
555
|
+
const signedPsbt = yield library == null ? void 0 : library.signPsbt(psbtHex, {
|
|
771
556
|
autoFinalized: finalize
|
|
772
557
|
});
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
address,
|
|
781
|
-
signingIndexes: []
|
|
782
|
-
};
|
|
783
|
-
const paymentsAddressData = {
|
|
784
|
-
address: paymentAddress,
|
|
785
|
-
signingIndexes: []
|
|
786
|
-
};
|
|
787
|
-
let counter = 0;
|
|
788
|
-
try {
|
|
789
|
-
for (var iter = __forAwait(inputs), more, temp, error; more = !(temp = yield iter.next()).done; more = false) {
|
|
790
|
-
let input = temp.value;
|
|
791
|
-
const { script } = input.witnessUtxo;
|
|
792
|
-
const addressFromScript = fromOutputScript(
|
|
793
|
-
script,
|
|
794
|
-
bitcoin.networks.testnet
|
|
795
|
-
);
|
|
796
|
-
if (addressFromScript === paymentAddress) {
|
|
797
|
-
paymentsAddressData.signingIndexes.push(Number(counter));
|
|
798
|
-
} else if (addressFromScript === address) {
|
|
799
|
-
ordinalAddressData.signingIndexes.push(Number(counter));
|
|
800
|
-
}
|
|
801
|
-
counter++;
|
|
802
|
-
}
|
|
803
|
-
} catch (temp) {
|
|
804
|
-
error = [temp];
|
|
805
|
-
} finally {
|
|
806
|
-
try {
|
|
807
|
-
more && (temp = iter.return) && (yield temp.call(iter));
|
|
808
|
-
} finally {
|
|
809
|
-
if (error)
|
|
810
|
-
throw error[0];
|
|
811
|
-
}
|
|
558
|
+
if (broadcast) {
|
|
559
|
+
const txId = yield pushPsbt(signedPsbt);
|
|
560
|
+
return {
|
|
561
|
+
signedPsbtHex: signedPsbt.toHex(),
|
|
562
|
+
signedPsbtBase64: signedPsbt.toBase64(),
|
|
563
|
+
txId
|
|
564
|
+
};
|
|
812
565
|
}
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
if (paymentsAddressData.signingIndexes.length > 0) {
|
|
817
|
-
inputsToSign.push(paymentsAddressData);
|
|
818
|
-
}
|
|
819
|
-
let txId = "";
|
|
820
|
-
const xverseNetwork = getXverseNetwork(network);
|
|
821
|
-
const signPsbtOptions = {
|
|
822
|
-
payload: {
|
|
823
|
-
network: {
|
|
824
|
-
type: xverseNetwork
|
|
825
|
-
},
|
|
826
|
-
message: "Sign Transaction",
|
|
827
|
-
psbtBase64: toSignPsbt.toBase64(),
|
|
828
|
-
broadcast,
|
|
829
|
-
inputsToSign
|
|
830
|
-
},
|
|
831
|
-
onFinish: (response) => {
|
|
832
|
-
if (response.txId) {
|
|
833
|
-
txId = response.txId;
|
|
834
|
-
} else if (response.psbtBase64) {
|
|
835
|
-
const signedPsbt = bitcoin.Psbt.fromBase64(
|
|
836
|
-
String(response.psbtBase64),
|
|
837
|
-
{
|
|
838
|
-
network: bitcoin.networks.testnet
|
|
839
|
-
}
|
|
840
|
-
);
|
|
841
|
-
txId = signedPsbt.toHex();
|
|
842
|
-
}
|
|
843
|
-
},
|
|
844
|
-
onCancel: () => console.log("Canceled")
|
|
566
|
+
return {
|
|
567
|
+
signedPsbtHex: signedPsbt.toHex(),
|
|
568
|
+
signedPsbtBase64: signedPsbt.toBase64()
|
|
845
569
|
};
|
|
846
|
-
|
|
847
|
-
|
|
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;
|
|
570
|
+
} else {
|
|
571
|
+
throw new Error("Unsupported wallet");
|
|
865
572
|
}
|
|
866
|
-
} catch (
|
|
867
|
-
|
|
573
|
+
} catch (error) {
|
|
574
|
+
throw error;
|
|
868
575
|
}
|
|
869
576
|
});
|
|
870
|
-
const pushPsbt = (psbt
|
|
577
|
+
const pushPsbt = (psbt) => __async(void 0, null, function* () {
|
|
871
578
|
try {
|
|
872
579
|
if (!library)
|
|
873
580
|
return;
|
|
874
|
-
if (provider ===
|
|
875
|
-
return yield library == null ? void 0 : library.pushPsbt(psbt);
|
|
876
|
-
} else if (provider === UNISAT) {
|
|
581
|
+
if (provider === UNISAT) {
|
|
877
582
|
return yield library == null ? void 0 : library.pushPsbt(psbt);
|
|
878
|
-
} else
|
|
879
|
-
|
|
880
|
-
payload: {
|
|
881
|
-
network: {
|
|
882
|
-
type: NETWORK
|
|
883
|
-
},
|
|
884
|
-
message: "Sign Transaction",
|
|
885
|
-
psbtBase64: `cHNidP8BAJwCAmO+JvQJxhVDDpm3tV5PmPfzvJOSL4GOdjEOpAAAAAAnrAAA==`,
|
|
886
|
-
broadcast: false,
|
|
887
|
-
inputsToSign: [
|
|
888
|
-
{
|
|
889
|
-
address: "33TKH4kkiFPyTLDNmdNsLggyLeAYre57Qm",
|
|
890
|
-
signingIndexes: [1]
|
|
891
|
-
}
|
|
892
|
-
]
|
|
893
|
-
},
|
|
894
|
-
onFinish: (response) => {
|
|
895
|
-
},
|
|
896
|
-
onCancel: () => console.log("Canceled")
|
|
897
|
-
};
|
|
898
|
-
yield signTransaction(signPsbtOptions);
|
|
583
|
+
} else {
|
|
584
|
+
throw new Error("Unsupported wallet");
|
|
899
585
|
}
|
|
900
586
|
} catch (error) {
|
|
901
|
-
|
|
587
|
+
throw error;
|
|
902
588
|
}
|
|
903
589
|
});
|
|
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
|
-
return /* @__PURE__ */ jsx(LaserEyesContext.Provider, { value: contextValue, children });
|
|
590
|
+
return /* @__PURE__ */ jsx(
|
|
591
|
+
LaserEyesContext.Provider,
|
|
592
|
+
{
|
|
593
|
+
value: {
|
|
594
|
+
library,
|
|
595
|
+
accounts,
|
|
596
|
+
publicKey,
|
|
597
|
+
address,
|
|
598
|
+
paymentAddress,
|
|
599
|
+
paymentPublicKey,
|
|
600
|
+
provider,
|
|
601
|
+
balance,
|
|
602
|
+
network,
|
|
603
|
+
connected,
|
|
604
|
+
isConnecting,
|
|
605
|
+
hasUnisat,
|
|
606
|
+
// functions
|
|
607
|
+
connect,
|
|
608
|
+
disconnect,
|
|
609
|
+
requestAccounts,
|
|
610
|
+
getNetwork,
|
|
611
|
+
switchNetwork,
|
|
612
|
+
getPublicKey,
|
|
613
|
+
getBalance,
|
|
614
|
+
getInscriptions,
|
|
615
|
+
sendBTC,
|
|
616
|
+
signPsbt,
|
|
617
|
+
pushPsbt,
|
|
618
|
+
signMessage
|
|
619
|
+
},
|
|
620
|
+
children
|
|
621
|
+
}
|
|
622
|
+
);
|
|
939
623
|
};
|
|
940
624
|
export {
|
|
941
625
|
LEATHER,
|
|
@@ -943,6 +627,8 @@ export {
|
|
|
943
627
|
LEATHER_TESTNET,
|
|
944
628
|
LaserEyesProvider,
|
|
945
629
|
MAINNET,
|
|
630
|
+
MEMPOOL_SPACE_TESTNET_URL,
|
|
631
|
+
MEMPOOL_SPACE_URL,
|
|
946
632
|
OYL,
|
|
947
633
|
P2PKH,
|
|
948
634
|
P2SH,
|
|
@@ -950,6 +636,7 @@ export {
|
|
|
950
636
|
P2WPKH,
|
|
951
637
|
P2WSH,
|
|
952
638
|
PHANTOM,
|
|
639
|
+
REGTEST,
|
|
953
640
|
TESTNET,
|
|
954
641
|
UNISAT,
|
|
955
642
|
UNISAT_MAINNET,
|
|
@@ -960,11 +647,19 @@ export {
|
|
|
960
647
|
XVERSE_NETWORK,
|
|
961
648
|
XVERSE_TESTNET,
|
|
962
649
|
createConfig,
|
|
650
|
+
findOrdinalsAddress,
|
|
651
|
+
findPaymentAddress,
|
|
652
|
+
getBTCBalance,
|
|
653
|
+
getBitcoinNetwork,
|
|
963
654
|
getLeatherNetwork,
|
|
655
|
+
getMempoolSpaceUrl,
|
|
964
656
|
getNetworkForLeather,
|
|
965
657
|
getNetworkForUnisat,
|
|
966
658
|
getNetworkForXverse,
|
|
967
659
|
getUnisatNetwork,
|
|
968
660
|
getXverseNetwork,
|
|
661
|
+
isBase64,
|
|
662
|
+
isHex,
|
|
663
|
+
satoshisToBTC,
|
|
969
664
|
useLaserEyes
|
|
970
665
|
};
|