@xyo-network/react-chain-blockies 2.0.18 → 3.0.1
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/components/blockies/Account.d.ts +5 -9
- package/dist/browser/components/blockies/Account.d.ts.map +1 -1
- package/dist/browser/components/blockies/Avatar.d.ts +5 -38
- package/dist/browser/components/blockies/Avatar.d.ts.map +1 -1
- package/dist/browser/components/blockies/blockies.d.ts +5 -24
- package/dist/browser/components/blockies/blockies.d.ts.map +1 -1
- package/dist/browser/index.mjs +8 -166
- package/dist/browser/index.mjs.map +4 -4
- package/package.json +36 -12
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { BlockiesOptions } from './blockies.ts';
|
|
3
1
|
/**
|
|
4
|
-
* @deprecated
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-blockies`. Import from there instead.
|
|
3
|
+
* This re-export exists only for backward compatibility and will be removed
|
|
4
|
+
* in a future release.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* @deprecated Use {@link BlockiesAccount} from `@xyo-network/xl1-blockies` instead.
|
|
10
|
-
*/
|
|
11
|
-
export declare const BlockiesAccount: React.FC<BlockiesAccountProps>;
|
|
6
|
+
export type { BlockiesAccountProps } from '@xyo-network/xl1-blockies';
|
|
7
|
+
export { BlockiesAccount } from '@xyo-network/xl1-blockies';
|
|
12
8
|
//# sourceMappingURL=Account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../../../src/components/blockies/Account.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Account.d.ts","sourceRoot":"","sources":["../../../../src/components/blockies/Account.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -1,41 +1,8 @@
|
|
|
1
|
-
import type { AvatarProps, BadgeProps } from '@mui/material';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import type { BlockiesOptions } from './blockies.ts';
|
|
4
1
|
/**
|
|
5
|
-
* @deprecated
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-blockies`. Import from there instead.
|
|
3
|
+
* This re-export exists only for backward compatibility and will be removed
|
|
4
|
+
* in a future release.
|
|
6
5
|
*/
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated Use {@link BlockiesAvatar} from `@xyo-network/xl1-blockies` instead.
|
|
12
|
-
*/
|
|
13
|
-
export declare const BlockiesAvatar: React.FC<BlockiesAvatarProps>;
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated Use {@link BlockiesAvatarAddressProps} from `@xyo-network/xl1-blockies` instead.
|
|
16
|
-
*/
|
|
17
|
-
export interface BlockiesAvatarAddressProps extends AvatarProps {
|
|
18
|
-
/** The Address to display */
|
|
19
|
-
address?: string;
|
|
20
|
-
/** Size of the border is the size prop * borderSizeFactor and rounded up */
|
|
21
|
-
borderSizeFactor?: number;
|
|
22
|
-
/** The size of the avatar in pixels, defaults to 24 */
|
|
23
|
-
size?: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* @deprecated Use {@link BlockiesAvatarAddress} from `@xyo-network/xl1-blockies` instead.
|
|
27
|
-
*/
|
|
28
|
-
export declare const BlockiesAvatarAddress: React.FC<BlockiesAvatarAddressProps>;
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated Use {@link BlockiesAvatarAddressApprovedProps} from `@xyo-network/xl1-blockies` instead.
|
|
31
|
-
*/
|
|
32
|
-
export interface BlockiesAvatarAddressApprovedProps extends BlockiesAvatarAddressProps {
|
|
33
|
-
/** Whether to show the approved badge */
|
|
34
|
-
approved?: boolean;
|
|
35
|
-
badgeVariant?: BadgeProps['variant'];
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* @deprecated Use {@link BlockiesAvatarAddressApproved} from `@xyo-network/xl1-blockies` instead.
|
|
39
|
-
*/
|
|
40
|
-
export declare const BlockiesAvatarAddressApproved: React.FC<BlockiesAvatarAddressApprovedProps>;
|
|
6
|
+
export type { BlockiesAvatarAddressApprovedProps, BlockiesAvatarAddressProps, BlockiesAvatarProps, } from '@xyo-network/xl1-blockies';
|
|
7
|
+
export { BlockiesAvatar, BlockiesAvatarAddress } from '@xyo-network/xl1-blockies';
|
|
41
8
|
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/blockies/Avatar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/blockies/Avatar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,kCAAkC,EAClC,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -1,27 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @deprecated Moved to `@xyo-network/xl1-blockies`. Import from there instead.
|
|
3
|
+
* This re-export exists only for backward compatibility and will be removed
|
|
4
|
+
* in a future release.
|
|
3
5
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export interface BlockiesOptions {
|
|
8
|
-
bgcolor: string;
|
|
9
|
-
color: string;
|
|
10
|
-
scale: number;
|
|
11
|
-
seed: string;
|
|
12
|
-
size: number;
|
|
13
|
-
spotcolor: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @deprecated Use {@link buildOpts} from `@xyo-network/xl1-blockies` instead.
|
|
17
|
-
*/
|
|
18
|
-
export declare function buildOpts(opts: Partial<BlockiesOptions>): BlockiesOptions;
|
|
19
|
-
/**
|
|
20
|
-
* @deprecated Use {@link renderIcon} from `@xyo-network/xl1-blockies` instead.
|
|
21
|
-
*/
|
|
22
|
-
export declare function renderIcon(opts: Partial<BlockiesOptions>, canvas: HTMLCanvasElement): HTMLCanvasElement;
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated Use {@link createIcon} from `@xyo-network/xl1-blockies` instead.
|
|
25
|
-
*/
|
|
26
|
-
export declare function createIcon(opts: Partial<BlockiesOptions>): HTMLCanvasElement;
|
|
6
|
+
export type { BlockiesOptions } from '@xyo-network/xl1-blockies';
|
|
7
|
+
export { buildOpts, createIcon, renderIcon, } from '@xyo-network/xl1-blockies';
|
|
27
8
|
//# sourceMappingURL=blockies.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockies.d.ts","sourceRoot":"","sources":["../../../../src/components/blockies/blockies.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"blockies.d.ts","sourceRoot":"","sources":["../../../../src/components/blockies/blockies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EACL,SAAS,EAAE,UAAU,EAAE,UAAU,GAClC,MAAM,2BAA2B,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,177 +1,19 @@
|
|
|
1
1
|
// src/components/blockies/Account.tsx
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
// src/components/blockies/blockies.ts
|
|
5
|
-
var randomSeed = Array.from({ length: 4 });
|
|
6
|
-
function seedRandom(seed) {
|
|
7
|
-
for (let i = 0; i < randomSeed.length; i++) {
|
|
8
|
-
randomSeed[i] = 0;
|
|
9
|
-
}
|
|
10
|
-
for (let i = 0; i < seed.length; i++) {
|
|
11
|
-
randomSeed[i % 4] = (randomSeed[i % 4] << 5) - randomSeed[i % 4] + seed.codePointAt(i);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function rand() {
|
|
15
|
-
const t = randomSeed[0] ^ randomSeed[0] << 11;
|
|
16
|
-
randomSeed[0] = randomSeed[1];
|
|
17
|
-
randomSeed[1] = randomSeed[2];
|
|
18
|
-
randomSeed[2] = randomSeed[3];
|
|
19
|
-
randomSeed[3] = randomSeed[3] ^ randomSeed[3] >> 19 ^ t ^ t >> 8;
|
|
20
|
-
return (randomSeed[3] >>> 0) / (1 << 31 >>> 0);
|
|
21
|
-
}
|
|
22
|
-
function createColor() {
|
|
23
|
-
const h = Math.floor(rand() * 360);
|
|
24
|
-
const s = rand() * 60 + 40 + "%";
|
|
25
|
-
const l = (rand() + rand() + rand() + rand()) * 25 + "%";
|
|
26
|
-
return "hsl(" + h + "," + s + "," + l + ")";
|
|
27
|
-
}
|
|
28
|
-
function createImageData(size) {
|
|
29
|
-
const width = size;
|
|
30
|
-
const height = size;
|
|
31
|
-
const dataWidth = Math.ceil(width / 2);
|
|
32
|
-
const mirrorWidth = width - dataWidth;
|
|
33
|
-
const data = [];
|
|
34
|
-
for (let y = 0; y < height; y++) {
|
|
35
|
-
let row = [];
|
|
36
|
-
for (let x = 0; x < dataWidth; x++) {
|
|
37
|
-
row[x] = Math.floor(rand() * 2.3);
|
|
38
|
-
}
|
|
39
|
-
const r = row.slice(0, mirrorWidth);
|
|
40
|
-
r.reverse();
|
|
41
|
-
row = [...row, ...r];
|
|
42
|
-
for (const element of row) {
|
|
43
|
-
data.push(element);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return data;
|
|
47
|
-
}
|
|
48
|
-
function buildOpts(opts) {
|
|
49
|
-
const newOpts = {};
|
|
50
|
-
newOpts.seed = opts.seed ?? Math.floor(Math.random() * Math.pow(10, 16)).toString(16);
|
|
51
|
-
seedRandom(newOpts.seed);
|
|
52
|
-
newOpts.size = opts.size ?? 8;
|
|
53
|
-
newOpts.scale = opts.scale ?? 4;
|
|
54
|
-
newOpts.color = opts.color ?? createColor();
|
|
55
|
-
newOpts.bgcolor = opts.bgcolor ?? createColor();
|
|
56
|
-
newOpts.spotcolor = opts.spotcolor ?? createColor();
|
|
57
|
-
return newOpts;
|
|
58
|
-
}
|
|
59
|
-
function renderIcon(opts, canvas) {
|
|
60
|
-
const updatedOptions = buildOpts(opts ?? {});
|
|
61
|
-
const imageData = createImageData(updatedOptions.size);
|
|
62
|
-
const width = Math.sqrt(imageData.length);
|
|
63
|
-
canvas.width = canvas.height = updatedOptions.size * updatedOptions.scale;
|
|
64
|
-
const cc = canvas.getContext("2d");
|
|
65
|
-
if (cc === null) throw new Error("unable to get 2d context");
|
|
66
|
-
cc.fillStyle = updatedOptions.bgcolor;
|
|
67
|
-
cc.fillRect(0, 0, canvas.width, canvas.height);
|
|
68
|
-
cc.fillStyle = updatedOptions.color;
|
|
69
|
-
for (const [i, imageDatum] of imageData.entries()) {
|
|
70
|
-
if (imageDatum > 0) {
|
|
71
|
-
const row = Math.floor(i / width);
|
|
72
|
-
const col = i % width;
|
|
73
|
-
cc.fillStyle = imageDatum == 1 ? updatedOptions.color : updatedOptions.spotcolor;
|
|
74
|
-
cc.fillRect(col * updatedOptions.scale, row * updatedOptions.scale, updatedOptions.scale, updatedOptions.scale);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return canvas;
|
|
78
|
-
}
|
|
79
|
-
function createIcon(opts) {
|
|
80
|
-
const canvas = document.createElement("canvas");
|
|
81
|
-
renderIcon(opts, canvas);
|
|
82
|
-
return canvas;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// src/components/blockies/Account.tsx
|
|
86
|
-
import { jsx } from "react/jsx-runtime";
|
|
87
|
-
var BlockiesAccount = ({ ...options }) => {
|
|
88
|
-
const img = useMemo(() => {
|
|
89
|
-
if (options.seed !== void 0) {
|
|
90
|
-
return createIcon(options).toDataURL();
|
|
91
|
-
}
|
|
92
|
-
}, [options]);
|
|
93
|
-
return /* @__PURE__ */ jsx("img", { src: img });
|
|
94
|
-
};
|
|
2
|
+
import { BlockiesAccount } from "@xyo-network/xl1-blockies";
|
|
95
3
|
|
|
96
4
|
// src/components/blockies/Avatar.tsx
|
|
97
|
-
import {
|
|
5
|
+
import { BlockiesAvatar, BlockiesAvatarAddress } from "@xyo-network/xl1-blockies";
|
|
6
|
+
|
|
7
|
+
// src/components/blockies/blockies.ts
|
|
98
8
|
import {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
} from "@
|
|
103
|
-
import { grey } from "@mui/material/colors";
|
|
104
|
-
import { alphaCss } from "@xylabs/react-theme";
|
|
105
|
-
import { useMemo as useMemo2 } from "react";
|
|
106
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
107
|
-
var BlockiesAvatar = ({ blockiesOptions, ...props }) => {
|
|
108
|
-
const img = useMemo2(() => {
|
|
109
|
-
if (blockiesOptions?.seed !== void 0) {
|
|
110
|
-
return createIcon(blockiesOptions).toDataURL();
|
|
111
|
-
}
|
|
112
|
-
}, [blockiesOptions]);
|
|
113
|
-
return /* @__PURE__ */ jsx2(Avatar, { component: "span", src: img, ...props });
|
|
114
|
-
};
|
|
115
|
-
var BlockiesAvatarAddress = ({
|
|
116
|
-
address,
|
|
117
|
-
borderSizeFactor = 0.0833,
|
|
118
|
-
size = 24,
|
|
119
|
-
sx,
|
|
120
|
-
...props
|
|
121
|
-
}) => {
|
|
122
|
-
const theme = useTheme();
|
|
123
|
-
const options = useMemo2(() => {
|
|
124
|
-
if (address !== void 0) {
|
|
125
|
-
return { seed: address };
|
|
126
|
-
}
|
|
127
|
-
}, [address]);
|
|
128
|
-
return /* @__PURE__ */ jsx2(
|
|
129
|
-
BlockiesAvatar,
|
|
130
|
-
{
|
|
131
|
-
blockiesOptions: options,
|
|
132
|
-
sx: {
|
|
133
|
-
width: size,
|
|
134
|
-
height: size,
|
|
135
|
-
border: `${Math.ceil(size * borderSizeFactor)}px solid ${alphaCss(theme.vars?.palette.text.primary ?? grey[500], 0.8)}`,
|
|
136
|
-
...sx
|
|
137
|
-
},
|
|
138
|
-
...props
|
|
139
|
-
}
|
|
140
|
-
);
|
|
141
|
-
};
|
|
142
|
-
var BlockiesAvatarAddressApproved = ({
|
|
143
|
-
approved,
|
|
144
|
-
badgeVariant,
|
|
145
|
-
...props
|
|
146
|
-
}) => {
|
|
147
|
-
const sx = badgeVariant === "dot" ? {} : {
|
|
148
|
-
bgcolor: "white",
|
|
149
|
-
borderRadius: 12,
|
|
150
|
-
fontSize: "0.83333rem"
|
|
151
|
-
};
|
|
152
|
-
const dotPlacement = badgeVariant === "dot" ? 3 : 5;
|
|
153
|
-
return /* @__PURE__ */ jsx2(
|
|
154
|
-
Badge,
|
|
155
|
-
{
|
|
156
|
-
color: badgeVariant === "dot" ? "success" : "default",
|
|
157
|
-
variant: badgeVariant,
|
|
158
|
-
invisible: !approved,
|
|
159
|
-
badgeContent: approved ? /* @__PURE__ */ jsx2(Circle, { color: "success", sx }) : "",
|
|
160
|
-
sx: {
|
|
161
|
-
"& .MuiBadge-badge": {
|
|
162
|
-
top: dotPlacement,
|
|
163
|
-
right: dotPlacement
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
children: /* @__PURE__ */ jsx2(BlockiesAvatarAddress, { ...props })
|
|
167
|
-
}
|
|
168
|
-
);
|
|
169
|
-
};
|
|
9
|
+
buildOpts,
|
|
10
|
+
createIcon,
|
|
11
|
+
renderIcon
|
|
12
|
+
} from "@xyo-network/xl1-blockies";
|
|
170
13
|
export {
|
|
171
14
|
BlockiesAccount,
|
|
172
15
|
BlockiesAvatar,
|
|
173
16
|
BlockiesAvatarAddress,
|
|
174
|
-
BlockiesAvatarAddressApproved,
|
|
175
17
|
buildOpts,
|
|
176
18
|
createIcon,
|
|
177
19
|
renderIcon
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/components/blockies/Account.tsx", "../../src/components/blockies/
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
6
|
-
"names": [
|
|
3
|
+
"sources": ["../../src/components/blockies/Account.tsx", "../../src/components/blockies/Avatar.tsx", "../../src/components/blockies/blockies.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * @deprecated Moved to `@xyo-network/xl1-blockies`. Import from there instead.\n * This re-export exists only for backward compatibility and will be removed\n * in a future release.\n */\n\nexport type { BlockiesAccountProps } from '@xyo-network/xl1-blockies'\nexport { BlockiesAccount } from '@xyo-network/xl1-blockies'\n", "/**\n * @deprecated Moved to `@xyo-network/xl1-blockies`. Import from there instead.\n * This re-export exists only for backward compatibility and will be removed\n * in a future release.\n */\n\nexport type {\n BlockiesAvatarAddressApprovedProps,\n BlockiesAvatarAddressProps,\n BlockiesAvatarProps,\n} from '@xyo-network/xl1-blockies'\nexport { BlockiesAvatar, BlockiesAvatarAddress } from '@xyo-network/xl1-blockies'\n", "/**\n * @deprecated Moved to `@xyo-network/xl1-blockies`. Import from there instead.\n * This re-export exists only for backward compatibility and will be removed\n * in a future release.\n */\n\nexport type { BlockiesOptions } from '@xyo-network/xl1-blockies'\nexport {\n buildOpts, createIcon, renderIcon,\n} from '@xyo-network/xl1-blockies'\n"],
|
|
5
|
+
"mappings": ";AAOA,SAAS,uBAAuB;;;ACIhC,SAAS,gBAAgB,6BAA6B;;;ACJtD;AAAA,EACE;AAAA,EAAW;AAAA,EAAY;AAAA,OAClB;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/react-chain-blockies",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.1",
|
|
5
5
|
"description": "XYO Layer One React SDK Blockies",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -44,22 +44,34 @@
|
|
|
44
44
|
"@opentelemetry/api": "^1.9.1",
|
|
45
45
|
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
46
46
|
"@react-spring/web": "~10.1.1",
|
|
47
|
-
"@storybook/react-vite": "^10.4.
|
|
47
|
+
"@storybook/react-vite": "^10.4.6",
|
|
48
48
|
"@types/react": "^19.2.17",
|
|
49
|
-
"@xylabs/
|
|
50
|
-
"@xylabs/
|
|
51
|
-
"@xylabs/
|
|
52
|
-
"@xylabs/
|
|
53
|
-
"@xylabs/
|
|
54
|
-
"@xylabs/tsconfig
|
|
49
|
+
"@xylabs/eth-address": "^6.1.3",
|
|
50
|
+
"@xylabs/pixel": "^6.1.3",
|
|
51
|
+
"@xylabs/sdk-js": "^6.1.3",
|
|
52
|
+
"@xylabs/sdk-react": "^9.1.2",
|
|
53
|
+
"@xylabs/toolchain": "~8.3.0",
|
|
54
|
+
"@xylabs/tsconfig": "~8.3.0",
|
|
55
|
+
"@xylabs/tsconfig-dom": "~8.3.0",
|
|
56
|
+
"@xylabs/tsconfig-react": "~8.3.0",
|
|
57
|
+
"@xyo-network/xl1-blockies": "~3.0.6",
|
|
55
58
|
"async-mutex": "^0.5.0",
|
|
59
|
+
"clsx": "^2.1.1",
|
|
56
60
|
"eslint": "^10.5.0",
|
|
61
|
+
"ethers": "^6.17.0",
|
|
62
|
+
"lru-cache": "^11.5.1",
|
|
63
|
+
"md5": "^2.3.0",
|
|
64
|
+
"numeral": "^2.0.6",
|
|
65
|
+
"query-string": "^9.4.0",
|
|
57
66
|
"react": "^19.2.7",
|
|
58
67
|
"react-dom": "^19.2.7",
|
|
59
|
-
"
|
|
68
|
+
"react-router-dom": "^7.18.0",
|
|
69
|
+
"storybook": "^10.4.6",
|
|
60
70
|
"typescript": "~6.0.3",
|
|
71
|
+
"viem": "^2.53.1",
|
|
61
72
|
"vite": "^8.0.16",
|
|
62
|
-
"zod": "~4.4.3"
|
|
73
|
+
"zod": "~4.4.3",
|
|
74
|
+
"zustand": "^5.0.14"
|
|
63
75
|
},
|
|
64
76
|
"peerDependencies": {
|
|
65
77
|
"@mui/icons-material": "^9.1",
|
|
@@ -67,12 +79,24 @@
|
|
|
67
79
|
"@opentelemetry/api": "^1.9",
|
|
68
80
|
"@opentelemetry/sdk-trace-base": "^2.7",
|
|
69
81
|
"@react-spring/web": "~10.1",
|
|
70
|
-
"@xylabs/
|
|
82
|
+
"@xylabs/eth-address": "^6.1.0",
|
|
83
|
+
"@xylabs/pixel": "^6.0",
|
|
71
84
|
"@xylabs/sdk-js": "^6.0",
|
|
85
|
+
"@xylabs/sdk-react": "^9.1",
|
|
86
|
+
"@xyo-network/xl1-blockies": "^3.0",
|
|
72
87
|
"async-mutex": "^0.5",
|
|
88
|
+
"clsx": "^2.1",
|
|
89
|
+
"ethers": "^6.16",
|
|
90
|
+
"lru-cache": "^11.3",
|
|
91
|
+
"md5": "^2.3",
|
|
92
|
+
"numeral": "^2.0",
|
|
93
|
+
"query-string": "^9.3",
|
|
73
94
|
"react": "^19.2",
|
|
74
95
|
"react-dom": "^19.2",
|
|
75
|
-
"
|
|
96
|
+
"react-router-dom": "^7.15",
|
|
97
|
+
"viem": "^2.48",
|
|
98
|
+
"zod": "~4.4",
|
|
99
|
+
"zustand": "^5.0"
|
|
76
100
|
},
|
|
77
101
|
"engines": {
|
|
78
102
|
"node": ">=24"
|