@xyo-network/react-connected-accounts 10.0.2 → 10.0.4
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/browser/classes/EnabledWallets.d.ts +1 -1
- package/dist/browser/classes/EnabledWallets.d.ts.map +1 -1
- package/dist/browser/components/ConnectedAccountsFlexbox.d.ts +1 -1
- package/dist/browser/components/ConnectedAccountsFlexbox.d.ts.map +1 -1
- package/dist/browser/components/wallet/dialogs/connect/LinkedProvidersFlexbox.d.ts +1 -1
- package/dist/browser/components/wallet/dialogs/connect/LinkedProvidersFlexbox.d.ts.map +1 -1
- package/dist/browser/components/wallet/dialogs/connect/Permissions.d.ts +1 -1
- package/dist/browser/components/wallet/dialogs/connect/Permissions.d.ts.map +1 -1
- package/dist/browser/components/wallet/dialogs/revoke/Dialog.d.ts.map +1 -1
- package/dist/browser/components/wallet/lib/ActiveProvider.d.ts +1 -1
- package/dist/browser/components/wallet/lib/ActiveProvider.d.ts.map +1 -1
- package/dist/browser/components/wallet/table/ConnectedWalletsTable.d.ts +1 -1
- package/dist/browser/components/wallet/table/ConnectedWalletsTable.d.ts.map +1 -1
- package/dist/browser/components/wallet/table/ConnectedWalletsTableRow.d.ts +1 -1
- package/dist/browser/components/wallet/table/ConnectedWalletsTableRow.d.ts.map +1 -1
- package/dist/browser/hooks/useDetectWallets.d.ts +1 -1
- package/dist/browser/hooks/useDetectWallets.d.ts.map +1 -1
- package/dist/browser/index.mjs +17 -20
- package/dist/browser/index.mjs.map +3 -3
- package/package.json +35 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EnabledWallets.d.ts","sourceRoot":"","sources":["../../../src/classes/EnabledWallets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAIvF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE;IAClD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;CACzB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAA;AAEvC,qBAAa,2BAA2B;IAEtC,kBAAkB,UAAO;IAGzB,OAAO,CAAC,cAAc,CAA+B;IAGrD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,eAAe,CAA4B;gBAEvC,eAAe,SAA4B;IAKvD,IAAI,OAAO,2BAEV;IAED,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,iBAAiB;IAoBvC,SAAS,CAAC,QAAQ,EAAE,cAAc;IAOlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAQlD,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,cAAc;CAWvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectedAccountsFlexbox.d.ts","sourceRoot":"","sources":["../../../src/components/ConnectedAccountsFlexbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConnectedAccountsFlexbox.d.ts","sourceRoot":"","sources":["../../../src/components/ConnectedAccountsFlexbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAGjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,6BAA8B,SAAQ,YAAY;IACjE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACnD;AAED,eAAO,MAAM,wBAAwB;oEAElC,6BAA6B;;CAgC/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedProvidersFlexbox.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LinkedProvidersFlexbox.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAIjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,WAAW,2BAA4B,SAAQ,YAAY;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA2BxE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet/dialogs/connect/Permissions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Permissions.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet/dialogs/connect/Permissions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAGjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,6BAA8B,SAAQ,YAAY;CAAG;AAEtE,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAiC5E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet/dialogs/revoke/Dialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../../src/components/wallet/dialogs/revoke/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,WAAW,iCAAkC,SAAQ,WAAW;IACpE,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC;AAED,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CAmCpF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActiveProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet/lib/ActiveProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ActiveProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet/lib/ActiveProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAA;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { EIP6963Connector } from '@ariestools/sdk-react/crypto';
|
|
1
2
|
import type { TableProps } from '@mui/material';
|
|
2
|
-
import type { EIP6963Connector } from '@xylabs/react-crypto';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
export interface ConnectedWalletsTableProps extends TableProps {
|
|
5
5
|
ignoreConnectDialog?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectedWalletsTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet/table/ConnectedWalletsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ConnectedWalletsTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet/table/ConnectedWalletsTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI/C,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,MAAM,WAAW,0BAA2B,SAAQ,UAAU;IAC5D,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAClD,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAiDtE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { EthWalletConnectorBase } from '@ariestools/sdk-react/crypto';
|
|
1
2
|
import type { TableRowProps } from '@mui/material';
|
|
2
|
-
import type { EthWalletConnectorBase } from '@xylabs/react-crypto';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import type { ActiveProvider } from '../lib/index.ts';
|
|
5
5
|
export interface WalletConnectionsTableRowProps extends TableRowProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectedWalletsTableRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet/table/ConnectedWalletsTableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ConnectedWalletsTableRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/wallet/table/ConnectedWalletsTableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGrD,MAAM,WAAW,8BAA+B,SAAQ,aAAa;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,cAAc,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAA;IACzD,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAA;IACnD,MAAM,EAAE,sBAAsB,CAAA;CAC/B;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CA4D9E,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useDetectWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDetectWallets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAkBvF,eAAO,MAAM,kBAAkB;;;CAU9B,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -91,11 +91,11 @@ var EnabledEthWalletConnections = class {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
// src/components/ConnectedAccountsFlexbox.tsx
|
|
94
|
+
import { FlexCol as FlexCol3 } from "@ariestools/sdk-react/flexbox";
|
|
94
95
|
import { Typography as Typography6, useTheme as useTheme2 } from "@mui/material";
|
|
95
|
-
import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
|
|
96
96
|
|
|
97
97
|
// src/hooks/useDetectWallets.tsx
|
|
98
|
-
import { useWalletDiscovery } from "@
|
|
98
|
+
import { useWalletDiscovery } from "@ariestools/sdk-react/crypto";
|
|
99
99
|
import { useMemo } from "react";
|
|
100
100
|
var sortWallets = (wallets) => {
|
|
101
101
|
const result = [];
|
|
@@ -120,7 +120,7 @@ var useDetectedWallets = () => {
|
|
|
120
120
|
};
|
|
121
121
|
|
|
122
122
|
// src/hooks/useEnabledWallets.tsx
|
|
123
|
-
import { useWalletDiscovery as useWalletDiscovery2 } from "@
|
|
123
|
+
import { useWalletDiscovery as useWalletDiscovery2 } from "@ariestools/sdk-react/crypto";
|
|
124
124
|
import { useMemo as useMemo2, useSyncExternalStore } from "react";
|
|
125
125
|
var enabledEthWalletsRef = { current: void 0 };
|
|
126
126
|
var useEnabledWalletsInner = (enabledWalletsRdns) => {
|
|
@@ -136,13 +136,10 @@ var useEnabledWalletsInner = (enabledWalletsRdns) => {
|
|
|
136
136
|
var useEnabledWallets = (enabledWalletsRdns) => {
|
|
137
137
|
const wallets = useEnabledWalletsInner(enabledWalletsRdns);
|
|
138
138
|
const enabledWallets = useMemo2(
|
|
139
|
-
() => (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
return acc;
|
|
144
|
-
}, {})
|
|
145
|
-
),
|
|
139
|
+
() => Object.entries(wallets).reduce((acc, [walletName, wallet]) => {
|
|
140
|
+
if (wallet.enabled) acc[walletName] = wallet;
|
|
141
|
+
return acc;
|
|
142
|
+
}, {}),
|
|
146
143
|
[wallets]
|
|
147
144
|
);
|
|
148
145
|
return {
|
|
@@ -177,10 +174,10 @@ import {
|
|
|
177
174
|
} from "@mui/material";
|
|
178
175
|
|
|
179
176
|
// src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx
|
|
177
|
+
import { ConstrainedImage } from "@ariestools/sdk-react/crypto";
|
|
178
|
+
import { FlexCol, FlexRow } from "@ariestools/sdk-react/flexbox";
|
|
180
179
|
import { SyncAlt } from "@mui/icons-material";
|
|
181
180
|
import { Typography } from "@mui/material";
|
|
182
|
-
import { ConstrainedImage } from "@xylabs/react-crypto";
|
|
183
|
-
import { FlexCol, FlexRow } from "@xylabs/react-flexbox";
|
|
184
181
|
|
|
185
182
|
// src/img/xyo-color-logo.svg
|
|
186
183
|
var xyo_color_logo_default = '<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 238"><defs><style>.cls-1{fill:#8d8fc6;}.cls-2{fill:#579fd6;}.cls-3{fill:#f27046;}.cls-4{fill:#eb407a;}</style></defs><path class="cls-1" d="M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z"/><path class="cls-2" d="M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z"/><path class="cls-3" d="M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z"/><path class="cls-4" d="M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z"/></svg>';
|
|
@@ -224,8 +221,8 @@ var LinkedProvidersFlexbox = ({
|
|
|
224
221
|
};
|
|
225
222
|
|
|
226
223
|
// src/components/wallet/dialogs/connect/Permissions.tsx
|
|
224
|
+
import { FlexCol as FlexCol2 } from "@ariestools/sdk-react/flexbox";
|
|
227
225
|
import { Link, Typography as Typography2 } from "@mui/material";
|
|
228
|
-
import { FlexCol as FlexCol2 } from "@xylabs/react-flexbox";
|
|
229
226
|
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
230
227
|
var WalletPermissionsFlexbox = (props) => {
|
|
231
228
|
return /* @__PURE__ */ jsxs3(
|
|
@@ -315,6 +312,8 @@ var ConnectWalletDialog = ({
|
|
|
315
312
|
};
|
|
316
313
|
|
|
317
314
|
// src/components/wallet/dialogs/revoke/Dialog.tsx
|
|
315
|
+
import { ConstrainedImage as ConstrainedImage2 } from "@ariestools/sdk-react/crypto";
|
|
316
|
+
import { FlexRow as FlexRow2 } from "@ariestools/sdk-react/flexbox";
|
|
318
317
|
import {
|
|
319
318
|
Button as Button2,
|
|
320
319
|
Dialog as Dialog2,
|
|
@@ -323,8 +322,6 @@ import {
|
|
|
323
322
|
DialogTitle as DialogTitle2,
|
|
324
323
|
Typography as Typography3
|
|
325
324
|
} from "@mui/material";
|
|
326
|
-
import { ConstrainedImage as ConstrainedImage2 } from "@xylabs/react-crypto";
|
|
327
|
-
import { FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
|
|
328
325
|
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
329
326
|
var RevokeWalletConnectionDialog = ({ activeProvider, ...props }) => {
|
|
330
327
|
return /* @__PURE__ */ jsxs5(Dialog2, { ...props, children: [
|
|
@@ -423,6 +420,7 @@ var ConnectedWalletsAccountsTableCell = ({
|
|
|
423
420
|
};
|
|
424
421
|
|
|
425
422
|
// src/components/wallet/table/cells/Actions.tsx
|
|
423
|
+
import { FlexRow as FlexRow3 } from "@ariestools/sdk-react/flexbox";
|
|
426
424
|
import { Check, InfoOutlined } from "@mui/icons-material";
|
|
427
425
|
import {
|
|
428
426
|
Button as Button3,
|
|
@@ -430,7 +428,6 @@ import {
|
|
|
430
428
|
TableCell as TableCell2,
|
|
431
429
|
Typography as Typography5
|
|
432
430
|
} from "@mui/material";
|
|
433
|
-
import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
|
|
434
431
|
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
435
432
|
var ConnectedWalletsActionsTableCell = ({
|
|
436
433
|
connected,
|
|
@@ -464,8 +461,8 @@ var ConnectedWalletsChainNameTableCell = ({ chainName, tableCellProps }) => {
|
|
|
464
461
|
};
|
|
465
462
|
|
|
466
463
|
// src/components/wallet/table/cells/State.tsx
|
|
464
|
+
import { isDefined } from "@ariestools/sdk";
|
|
467
465
|
import { Switch, TableCell as TableCell4 } from "@mui/material";
|
|
468
|
-
import { isDefined } from "@xylabs/sdk-js";
|
|
469
466
|
import { useMemo as useMemo3 } from "react";
|
|
470
467
|
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
471
468
|
var ConnectedWalletState = ({
|
|
@@ -489,9 +486,9 @@ var ConnectedWalletState = ({
|
|
|
489
486
|
};
|
|
490
487
|
|
|
491
488
|
// src/components/wallet/table/cells/Wallet.tsx
|
|
489
|
+
import { ConstrainedImage as ConstrainedImage3 } from "@ariestools/sdk-react/crypto";
|
|
490
|
+
import { FlexRow as FlexRow4 } from "@ariestools/sdk-react/flexbox";
|
|
492
491
|
import { TableCell as TableCell5, useTheme } from "@mui/material";
|
|
493
|
-
import { ConstrainedImage as ConstrainedImage3 } from "@xylabs/react-crypto";
|
|
494
|
-
import { FlexRow as FlexRow4 } from "@xylabs/react-flexbox";
|
|
495
492
|
import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
496
493
|
var ConnectedWalletsWalletTableCell = ({
|
|
497
494
|
icon,
|
|
@@ -534,8 +531,8 @@ import {
|
|
|
534
531
|
import { useState as useState2 } from "react";
|
|
535
532
|
|
|
536
533
|
// src/components/wallet/table/ConnectedWalletsTableRow.tsx
|
|
534
|
+
import { useEthWallet } from "@ariestools/sdk-react/crypto";
|
|
537
535
|
import { TableRow } from "@mui/material";
|
|
538
|
-
import { useEthWallet } from "@xylabs/react-crypto";
|
|
539
536
|
import { useCallback, useMemo as useMemo4 } from "react";
|
|
540
537
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
541
538
|
var WalletConnectionsTableRow = ({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/classes/EnabledWallets.ts", "../../src/components/ConnectedAccountsFlexbox.tsx", "../../src/hooks/useDetectWallets.tsx", "../../src/hooks/useEnabledWallets.tsx", "../../src/components/wallet/dialogs/connect/CheckboxFormControl.tsx", "../../src/components/wallet/dialogs/connect/Dialog.tsx", "../../src/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx", "../../src/img/xyo-color-logo.svg", "../../src/components/wallet/dialogs/connect/Permissions.tsx", "../../src/components/wallet/dialogs/revoke/Dialog.tsx", "../../src/components/wallet/lib/TableHeadData.ts", "../../src/components/wallet/table/cells/Accounts.tsx", "../../src/components/wallet/table/cells/Actions.tsx", "../../src/components/wallet/table/cells/ChainName.tsx", "../../src/components/wallet/table/cells/State.tsx", "../../src/components/wallet/table/cells/Wallet.tsx", "../../src/components/wallet/table/cells/Cells.tsx", "../../src/components/wallet/table/ConnectedWalletsTable.tsx", "../../src/components/wallet/table/ConnectedWalletsTableRow.tsx", "../../src/components/wallet/table/hooks/useActiveProviderDialogState.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { DiscoveredWallets, EIP6963Connector } from '@xylabs/react-crypto'\n\nconst DEFAULT_LOCAL_STORAGE_KEY = 'XYO|EnabledWallets'\n\n/**\n * State for storing wallets and their enabled/disabled status by name\n */\nexport type EnabledEthWalletsState = Record<string, {\n enabled: boolean\n wallet: EIP6963Connector\n}>\n\n/**\n * State for storing only enabled/disabled status of a wallet by name\n */\nexport type EnabledWalletsSavedState = Record<string, boolean>\n\nexport type WalletListener = () => void\n\nexport class EnabledEthWalletConnections {\n // control whether or not enabled/disabled preferences are persisted (i.e. in localStorage)\n persistPreferences = true\n\n // Map of wallet names and their enabled/disabled state\n private enabledWallets: EnabledWalletsSavedState = {}\n\n // Map of wallet names, their enabled/disabled state, and their wallet class\n private ethWalletsState: EnabledEthWalletsState = {}\n\n // list of listeners that want to be notified on wallet changes\n private listeners: WalletListener[] = []\n\n // key to use in localStorage when persisting preferences\n private localStorageKey = DEFAULT_LOCAL_STORAGE_KEY\n\n constructor(localStorageKey = DEFAULT_LOCAL_STORAGE_KEY) {\n this.localStorageKey = localStorageKey\n this.reviveSettings()\n }\n\n get wallets() {\n return this.ethWalletsState\n }\n\n disableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, false)\n }\n\n enableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, true)\n }\n\n /**\n * Given a new set of wallets, set their enabled state based off previous preferences\n */\n resetWallets(wallets: DiscoveredWallets) {\n const newWallets: EnabledEthWalletsState = {}\n\n const addWallet = ([walletName, wallet]: [string, EIP6963Connector]) => {\n newWallets[walletName] = {\n // preserve the existing enabled state\n enabled: walletName in this.enabledWallets ? this.enabledWallets[walletName] : true,\n wallet,\n }\n }\n\n Object.entries(wallets).forEach((wallet) => {\n if (wallet !== undefined) {\n addWallet.bind(this)\n }\n })\n this.ethWalletsState = newWallets\n this.emitChange()\n }\n\n subscribe(listener: WalletListener) {\n this.listeners = [...this.listeners, listener]\n return () => {\n this.listeners = this.listeners.filter(existingListener => existingListener !== listener)\n }\n }\n\n toggleEnabledWallet(rdns: string, enabled: boolean) {\n if (rdns && this.ethWalletsState[rdns]) {\n this.ethWalletsState[rdns].enabled = enabled\n this.ethWalletsState = { ...this.ethWalletsState }\n this.emitChange()\n }\n }\n\n private emitChange() {\n for (const listener of this.listeners) {\n listener()\n }\n\n this.persistSettings()\n }\n\n private isPersistance(method: () => void) {\n if (this.persistPreferences) {\n method()\n }\n }\n\n private persistSettings() {\n this.isPersistance(() => {\n // convert wallet enabled selections into serializable state\n // eslint-disable-next-line unicorn/no-array-reduce\n const enabledWallets = Object.entries(this.ethWalletsState).reduce((acc, [rdns, { enabled }]) => {\n acc[rdns] = enabled\n return acc\n }, {} as EnabledWalletsSavedState)\n\n localStorage.setItem(this.localStorageKey, JSON.stringify(enabledWallets))\n })\n }\n\n private reviveSettings() {\n this.isPersistance(() => {\n const existingEntries = localStorage.getItem(this.localStorageKey)\n try {\n const entries = existingEntries ? JSON.parse(existingEntries) : {}\n this.enabledWallets = entries\n } catch (e) {\n console.warn(`Error parsing saved enabled wallet entries: ${(e as Error).message}`)\n }\n })\n }\n}\n", "import { Typography, useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { useDetectedWallets } from '../hooks/index.ts'\nimport { ConnectedWalletsTable } from './wallet/index.ts'\n\nexport interface ConnectedAccountsFlexboxProps extends FlexBoxProps {\n ignoreConnectDialog?: boolean\n // A callback that is invoked when the option to ignore the dialog is checked\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectedAccountsFlexbox = ({\n ref, ignoreConnectDialog, onIgnoreConnectDialog, ...props\n}: ConnectedAccountsFlexboxProps) => {\n const theme = useTheme()\n\n const { totalConnectedAccounts, sortedWallets } = useDetectedWallets()\n\n return (\n <FlexCol\n ref={ref}\n {...props}\n sx={[{\n alignItems: 'stretch',\n justifyContent: 'start',\n gap: 2,\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <FlexCol sx={{ alignItems: 'start' }}>\n <Typography variant=\"h2\" sx={{ mb: 0.5 }}>\n Detected Web3 Wallets\n </Typography>\n {totalConnectedAccounts\n ? (\n <Typography variant=\"subtitle1\" color={theme.vars.palette.secondary.main} sx={{ opacity: 0.5 }}>\n Total Connected Accounts:\n {' '}\n {totalConnectedAccounts}\n </Typography>\n )\n : null}\n </FlexCol>\n <ConnectedWalletsTable wallets={sortedWallets} ignoreConnectDialog={ignoreConnectDialog} onIgnoreConnectDialog={onIgnoreConnectDialog} />\n </FlexCol>\n )\n}\n\nConnectedAccountsFlexbox.displayName = 'ConnectedAccountsFlexbox'\n", "import type { DiscoveredWallets, EIP6963Connector } from '@xylabs/react-crypto'\nimport { useWalletDiscovery } from '@xylabs/react-crypto'\nimport { useMemo } from 'react'\n\nconst sortWallets = (wallets: DiscoveredWallets) => {\n const result: EIP6963Connector[] = []\n\n for (const wallet of Object.values(wallets)) {\n if (wallet) {\n if (wallet.allowedAccounts.length > 0)\n result.unshift(wallet)\n else\n result.push(wallet)\n }\n }\n return result\n}\n\nexport const useDetectedWallets = () => {\n const wallets = useWalletDiscovery()\n const sortedWallets = useMemo(() => sortWallets(wallets), [wallets])\n\n const totalConnectedAccounts = useMemo(\n () => Object.values(sortedWallets).reduce((acc, wallet) => acc + wallet.allowedAccounts.length, 0),\n [sortedWallets],\n )\n\n return { sortedWallets, totalConnectedAccounts }\n}\n", "import { useWalletDiscovery } from '@xylabs/react-crypto'\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport type { EnabledEthWalletsState, EnabledWalletsSavedState } from '../classes/index.ts'\nimport { EnabledEthWalletConnections } from '../classes/index.ts'\n\nconst enabledEthWalletsRef = { current: undefined as EnabledEthWalletConnections | undefined }\n\n/**\n * Takes the discovered wallets and tracks their enabled state globally\n */\nexport const useEnabledWalletsInner = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const discoveredWallets = useWalletDiscovery()\n\n // when we discover new wallets, build their enabled state\n const wallets = useMemo(() => {\n // eslint-disable-next-line react-hooks/immutability\n if (enabledEthWalletsRef.current === undefined) enabledEthWalletsRef.current = new EnabledEthWalletConnections()\n enabledEthWalletsRef.current.resetWallets(discoveredWallets)\n for (const [rdns, enabled] of Object.entries(enabledWalletsRdns ?? {})) enabledEthWalletsRef.current?.toggleEnabledWallet(rdns, enabled)\n return enabledEthWalletsRef.current\n }, [discoveredWallets, enabledWalletsRdns])\n\n return useSyncExternalStore(wallets.subscribe.bind(wallets), () => wallets.wallets)\n}\n\n/**\n * Expose an interface for enabling and disabling wallets\n */\nexport const useEnabledWallets = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const wallets = useEnabledWalletsInner(enabledWalletsRdns)\n const enabledWallets = useMemo(\n () =>\n // eslint-disable-next-line unicorn/no-array-reduce\n Object.entries(wallets).reduce((acc, [walletName, wallet]) => {\n if (wallet.enabled) acc[walletName] = wallet\n return acc\n }, {} as EnabledEthWalletsState),\n [wallets],\n )\n\n return {\n disableWallet: enabledEthWalletsRef.current?.disableWallet.bind(enabledEthWalletsRef.current),\n enableWallet: enabledEthWalletsRef.current?.enableWallet.bind(enabledEthWalletsRef.current),\n enabledWallets,\n wallets,\n }\n}\n", "import type { FormControlProps } from '@mui/material'\nimport {\n Checkbox, FormControl, FormLabel,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface CheckboxFormControlProps extends FormControlProps {\n onCheckChanged?: (checked: boolean) => void\n}\n\nexport const CheckboxFormControl: React.FC<CheckboxFormControlProps> = ({ onCheckChanged, ...props }) => {\n return (\n <FormControl {...props}>\n <FormLabel>\n <Checkbox onChange={(_, checked) => onCheckChanged?.(checked)} />\n Do not show this again.\n </FormLabel>\n </FormControl>\n )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\nimport { CheckboxFormControl } from './CheckboxFormControl.tsx'\nimport { LinkedProvidersFlexbox } from './LinkedProvidersFlexbox.tsx'\nimport { WalletPermissionsFlexbox } from './Permissions.tsx'\n\nexport interface ConnectWalletDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectWalletDialog: React.FC<ConnectWalletDialogProps> = ({\n activeProvider, onIgnoreConnectDialog, ...props\n}) => {\n const { icon, providerName } = activeProvider ?? {}\n\n const onConnect = async () => {\n try {\n await activeProvider?.connectWallet?.()\n props.onClose?.({}, 'escapeKeyDown')\n } catch (e) {\n console.warn(`Error connecting to wallet: ${(e as Error).message}`)\n }\n }\n\n return (\n <Dialog\n slotProps={{ paper: { sx: { display: 'flex', gap: 4 } } }}\n {...props}\n >\n <DialogTitle sx={{ textAlign: 'center' }}>XYO Wants To Access The Blockchain on Your Behalf</DialogTitle>\n <DialogContent sx={{\n display: 'flex', flexDirection: 'column', gap: 4,\n }}\n >\n <LinkedProvidersFlexbox icon={icon} providerName={providerName} />\n <WalletPermissionsFlexbox />\n <CheckboxFormControl onCheckChanged={onIgnoreConnectDialog} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"outlined\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n <Button variant=\"contained\" onClick={onConnect}>\n Connect\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n", "import { SyncAlt } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport { xyoColorLogo } from '../../../../img/index.ts'\n\nexport interface LinkedProvidersFlexboxProps extends FlexBoxProps {\n icon?: string\n providerName?: string\n}\n\nexport const LinkedProvidersFlexbox: React.FC<LinkedProvidersFlexboxProps> = ({\n icon, providerName, ...props\n}) => {\n return (\n <FlexRow\n {...props}\n sx={[{\n gap: 4,\n justifyContent: 'space-evenly',\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <FlexCol sx={{ gap: 0.5 }}>\n <img alt=\"XYO Logo\" src={xyoColorLogo} style={{ height: '48px' }} />\n <Typography variant=\"subtitle1\">XYO App</Typography>\n </FlexCol>\n <SyncAlt sx={{ fontSize: 'large' }} />\n <FlexCol sx={{ gap: 0.5 }}>\n <ConstrainedImage\n constrainedValue=\"48px\"\n src={icon}\n alt={providerName}\n style={{ height: '48px', maxWidth: '48px' }}\n />\n <Typography variant=\"subtitle1\">{providerName}</Typography>\n </FlexCol>\n </FlexRow>\n )\n}\n", "<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\"><defs><style>.cls-1{fill:#8d8fc6;}.cls-2{fill:#579fd6;}.cls-3{fill:#f27046;}.cls-4{fill:#eb407a;}</style></defs><path class=\"cls-1\" d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"/><path class=\"cls-2\" d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"/><path class=\"cls-3\" d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"/><path class=\"cls-4\" d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"/></svg>", "import { Link, Typography } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nexport interface WalletPermissionsFlexBoxProps extends FlexBoxProps {}\n\nexport const WalletPermissionsFlexbox: React.FC<WalletPermissionsFlexBoxProps> = (props) => {\n return (\n <FlexCol\n {...props}\n sx={[{ gap: 4 }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n textAlign: 'center',\n }}\n >\n This will allow XYO to:\n </Typography>\n <ul>\n <li>View your wallet account(s) and address(es)</li>\n <li>Read-only access to browse the public blockchain(s) you select</li>\n </ul>\n <Typography variant=\"subtitle1\" sx={{ textAlign: 'center' }}>\n You control what accounts to share and what blockchains to view. You can see or revoke access via your wallet's settings at anytime. View\n more on XYO's sovereign data philosophy\n {' '}\n <Link\n href=\"https://cointelegraph.com/innovation-circle/decentralization-and-sovereignty-debunking-our-approach-to-digital-sovereignty\"\n sx={{ fontWeight: 'bold' }}\n target=\"_blank\"\n >\n here\n </Link>\n .\n </Typography>\n </FlexCol>\n )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle, Typography,\n} from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\n\nexport interface RevokeWalletConnectionDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n}\n\nexport const RevokeWalletConnectionDialog: React.FC<RevokeWalletConnectionDialogProps> = ({ activeProvider, ...props }) => {\n return (\n <Dialog {...props}>\n <FlexRow\n sx={{\n gap: 2,\n justifyContent: 'start',\n pl: 2,\n }}\n >\n <ConstrainedImage src={activeProvider?.icon} constrainedValue=\"24px\" />\n <DialogTitle sx={{ pl: 0 }}>\n Revoke\n {activeProvider?.providerName}\n {' '}\n Access\n </DialogTitle>\n </FlexRow>\n <DialogContent>\n <Typography>\n Revoking access to your wallet must be done from the wallet's browser extension. Wallets grant access to specific domains please\n consult\n {' '}\n {activeProvider?.providerName}\n 's documentation on how to revoke access to this website:\n </Typography>\n <Typography>{globalThis.location.origin}</Typography>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n", "import type { TableHeadCell } from '@xyo-network/react-table'\n\nexport const WalletsTableHeadCells: TableHeadCell[] = [\n {\n disablePadding: false,\n id: 'wallet',\n label: 'Wallet',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'chain',\n label: 'Chain',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'accounts',\n label: 'Accounts',\n numeric: true,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'actions',\n label: 'Actions',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'enabled',\n label: 'Enabled',\n numeric: false,\n showOnMobile: true,\n },\n]\n", "import {\n TableCell, Tooltip, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsAccountsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n additionalAccounts,\n currentAccount,\n totalAccounts,\n tableCellProps,\n}) => {\n return (\n <TableCell {...tableCellProps}>\n <Tooltip\n sx={{ cursor: totalAccounts > 0 ? 'pointer' : 'auto' }}\n title={[...(currentAccount ?? []), ...(additionalAccounts ?? [])].map(address => (\n <p key={address}>{address}</p>\n ))}\n >\n <Typography>{totalAccounts}</Typography>\n </Tooltip>\n </TableCell>\n )\n}\n", "import { Check, InfoOutlined } from '@mui/icons-material'\nimport {\n Button, IconButton, TableCell, Typography,\n} from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsActionsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n connected, onConnect, onRevoke, tableCellProps,\n}) => {\n return (\n <TableCell {...tableCellProps}>\n <FlexRow\n sx={{\n gap: 2,\n justifyContent: 'start',\n }}\n >\n {connected\n ? (\n <Typography sx={{ display: 'inline-flex', gap: 0.5 }}>\n <Check />\n Connected\n </Typography>\n )\n : (\n <Button variant=\"contained\" onClick={onConnect}>\n Connect\n </Button>\n )}\n {connected\n ? (\n <IconButton onClick={onRevoke}>\n <InfoOutlined />\n </IconButton>\n )\n : null}\n </FlexRow>\n </TableCell>\n )\n}\n", "import { TableCell } from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsChainNameTableCell: React.FC<ConnectedWalletTableCellProps> = ({ chainName, tableCellProps }) => {\n return <TableCell {...tableCellProps}>{chainName}</TableCell>\n}\n", "import { Switch, TableCell } from '@mui/material'\nimport { isDefined } from '@xylabs/sdk-js'\nimport type { ChangeEvent } from 'react'\nimport React, { useMemo } from 'react'\n\nimport { useEnabledWallets } from '../../../../hooks/index.ts'\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletState: React.FC<ConnectedWalletTableCellProps> = ({\n connected, walletRdns, tableCellProps,\n}) => {\n const {\n disableWallet, enableWallet, wallets,\n } = useEnabledWallets()\n\n const enabled = useMemo(() => (isDefined(walletRdns) ? wallets[walletRdns]?.enabled : false), [wallets, walletRdns])\n\n const handleClick = (event: ChangeEvent<HTMLInputElement>) => {\n const checked = event.target?.checked\n if (isDefined(walletRdns)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n checked ? enableWallet?.(walletRdns) : disableWallet?.(walletRdns)\n }\n }\n return (\n <TableCell {...tableCellProps}>\n <Switch disabled={!connected} checked={connected && enabled} onChange={handleClick} />\n </TableCell>\n )\n}\n", "import { TableCell, useTheme } from '@mui/material'\nimport { ConstrainedImage } from '@xylabs/react-crypto'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsWalletTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n icon, walletName, tableCellProps,\n}) => {\n const theme = useTheme()\n\n return (\n <TableCell {...tableCellProps}>\n <FlexRow\n sx={{\n gap: 2,\n justifyContent: 'start',\n }}\n >\n <ConstrainedImage constrainedValue={theme.spacing(4)} src={icon} />\n {walletName}\n </FlexRow>\n </TableCell>\n )\n}\n", "import type { ComponentType } from 'react'\n\nimport { ConnectedWalletsAccountsTableCell } from './Accounts.tsx'\nimport { ConnectedWalletsActionsTableCell } from './Actions.tsx'\nimport { ConnectedWalletsChainNameTableCell } from './ChainName.tsx'\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\nimport { ConnectedWalletState } from './State.tsx'\nimport { ConnectedWalletsWalletTableCell } from './Wallet.tsx'\n\nexport const ConnectedWalletTableCells: ComponentType<ConnectedWalletTableCellProps>[] = [\n ConnectedWalletsWalletTableCell,\n ConnectedWalletsChainNameTableCell,\n ConnectedWalletsAccountsTableCell,\n ConnectedWalletsActionsTableCell,\n ConnectedWalletState,\n]\n", "import type { TableProps } from '@mui/material'\nimport {\n Table, TableBody, TableCell, TableHead, TableRow,\n} from '@mui/material'\nimport type { EIP6963Connector } from '@xylabs/react-crypto'\nimport React, { useState } from 'react'\n\nimport { ConnectWalletDialog, RevokeWalletConnectionDialog } from '../dialogs/index.ts'\nimport type { ActiveProvider } from '../lib/index.ts'\nimport { WalletsTableHeadCells } from '../lib/index.ts'\nimport { WalletConnectionsTableRow } from './ConnectedWalletsTableRow.tsx'\nimport { useActiveProviderDialogState } from './hooks/index.ts'\n\nexport interface ConnectedWalletsTableProps extends TableProps {\n ignoreConnectDialog?: boolean\n onIgnoreConnectDialog?: (checked: boolean) => void\n wallets?: EIP6963Connector[]\n}\n\nexport const ConnectedWalletsTable: React.FC<ConnectedWalletsTableProps> = ({\n ignoreConnectDialog, onIgnoreConnectDialog, wallets, ...props\n}) => {\n const [activeProvider, setActiveProvider] = useState<ActiveProvider>()\n const [showConnect, onSetActiveProviderConnect, onConnectClose] = useActiveProviderDialogState(setActiveProvider)\n const [showRevoke, onSetActiveProviderRevoke, onRevokeClose] = useActiveProviderDialogState(setActiveProvider)\n\n return (\n <>\n <Table {...props}>\n <TableHead>\n <TableRow>\n {WalletsTableHeadCells.map(({\n disablePadding, id, label, align, width,\n }) => (\n <TableCell\n align={align}\n key={id}\n sx={{\n padding: disablePadding ? 'none' : 'normal',\n width: width ?? 'auto',\n }}\n >\n {label}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {(wallets ?? []).map(wallet => (\n <WalletConnectionsTableRow\n ignoreConnectDialog={ignoreConnectDialog}\n key={wallet.providerInfo?.rdns}\n onConnectClick={onSetActiveProviderConnect}\n onRevoke={onSetActiveProviderRevoke}\n wallet={wallet}\n />\n ))}\n </TableBody>\n </Table>\n <RevokeWalletConnectionDialog open={showRevoke} onClose={onRevokeClose} activeProvider={activeProvider} />\n <ConnectWalletDialog\n activeProvider={activeProvider}\n onClose={onConnectClose}\n open={showConnect}\n onIgnoreConnectDialog={onIgnoreConnectDialog}\n />\n </>\n )\n}\n", "import type { TableRowProps } from '@mui/material'\nimport { TableRow } from '@mui/material'\nimport type { EthWalletConnectorBase } from '@xylabs/react-crypto'\nimport { useEthWallet } from '@xylabs/react-crypto'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { ActiveProvider } from '../lib/index.ts'\nimport { ConnectedWalletTableCells } from './cells/index.ts'\n\nexport interface WalletConnectionsTableRowProps extends TableRowProps {\n ignoreConnectDialog?: boolean\n onConnectClick?: (activeProvider: ActiveProvider) => void\n onRevoke?: (activeProvider: ActiveProvider) => void\n wallet: EthWalletConnectorBase\n}\n\nexport const WalletConnectionsTableRow: React.FC<WalletConnectionsTableRowProps> = ({\n ignoreConnectDialog,\n onConnectClick,\n onRevoke,\n wallet,\n ...props\n}) => {\n const {\n currentAccount: currentAccountFromWallet, additionalAccounts, chainName, connectWallet, providerInfo,\n } = useEthWallet(wallet)\n\n const currentAccount = currentAccountFromWallet?.toString() ? [currentAccountFromWallet.toString()] : []\n const totalAccounts = (additionalAccounts?.length ?? 0) + (currentAccount?.length ?? 0)\n const connected = !!(currentAccount?.length)\n const {\n icon, name, rdns,\n } = useMemo(() => providerInfo ?? {\n icon: undefined, name: undefined, rdns: undefined,\n }, [providerInfo])\n\n const activeProvider = useMemo<ActiveProvider>(\n () => ({\n connectWallet,\n icon,\n providerName: name,\n }),\n [connectWallet, icon, name],\n )\n\n const onRevokeLocal = useCallback(() => {\n onRevoke?.(activeProvider)\n }, [activeProvider, onRevoke])\n\n const onConnectLocal = useCallback(async () => {\n if (ignoreConnectDialog) {\n await connectWallet?.()\n } else {\n onConnectClick?.(activeProvider)\n }\n }, [activeProvider, connectWallet, ignoreConnectDialog, onConnectClick])\n\n return (\n <TableRow {...props}>\n {Object.entries(ConnectedWalletTableCells).map(([cellName, Cell]) => (\n <Cell\n key={cellName}\n additionalAccounts={additionalAccounts}\n chainName={chainName}\n connected={connected}\n currentAccount={currentAccount}\n icon={icon}\n onConnect={onConnectLocal}\n onRevoke={onRevokeLocal}\n totalAccounts={totalAccounts}\n walletName={name}\n walletRdns={rdns}\n />\n ))}\n </TableRow>\n )\n}\n", "import type { Dispatch, SetStateAction } from 'react'\nimport { useState } from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\n\nexport const useActiveProviderDialogState = (\n setActiveProvider: Dispatch<SetStateAction<ActiveProvider | undefined>>,\n): [boolean, (activeProvider: ActiveProvider) => void, () => void] => {\n const [show, setShow] = useState(false)\n const onSetActiveProvider = (activeProvider: ActiveProvider) => {\n setShow(true)\n setActiveProvider(activeProvider)\n }\n\n const onClose = () => {\n setShow(false)\n setActiveProvider({})\n }\n\n return [show, onSetActiveProvider, onClose]\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import type { DiscoveredWallets, EIP6963Connector } from '@ariestools/sdk-react/crypto'\n\nconst DEFAULT_LOCAL_STORAGE_KEY = 'XYO|EnabledWallets'\n\n/**\n * State for storing wallets and their enabled/disabled status by name\n */\nexport type EnabledEthWalletsState = Record<string, {\n enabled: boolean\n wallet: EIP6963Connector\n}>\n\n/**\n * State for storing only enabled/disabled status of a wallet by name\n */\nexport type EnabledWalletsSavedState = Record<string, boolean>\n\nexport type WalletListener = () => void\n\nexport class EnabledEthWalletConnections {\n // control whether or not enabled/disabled preferences are persisted (i.e. in localStorage)\n persistPreferences = true\n\n // Map of wallet names and their enabled/disabled state\n private enabledWallets: EnabledWalletsSavedState = {}\n\n // Map of wallet names, their enabled/disabled state, and their wallet class\n private ethWalletsState: EnabledEthWalletsState = {}\n\n // list of listeners that want to be notified on wallet changes\n private listeners: WalletListener[] = []\n\n // key to use in localStorage when persisting preferences\n private localStorageKey = DEFAULT_LOCAL_STORAGE_KEY\n\n constructor(localStorageKey = DEFAULT_LOCAL_STORAGE_KEY) {\n this.localStorageKey = localStorageKey\n this.reviveSettings()\n }\n\n get wallets() {\n return this.ethWalletsState\n }\n\n disableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, false)\n }\n\n enableWallet(rdns: string) {\n this.toggleEnabledWallet(rdns, true)\n }\n\n /**\n * Given a new set of wallets, set their enabled state based off previous preferences\n */\n resetWallets(wallets: DiscoveredWallets) {\n const newWallets: EnabledEthWalletsState = {}\n\n const addWallet = ([walletName, wallet]: [string, EIP6963Connector]) => {\n newWallets[walletName] = {\n // preserve the existing enabled state\n enabled: walletName in this.enabledWallets ? this.enabledWallets[walletName] : true,\n wallet,\n }\n }\n\n Object.entries(wallets).forEach((wallet) => {\n if (wallet !== undefined) {\n addWallet.bind(this)\n }\n })\n this.ethWalletsState = newWallets\n this.emitChange()\n }\n\n subscribe(listener: WalletListener) {\n this.listeners = [...this.listeners, listener]\n return () => {\n this.listeners = this.listeners.filter(existingListener => existingListener !== listener)\n }\n }\n\n toggleEnabledWallet(rdns: string, enabled: boolean) {\n if (rdns && this.ethWalletsState[rdns]) {\n this.ethWalletsState[rdns].enabled = enabled\n this.ethWalletsState = { ...this.ethWalletsState }\n this.emitChange()\n }\n }\n\n private emitChange() {\n for (const listener of this.listeners) {\n listener()\n }\n\n this.persistSettings()\n }\n\n private isPersistance(method: () => void) {\n if (this.persistPreferences) {\n method()\n }\n }\n\n private persistSettings() {\n this.isPersistance(() => {\n // convert wallet enabled selections into serializable state\n\n const enabledWallets = Object.entries(this.ethWalletsState).reduce((acc, [rdns, { enabled }]) => {\n acc[rdns] = enabled\n return acc\n }, {} as EnabledWalletsSavedState)\n\n localStorage.setItem(this.localStorageKey, JSON.stringify(enabledWallets))\n })\n }\n\n private reviveSettings() {\n this.isPersistance(() => {\n const existingEntries = localStorage.getItem(this.localStorageKey)\n try {\n const entries = existingEntries ? JSON.parse(existingEntries) : {}\n this.enabledWallets = entries\n } catch (e) {\n console.warn(`Error parsing saved enabled wallet entries: ${(e as Error).message}`)\n }\n })\n }\n}\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Typography, useTheme } from '@mui/material'\nimport React from 'react'\n\nimport { useDetectedWallets } from '../hooks/index.ts'\nimport { ConnectedWalletsTable } from './wallet/index.ts'\n\nexport interface ConnectedAccountsFlexboxProps extends FlexBoxProps {\n ignoreConnectDialog?: boolean\n // A callback that is invoked when the option to ignore the dialog is checked\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectedAccountsFlexbox = ({\n ref, ignoreConnectDialog, onIgnoreConnectDialog, ...props\n}: ConnectedAccountsFlexboxProps) => {\n const theme = useTheme()\n\n const { totalConnectedAccounts, sortedWallets } = useDetectedWallets()\n\n return (\n <FlexCol\n ref={ref}\n {...props}\n sx={[{\n alignItems: 'stretch',\n justifyContent: 'start',\n gap: 2,\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <FlexCol sx={{ alignItems: 'start' }}>\n <Typography variant=\"h2\" sx={{ mb: 0.5 }}>\n Detected Web3 Wallets\n </Typography>\n {totalConnectedAccounts\n ? (\n <Typography variant=\"subtitle1\" color={theme.vars.palette.secondary.main} sx={{ opacity: 0.5 }}>\n Total Connected Accounts:\n {' '}\n {totalConnectedAccounts}\n </Typography>\n )\n : null}\n </FlexCol>\n <ConnectedWalletsTable wallets={sortedWallets} ignoreConnectDialog={ignoreConnectDialog} onIgnoreConnectDialog={onIgnoreConnectDialog} />\n </FlexCol>\n )\n}\n\nConnectedAccountsFlexbox.displayName = 'ConnectedAccountsFlexbox'\n", "import type { DiscoveredWallets, EIP6963Connector } from '@ariestools/sdk-react/crypto'\nimport { useWalletDiscovery } from '@ariestools/sdk-react/crypto'\nimport { useMemo } from 'react'\n\nconst sortWallets = (wallets: DiscoveredWallets) => {\n const result: EIP6963Connector[] = []\n\n for (const wallet of Object.values(wallets)) {\n if (wallet) {\n if (wallet.allowedAccounts.length > 0)\n result.unshift(wallet)\n else\n result.push(wallet)\n }\n }\n return result\n}\n\nexport const useDetectedWallets = () => {\n const wallets = useWalletDiscovery()\n const sortedWallets = useMemo(() => sortWallets(wallets), [wallets])\n\n const totalConnectedAccounts = useMemo(\n () => Object.values(sortedWallets).reduce((acc, wallet) => acc + wallet.allowedAccounts.length, 0),\n [sortedWallets],\n )\n\n return { sortedWallets, totalConnectedAccounts }\n}\n", "import { useWalletDiscovery } from '@ariestools/sdk-react/crypto'\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport type { EnabledEthWalletsState, EnabledWalletsSavedState } from '../classes/index.ts'\nimport { EnabledEthWalletConnections } from '../classes/index.ts'\n\nconst enabledEthWalletsRef = { current: undefined as EnabledEthWalletConnections | undefined }\n\n/**\n * Takes the discovered wallets and tracks their enabled state globally\n */\nexport const useEnabledWalletsInner = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const discoveredWallets = useWalletDiscovery()\n\n // when we discover new wallets, build their enabled state\n const wallets = useMemo(() => {\n // eslint-disable-next-line react-hooks/immutability\n if (enabledEthWalletsRef.current === undefined) enabledEthWalletsRef.current = new EnabledEthWalletConnections()\n enabledEthWalletsRef.current.resetWallets(discoveredWallets)\n for (const [rdns, enabled] of Object.entries(enabledWalletsRdns ?? {})) enabledEthWalletsRef.current?.toggleEnabledWallet(rdns, enabled)\n return enabledEthWalletsRef.current\n }, [discoveredWallets, enabledWalletsRdns])\n\n return useSyncExternalStore(wallets.subscribe.bind(wallets), () => wallets.wallets)\n}\n\n/**\n * Expose an interface for enabling and disabling wallets\n */\nexport const useEnabledWallets = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n const wallets = useEnabledWalletsInner(enabledWalletsRdns)\n const enabledWallets = useMemo(\n () =>\n\n Object.entries(wallets).reduce((acc, [walletName, wallet]) => {\n if (wallet.enabled) acc[walletName] = wallet\n return acc\n }, {} as EnabledEthWalletsState),\n [wallets],\n )\n\n return {\n disableWallet: enabledEthWalletsRef.current?.disableWallet.bind(enabledEthWalletsRef.current),\n enableWallet: enabledEthWalletsRef.current?.enableWallet.bind(enabledEthWalletsRef.current),\n enabledWallets,\n wallets,\n }\n}\n", "import type { FormControlProps } from '@mui/material'\nimport {\n Checkbox, FormControl, FormLabel,\n} from '@mui/material'\nimport React from 'react'\n\nexport interface CheckboxFormControlProps extends FormControlProps {\n onCheckChanged?: (checked: boolean) => void\n}\n\nexport const CheckboxFormControl: React.FC<CheckboxFormControlProps> = ({ onCheckChanged, ...props }) => {\n return (\n <FormControl {...props}>\n <FormLabel>\n <Checkbox onChange={(_, checked) => onCheckChanged?.(checked)} />\n Do not show this again.\n </FormLabel>\n </FormControl>\n )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\nimport { CheckboxFormControl } from './CheckboxFormControl.tsx'\nimport { LinkedProvidersFlexbox } from './LinkedProvidersFlexbox.tsx'\nimport { WalletPermissionsFlexbox } from './Permissions.tsx'\n\nexport interface ConnectWalletDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\nexport const ConnectWalletDialog: React.FC<ConnectWalletDialogProps> = ({\n activeProvider, onIgnoreConnectDialog, ...props\n}) => {\n const { icon, providerName } = activeProvider ?? {}\n\n const onConnect = async () => {\n try {\n await activeProvider?.connectWallet?.()\n props.onClose?.({}, 'escapeKeyDown')\n } catch (e) {\n console.warn(`Error connecting to wallet: ${(e as Error).message}`)\n }\n }\n\n return (\n <Dialog\n slotProps={{ paper: { sx: { display: 'flex', gap: 4 } } }}\n {...props}\n >\n <DialogTitle sx={{ textAlign: 'center' }}>XYO Wants To Access The Blockchain on Your Behalf</DialogTitle>\n <DialogContent sx={{\n display: 'flex', flexDirection: 'column', gap: 4,\n }}\n >\n <LinkedProvidersFlexbox icon={icon} providerName={providerName} />\n <WalletPermissionsFlexbox />\n <CheckboxFormControl onCheckChanged={onIgnoreConnectDialog} />\n </DialogContent>\n <DialogActions>\n <Button variant=\"outlined\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n <Button variant=\"contained\" onClick={onConnect}>\n Connect\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n", "import { ConstrainedImage } from '@ariestools/sdk-react/crypto'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { SyncAlt } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nimport { xyoColorLogo } from '../../../../img/index.ts'\n\nexport interface LinkedProvidersFlexboxProps extends FlexBoxProps {\n icon?: string\n providerName?: string\n}\n\nexport const LinkedProvidersFlexbox: React.FC<LinkedProvidersFlexboxProps> = ({\n icon, providerName, ...props\n}) => {\n return (\n <FlexRow\n {...props}\n sx={[{\n gap: 4,\n justifyContent: 'space-evenly',\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <FlexCol sx={{ gap: 0.5 }}>\n <img alt=\"XYO Logo\" src={xyoColorLogo} style={{ height: '48px' }} />\n <Typography variant=\"subtitle1\">XYO App</Typography>\n </FlexCol>\n <SyncAlt sx={{ fontSize: 'large' }} />\n <FlexCol sx={{ gap: 0.5 }}>\n <ConstrainedImage\n constrainedValue=\"48px\"\n src={icon}\n alt={providerName}\n style={{ height: '48px', maxWidth: '48px' }}\n />\n <Typography variant=\"subtitle1\">{providerName}</Typography>\n </FlexCol>\n </FlexRow>\n )\n}\n", "<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\"><defs><style>.cls-1{fill:#8d8fc6;}.cls-2{fill:#579fd6;}.cls-3{fill:#f27046;}.cls-4{fill:#eb407a;}</style></defs><path class=\"cls-1\" d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"/><path class=\"cls-2\" d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"/><path class=\"cls-3\" d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"/><path class=\"cls-4\" d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"/></svg>", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Link, Typography } from '@mui/material'\nimport React from 'react'\n\nexport interface WalletPermissionsFlexBoxProps extends FlexBoxProps {}\n\nexport const WalletPermissionsFlexbox: React.FC<WalletPermissionsFlexBoxProps> = (props) => {\n return (\n <FlexCol\n {...props}\n sx={[{ gap: 4 }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <Typography\n sx={{\n fontWeight: 'bold',\n textAlign: 'center',\n }}\n >\n This will allow XYO to:\n </Typography>\n <ul>\n <li>View your wallet account(s) and address(es)</li>\n <li>Read-only access to browse the public blockchain(s) you select</li>\n </ul>\n <Typography variant=\"subtitle1\" sx={{ textAlign: 'center' }}>\n You control what accounts to share and what blockchains to view. You can see or revoke access via your wallet's settings at anytime. View\n more on XYO's sovereign data philosophy\n {' '}\n <Link\n href=\"https://cointelegraph.com/innovation-circle/decentralization-and-sovereignty-debunking-our-approach-to-digital-sovereignty\"\n sx={{ fontWeight: 'bold' }}\n target=\"_blank\"\n >\n here\n </Link>\n .\n </Typography>\n </FlexCol>\n )\n}\n", "import { ConstrainedImage } from '@ariestools/sdk-react/crypto'\nimport { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport type { DialogProps } from '@mui/material'\nimport {\n Button, Dialog, DialogActions, DialogContent, DialogTitle, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\n\nexport interface RevokeWalletConnectionDialogProps extends DialogProps {\n activeProvider?: ActiveProvider\n}\n\nexport const RevokeWalletConnectionDialog: React.FC<RevokeWalletConnectionDialogProps> = ({ activeProvider, ...props }) => {\n return (\n <Dialog {...props}>\n <FlexRow\n sx={{\n gap: 2,\n justifyContent: 'start',\n pl: 2,\n }}\n >\n <ConstrainedImage src={activeProvider?.icon} constrainedValue=\"24px\" />\n <DialogTitle sx={{ pl: 0 }}>\n Revoke\n {activeProvider?.providerName}\n {' '}\n Access\n </DialogTitle>\n </FlexRow>\n <DialogContent>\n <Typography>\n Revoking access to your wallet must be done from the wallet's browser extension. Wallets grant access to specific domains please\n consult\n {' '}\n {activeProvider?.providerName}\n 's documentation on how to revoke access to this website:\n </Typography>\n <Typography>{globalThis.location.origin}</Typography>\n </DialogContent>\n <DialogActions>\n <Button variant=\"contained\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n Close\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n", "import type { TableHeadCell } from '@xyo-network/react-table'\n\nexport const WalletsTableHeadCells: TableHeadCell[] = [\n {\n disablePadding: false,\n id: 'wallet',\n label: 'Wallet',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'chain',\n label: 'Chain',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'accounts',\n label: 'Accounts',\n numeric: true,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'actions',\n label: 'Actions',\n numeric: false,\n showOnMobile: true,\n },\n {\n disablePadding: false,\n id: 'enabled',\n label: 'Enabled',\n numeric: false,\n showOnMobile: true,\n },\n]\n", "import {\n TableCell, Tooltip, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsAccountsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n additionalAccounts,\n currentAccount,\n totalAccounts,\n tableCellProps,\n}) => {\n return (\n <TableCell {...tableCellProps}>\n <Tooltip\n sx={{ cursor: totalAccounts > 0 ? 'pointer' : 'auto' }}\n title={[...(currentAccount ?? []), ...(additionalAccounts ?? [])].map(address => (\n <p key={address}>{address}</p>\n ))}\n >\n <Typography>{totalAccounts}</Typography>\n </Tooltip>\n </TableCell>\n )\n}\n", "import { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { Check, InfoOutlined } from '@mui/icons-material'\nimport {\n Button, IconButton, TableCell, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsActionsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n connected, onConnect, onRevoke, tableCellProps,\n}) => {\n return (\n <TableCell {...tableCellProps}>\n <FlexRow\n sx={{\n gap: 2,\n justifyContent: 'start',\n }}\n >\n {connected\n ? (\n <Typography sx={{ display: 'inline-flex', gap: 0.5 }}>\n <Check />\n Connected\n </Typography>\n )\n : (\n <Button variant=\"contained\" onClick={onConnect}>\n Connect\n </Button>\n )}\n {connected\n ? (\n <IconButton onClick={onRevoke}>\n <InfoOutlined />\n </IconButton>\n )\n : null}\n </FlexRow>\n </TableCell>\n )\n}\n", "import { TableCell } from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsChainNameTableCell: React.FC<ConnectedWalletTableCellProps> = ({ chainName, tableCellProps }) => {\n return <TableCell {...tableCellProps}>{chainName}</TableCell>\n}\n", "import { isDefined } from '@ariestools/sdk'\nimport { Switch, TableCell } from '@mui/material'\nimport type { ChangeEvent } from 'react'\nimport React, { useMemo } from 'react'\n\nimport { useEnabledWallets } from '../../../../hooks/index.ts'\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletState: React.FC<ConnectedWalletTableCellProps> = ({\n connected, walletRdns, tableCellProps,\n}) => {\n const {\n disableWallet, enableWallet, wallets,\n } = useEnabledWallets()\n\n const enabled = useMemo(() => (isDefined(walletRdns) ? wallets[walletRdns]?.enabled : false), [wallets, walletRdns])\n\n const handleClick = (event: ChangeEvent<HTMLInputElement>) => {\n const checked = event.target?.checked\n if (isDefined(walletRdns)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n checked ? enableWallet?.(walletRdns) : disableWallet?.(walletRdns)\n }\n }\n return (\n <TableCell {...tableCellProps}>\n <Switch disabled={!connected} checked={connected && enabled} onChange={handleClick} />\n </TableCell>\n )\n}\n", "import { ConstrainedImage } from '@ariestools/sdk-react/crypto'\nimport { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { TableCell, useTheme } from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\nexport const ConnectedWalletsWalletTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n icon, walletName, tableCellProps,\n}) => {\n const theme = useTheme()\n\n return (\n <TableCell {...tableCellProps}>\n <FlexRow\n sx={{\n gap: 2,\n justifyContent: 'start',\n }}\n >\n <ConstrainedImage constrainedValue={theme.spacing(4)} src={icon} />\n {walletName}\n </FlexRow>\n </TableCell>\n )\n}\n", "import type { ComponentType } from 'react'\n\nimport { ConnectedWalletsAccountsTableCell } from './Accounts.tsx'\nimport { ConnectedWalletsActionsTableCell } from './Actions.tsx'\nimport { ConnectedWalletsChainNameTableCell } from './ChainName.tsx'\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\nimport { ConnectedWalletState } from './State.tsx'\nimport { ConnectedWalletsWalletTableCell } from './Wallet.tsx'\n\nexport const ConnectedWalletTableCells: ComponentType<ConnectedWalletTableCellProps>[] = [\n ConnectedWalletsWalletTableCell,\n ConnectedWalletsChainNameTableCell,\n ConnectedWalletsAccountsTableCell,\n ConnectedWalletsActionsTableCell,\n ConnectedWalletState,\n]\n", "import type { EIP6963Connector } from '@ariestools/sdk-react/crypto'\nimport type { TableProps } from '@mui/material'\nimport {\n Table, TableBody, TableCell, TableHead, TableRow,\n} from '@mui/material'\nimport React, { useState } from 'react'\n\nimport { ConnectWalletDialog, RevokeWalletConnectionDialog } from '../dialogs/index.ts'\nimport type { ActiveProvider } from '../lib/index.ts'\nimport { WalletsTableHeadCells } from '../lib/index.ts'\nimport { WalletConnectionsTableRow } from './ConnectedWalletsTableRow.tsx'\nimport { useActiveProviderDialogState } from './hooks/index.ts'\n\nexport interface ConnectedWalletsTableProps extends TableProps {\n ignoreConnectDialog?: boolean\n onIgnoreConnectDialog?: (checked: boolean) => void\n wallets?: EIP6963Connector[]\n}\n\nexport const ConnectedWalletsTable: React.FC<ConnectedWalletsTableProps> = ({\n ignoreConnectDialog, onIgnoreConnectDialog, wallets, ...props\n}) => {\n const [activeProvider, setActiveProvider] = useState<ActiveProvider>()\n const [showConnect, onSetActiveProviderConnect, onConnectClose] = useActiveProviderDialogState(setActiveProvider)\n const [showRevoke, onSetActiveProviderRevoke, onRevokeClose] = useActiveProviderDialogState(setActiveProvider)\n\n return (\n <>\n <Table {...props}>\n <TableHead>\n <TableRow>\n {WalletsTableHeadCells.map(({\n disablePadding, id, label, align, width,\n }) => (\n <TableCell\n align={align}\n key={id}\n sx={{\n padding: disablePadding ? 'none' : 'normal',\n width: width ?? 'auto',\n }}\n >\n {label}\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {(wallets ?? []).map(wallet => (\n <WalletConnectionsTableRow\n ignoreConnectDialog={ignoreConnectDialog}\n key={wallet.providerInfo?.rdns}\n onConnectClick={onSetActiveProviderConnect}\n onRevoke={onSetActiveProviderRevoke}\n wallet={wallet}\n />\n ))}\n </TableBody>\n </Table>\n <RevokeWalletConnectionDialog open={showRevoke} onClose={onRevokeClose} activeProvider={activeProvider} />\n <ConnectWalletDialog\n activeProvider={activeProvider}\n onClose={onConnectClose}\n open={showConnect}\n onIgnoreConnectDialog={onIgnoreConnectDialog}\n />\n </>\n )\n}\n", "import type { EthWalletConnectorBase } from '@ariestools/sdk-react/crypto'\nimport { useEthWallet } from '@ariestools/sdk-react/crypto'\nimport type { TableRowProps } from '@mui/material'\nimport { TableRow } from '@mui/material'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { ActiveProvider } from '../lib/index.ts'\nimport { ConnectedWalletTableCells } from './cells/index.ts'\n\nexport interface WalletConnectionsTableRowProps extends TableRowProps {\n ignoreConnectDialog?: boolean\n onConnectClick?: (activeProvider: ActiveProvider) => void\n onRevoke?: (activeProvider: ActiveProvider) => void\n wallet: EthWalletConnectorBase\n}\n\nexport const WalletConnectionsTableRow: React.FC<WalletConnectionsTableRowProps> = ({\n ignoreConnectDialog,\n onConnectClick,\n onRevoke,\n wallet,\n ...props\n}) => {\n const {\n currentAccount: currentAccountFromWallet, additionalAccounts, chainName, connectWallet, providerInfo,\n } = useEthWallet(wallet)\n\n const currentAccount = currentAccountFromWallet?.toString() ? [currentAccountFromWallet.toString()] : []\n const totalAccounts = (additionalAccounts?.length ?? 0) + (currentAccount?.length ?? 0)\n const connected = !!(currentAccount?.length)\n const {\n icon, name, rdns,\n } = useMemo(() => providerInfo ?? {\n icon: undefined, name: undefined, rdns: undefined,\n }, [providerInfo])\n\n const activeProvider = useMemo<ActiveProvider>(\n () => ({\n connectWallet,\n icon,\n providerName: name,\n }),\n [connectWallet, icon, name],\n )\n\n const onRevokeLocal = useCallback(() => {\n onRevoke?.(activeProvider)\n }, [activeProvider, onRevoke])\n\n const onConnectLocal = useCallback(async () => {\n if (ignoreConnectDialog) {\n await connectWallet?.()\n } else {\n onConnectClick?.(activeProvider)\n }\n }, [activeProvider, connectWallet, ignoreConnectDialog, onConnectClick])\n\n return (\n <TableRow {...props}>\n {Object.entries(ConnectedWalletTableCells).map(([cellName, Cell]) => (\n <Cell\n key={cellName}\n additionalAccounts={additionalAccounts}\n chainName={chainName}\n connected={connected}\n currentAccount={currentAccount}\n icon={icon}\n onConnect={onConnectLocal}\n onRevoke={onRevokeLocal}\n totalAccounts={totalAccounts}\n walletName={name}\n walletRdns={rdns}\n />\n ))}\n </TableRow>\n )\n}\n", "import type { Dispatch, SetStateAction } from 'react'\nimport { useState } from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\n\nexport const useActiveProviderDialogState = (\n setActiveProvider: Dispatch<SetStateAction<ActiveProvider | undefined>>,\n): [boolean, (activeProvider: ActiveProvider) => void, () => void] => {\n const [show, setShow] = useState(false)\n const onSetActiveProvider = (activeProvider: ActiveProvider) => {\n setShow(true)\n setActiveProvider(activeProvider)\n }\n\n const onClose = () => {\n setShow(false)\n setActiveProvider({})\n }\n\n return [show, onSetActiveProvider, onClose]\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["FlexCol", "Typography", "useTheme", "useWalletDiscovery", "useMemo", "useWalletDiscovery", "useMemo", "jsx", "jsxs", "FlexCol", "Typography", "jsx", "jsxs", "jsx", "jsxs", "ConstrainedImage", "FlexRow", "Button", "Dialog", "DialogActions", "DialogContent", "DialogTitle", "Typography", "jsx", "jsxs", "Typography", "jsx", "FlexRow", "Button", "TableCell", "Typography", "jsx", "jsxs", "TableCell", "jsx", "TableCell", "useMemo", "jsx", "useMemo", "TableCell", "ConstrainedImage", "FlexRow", "TableCell", "jsx", "jsxs", "TableCell", "TableRow", "useState", "useMemo", "jsx", "useMemo", "jsx", "jsxs", "useState", "TableRow", "TableCell", "jsx", "jsxs", "useTheme", "FlexCol", "Typography"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/react-connected-accounts",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.4",
|
|
4
4
|
"description": "Common React library for all XYO projects that use React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xyo",
|
|
@@ -41,63 +41,65 @@
|
|
|
41
41
|
"README.md"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@xyo-network/react-table": "~10.0.
|
|
44
|
+
"@xyo-network/react-table": "~10.0.4"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
47
|
+
"@ariestools/sdk": "^7.0.5",
|
|
48
|
+
"@ariestools/sdk-react": "^10.0.2",
|
|
49
|
+
"@mui/icons-material": "^9.2.0",
|
|
50
|
+
"@mui/material": "^9.2.0",
|
|
49
51
|
"@opentelemetry/api": "^1.9.1",
|
|
50
|
-
"@opentelemetry/sdk-trace-base": "^2.
|
|
52
|
+
"@opentelemetry/sdk-trace-base": "^2.9.0",
|
|
53
|
+
"@react-spring/web": "^10.1.2",
|
|
51
54
|
"@storybook/react-vite": "~10.4.6",
|
|
52
55
|
"@types/react": "^19.2.17",
|
|
53
|
-
"@xylabs/eth-address": "^
|
|
54
|
-
"@xylabs/pixel": "^
|
|
55
|
-
"@xylabs/
|
|
56
|
-
"@xylabs/
|
|
57
|
-
"@xylabs/
|
|
58
|
-
"@xylabs/react
|
|
59
|
-
"@xylabs/sdk-js": "^6.1.4",
|
|
60
|
-
"@xylabs/toolchain": "~8.3.0",
|
|
61
|
-
"@xylabs/tsconfig": "^8.3.0",
|
|
62
|
-
"@xylabs/tsconfig-dom": "^8.3.0",
|
|
63
|
-
"@xylabs/tsconfig-react": "~8.3.0",
|
|
56
|
+
"@xylabs/eth-address": "^7.0.5",
|
|
57
|
+
"@xylabs/pixel": "^7.0.5",
|
|
58
|
+
"@xylabs/toolchain": "~8.5.15",
|
|
59
|
+
"@xylabs/tsconfig": "^8.5.15",
|
|
60
|
+
"@xylabs/tsconfig-dom": "^8.5.15",
|
|
61
|
+
"@xylabs/tsconfig-react": "~8.5.15",
|
|
64
62
|
"async-mutex": "^0.5.0",
|
|
65
|
-
"
|
|
63
|
+
"clsx": "^2.1.1",
|
|
64
|
+
"eslint": "^10.6.0",
|
|
66
65
|
"ethers": "^6.17.0",
|
|
67
66
|
"lru-cache": "^11.5.1",
|
|
68
|
-
"md5": "
|
|
69
|
-
"
|
|
67
|
+
"md5": "^2.3.0",
|
|
68
|
+
"numeral": "^2.0.6",
|
|
69
|
+
"query-string": "^9.4.1",
|
|
70
70
|
"react": "^19.2.7",
|
|
71
71
|
"react-dom": "^19.2.7",
|
|
72
|
-
"react-router-dom": "^7.18.
|
|
72
|
+
"react-router-dom": "^7.18.1",
|
|
73
73
|
"storybook": "^10.4.6",
|
|
74
74
|
"typescript": "^6.0.3",
|
|
75
|
-
"viem": "^2.
|
|
76
|
-
"vite": "^8.1.
|
|
77
|
-
"zod": "^4.4.3"
|
|
75
|
+
"viem": "^2.54.2",
|
|
76
|
+
"vite": "^8.1.3",
|
|
77
|
+
"zod": "^4.4.3",
|
|
78
|
+
"zustand": "^5.0.14"
|
|
78
79
|
},
|
|
79
80
|
"peerDependencies": {
|
|
81
|
+
"@ariestools/sdk": "^7.0",
|
|
82
|
+
"@ariestools/sdk-react": "^10.0",
|
|
80
83
|
"@mui/icons-material": "^9.0",
|
|
81
84
|
"@mui/material": "^9.0",
|
|
82
85
|
"@opentelemetry/api": "^1.9",
|
|
83
86
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
84
|
-
"@
|
|
85
|
-
"@xylabs/
|
|
86
|
-
"@xylabs/
|
|
87
|
-
"@xylabs/react-flexbox": "^9.1",
|
|
88
|
-
"@xylabs/react-hooks": "^9.1",
|
|
89
|
-
"@xylabs/react-shared": "^9.1",
|
|
90
|
-
"@xylabs/sdk-js": "^6.0",
|
|
87
|
+
"@react-spring/web": "^10.1",
|
|
88
|
+
"@xylabs/eth-address": "^7.0",
|
|
89
|
+
"@xylabs/pixel": "^7.0",
|
|
91
90
|
"async-mutex": "^0.5",
|
|
91
|
+
"clsx": "^2.1",
|
|
92
92
|
"ethers": "^6.16",
|
|
93
93
|
"lru-cache": "^11.3",
|
|
94
|
-
"md5": "
|
|
95
|
-
"
|
|
94
|
+
"md5": "^2.3",
|
|
95
|
+
"numeral": "^2.0",
|
|
96
|
+
"query-string": "^9.4",
|
|
96
97
|
"react": "^19.2",
|
|
97
98
|
"react-dom": "^19.2",
|
|
98
99
|
"react-router-dom": "^7.15",
|
|
99
100
|
"viem": "^2.48",
|
|
100
|
-
"zod": "^4.4"
|
|
101
|
+
"zod": "^4.4",
|
|
102
|
+
"zustand": "^5.0"
|
|
101
103
|
},
|
|
102
104
|
"publishConfig": {
|
|
103
105
|
"access": "public"
|