@omnisat/lasereyes 0.0.2
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 +102 -0
- package/dist/index.d.ts +111 -0
- package/dist/index.js +1026 -0
- package/dist/index.mjs +970 -0
- package/package.json +34 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,970 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
16
|
+
};
|
|
17
|
+
var __async = (__this, __arguments, generator) => {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
var fulfilled = (value) => {
|
|
20
|
+
try {
|
|
21
|
+
step(generator.next(value));
|
|
22
|
+
} catch (e) {
|
|
23
|
+
reject(e);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var rejected = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.throw(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
34
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
35
|
+
});
|
|
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
|
+
|
|
47
|
+
// src/consts/wallets.ts
|
|
48
|
+
var OYL = "oyl";
|
|
49
|
+
var UNISAT = "unisat";
|
|
50
|
+
var XVERSE = "xverse";
|
|
51
|
+
var PHANTOM = "phantom";
|
|
52
|
+
var LEATHER = "leather";
|
|
53
|
+
var XVERSE_NETWORK = "Mainnet";
|
|
54
|
+
var UNISAT_MAINNET = "livenet";
|
|
55
|
+
var UNISAT_TESTNET = "testnet";
|
|
56
|
+
var XVERSE_MAINNET = "Mainnet";
|
|
57
|
+
var XVERSE_TESTNET = "Testnet";
|
|
58
|
+
var LEATHER_MAINNET = "mainnet";
|
|
59
|
+
var LEATHER_TESTNET = "testnet";
|
|
60
|
+
var MAINNET = "mainnet";
|
|
61
|
+
var TESTNET = "testnet";
|
|
62
|
+
var getXverseNetwork = (network) => {
|
|
63
|
+
if (network === MAINNET)
|
|
64
|
+
return XVERSE_MAINNET;
|
|
65
|
+
if (network === TESTNET)
|
|
66
|
+
return XVERSE_TESTNET;
|
|
67
|
+
return XVERSE_MAINNET;
|
|
68
|
+
};
|
|
69
|
+
var getLeatherNetwork = (network) => {
|
|
70
|
+
if (network === MAINNET)
|
|
71
|
+
return LEATHER_MAINNET;
|
|
72
|
+
if (network === TESTNET)
|
|
73
|
+
return LEATHER_TESTNET;
|
|
74
|
+
return LEATHER_MAINNET;
|
|
75
|
+
};
|
|
76
|
+
var getUnisatNetwork = (network) => {
|
|
77
|
+
if (network === MAINNET)
|
|
78
|
+
return UNISAT_MAINNET;
|
|
79
|
+
if (network === TESTNET)
|
|
80
|
+
return UNISAT_TESTNET;
|
|
81
|
+
return UNISAT_MAINNET;
|
|
82
|
+
};
|
|
83
|
+
var getNetworkForUnisat = (network) => {
|
|
84
|
+
if (network === UNISAT_MAINNET)
|
|
85
|
+
return MAINNET;
|
|
86
|
+
if (network === UNISAT_TESTNET)
|
|
87
|
+
return TESTNET;
|
|
88
|
+
return MAINNET;
|
|
89
|
+
};
|
|
90
|
+
var getNetworkForXverse = (network) => {
|
|
91
|
+
if (network === XVERSE_MAINNET)
|
|
92
|
+
return MAINNET;
|
|
93
|
+
if (network === XVERSE_TESTNET)
|
|
94
|
+
return TESTNET;
|
|
95
|
+
return MAINNET;
|
|
96
|
+
};
|
|
97
|
+
var getNetworkForLeather = (network) => {
|
|
98
|
+
if (network === LEATHER_MAINNET)
|
|
99
|
+
return MAINNET;
|
|
100
|
+
if (network === LEATHER_TESTNET)
|
|
101
|
+
return TESTNET;
|
|
102
|
+
return MAINNET;
|
|
103
|
+
};
|
|
104
|
+
var P2TR = "p2tr";
|
|
105
|
+
var P2PKH = "p2pkh";
|
|
106
|
+
var P2WPKH = "p2wpkh";
|
|
107
|
+
var P2WSH = "p2wsh";
|
|
108
|
+
var P2SH = "p2sh";
|
|
109
|
+
var WALLETS = {
|
|
110
|
+
oyl: {
|
|
111
|
+
name: OYL,
|
|
112
|
+
icon: "data:image/svg+xml,%3Csvg%20width%3D%2296%22%20height%3D%2216%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.27.318c2.947%200%205.72.26%208.32.78%202.6.507%204.714%201.307%206.34%202.4%201.64%201.094%202.46%202.467%202.46%204.12%200%201.654-.82%203.047-2.46%204.18-1.64%201.12-3.766%201.954-6.38%202.5-2.6.547-5.36.82-8.28.82-2.946%200-5.72-.253-8.32-.76-2.6-.52-4.72-1.326-6.36-2.42C.964%2010.845.15%209.472.15%207.818c0-1.653.82-3.04%202.46-4.16%201.64-1.133%203.76-1.973%206.36-2.52%202.614-.546%205.38-.82%208.3-.82Zm.04%2011.96c1.4%200%202.8-.146%204.2-.44%201.414-.293%202.6-.78%203.56-1.46.96-.68%201.44-1.566%201.44-2.66%200-1.093-.48-1.98-1.44-2.66-.96-.68-2.146-1.166-3.56-1.46-1.4-.293-2.8-.44-4.2-.44h-.08c-1.4%200-2.806.147-4.22.44-1.4.294-2.58.78-3.54%201.46-.96.68-1.44%201.567-1.44%202.66%200%201.094.48%201.98%201.44%202.66.96.68%202.14%201.167%203.54%201.46%201.414.294%202.82.44%204.22.44h.08ZM61.293.758c.08-.026.14-.04.18-.04h8.24c.12%200%20.214.04.28.12.08.08.12.174.12.28%200%20.147-.066.26-.2.34l-14%207.7c-.133.067-.2.18-.2.34v4.82c0%20.107-.04.2-.12.28a.384.384%200%200%201-.28.12h-6.94c-.106%200-.2-.04-.28-.12a.384.384%200%200%201-.12-.28v-4.82c0-.16-.066-.273-.2-.34l-13.98-7.7a.376.376%200%200%201-.2-.34c0-.106.034-.2.1-.28.067-.08.16-.12.28-.12h8.24c.054%200%20.12.014.2.04l9.24%205.1c.08.027.147.04.2.04.04%200%20.1-.013.18-.04l9.26-5.1Zm11.232.36c0-.106.033-.2.1-.28.08-.08.173-.12.28-.12h6.84c.106%200%20.193.04.26.12.08.08.12.174.12.28v10.32c0%20.107.04.2.12.28.08.08.173.12.28.12h14.46c.106%200%20.193.04.26.12.08.08.12.174.12.28v2.08c0%20.107-.04.2-.12.28a.322.322%200%200%201-.26.12h-22.08c-.107%200-.2-.04-.28-.12a.424.424%200%200%201-.1-.28v-13.2Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E",
|
|
113
|
+
site: "https://oyl.io/",
|
|
114
|
+
disabled: false
|
|
115
|
+
},
|
|
116
|
+
unisat: {
|
|
117
|
+
name: UNISAT,
|
|
118
|
+
icon: "/wallet-logos/unisat_logo.png",
|
|
119
|
+
site: "https://unisat.io/",
|
|
120
|
+
disabled: false
|
|
121
|
+
},
|
|
122
|
+
xverse: {
|
|
123
|
+
name: XVERSE,
|
|
124
|
+
icon: "/wallet-logos/xverse_logo.png",
|
|
125
|
+
site: "https://www.xverse.app/",
|
|
126
|
+
config: () => {
|
|
127
|
+
},
|
|
128
|
+
disabled: false
|
|
129
|
+
},
|
|
130
|
+
leather: {
|
|
131
|
+
name: LEATHER,
|
|
132
|
+
icon: "/wallet-logos/leather_logo.png",
|
|
133
|
+
site: "https://leather.io/",
|
|
134
|
+
config: () => {
|
|
135
|
+
},
|
|
136
|
+
disabled: true
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// src/config/createConfig.ts
|
|
141
|
+
var createConfig = (config) => {
|
|
142
|
+
return __spreadValues({}, config);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
// src/providers/LaserEyesProvider.tsx
|
|
146
|
+
import {
|
|
147
|
+
createContext,
|
|
148
|
+
useContext,
|
|
149
|
+
useEffect,
|
|
150
|
+
useRef,
|
|
151
|
+
useState
|
|
152
|
+
} from "react";
|
|
153
|
+
import * as bitcoin from "bitcoinjs-lib";
|
|
154
|
+
import { getAddress, signTransaction } from "sats-connect";
|
|
155
|
+
|
|
156
|
+
// src/consts/settings.ts
|
|
157
|
+
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
|
+
var initialWalletContext = {
|
|
165
|
+
hasOyl: false,
|
|
166
|
+
hasUnisat: false,
|
|
167
|
+
hasXverse: false,
|
|
168
|
+
hasLeather: false,
|
|
169
|
+
connected: false,
|
|
170
|
+
isConnecting: false,
|
|
171
|
+
publicKey: "",
|
|
172
|
+
// Empty string as the public key is unknown
|
|
173
|
+
address: "",
|
|
174
|
+
// Empty string as the address is unknown
|
|
175
|
+
paymentAddress: "",
|
|
176
|
+
// Empty string as the address is unknown
|
|
177
|
+
paymentPublicKey: "",
|
|
178
|
+
balance: {
|
|
179
|
+
confirmed: 0,
|
|
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
|
|
188
|
+
library: null,
|
|
189
|
+
// Initial library is null, assuming it will be an object once initialized
|
|
190
|
+
provider: null,
|
|
191
|
+
// Initial provider is null, assuming it will be an object once initialized
|
|
192
|
+
accounts: [],
|
|
193
|
+
// Initially, there are no accounts
|
|
194
|
+
// Placeholder functions for wallet operations. These should be replaced with actual implementations.
|
|
195
|
+
connect: (walletName) => __async(void 0, null, function* () {
|
|
196
|
+
}),
|
|
197
|
+
disconnect: () => {
|
|
198
|
+
},
|
|
199
|
+
requestAccounts: () => __async(void 0, null, function* () {
|
|
200
|
+
return [];
|
|
201
|
+
}),
|
|
202
|
+
getNetwork: () => __async(void 0, null, function* () {
|
|
203
|
+
return "";
|
|
204
|
+
}),
|
|
205
|
+
switchNetwork: (network) => __async(void 0, null, function* () {
|
|
206
|
+
return "";
|
|
207
|
+
}),
|
|
208
|
+
getPublicKey: () => __async(void 0, null, function* () {
|
|
209
|
+
return "";
|
|
210
|
+
}),
|
|
211
|
+
getBalance: () => __async(void 0, null, function* () {
|
|
212
|
+
return "";
|
|
213
|
+
}),
|
|
214
|
+
getInscriptions: () => __async(void 0, null, function* () {
|
|
215
|
+
}),
|
|
216
|
+
getAllBRC20Tokens: () => __async(void 0, null, function* () {
|
|
217
|
+
}),
|
|
218
|
+
sendBTC: (to, amount) => __async(void 0, null, function* () {
|
|
219
|
+
return "";
|
|
220
|
+
}),
|
|
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
|
+
signMessage: (message) => __async(void 0, null, function* () {
|
|
228
|
+
return "";
|
|
229
|
+
}),
|
|
230
|
+
signPsbt: (tx) => __async(void 0, null, function* () {
|
|
231
|
+
return "";
|
|
232
|
+
}),
|
|
233
|
+
pushPsbt: (tx) => __async(void 0, null, function* () {
|
|
234
|
+
return "";
|
|
235
|
+
})
|
|
236
|
+
// signPsbts: async () => { /* Implementation */ },
|
|
237
|
+
};
|
|
238
|
+
var LaserEyesContext = createContext(initialWalletContext);
|
|
239
|
+
var useLaserEyes = () => {
|
|
240
|
+
return useContext(LaserEyesContext);
|
|
241
|
+
};
|
|
242
|
+
var LaserEyesProvider = ({ children }) => {
|
|
243
|
+
const [connected, setConnected] = useState(false);
|
|
244
|
+
const [isConnecting, setIsConnecting] = useState(false);
|
|
245
|
+
const [accounts, setAccounts] = useState([]);
|
|
246
|
+
const [publicKey, setPublicKey] = useState("");
|
|
247
|
+
const [paymentPublicKey, setPaymentPublicKey] = useState("");
|
|
248
|
+
const [address, setAddress] = useState("");
|
|
249
|
+
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);
|
|
259
|
+
const [hasUnisat, setHasUnisat] = useState(false);
|
|
260
|
+
const [hasXverse, setHasXverse] = useState(false);
|
|
261
|
+
const [hasLeather, setHasLeather] = useState(false);
|
|
262
|
+
useEffect(() => {
|
|
263
|
+
const oylLib = window == null ? void 0 : window.oyl;
|
|
264
|
+
setHasOyl(!!oylLib);
|
|
265
|
+
}, []);
|
|
266
|
+
useEffect(() => {
|
|
267
|
+
const unisatLib = window == null ? void 0 : window.unisat;
|
|
268
|
+
setHasUnisat(!!unisatLib);
|
|
269
|
+
}, []);
|
|
270
|
+
useEffect(() => {
|
|
271
|
+
var _a;
|
|
272
|
+
const xverseLib = (_a = window == null ? void 0 : window.XverseProviders) == null ? void 0 : _a.BitcoinProvider;
|
|
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
|
+
};
|
|
402
|
+
useEffect(() => {
|
|
403
|
+
if (provider !== UNISAT) {
|
|
404
|
+
return;
|
|
405
|
+
}
|
|
406
|
+
library.getAccounts().then((accounts2) => {
|
|
407
|
+
handleAccountsChanged(accounts2);
|
|
408
|
+
});
|
|
409
|
+
library.on("accountsChanged", handleAccountsChanged);
|
|
410
|
+
library.on("networkChanged", handleNetworkChanged);
|
|
411
|
+
return () => {
|
|
412
|
+
library.removeListener("accountsChanged", handleAccountsChanged);
|
|
413
|
+
library.removeListener("networkChanged", handleNetworkChanged);
|
|
414
|
+
};
|
|
415
|
+
}, [library]);
|
|
416
|
+
useEffect(() => {
|
|
417
|
+
const defaultWallet = localStorage == null ? void 0 : localStorage.getItem(
|
|
418
|
+
LOCAL_STORAGE_DEFAULT_WALLET
|
|
419
|
+
);
|
|
420
|
+
if (defaultWallet) {
|
|
421
|
+
setProvider(defaultWallet);
|
|
422
|
+
connect(defaultWallet);
|
|
423
|
+
}
|
|
424
|
+
}, []);
|
|
425
|
+
const getBasicInfo = () => __async(void 0, null, function* () {
|
|
426
|
+
if (provider !== UNISAT)
|
|
427
|
+
return;
|
|
428
|
+
const publicKey2 = yield library == null ? void 0 : library.getPublicKey();
|
|
429
|
+
setPublicKey(String(publicKey2));
|
|
430
|
+
const balance2 = yield library == null ? void 0 : library.getBalance();
|
|
431
|
+
setBalance(balance2);
|
|
432
|
+
const network2 = yield library == null ? void 0 : library.getNetwork();
|
|
433
|
+
if (network2) {
|
|
434
|
+
setNetwork(network2);
|
|
435
|
+
}
|
|
436
|
+
});
|
|
437
|
+
const handleNetworkChanged = (network2) => {
|
|
438
|
+
let foundNetwork = "";
|
|
439
|
+
if (provider === UNISAT) {
|
|
440
|
+
foundNetwork = getNetworkForUnisat(network2);
|
|
441
|
+
}
|
|
442
|
+
if (provider === XVERSE) {
|
|
443
|
+
foundNetwork = getXverseNetwork(network2);
|
|
444
|
+
}
|
|
445
|
+
if (provider === LEATHER) {
|
|
446
|
+
foundNetwork = getLeatherNetwork(network2);
|
|
447
|
+
}
|
|
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
|
+
};
|
|
461
|
+
const connect = (walletName) => __async(void 0, null, function* () {
|
|
462
|
+
setIsConnecting(true);
|
|
463
|
+
try {
|
|
464
|
+
if (!walletName)
|
|
465
|
+
new Error("No wallet provided");
|
|
466
|
+
if (walletName === OYL) {
|
|
467
|
+
yield connectOyl();
|
|
468
|
+
} else if (walletName === UNISAT) {
|
|
469
|
+
yield connectUnisat();
|
|
470
|
+
} else if (walletName === XVERSE) {
|
|
471
|
+
yield connectXverse();
|
|
472
|
+
} else if (walletName === LEATHER) {
|
|
473
|
+
yield connectLeather();
|
|
474
|
+
} else {
|
|
475
|
+
new Error("Wallet not found!");
|
|
476
|
+
}
|
|
477
|
+
setConnected(true);
|
|
478
|
+
} catch (error) {
|
|
479
|
+
console.error("error", error);
|
|
480
|
+
disconnect();
|
|
481
|
+
new Error("Can't lasereyes to wallet");
|
|
482
|
+
} finally {
|
|
483
|
+
setIsConnecting(false);
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
const disconnect = () => {
|
|
487
|
+
setAddress("");
|
|
488
|
+
setAccounts([]);
|
|
489
|
+
setProvider("");
|
|
490
|
+
setLibrary(null);
|
|
491
|
+
setConnected(false);
|
|
492
|
+
localStorage == null ? void 0 : localStorage.removeItem(LOCAL_STORAGE_DEFAULT_WALLET);
|
|
493
|
+
};
|
|
494
|
+
const requestAccounts = () => __async(void 0, null, function* () {
|
|
495
|
+
if (!library)
|
|
496
|
+
return;
|
|
497
|
+
if (provider === OYL) {
|
|
498
|
+
return yield library.requestAccounts();
|
|
499
|
+
} else if (provider === UNISAT) {
|
|
500
|
+
return yield library.requestAccounts();
|
|
501
|
+
} else if (provider === XVERSE) {
|
|
502
|
+
const getAddressOptions = {
|
|
503
|
+
payload: {
|
|
504
|
+
// @ts-ignore
|
|
505
|
+
purposes: ["ordinals", "payment"],
|
|
506
|
+
message: "Address for receiving Ordinals and payments",
|
|
507
|
+
network: {
|
|
508
|
+
type: XVERSE_NETWORK
|
|
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");
|
|
558
|
+
}
|
|
559
|
+
});
|
|
560
|
+
const getNetwork = () => __async(void 0, null, function* () {
|
|
561
|
+
try {
|
|
562
|
+
if (!library)
|
|
563
|
+
return;
|
|
564
|
+
if (provider === OYL) {
|
|
565
|
+
new Error("Not implemented");
|
|
566
|
+
} else if (provider === UNISAT) {
|
|
567
|
+
const unisatNetwork = yield library == null ? void 0 : library.getNetwork();
|
|
568
|
+
const foundNetwork = getNetworkForUnisat(unisatNetwork);
|
|
569
|
+
setNetwork(foundNetwork);
|
|
570
|
+
return foundNetwork;
|
|
571
|
+
} else if (provider === XVERSE) {
|
|
572
|
+
if (address.slice(0, 1) === "t") {
|
|
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;
|
|
581
|
+
}
|
|
582
|
+
} catch (error) {
|
|
583
|
+
console.error("error", error);
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
const switchNetwork = (network2) => __async(void 0, null, function* () {
|
|
587
|
+
try {
|
|
588
|
+
if (!library)
|
|
589
|
+
return;
|
|
590
|
+
if (provider === OYL) {
|
|
591
|
+
new Error("Not implemented");
|
|
592
|
+
} else if (provider === UNISAT) {
|
|
593
|
+
const wantedNetwork = getUnisatNetwork(network2);
|
|
594
|
+
yield library == null ? void 0 : library.switchNetwork(wantedNetwork);
|
|
595
|
+
setNetwork(network2);
|
|
596
|
+
} else if (provider === XVERSE) {
|
|
597
|
+
return NETWORK;
|
|
598
|
+
} else if (provider === LEATHER) {
|
|
599
|
+
return NETWORK;
|
|
600
|
+
}
|
|
601
|
+
} catch (error) {
|
|
602
|
+
console.error("error", error);
|
|
603
|
+
}
|
|
604
|
+
});
|
|
605
|
+
const getPublicKey = () => __async(void 0, null, function* () {
|
|
606
|
+
try {
|
|
607
|
+
if (!library)
|
|
608
|
+
return;
|
|
609
|
+
if (provider === OYL) {
|
|
610
|
+
return yield library == null ? void 0 : library.getPublicKey();
|
|
611
|
+
} else if (provider === UNISAT) {
|
|
612
|
+
return yield library == null ? void 0 : library.getPublicKey();
|
|
613
|
+
} else if (provider === XVERSE) {
|
|
614
|
+
new Error("Not implemented");
|
|
615
|
+
} else if (provider === LEATHER) {
|
|
616
|
+
new Error("Not implemented");
|
|
617
|
+
}
|
|
618
|
+
} catch (error) {
|
|
619
|
+
console.error("error", error);
|
|
620
|
+
}
|
|
621
|
+
});
|
|
622
|
+
const getBalance = () => __async(void 0, null, function* () {
|
|
623
|
+
try {
|
|
624
|
+
if (!library)
|
|
625
|
+
return;
|
|
626
|
+
if (provider === OYL) {
|
|
627
|
+
return yield library.getBalance();
|
|
628
|
+
} else if (provider === UNISAT) {
|
|
629
|
+
return yield library.getBalance();
|
|
630
|
+
} else if (provider === XVERSE) {
|
|
631
|
+
new Error("Not implemented");
|
|
632
|
+
} else if (provider === LEATHER) {
|
|
633
|
+
new Error("Not implemented");
|
|
634
|
+
}
|
|
635
|
+
} catch (error) {
|
|
636
|
+
console.error("error", error);
|
|
637
|
+
}
|
|
638
|
+
});
|
|
639
|
+
const getInscriptions = () => __async(void 0, null, function* () {
|
|
640
|
+
try {
|
|
641
|
+
if (!library)
|
|
642
|
+
return;
|
|
643
|
+
if (provider === OYL) {
|
|
644
|
+
return yield library.getInscriptions(0, 10);
|
|
645
|
+
} else if (provider === UNISAT) {
|
|
646
|
+
return yield library.getInscriptions(0, 10);
|
|
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");
|
|
668
|
+
}
|
|
669
|
+
} catch (error) {
|
|
670
|
+
console.error("error", error);
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
const sendBTC = (to, amount) => __async(void 0, null, function* () {
|
|
674
|
+
try {
|
|
675
|
+
if (provider === OYL) {
|
|
676
|
+
new Error("Not implemented");
|
|
677
|
+
} else if (provider === UNISAT) {
|
|
678
|
+
return yield library == null ? void 0 : library.sendBitcoin(to, amount);
|
|
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 {
|
|
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
|
+
const signMessage = (message) => __async(void 0, null, function* () {
|
|
743
|
+
try {
|
|
744
|
+
if (!library)
|
|
745
|
+
return;
|
|
746
|
+
if (provider === OYL) {
|
|
747
|
+
new Error("Not implemented");
|
|
748
|
+
} else if (provider === UNISAT) {
|
|
749
|
+
return yield library == null ? void 0 : library.signMessage(message);
|
|
750
|
+
} 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
|
+
});
|
|
757
|
+
}
|
|
758
|
+
} catch (error) {
|
|
759
|
+
console.error("error", error);
|
|
760
|
+
}
|
|
761
|
+
});
|
|
762
|
+
const signPsbt = (psbt, finalize = false, broadcast = true) => __async(void 0, null, function* () {
|
|
763
|
+
try {
|
|
764
|
+
if (!library)
|
|
765
|
+
return;
|
|
766
|
+
if (provider === OYL) {
|
|
767
|
+
const response = yield library == null ? void 0 : library.signPsbt(psbt);
|
|
768
|
+
return response;
|
|
769
|
+
} else if (provider === UNISAT) {
|
|
770
|
+
return yield library == null ? void 0 : library.signPsbt(psbt, {
|
|
771
|
+
autoFinalized: finalize
|
|
772
|
+
});
|
|
773
|
+
} else if (provider === XVERSE) {
|
|
774
|
+
const toSignPsbt = bitcoin.Psbt.fromBase64(String(psbt), {
|
|
775
|
+
network: bitcoin.networks.testnet
|
|
776
|
+
});
|
|
777
|
+
const inputs = toSignPsbt.data.inputs;
|
|
778
|
+
const inputsToSign = [];
|
|
779
|
+
const ordinalAddressData = {
|
|
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
|
+
}
|
|
812
|
+
}
|
|
813
|
+
if (ordinalAddressData.signingIndexes.length > 0) {
|
|
814
|
+
inputsToSign.push(ordinalAddressData);
|
|
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")
|
|
845
|
+
};
|
|
846
|
+
yield signTransaction(signPsbtOptions);
|
|
847
|
+
return txId;
|
|
848
|
+
} else if (provider === LEATHER) {
|
|
849
|
+
const requestParams = { hex: psbt, broadcast };
|
|
850
|
+
const response = yield library == null ? void 0 : library.request(
|
|
851
|
+
"signPsbt",
|
|
852
|
+
requestParams
|
|
853
|
+
);
|
|
854
|
+
const leatherHexResult = response.result;
|
|
855
|
+
const signedTx = leatherHexResult.hex;
|
|
856
|
+
if (!broadcast) {
|
|
857
|
+
return signedTx;
|
|
858
|
+
}
|
|
859
|
+
const toSignPsbt = bitcoin.Psbt.fromHex(String(signedTx), {
|
|
860
|
+
network: bitcoin.networks.testnet
|
|
861
|
+
});
|
|
862
|
+
toSignPsbt.finalizeAllInputs();
|
|
863
|
+
const txId = toSignPsbt.extractTransaction().getId();
|
|
864
|
+
return txId;
|
|
865
|
+
}
|
|
866
|
+
} catch (error2) {
|
|
867
|
+
console.error("error", error2);
|
|
868
|
+
}
|
|
869
|
+
});
|
|
870
|
+
const pushPsbt = (psbt, finalize = false) => __async(void 0, null, function* () {
|
|
871
|
+
try {
|
|
872
|
+
if (!library)
|
|
873
|
+
return;
|
|
874
|
+
if (provider === OYL) {
|
|
875
|
+
return yield library == null ? void 0 : library.pushPsbt(psbt);
|
|
876
|
+
} else if (provider === UNISAT) {
|
|
877
|
+
return yield library == null ? void 0 : library.pushPsbt(psbt);
|
|
878
|
+
} else if (provider === XVERSE) {
|
|
879
|
+
const signPsbtOptions = {
|
|
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);
|
|
899
|
+
}
|
|
900
|
+
} catch (error) {
|
|
901
|
+
console.error("error", error);
|
|
902
|
+
}
|
|
903
|
+
});
|
|
904
|
+
const contextValue = {
|
|
905
|
+
library,
|
|
906
|
+
accounts,
|
|
907
|
+
publicKey,
|
|
908
|
+
address,
|
|
909
|
+
paymentAddress,
|
|
910
|
+
paymentPublicKey,
|
|
911
|
+
provider,
|
|
912
|
+
balance,
|
|
913
|
+
network,
|
|
914
|
+
connected,
|
|
915
|
+
isConnecting,
|
|
916
|
+
hasOyl,
|
|
917
|
+
hasUnisat,
|
|
918
|
+
hasXverse,
|
|
919
|
+
hasLeather,
|
|
920
|
+
//
|
|
921
|
+
connect,
|
|
922
|
+
disconnect,
|
|
923
|
+
requestAccounts,
|
|
924
|
+
getNetwork,
|
|
925
|
+
switchNetwork,
|
|
926
|
+
getPublicKey,
|
|
927
|
+
getBalance,
|
|
928
|
+
getInscriptions,
|
|
929
|
+
getAllBRC20Tokens,
|
|
930
|
+
sendBTC,
|
|
931
|
+
signPsbt,
|
|
932
|
+
pushPsbt,
|
|
933
|
+
payInscribe,
|
|
934
|
+
deploy,
|
|
935
|
+
mint,
|
|
936
|
+
signMessage
|
|
937
|
+
};
|
|
938
|
+
return /* @__PURE__ */ jsx(LaserEyesContext.Provider, { value: contextValue, children });
|
|
939
|
+
};
|
|
940
|
+
export {
|
|
941
|
+
LEATHER,
|
|
942
|
+
LEATHER_MAINNET,
|
|
943
|
+
LEATHER_TESTNET,
|
|
944
|
+
LaserEyesProvider,
|
|
945
|
+
MAINNET,
|
|
946
|
+
OYL,
|
|
947
|
+
P2PKH,
|
|
948
|
+
P2SH,
|
|
949
|
+
P2TR,
|
|
950
|
+
P2WPKH,
|
|
951
|
+
P2WSH,
|
|
952
|
+
PHANTOM,
|
|
953
|
+
TESTNET,
|
|
954
|
+
UNISAT,
|
|
955
|
+
UNISAT_MAINNET,
|
|
956
|
+
UNISAT_TESTNET,
|
|
957
|
+
WALLETS,
|
|
958
|
+
XVERSE,
|
|
959
|
+
XVERSE_MAINNET,
|
|
960
|
+
XVERSE_NETWORK,
|
|
961
|
+
XVERSE_TESTNET,
|
|
962
|
+
createConfig,
|
|
963
|
+
getLeatherNetwork,
|
|
964
|
+
getNetworkForLeather,
|
|
965
|
+
getNetworkForUnisat,
|
|
966
|
+
getNetworkForXverse,
|
|
967
|
+
getUnisatNetwork,
|
|
968
|
+
getXverseNetwork,
|
|
969
|
+
useLaserEyes
|
|
970
|
+
};
|