@meshsdk/react 1.6.1 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +50 -56
- package/dist/index.css +11 -1
- package/dist/index.d.cts +12 -4
- package/dist/index.d.ts +12 -4
- package/dist/index.js +50 -56
- package/package.json +9 -10
package/dist/index.cjs
CHANGED
|
@@ -38,7 +38,6 @@ module.exports = __toCommonJS(src_exports);
|
|
|
38
38
|
|
|
39
39
|
// src/cardano-wallet/index.tsx
|
|
40
40
|
var import_react10 = require("react");
|
|
41
|
-
var import_wallet3 = require("@meshsdk/wallet");
|
|
42
41
|
|
|
43
42
|
// src/common/button.tsx
|
|
44
43
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -46,13 +45,17 @@ function Button({
|
|
|
46
45
|
children,
|
|
47
46
|
isDarkMode = false,
|
|
48
47
|
hideMenuList = false,
|
|
49
|
-
setHideMenuList
|
|
48
|
+
setHideMenuList,
|
|
49
|
+
onMouseEnter,
|
|
50
|
+
onMouseLeave
|
|
50
51
|
}) {
|
|
51
52
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
52
53
|
"button",
|
|
53
54
|
{
|
|
54
55
|
className: `ui-mr-menu-list ui-flex ui-w-60 ui-items-center ui-justify-center ui-rounded-t-md ui-border ui-px-4 ui-py-2 ui-text-lg ui-font-normal ui-shadow-sm ${isDarkMode ? `ui-bg-neutral-950 ui-text-neutral-50` : `ui-bg-neutral-50 ui-text-neutral-950`}`,
|
|
55
56
|
onClick: () => setHideMenuList && setHideMenuList(!hideMenuList),
|
|
57
|
+
onMouseEnter,
|
|
58
|
+
onMouseLeave,
|
|
56
59
|
children
|
|
57
60
|
}
|
|
58
61
|
);
|
|
@@ -75,19 +78,24 @@ var useWalletStore = () => {
|
|
|
75
78
|
const [connectedWalletName, setConnectedWalletName] = (0, import_react.useState)(
|
|
76
79
|
INITIAL_STATE.walletName
|
|
77
80
|
);
|
|
78
|
-
const connectWallet = (0, import_react.useCallback)(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
const connectWallet = (0, import_react.useCallback)(
|
|
82
|
+
async (walletName, extensions) => {
|
|
83
|
+
setConnectingWallet(true);
|
|
84
|
+
try {
|
|
85
|
+
const walletInstance = await import_wallet.BrowserWallet.enable(
|
|
86
|
+
walletName,
|
|
87
|
+
extensions
|
|
88
|
+
);
|
|
89
|
+
setConnectedWalletInstance(walletInstance);
|
|
90
|
+
setConnectedWalletName(walletName);
|
|
91
|
+
setError(void 0);
|
|
92
|
+
} catch (error2) {
|
|
93
|
+
setError(error2);
|
|
94
|
+
}
|
|
95
|
+
setConnectingWallet(false);
|
|
96
|
+
},
|
|
97
|
+
[]
|
|
98
|
+
);
|
|
91
99
|
const disconnect = (0, import_react.useCallback)(() => {
|
|
92
100
|
setConnectedWalletName(INITIAL_STATE.walletName);
|
|
93
101
|
setConnectedWalletInstance(INITIAL_STATE.walletInstance);
|
|
@@ -99,7 +107,6 @@ var useWalletStore = () => {
|
|
|
99
107
|
connectingWallet,
|
|
100
108
|
connectWallet,
|
|
101
109
|
disconnect,
|
|
102
|
-
// setWallet,
|
|
103
110
|
error
|
|
104
111
|
};
|
|
105
112
|
};
|
|
@@ -149,10 +156,17 @@ var useAssets = () => {
|
|
|
149
156
|
// src/hooks/useWalletList.ts
|
|
150
157
|
var import_react4 = require("react");
|
|
151
158
|
var import_wallet2 = require("@meshsdk/wallet");
|
|
152
|
-
var useWalletList = (
|
|
159
|
+
var useWalletList = ({
|
|
160
|
+
metamask = {
|
|
161
|
+
network: "preprod"
|
|
162
|
+
}
|
|
163
|
+
} = {}) => {
|
|
153
164
|
const [wallets, setWallets] = (0, import_react4.useState)([]);
|
|
154
165
|
(0, import_react4.useEffect)(() => {
|
|
155
|
-
|
|
166
|
+
async function get() {
|
|
167
|
+
setWallets(await import_wallet2.BrowserWallet.getAvailableWallets({ metamask }));
|
|
168
|
+
}
|
|
169
|
+
get();
|
|
156
170
|
}, []);
|
|
157
171
|
return wallets;
|
|
158
172
|
};
|
|
@@ -248,7 +262,6 @@ var useWalletSubmit = () => {
|
|
|
248
262
|
);
|
|
249
263
|
} catch (error2) {
|
|
250
264
|
setError(error2);
|
|
251
|
-
console.error(error2);
|
|
252
265
|
}
|
|
253
266
|
setSubmitting(false);
|
|
254
267
|
}, []);
|
|
@@ -275,7 +288,7 @@ function MenuItem({
|
|
|
275
288
|
onClick: action,
|
|
276
289
|
children: [
|
|
277
290
|
icon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("img", { className: "ui-pr-2 ui-m-1 ui-h-8", src: icon }),
|
|
278
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "ui-mr-menu-item ui-text-xl ui-font-normal", children: label.split(" ").map((word) => {
|
|
291
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "ui-mr-menu-item ui-text-xl ui-font-normal ui-text-gray-700 hover:ui-text-black", children: label.split(" ").map((word) => {
|
|
279
292
|
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
280
293
|
}).join(" ") })
|
|
281
294
|
]
|
|
@@ -334,29 +347,30 @@ var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
|
334
347
|
var CardanoWallet = ({
|
|
335
348
|
label = "Connect Wallet",
|
|
336
349
|
onConnected = void 0,
|
|
337
|
-
isDark = false
|
|
350
|
+
isDark = false,
|
|
351
|
+
metamask = {
|
|
352
|
+
network: "preprod"
|
|
353
|
+
},
|
|
354
|
+
extensions = []
|
|
338
355
|
}) => {
|
|
339
356
|
const [isDarkMode, setIsDarkMode] = (0, import_react10.useState)(false);
|
|
340
357
|
const [hideMenuList, setHideMenuList] = (0, import_react10.useState)(true);
|
|
341
|
-
const [wallets, setWallets] = (0, import_react10.useState)([]);
|
|
342
358
|
const { connect, connecting, connected, disconnect, name } = useWallet();
|
|
359
|
+
const wallets = useWalletList({ metamask });
|
|
343
360
|
(0, import_react10.useEffect)(() => {
|
|
344
361
|
if (connected && onConnected) {
|
|
345
362
|
onConnected();
|
|
346
363
|
}
|
|
347
364
|
}, [connected]);
|
|
348
|
-
(0, import_react10.useEffect)(() => {
|
|
349
|
-
setWallets(import_wallet3.BrowserWallet.getInstalledWallets());
|
|
350
|
-
}, []);
|
|
351
365
|
(0, import_react10.useEffect)(() => {
|
|
352
366
|
setIsDarkMode(isDark);
|
|
353
367
|
}, [isDark]);
|
|
354
368
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
|
|
355
369
|
"div",
|
|
356
370
|
{
|
|
357
|
-
className: "w-fit",
|
|
358
371
|
onMouseEnter: () => setHideMenuList(false),
|
|
359
372
|
onMouseLeave: () => setHideMenuList(true),
|
|
373
|
+
style: { width: "min-content", zIndex: 50 },
|
|
360
374
|
children: [
|
|
361
375
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
362
376
|
Button,
|
|
@@ -370,7 +384,7 @@ var CardanoWallet = ({
|
|
|
370
384
|
connected,
|
|
371
385
|
connecting,
|
|
372
386
|
label,
|
|
373
|
-
wallet: wallets.find((wallet) => wallet.
|
|
387
|
+
wallet: wallets.find((wallet) => wallet.id === name)
|
|
374
388
|
}
|
|
375
389
|
)
|
|
376
390
|
}
|
|
@@ -379,16 +393,17 @@ var CardanoWallet = ({
|
|
|
379
393
|
"div",
|
|
380
394
|
{
|
|
381
395
|
className: `ui-mr-menu-list ui-absolute ui-w-60 ui-rounded-b-md ui-border ui-text-center ui-shadow-sm ui-backdrop-blur ${hideMenuList && "ui-hidden"} ${isDarkMode ? `ui-bg-neutral-950 ui-text-neutral-50` : `ui-bg-neutral-50 ui-text-neutral-950`}`,
|
|
396
|
+
style: { zIndex: 50 },
|
|
382
397
|
children: !connected && wallets.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: wallets.map((wallet, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
383
398
|
MenuItem,
|
|
384
399
|
{
|
|
385
400
|
icon: wallet.icon,
|
|
386
401
|
label: wallet.name,
|
|
387
402
|
action: () => {
|
|
388
|
-
connect(wallet.
|
|
403
|
+
connect(wallet.id, extensions);
|
|
389
404
|
setHideMenuList(!hideMenuList);
|
|
390
405
|
},
|
|
391
|
-
active: name === wallet.
|
|
406
|
+
active: name === wallet.id
|
|
392
407
|
},
|
|
393
408
|
index
|
|
394
409
|
)) }) : wallets.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { children: "No Wallet Found" }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
@@ -472,7 +487,7 @@ var Delegate = ({
|
|
|
472
487
|
}) => {
|
|
473
488
|
const { wallet } = useWallet();
|
|
474
489
|
const rewardAddress = useRewardAddress();
|
|
475
|
-
const [
|
|
490
|
+
const [_, setError] = (0, import_react11.useState)();
|
|
476
491
|
const [checking, setChecking] = (0, import_react11.useState)(false);
|
|
477
492
|
const [accountInfo, setAccountInfo] = (0, import_react11.useState)();
|
|
478
493
|
const [processing, setProcessing] = (0, import_react11.useState)(false);
|
|
@@ -485,8 +500,8 @@ var Delegate = ({
|
|
|
485
500
|
setAccountInfo(info);
|
|
486
501
|
}
|
|
487
502
|
setChecking(false);
|
|
488
|
-
} catch (
|
|
489
|
-
setError(
|
|
503
|
+
} catch (error) {
|
|
504
|
+
setError(error);
|
|
490
505
|
}
|
|
491
506
|
};
|
|
492
507
|
const registerAddress = async () => {
|
|
@@ -497,35 +512,14 @@ var Delegate = ({
|
|
|
497
512
|
const tx = new import_transaction.Transaction({ initiator: wallet }).registerStake(rewardAddress).delegateStake(rewardAddress, poolId);
|
|
498
513
|
const unsignedTx = await tx.build();
|
|
499
514
|
const signedTx = await wallet.signTx(unsignedTx);
|
|
500
|
-
|
|
515
|
+
await wallet.submitTx(signedTx);
|
|
501
516
|
if (onDelegated) {
|
|
502
517
|
onDelegated();
|
|
503
518
|
}
|
|
504
519
|
setDone(true);
|
|
505
520
|
}
|
|
506
|
-
} catch (
|
|
507
|
-
|
|
508
|
-
setError(error2);
|
|
509
|
-
}
|
|
510
|
-
setProcessing(false);
|
|
511
|
-
};
|
|
512
|
-
const delegateStake = async () => {
|
|
513
|
-
setProcessing(true);
|
|
514
|
-
setDone(false);
|
|
515
|
-
try {
|
|
516
|
-
if (rewardAddress) {
|
|
517
|
-
const tx = new import_transaction.Transaction({ initiator: wallet }).delegateStake(
|
|
518
|
-
rewardAddress,
|
|
519
|
-
poolId
|
|
520
|
-
);
|
|
521
|
-
const unsignedTx = await tx.build();
|
|
522
|
-
const signedTx = await wallet.signTx(unsignedTx);
|
|
523
|
-
const txHash = await wallet.submitTx(signedTx);
|
|
524
|
-
setDone(true);
|
|
525
|
-
}
|
|
526
|
-
} catch (error2) {
|
|
527
|
-
console.error("error", error2);
|
|
528
|
-
setError(error2);
|
|
521
|
+
} catch (error) {
|
|
522
|
+
setError(error);
|
|
529
523
|
}
|
|
530
524
|
setProcessing(false);
|
|
531
525
|
};
|
package/dist/index.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
! tailwindcss v3.4.
|
|
2
|
+
! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
/*
|
|
@@ -696,6 +696,11 @@ video {
|
|
|
696
696
|
font-weight: 600;
|
|
697
697
|
}
|
|
698
698
|
|
|
699
|
+
.ui-text-gray-700 {
|
|
700
|
+
--tw-text-opacity: 1;
|
|
701
|
+
color: rgb(55 65 81 / var(--tw-text-opacity));
|
|
702
|
+
}
|
|
703
|
+
|
|
699
704
|
.ui-text-neutral-50 {
|
|
700
705
|
--tw-text-opacity: 1;
|
|
701
706
|
color: rgb(250 250 250 / var(--tw-text-opacity));
|
|
@@ -726,6 +731,11 @@ video {
|
|
|
726
731
|
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
|
727
732
|
}
|
|
728
733
|
|
|
734
|
+
.hover\:ui-text-black:hover {
|
|
735
|
+
--tw-text-opacity: 1;
|
|
736
|
+
color: rgb(0 0 0 / var(--tw-text-opacity));
|
|
737
|
+
}
|
|
738
|
+
|
|
729
739
|
.hover\:ui-opacity-100:hover {
|
|
730
740
|
opacity: 1;
|
|
731
741
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -8,15 +8,19 @@ interface ButtonProps$1 {
|
|
|
8
8
|
label?: string;
|
|
9
9
|
onConnected?: Function;
|
|
10
10
|
isDark?: boolean;
|
|
11
|
+
metamask?: {
|
|
12
|
+
network: string;
|
|
13
|
+
};
|
|
14
|
+
extensions?: number[];
|
|
11
15
|
}
|
|
12
|
-
declare const CardanoWallet: ({ label, onConnected, isDark, }: ButtonProps$1) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare const CardanoWallet: ({ label, onConnected, isDark, metamask, extensions, }: ButtonProps$1) => react_jsx_runtime.JSX.Element;
|
|
13
17
|
|
|
14
18
|
interface WalletContext {
|
|
15
19
|
hasConnectedWallet: boolean;
|
|
16
20
|
connectedWalletInstance: BrowserWallet;
|
|
17
21
|
connectedWalletName: string;
|
|
18
22
|
connectingWallet: boolean;
|
|
19
|
-
connectWallet?: (walletName: string) => Promise<void>;
|
|
23
|
+
connectWallet?: (walletName: string, extensions?: number[]) => Promise<void>;
|
|
20
24
|
disconnect?: () => void;
|
|
21
25
|
error?: unknown;
|
|
22
26
|
}
|
|
@@ -31,7 +35,11 @@ declare const useAddress: (accountId?: number) => string | undefined;
|
|
|
31
35
|
|
|
32
36
|
declare const useAssets: () => Asset[] | undefined;
|
|
33
37
|
|
|
34
|
-
declare const useWalletList: (
|
|
38
|
+
declare const useWalletList: ({ metamask, }?: {
|
|
39
|
+
metamask?: {
|
|
40
|
+
network: string;
|
|
41
|
+
};
|
|
42
|
+
}) => Wallet[];
|
|
35
43
|
|
|
36
44
|
declare const useLovelace: () => string | undefined;
|
|
37
45
|
|
|
@@ -44,7 +52,7 @@ declare const useWallet: () => {
|
|
|
44
52
|
connecting: boolean;
|
|
45
53
|
connected: boolean;
|
|
46
54
|
wallet: _meshsdk_wallet.BrowserWallet;
|
|
47
|
-
connect: (walletName: string) => Promise<void>;
|
|
55
|
+
connect: (walletName: string, extensions?: number[]) => Promise<void>;
|
|
48
56
|
disconnect: () => void;
|
|
49
57
|
error: unknown;
|
|
50
58
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -8,15 +8,19 @@ interface ButtonProps$1 {
|
|
|
8
8
|
label?: string;
|
|
9
9
|
onConnected?: Function;
|
|
10
10
|
isDark?: boolean;
|
|
11
|
+
metamask?: {
|
|
12
|
+
network: string;
|
|
13
|
+
};
|
|
14
|
+
extensions?: number[];
|
|
11
15
|
}
|
|
12
|
-
declare const CardanoWallet: ({ label, onConnected, isDark, }: ButtonProps$1) => react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare const CardanoWallet: ({ label, onConnected, isDark, metamask, extensions, }: ButtonProps$1) => react_jsx_runtime.JSX.Element;
|
|
13
17
|
|
|
14
18
|
interface WalletContext {
|
|
15
19
|
hasConnectedWallet: boolean;
|
|
16
20
|
connectedWalletInstance: BrowserWallet;
|
|
17
21
|
connectedWalletName: string;
|
|
18
22
|
connectingWallet: boolean;
|
|
19
|
-
connectWallet?: (walletName: string) => Promise<void>;
|
|
23
|
+
connectWallet?: (walletName: string, extensions?: number[]) => Promise<void>;
|
|
20
24
|
disconnect?: () => void;
|
|
21
25
|
error?: unknown;
|
|
22
26
|
}
|
|
@@ -31,7 +35,11 @@ declare const useAddress: (accountId?: number) => string | undefined;
|
|
|
31
35
|
|
|
32
36
|
declare const useAssets: () => Asset[] | undefined;
|
|
33
37
|
|
|
34
|
-
declare const useWalletList: (
|
|
38
|
+
declare const useWalletList: ({ metamask, }?: {
|
|
39
|
+
metamask?: {
|
|
40
|
+
network: string;
|
|
41
|
+
};
|
|
42
|
+
}) => Wallet[];
|
|
35
43
|
|
|
36
44
|
declare const useLovelace: () => string | undefined;
|
|
37
45
|
|
|
@@ -44,7 +52,7 @@ declare const useWallet: () => {
|
|
|
44
52
|
connecting: boolean;
|
|
45
53
|
connected: boolean;
|
|
46
54
|
wallet: _meshsdk_wallet.BrowserWallet;
|
|
47
|
-
connect: (walletName: string) => Promise<void>;
|
|
55
|
+
connect: (walletName: string, extensions?: number[]) => Promise<void>;
|
|
48
56
|
disconnect: () => void;
|
|
49
57
|
error: unknown;
|
|
50
58
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// src/cardano-wallet/index.tsx
|
|
2
2
|
import { useEffect as useEffect7, useState as useState9 } from "react";
|
|
3
|
-
import { BrowserWallet as BrowserWallet3 } from "@meshsdk/wallet";
|
|
4
3
|
|
|
5
4
|
// src/common/button.tsx
|
|
6
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -8,13 +7,17 @@ function Button({
|
|
|
8
7
|
children,
|
|
9
8
|
isDarkMode = false,
|
|
10
9
|
hideMenuList = false,
|
|
11
|
-
setHideMenuList
|
|
10
|
+
setHideMenuList,
|
|
11
|
+
onMouseEnter,
|
|
12
|
+
onMouseLeave
|
|
12
13
|
}) {
|
|
13
14
|
return /* @__PURE__ */ jsx(
|
|
14
15
|
"button",
|
|
15
16
|
{
|
|
16
17
|
className: `ui-mr-menu-list ui-flex ui-w-60 ui-items-center ui-justify-center ui-rounded-t-md ui-border ui-px-4 ui-py-2 ui-text-lg ui-font-normal ui-shadow-sm ${isDarkMode ? `ui-bg-neutral-950 ui-text-neutral-50` : `ui-bg-neutral-50 ui-text-neutral-950`}`,
|
|
17
18
|
onClick: () => setHideMenuList && setHideMenuList(!hideMenuList),
|
|
19
|
+
onMouseEnter,
|
|
20
|
+
onMouseLeave,
|
|
18
21
|
children
|
|
19
22
|
}
|
|
20
23
|
);
|
|
@@ -37,19 +40,24 @@ var useWalletStore = () => {
|
|
|
37
40
|
const [connectedWalletName, setConnectedWalletName] = useState(
|
|
38
41
|
INITIAL_STATE.walletName
|
|
39
42
|
);
|
|
40
|
-
const connectWallet = useCallback(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
const connectWallet = useCallback(
|
|
44
|
+
async (walletName, extensions) => {
|
|
45
|
+
setConnectingWallet(true);
|
|
46
|
+
try {
|
|
47
|
+
const walletInstance = await BrowserWallet.enable(
|
|
48
|
+
walletName,
|
|
49
|
+
extensions
|
|
50
|
+
);
|
|
51
|
+
setConnectedWalletInstance(walletInstance);
|
|
52
|
+
setConnectedWalletName(walletName);
|
|
53
|
+
setError(void 0);
|
|
54
|
+
} catch (error2) {
|
|
55
|
+
setError(error2);
|
|
56
|
+
}
|
|
57
|
+
setConnectingWallet(false);
|
|
58
|
+
},
|
|
59
|
+
[]
|
|
60
|
+
);
|
|
53
61
|
const disconnect = useCallback(() => {
|
|
54
62
|
setConnectedWalletName(INITIAL_STATE.walletName);
|
|
55
63
|
setConnectedWalletInstance(INITIAL_STATE.walletInstance);
|
|
@@ -61,7 +69,6 @@ var useWalletStore = () => {
|
|
|
61
69
|
connectingWallet,
|
|
62
70
|
connectWallet,
|
|
63
71
|
disconnect,
|
|
64
|
-
// setWallet,
|
|
65
72
|
error
|
|
66
73
|
};
|
|
67
74
|
};
|
|
@@ -111,10 +118,17 @@ var useAssets = () => {
|
|
|
111
118
|
// src/hooks/useWalletList.ts
|
|
112
119
|
import { useEffect as useEffect3, useState as useState4 } from "react";
|
|
113
120
|
import { BrowserWallet as BrowserWallet2 } from "@meshsdk/wallet";
|
|
114
|
-
var useWalletList = (
|
|
121
|
+
var useWalletList = ({
|
|
122
|
+
metamask = {
|
|
123
|
+
network: "preprod"
|
|
124
|
+
}
|
|
125
|
+
} = {}) => {
|
|
115
126
|
const [wallets, setWallets] = useState4([]);
|
|
116
127
|
useEffect3(() => {
|
|
117
|
-
|
|
128
|
+
async function get() {
|
|
129
|
+
setWallets(await BrowserWallet2.getAvailableWallets({ metamask }));
|
|
130
|
+
}
|
|
131
|
+
get();
|
|
118
132
|
}, []);
|
|
119
133
|
return wallets;
|
|
120
134
|
};
|
|
@@ -210,7 +224,6 @@ var useWalletSubmit = () => {
|
|
|
210
224
|
);
|
|
211
225
|
} catch (error2) {
|
|
212
226
|
setError(error2);
|
|
213
|
-
console.error(error2);
|
|
214
227
|
}
|
|
215
228
|
setSubmitting(false);
|
|
216
229
|
}, []);
|
|
@@ -237,7 +250,7 @@ function MenuItem({
|
|
|
237
250
|
onClick: action,
|
|
238
251
|
children: [
|
|
239
252
|
icon && /* @__PURE__ */ jsx3("img", { className: "ui-pr-2 ui-m-1 ui-h-8", src: icon }),
|
|
240
|
-
/* @__PURE__ */ jsx3("span", { className: "ui-mr-menu-item ui-text-xl ui-font-normal", children: label.split(" ").map((word) => {
|
|
253
|
+
/* @__PURE__ */ jsx3("span", { className: "ui-mr-menu-item ui-text-xl ui-font-normal ui-text-gray-700 hover:ui-text-black", children: label.split(" ").map((word) => {
|
|
241
254
|
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
|
|
242
255
|
}).join(" ") })
|
|
243
256
|
]
|
|
@@ -296,29 +309,30 @@ import { Fragment as Fragment3, jsx as jsx6, jsxs as jsxs3 } from "react/jsx-run
|
|
|
296
309
|
var CardanoWallet = ({
|
|
297
310
|
label = "Connect Wallet",
|
|
298
311
|
onConnected = void 0,
|
|
299
|
-
isDark = false
|
|
312
|
+
isDark = false,
|
|
313
|
+
metamask = {
|
|
314
|
+
network: "preprod"
|
|
315
|
+
},
|
|
316
|
+
extensions = []
|
|
300
317
|
}) => {
|
|
301
318
|
const [isDarkMode, setIsDarkMode] = useState9(false);
|
|
302
319
|
const [hideMenuList, setHideMenuList] = useState9(true);
|
|
303
|
-
const [wallets, setWallets] = useState9([]);
|
|
304
320
|
const { connect, connecting, connected, disconnect, name } = useWallet();
|
|
321
|
+
const wallets = useWalletList({ metamask });
|
|
305
322
|
useEffect7(() => {
|
|
306
323
|
if (connected && onConnected) {
|
|
307
324
|
onConnected();
|
|
308
325
|
}
|
|
309
326
|
}, [connected]);
|
|
310
|
-
useEffect7(() => {
|
|
311
|
-
setWallets(BrowserWallet3.getInstalledWallets());
|
|
312
|
-
}, []);
|
|
313
327
|
useEffect7(() => {
|
|
314
328
|
setIsDarkMode(isDark);
|
|
315
329
|
}, [isDark]);
|
|
316
330
|
return /* @__PURE__ */ jsxs3(
|
|
317
331
|
"div",
|
|
318
332
|
{
|
|
319
|
-
className: "w-fit",
|
|
320
333
|
onMouseEnter: () => setHideMenuList(false),
|
|
321
334
|
onMouseLeave: () => setHideMenuList(true),
|
|
335
|
+
style: { width: "min-content", zIndex: 50 },
|
|
322
336
|
children: [
|
|
323
337
|
/* @__PURE__ */ jsx6(
|
|
324
338
|
Button,
|
|
@@ -332,7 +346,7 @@ var CardanoWallet = ({
|
|
|
332
346
|
connected,
|
|
333
347
|
connecting,
|
|
334
348
|
label,
|
|
335
|
-
wallet: wallets.find((wallet) => wallet.
|
|
349
|
+
wallet: wallets.find((wallet) => wallet.id === name)
|
|
336
350
|
}
|
|
337
351
|
)
|
|
338
352
|
}
|
|
@@ -341,16 +355,17 @@ var CardanoWallet = ({
|
|
|
341
355
|
"div",
|
|
342
356
|
{
|
|
343
357
|
className: `ui-mr-menu-list ui-absolute ui-w-60 ui-rounded-b-md ui-border ui-text-center ui-shadow-sm ui-backdrop-blur ${hideMenuList && "ui-hidden"} ${isDarkMode ? `ui-bg-neutral-950 ui-text-neutral-50` : `ui-bg-neutral-50 ui-text-neutral-950`}`,
|
|
358
|
+
style: { zIndex: 50 },
|
|
344
359
|
children: !connected && wallets.length > 0 ? /* @__PURE__ */ jsx6(Fragment3, { children: wallets.map((wallet, index) => /* @__PURE__ */ jsx6(
|
|
345
360
|
MenuItem,
|
|
346
361
|
{
|
|
347
362
|
icon: wallet.icon,
|
|
348
363
|
label: wallet.name,
|
|
349
364
|
action: () => {
|
|
350
|
-
connect(wallet.
|
|
365
|
+
connect(wallet.id, extensions);
|
|
351
366
|
setHideMenuList(!hideMenuList);
|
|
352
367
|
},
|
|
353
|
-
active: name === wallet.
|
|
368
|
+
active: name === wallet.id
|
|
354
369
|
},
|
|
355
370
|
index
|
|
356
371
|
)) }) : wallets.length === 0 ? /* @__PURE__ */ jsx6("span", { children: "No Wallet Found" }) : /* @__PURE__ */ jsx6(Fragment3, { children: /* @__PURE__ */ jsx6(
|
|
@@ -434,7 +449,7 @@ var Delegate = ({
|
|
|
434
449
|
}) => {
|
|
435
450
|
const { wallet } = useWallet();
|
|
436
451
|
const rewardAddress = useRewardAddress();
|
|
437
|
-
const [
|
|
452
|
+
const [_, setError] = useState10();
|
|
438
453
|
const [checking, setChecking] = useState10(false);
|
|
439
454
|
const [accountInfo, setAccountInfo] = useState10();
|
|
440
455
|
const [processing, setProcessing] = useState10(false);
|
|
@@ -447,8 +462,8 @@ var Delegate = ({
|
|
|
447
462
|
setAccountInfo(info);
|
|
448
463
|
}
|
|
449
464
|
setChecking(false);
|
|
450
|
-
} catch (
|
|
451
|
-
setError(
|
|
465
|
+
} catch (error) {
|
|
466
|
+
setError(error);
|
|
452
467
|
}
|
|
453
468
|
};
|
|
454
469
|
const registerAddress = async () => {
|
|
@@ -459,35 +474,14 @@ var Delegate = ({
|
|
|
459
474
|
const tx = new Transaction({ initiator: wallet }).registerStake(rewardAddress).delegateStake(rewardAddress, poolId);
|
|
460
475
|
const unsignedTx = await tx.build();
|
|
461
476
|
const signedTx = await wallet.signTx(unsignedTx);
|
|
462
|
-
|
|
477
|
+
await wallet.submitTx(signedTx);
|
|
463
478
|
if (onDelegated) {
|
|
464
479
|
onDelegated();
|
|
465
480
|
}
|
|
466
481
|
setDone(true);
|
|
467
482
|
}
|
|
468
|
-
} catch (
|
|
469
|
-
|
|
470
|
-
setError(error2);
|
|
471
|
-
}
|
|
472
|
-
setProcessing(false);
|
|
473
|
-
};
|
|
474
|
-
const delegateStake = async () => {
|
|
475
|
-
setProcessing(true);
|
|
476
|
-
setDone(false);
|
|
477
|
-
try {
|
|
478
|
-
if (rewardAddress) {
|
|
479
|
-
const tx = new Transaction({ initiator: wallet }).delegateStake(
|
|
480
|
-
rewardAddress,
|
|
481
|
-
poolId
|
|
482
|
-
);
|
|
483
|
-
const unsignedTx = await tx.build();
|
|
484
|
-
const signedTx = await wallet.signTx(unsignedTx);
|
|
485
|
-
const txHash = await wallet.submitTx(signedTx);
|
|
486
|
-
setDone(true);
|
|
487
|
-
}
|
|
488
|
-
} catch (error2) {
|
|
489
|
-
console.error("error", error2);
|
|
490
|
-
setError(error2);
|
|
483
|
+
} catch (error) {
|
|
484
|
+
setError(error);
|
|
491
485
|
}
|
|
492
486
|
setProcessing(false);
|
|
493
487
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshsdk/react",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -18,13 +18,14 @@
|
|
|
18
18
|
"dist/**"
|
|
19
19
|
],
|
|
20
20
|
"scripts": {
|
|
21
|
+
"build:docs": "typedoc src/index.ts --json ../../apps/docs/src/data/mesh-react.json",
|
|
21
22
|
"build:mesh": "tsup src/index.ts --format esm,cjs --dts && tailwindcss -i ./src/styles.css -o ./dist/index.css",
|
|
22
|
-
"lint": "eslint",
|
|
23
|
-
"dev_old": "tailwindcss -i ./src/styles.css -o ./dist/index.css --watch",
|
|
24
23
|
"dev": "tsup src/index.ts --format esm,cjs --watch --dts",
|
|
25
|
-
"type-check": "tsc --noEmit",
|
|
26
24
|
"clean": "rm -rf .turbo && rm -rf dist && rm -rf node_modules",
|
|
27
|
-
"format": "prettier --check . --ignore-path ../../.gitignore"
|
|
25
|
+
"format": "prettier --check . --ignore-path ../../.gitignore",
|
|
26
|
+
"lint": "eslint",
|
|
27
|
+
"pack": "npm pack --pack-destination=./dist",
|
|
28
|
+
"type-check": "tsc --noEmit"
|
|
28
29
|
},
|
|
29
30
|
"dependencies": {
|
|
30
31
|
"react": "^18.2.0",
|
|
@@ -33,9 +34,7 @@
|
|
|
33
34
|
"@meshsdk/wallet": "*"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
|
-
"@meshsdk/
|
|
37
|
-
"@meshsdk/tailwind-config": "*",
|
|
38
|
-
"@meshsdk/typescript-config": "*",
|
|
37
|
+
"@meshsdk/configs": "*",
|
|
39
38
|
"@types/react": "^18.2.61",
|
|
40
39
|
"autoprefixer": "^10.4.18",
|
|
41
40
|
"postcss": "^8.4.35",
|
|
@@ -43,7 +42,7 @@
|
|
|
43
42
|
"tailwindcss": "^3.4.1",
|
|
44
43
|
"typescript": "latest"
|
|
45
44
|
},
|
|
46
|
-
"prettier": "@meshsdk/prettier
|
|
45
|
+
"prettier": "@meshsdk/configs/prettier",
|
|
47
46
|
"publishConfig": {
|
|
48
47
|
"access": "public"
|
|
49
48
|
},
|
|
@@ -55,4 +54,4 @@
|
|
|
55
54
|
"blockchain",
|
|
56
55
|
"sdk"
|
|
57
56
|
]
|
|
58
|
-
}
|
|
57
|
+
}
|