@xyo-network/react-ethereum-gas-price-blocknative-plugin 9.0.2 → 9.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAO5E,eAAO,MAAM,iCAAiC,EAAE,mBAa/C,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAQ5E,eAAO,MAAM,iCAAiC,EAAE,mBAa/C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,GAAG,gBAAgB,CA2C1F,CAAA"}
1
+ {"version":3,"file":"CardContent.d.ts","sourceRoot":"","sources":["../../../../src/components/Card/CardContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAIrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,GAAG,gBAAgB,CA0C1F,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlocknativeGasPriceDetailsBox.d.ts","sourceRoot":"","sources":["../../../../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMzD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AAEtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,GAAG,YAAY,CAqDhG,CAAA"}
1
+ {"version":3,"file":"BlocknativeGasPriceDetailsBox.d.ts","sourceRoot":"","sources":["../../../../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMzD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AAEtF,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,eAAO,MAAM,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,GAAG,YAAY,CAoDhG,CAAA"}
@@ -67,7 +67,7 @@ var BlocknativeGasPriceCardContent = ({ payload, ...props }) => {
67
67
  sm: 12,
68
68
  xs: 12
69
69
  },
70
- children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ jsx(
70
+ children: parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ jsx(
71
71
  Grid,
72
72
  {
73
73
  size: {
@@ -166,7 +166,7 @@ var BlocknativeGasPriceDetailsBox = ({
166
166
  sm: 12,
167
167
  xs: 12
168
168
  },
169
- children: parsedPayload && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx4(
169
+ children: parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx4(
170
170
  Grid2,
171
171
  {
172
172
  size: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/Card/Card.tsx", "../../src/components/Card/CardContent.tsx", "../../src/components/hooks/getBlocknativeTransformer.tsx", "../../src/components/Card/CardHeader.tsx", "../../src/components/lib/constants.ts", "../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx", "../../src/Plugin.ts"],
4
- "sourcesContent": ["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport React from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent.tsx'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader.tsx'\n\nexport const BlocknativeGasPriceCard = ({\n ref, payload, ...props\n}: PayloadRenderProps & CardProps) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n}\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n", "import type { CardContentProps } from '@mui/material'\nimport { CardContent, Grid } from '@mui/material'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { getBlocknativeTransformer } from '../hooks/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\n\nexport const BlocknativeGasPriceCardContent: React.FC<PayloadRenderProps & CardContentProps> = ({ payload, ...props }) => {\n const gasPricePayload = payload as EthereumGasBlocknativePayload | undefined\n const parsedPayload = getBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload?.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent\n sx={{\n display: 'flex', flexDirection: 'column', rowGap: 4,\n }}\n {...props}\n >\n <Grid\n container\n spacing={3}\n columns={{\n lg: 15, md: 15, sm: 12, xs: 12,\n }}\n >\n {parsedPayload\n && parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid\n key={price?.label}\n size={{\n xs: 12, sm: 6, md: 5, lg: 3,\n }}\n >\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox\n gasPricePayload={gasPricePayload}\n sx={{\n alignItems: 'start',\n pr: 1,\n }}\n />\n </CardContent>\n )\n}\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n", "import type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport type { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const getBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map(price => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n", "import type { CardHeaderProps } from '@mui/material'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport React from 'react'\n\nimport { getBlocknativeTransformer } from '../hooks/index.ts'\nimport { RenderTitle } from '../lib/index.ts'\n\nexport const BlocknativeGasPriceCardHeader: React.FC<PayloadRenderProps & CardHeaderProps> = ({ payload }) => {\n const gasPricePayload = payload as EthereumGasBlocknativePayload | undefined\n const parsedPayload = getBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} />\n}\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n", "export const RenderTitle = 'Blocknative Gas Tracker'\n", "import { Grid } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport {\n GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox,\n} from '@xyo-network/react-gas-price'\nimport type { PayloadDetailsListRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { getBlocknativeTransformer } from '../../hooks/index.ts'\nimport { RenderTitle } from '../../lib/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\n\nexport const BlocknativeGasPriceDetailsBox: React.FC<PayloadDetailsListRenderProps & FlexBoxProps> = ({\n\n payload, listMode, ...props\n}) => {\n const gasPricePayload = payload as EthereumGasBlocknativePayload | undefined\n const parsedPayload = getBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload?.blockPrices?.length\n ? <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : (\n <FlexCol\n {...props}\n sx={[{\n alignItems: 'start',\n rowGap: 4,\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid\n container\n spacing={3}\n columns={{\n lg: 15, md: 15, sm: 12, xs: 12,\n }}\n >\n {parsedPayload\n && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid\n key={price?.label}\n size={{\n xs: 12, sm: 6, md: 5, lg: 3,\n }}\n >\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox\n gasPricePayload={gasPricePayload}\n sx={{ alignItems: 'start' }}\n />\n </FlexCol>\n )}\n </>\n )\n}\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n", "import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport type { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport {\n BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox,\n} from './components/index.ts'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: { image: EthereumGasPriceAvatar },\n box: { detailsBox: BlocknativeGasPriceDetailsBox },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type { CardProps } from '@mui/material'\nimport { Card } from '@mui/material'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport React from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent.tsx'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader.tsx'\n\nexport const BlocknativeGasPriceCard = ({\n ref, payload, ...props\n}: PayloadRenderProps & CardProps) => {\n return (\n <Card ref={ref} {...props}>\n <BlocknativeGasPriceCardHeader payload={payload} />\n <BlocknativeGasPriceCardContent payload={payload} />\n </Card>\n )\n}\n\nBlocknativeGasPriceCard.displayName = 'BlocknativeGasPriceCard'\n", "import type { CardContentProps } from '@mui/material'\nimport { CardContent, Grid } from '@mui/material'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { getBlocknativeTransformer } from '../hooks/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\n\nexport const BlocknativeGasPriceCardContent: React.FC<PayloadRenderProps & CardContentProps> = ({ payload, ...props }) => {\n const gasPricePayload = payload as EthereumGasBlocknativePayload | undefined\n const parsedPayload = getBlocknativeTransformer(gasPricePayload)\n\n if (isEmpty(gasPricePayload) || !gasPricePayload?.blockPrices?.length) {\n return <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" sx={{ m: 1 }} />\n }\n\n return (\n <CardContent\n sx={{\n display: 'flex', flexDirection: 'column', rowGap: 4,\n }}\n {...props}\n >\n <Grid\n container\n spacing={3}\n columns={{\n lg: 15, md: 15, sm: 12, xs: 12,\n }}\n >\n {parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid\n key={price?.label}\n size={{\n xs: 12, sm: 6, md: 5, lg: 3,\n }}\n >\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox\n gasPricePayload={gasPricePayload}\n sx={{\n alignItems: 'start',\n pr: 1,\n }}\n />\n </CardContent>\n )\n}\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n", "import type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport type { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const getBlocknativeTransformer = (payload?: EthereumGasBlocknativePayload): GasPriceWitnessUIBasePayload | undefined => {\n const blockPrices = payload?.blockPrices?.[0]\n if (blockPrices && blockPrices.estimatedPrices?.length) {\n const estimatedPrices = blockPrices?.estimatedPrices\n const gasPrice = estimatedPrices.map(price => ({\n price: {\n label: `Confidence - ${price.confidence}`,\n value: price.price,\n },\n priorityFee: {\n label: 'maxPriorityFeePerGas',\n value: price.maxPriorityFeePerGas,\n },\n }))\n\n return {\n baseFee: {\n label: 'baseFeePerGas',\n value: blockPrices.baseFeePerGas,\n },\n blockNumber: {\n label: 'blockNumber',\n value: blockPrices.blockNumber,\n },\n gasPrice,\n timestamp: payload.timestamp,\n website: 'https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData',\n }\n }\n}\n", "import type { CardHeaderProps } from '@mui/material'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport React from 'react'\n\nimport { getBlocknativeTransformer } from '../hooks/index.ts'\nimport { RenderTitle } from '../lib/index.ts'\n\nexport const BlocknativeGasPriceCardHeader: React.FC<PayloadRenderProps & CardHeaderProps> = ({ payload }) => {\n const gasPricePayload = payload as EthereumGasBlocknativePayload | undefined\n const parsedPayload = getBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} />\n}\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n", "export const RenderTitle = 'Blocknative Gas Tracker'\n", "import { Grid } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport {\n GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox,\n} from '@xyo-network/react-gas-price'\nimport type { PayloadDetailsListRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { getBlocknativeTransformer } from '../../hooks/index.ts'\nimport { RenderTitle } from '../../lib/index.ts'\n\nconst isEmpty = (obj?: object) => Object.keys(obj ?? {}).length === 0\n\nexport const BlocknativeGasPriceDetailsBox: React.FC<PayloadDetailsListRenderProps & FlexBoxProps> = ({\n\n payload, listMode, ...props\n}) => {\n const gasPricePayload = payload as EthereumGasBlocknativePayload | undefined\n const parsedPayload = getBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload?.blockPrices?.length\n ? <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n : (\n <FlexCol\n {...props}\n sx={[{\n alignItems: 'start',\n rowGap: 4,\n }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n >\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid\n container\n spacing={3}\n columns={{\n lg: 15, md: 15, sm: 12, xs: 12,\n }}\n >\n {parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid\n key={price?.label}\n size={{\n xs: 12, sm: 6, md: 5, lg: 3,\n }}\n >\n <GasFeeCard\n key={price?.label}\n gasPrice={price?.value}\n speed={price?.label}\n priorityFee={priorityFee?.value}\n priorityFeeLabel={priorityFee?.label}\n />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox\n gasPricePayload={gasPricePayload}\n sx={{ alignItems: 'start' }}\n />\n </FlexCol>\n )}\n </>\n )\n}\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n", "import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport type { PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport { createPayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\nimport type { Payload } from '@xyo-network/sdk-js'\n\nimport {\n BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox,\n} from './components/index.ts'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: { image: EthereumGasPriceAvatar },\n box: { detailsBox: BlocknativeGasPriceDetailsBox },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsx", "jsxs", "Grid", "GasFeeCard", "ToggleRawPayloadBox", "PayloadDataMissing", "jsx", "jsxs", "isEmpty", "PayloadDataMissing", "Grid", "GasFeeCard", "ToggleRawPayloadBox"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/react-ethereum-gas-price-blocknative-plugin",
3
- "version": "9.0.2",
3
+ "version": "9.0.5",
4
4
  "description": "Common React library for all XYO projects that use React",
5
5
  "keywords": [
6
6
  "xyo",
@@ -41,9 +41,9 @@
41
41
  "README.md"
42
42
  ],
43
43
  "dependencies": {
44
- "@xyo-network/react-shared": "~9.0.2",
45
- "@xyo-network/react-gas-price": "~9.0.2",
46
- "@xyo-network/react-payload-plugin": "~9.0.2"
44
+ "@xyo-network/react-gas-price": "~9.0.5",
45
+ "@xyo-network/react-shared": "~9.0.5",
46
+ "@xyo-network/react-payload-plugin": "~9.0.5"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@bitauth/libauth": "~3.0.0",
@@ -58,45 +58,34 @@
58
58
  "@react-spring/web": "~10.1.0",
59
59
  "@scure/base": "~2.2.0",
60
60
  "@scure/bip39": "~2.2.0",
61
- "@storybook/react-vite": "~10.4.1",
61
+ "@storybook/react-vite": "~10.4.2",
62
62
  "@types/react": "^19.2.16",
63
- "@xylabs/geo": "^6.0.7",
64
- "@xylabs/pixel": "~6.0.7",
65
- "@xylabs/react-async-effect": "~9.0.2",
66
- "@xylabs/react-button": "~9.0.2",
67
- "@xylabs/react-flexbox": "~9.0.2",
68
- "@xylabs/react-hooks": "~9.0.2",
69
- "@xylabs/react-identicon": "~9.0.2",
70
- "@xylabs/react-link": "~9.0.2",
71
- "@xylabs/react-promise": "~9.0.2",
72
- "@xylabs/react-quick-tip-button": "~9.0.2",
73
- "@xylabs/react-select": "~9.0.2",
74
- "@xylabs/react-shared": "~9.0.2",
75
- "@xylabs/react-theme": "~9.0.2",
76
- "@xylabs/sdk-js": "^6.0.7",
77
- "@xylabs/sdk-react": "~9.0.2",
78
- "@xylabs/threads": "^6.0.7",
79
- "@xylabs/toolchain": "~8.1.12",
80
- "@xylabs/tsconfig": "^8.1.12",
81
- "@xylabs/tsconfig-dom": "^8.1.12",
82
- "@xylabs/tsconfig-react": "~8.1.12",
83
- "@xyo-network/blocknative-ethereum-gas-payload-plugin": "~6.0.2",
84
- "@xyo-network/boundwitness-model": "^6.0.7",
85
- "@xyo-network/boundwitness-validator": "^6.0.7",
86
- "@xyo-network/diviner-model": "^6.0.2",
87
- "@xyo-network/diviner-schema-list": "~6.0.2",
88
- "@xyo-network/diviner-schema-stats": "~6.0.2",
89
- "@xyo-network/module-model": "^6.0.2",
63
+ "@xylabs/geo": "^6.0.8",
64
+ "@xylabs/pixel": "~6.0.8",
65
+ "@xylabs/react-async-effect": "~9.0.3",
66
+ "@xylabs/react-button": "~9.0.3",
67
+ "@xylabs/react-flexbox": "~9.0.3",
68
+ "@xylabs/react-hooks": "~9.0.3",
69
+ "@xylabs/react-identicon": "~9.0.3",
70
+ "@xylabs/react-link": "~9.0.3",
71
+ "@xylabs/react-promise": "~9.0.3",
72
+ "@xylabs/react-quick-tip-button": "~9.0.3",
73
+ "@xylabs/react-select": "~9.0.3",
74
+ "@xylabs/react-shared": "~9.0.3",
75
+ "@xylabs/react-theme": "~9.0.3",
76
+ "@xylabs/sdk-js": "^6.0.8",
77
+ "@xylabs/sdk-react": "~9.0.3",
78
+ "@xylabs/threads": "^6.0.8",
79
+ "@xylabs/toolchain": "~8.1.16",
80
+ "@xylabs/tsconfig": "^8.1.16",
81
+ "@xylabs/tsconfig-dom": "^8.1.16",
82
+ "@xylabs/tsconfig-react": "~8.1.16",
83
+ "@xyo-network/blocknative-ethereum-gas-payload-plugin": "~6.0.3",
84
+ "@xyo-network/diviner-schema-list": "~6.0.4",
85
+ "@xyo-network/diviner-schema-stats": "~6.0.4",
90
86
  "@xyo-network/node-core-types": "~4.2.2",
91
- "@xyo-network/node-memory": "~6.0.2",
92
- "@xyo-network/node-model": "^6.0.2",
93
- "@xyo-network/payload-builder": "^6.0.7",
94
- "@xyo-network/payload-model": "^6.0.7",
95
- "@xyo-network/payload-validator": "^6.0.7",
96
- "@xyo-network/schema-cache": "~6.0.7",
97
- "@xyo-network/schema-payload-plugin": "~6.0.7",
98
- "@xyo-network/sdk-js": "^6.0.2",
99
- "@xyo-network/sdk-protocol-js": "~6.0.7",
87
+ "@xyo-network/sdk-js": "^6.0.4",
88
+ "@xyo-network/sdk-protocol-js": "~6.0.9",
100
89
  "@xyo-network/typeof": "~5.3.30",
101
90
  "ajv": "^8.20.0",
102
91
  "async-mutex": "^0.5.0",
@@ -114,20 +103,21 @@
114
103
  "mixpanel-browser": "~2.80.0",
115
104
  "numeral": "~2.0.6",
116
105
  "observable-fns": "~0.6.1",
117
- "pako": "^2.1.0",
118
106
  "query-string": "~9.4.0",
119
107
  "react": "^19.2.7",
120
108
  "react-dom": "^19.2.7",
121
- "react-router-dom": "^7.16.0",
109
+ "react-is": "^19.2",
110
+ "react-router-dom": "^7.17.0",
111
+ "recharts": "^3.8",
122
112
  "spark-md5": "~3.0.2",
123
- "storybook": "^10.4.1",
113
+ "storybook": "^10.4.2",
124
114
  "typescript": "^6.0.3",
125
- "viem": "^2.52.0",
115
+ "viem": "^2.52.2",
126
116
  "vite": "^8.0.16",
127
117
  "webextension-polyfill": "^0.12.0",
128
118
  "zod": "^4.4.3",
129
119
  "zustand": "~5.0.14",
130
- "@xyo-network/react-storybook": "~9.0.2"
120
+ "@xyo-network/react-storybook": "~9.0.5"
131
121
  },
132
122
  "peerDependencies": {
133
123
  "@bitauth/libauth": "~3.0",
@@ -159,20 +149,9 @@
159
149
  "@xylabs/sdk-react": "~9.0",
160
150
  "@xylabs/threads": "^6.0",
161
151
  "@xyo-network/blocknative-ethereum-gas-payload-plugin": "~6.0",
162
- "@xyo-network/boundwitness-model": "^6.0",
163
- "@xyo-network/boundwitness-validator": "^6.0",
164
- "@xyo-network/diviner-model": "^6.0",
165
152
  "@xyo-network/diviner-schema-list": "~6.0",
166
153
  "@xyo-network/diviner-schema-stats": "~6.0",
167
- "@xyo-network/module-model": "^6.0",
168
154
  "@xyo-network/node-core-types": "~4.2",
169
- "@xyo-network/node-memory": "~6.0",
170
- "@xyo-network/node-model": "^6.0",
171
- "@xyo-network/payload-builder": "^6.0",
172
- "@xyo-network/payload-model": "^6.0",
173
- "@xyo-network/payload-validator": "^6.0",
174
- "@xyo-network/schema-cache": "~6.0",
175
- "@xyo-network/schema-payload-plugin": "~6.0",
176
155
  "@xyo-network/sdk-js": "^6.0",
177
156
  "@xyo-network/sdk-protocol-js": "~6.0",
178
157
  "@xyo-network/typeof": "~5.3",
@@ -191,11 +170,12 @@
191
170
  "mixpanel-browser": "~2.80",
192
171
  "numeral": "~2.0",
193
172
  "observable-fns": "~0.6",
194
- "pako": "^2.1",
195
173
  "query-string": "~9.4",
196
174
  "react": "^19.2",
197
175
  "react-dom": "^19.2",
176
+ "react-is": "^19.2",
198
177
  "react-router-dom": "^7.15",
178
+ "recharts": "^3.8",
199
179
  "spark-md5": "~3.0",
200
180
  "viem": "^2.48",
201
181
  "webextension-polyfill": "^0.12",