@xyo-network/react-ethereum-gas-price-blocknative-plugin 2.64.0 → 2.64.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.
Files changed (30) hide show
  1. package/dist/browser/Plugin.js +104 -2
  2. package/dist/browser/Plugin.js.map +1 -1
  3. package/dist/browser/components/Card/Card.js +77 -7
  4. package/dist/browser/components/Card/Card.js.map +1 -1
  5. package/dist/browser/components/Card/CardContent.js +36 -3
  6. package/dist/browser/components/Card/CardContent.js.map +1 -1
  7. package/dist/browser/components/Card/CardHeader.js +39 -4
  8. package/dist/browser/components/Card/CardHeader.js.map +1 -1
  9. package/dist/browser/components/Card/index.js +87 -3
  10. package/dist/browser/components/Card/index.js.map +1 -1
  11. package/dist/browser/components/Details/Box/BlocknativeGasPriceDetailsBox.js +39 -4
  12. package/dist/browser/components/Details/Box/BlocknativeGasPriceDetailsBox.js.map +1 -1
  13. package/dist/browser/components/Details/Box/index.js +69 -1
  14. package/dist/browser/components/Details/Box/index.js.map +1 -1
  15. package/dist/browser/components/Details/index.js +69 -1
  16. package/dist/browser/components/Details/index.js.map +1 -1
  17. package/dist/browser/components/hooks/index.js +33 -1
  18. package/dist/browser/components/hooks/index.js.map +1 -1
  19. package/dist/browser/components/hooks/useBlocknativeTransformer.js +2 -1
  20. package/dist/browser/components/hooks/useBlocknativeTransformer.js.map +1 -1
  21. package/dist/browser/components/index.js +119 -2
  22. package/dist/browser/components/index.js.map +1 -1
  23. package/dist/browser/components/lib/constants.js +2 -1
  24. package/dist/browser/components/lib/constants.js.map +1 -1
  25. package/dist/browser/components/lib/index.js +5 -1
  26. package/dist/browser/components/lib/index.js.map +1 -1
  27. package/dist/browser/index.js +145 -3
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/docs.json +6 -6
  30. package/package.json +11 -11
@@ -1,2 +1,70 @@
1
- export * from "./BlocknativeGasPriceDetailsBox";
1
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
2
+ import { Grid } from "@mui/material";
3
+ import { isEmpty } from "@xylabs/lodash";
4
+ import { FlexCol } from "@xylabs/react-flexbox";
5
+ import { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
6
+ import { PayloadDataMissing } from "@xyo-network/react-shared";
7
+ import { forwardRef } from "react";
8
+
9
+ // src/components/hooks/useBlocknativeTransformer.tsx
10
+ var useBlocknativeTransformer = (payload) => {
11
+ const blockPrices = payload?.blockPrices?.[0];
12
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
13
+ const estimatedPrices = blockPrices?.estimatedPrices;
14
+ const gasPrice = estimatedPrices.map((price) => ({
15
+ price: {
16
+ label: `Confidence - ${price.confidence}`,
17
+ value: price.price
18
+ },
19
+ priorityFee: {
20
+ label: "maxPriorityFeePerGas",
21
+ value: price.maxPriorityFeePerGas
22
+ }
23
+ }));
24
+ return {
25
+ baseFee: {
26
+ label: "baseFeePerGas",
27
+ value: blockPrices.baseFeePerGas
28
+ },
29
+ blockNumber: {
30
+ label: "blockNumber",
31
+ value: blockPrices.blockNumber
32
+ },
33
+ gasPrice,
34
+ timestamp: payload.timestamp,
35
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
36
+ };
37
+ }
38
+ };
39
+
40
+ // src/components/lib/constants.ts
41
+ var RenderTitle = "Blocknative Gas Tracker";
42
+
43
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
44
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
45
+ var BlocknativeGasPriceDetailsBox = forwardRef(
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
+ ({ payload, listMode, ...props }, ref) => {
48
+ const gasPricePayload = payload ? payload : void 0;
49
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
50
+ return /* @__PURE__ */ jsx(Fragment, { children: isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ? /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data." }) : /* @__PURE__ */ jsxs(FlexCol, { alignItems: "start", rowGap: 4, ...props, ref, children: [
51
+ /* @__PURE__ */ jsx(GasPriceWitnessHeaderBox, { heading: RenderTitle, parsedPayload }),
52
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(
53
+ GasFeeCard,
54
+ {
55
+ gasPrice: price?.value,
56
+ speed: price?.label,
57
+ priorityFee: priorityFee?.value,
58
+ priorityFeeLabel: priorityFee?.label
59
+ },
60
+ price?.label
61
+ ) }, price?.label)) }),
62
+ /* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start" })
63
+ ] }) });
64
+ }
65
+ );
66
+ BlocknativeGasPriceDetailsBox.displayName = "BlocknativeGasPriceDetailsBox";
67
+ export {
68
+ BlocknativeGasPriceDetailsBox
69
+ };
2
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Details/Box/index.ts"],"sourcesContent":["export * from './BlocknativeGasPriceDetailsBox'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../../../../src/components/hooks/useBlocknativeTransformer.tsx","../../../../../src/components/lib/constants.ts"],"sourcesContent":["import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ? (\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n ) : (\n <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\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 gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n )}\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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","export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":";AAAA,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAuB,eAAe;AAEtC,SAAS,YAAY,0BAA0B,2BAA2B;AAE1E,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACJpB,IAAM,4BAA4B,CAAC,YAAsF;AAC9H,QAAM,cAAc,SAAS,cAAc,CAAC;AAC5C,MAAI,eAAe,YAAY,iBAAiB,QAAQ;AACtD,UAAM,kBAAkB,aAAa;AACrC,UAAM,WAAW,gBAAgB,IAAI,CAAC,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO,gBAAgB,MAAM,UAAU;AAAA,QACvC,OAAO,MAAM;AAAA,MACf;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,MAAM;AAAA,MACf;AAAA,IACF,EAAE;AAEF,WAAO;AAAA,MACL,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;AChCO,IAAM,cAAc;;;AFmBrB,mBAEI,KAEA,YAJJ;AAPC,IAAM,gCAAgC;AAAA;AAAA,EAE3C,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ;AACxC,UAAM,kBAA6D,UAAW,UAA4C;AAC1H,UAAM,gBAAgB,0BAA0B,eAAe;AAE/D,WACE,gCACG,kBAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,SACzD,oBAAC,sBAAmB,WAAU,0CAAyC,IAEvE,qBAAC,WAAQ,YAAW,SAAQ,QAAQ,GAAI,GAAG,OAAO,KAChD;AAAA,0BAAC,4BAAyB,SAAS,aAAa,eAA8B;AAAA,MAC9E,oBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,OAAO,YAAY,MACjD,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD;AAAA,QAAC;AAAA;AAAA,UAEC,UAAU,OAAO;AAAA,UACjB,OAAO,OAAO;AAAA,UACd,aAAa,aAAa;AAAA,UAC1B,kBAAkB,aAAa;AAAA;AAAA,QAJ1B,OAAO;AAAA,MAKd,KAPS,OAAO,KAQlB,CACD,GACL;AAAA,MACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ;AAAA,OAC5E,GAEJ;AAAA,EAEJ;AACF;AAEA,8BAA8B,cAAc;","names":[]}
@@ -1,2 +1,70 @@
1
- export * from "./Box";
1
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
2
+ import { Grid } from "@mui/material";
3
+ import { isEmpty } from "@xylabs/lodash";
4
+ import { FlexCol } from "@xylabs/react-flexbox";
5
+ import { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
6
+ import { PayloadDataMissing } from "@xyo-network/react-shared";
7
+ import { forwardRef } from "react";
8
+
9
+ // src/components/hooks/useBlocknativeTransformer.tsx
10
+ var useBlocknativeTransformer = (payload) => {
11
+ const blockPrices = payload?.blockPrices?.[0];
12
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
13
+ const estimatedPrices = blockPrices?.estimatedPrices;
14
+ const gasPrice = estimatedPrices.map((price) => ({
15
+ price: {
16
+ label: `Confidence - ${price.confidence}`,
17
+ value: price.price
18
+ },
19
+ priorityFee: {
20
+ label: "maxPriorityFeePerGas",
21
+ value: price.maxPriorityFeePerGas
22
+ }
23
+ }));
24
+ return {
25
+ baseFee: {
26
+ label: "baseFeePerGas",
27
+ value: blockPrices.baseFeePerGas
28
+ },
29
+ blockNumber: {
30
+ label: "blockNumber",
31
+ value: blockPrices.blockNumber
32
+ },
33
+ gasPrice,
34
+ timestamp: payload.timestamp,
35
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
36
+ };
37
+ }
38
+ };
39
+
40
+ // src/components/lib/constants.ts
41
+ var RenderTitle = "Blocknative Gas Tracker";
42
+
43
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
44
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
45
+ var BlocknativeGasPriceDetailsBox = forwardRef(
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
47
+ ({ payload, listMode, ...props }, ref) => {
48
+ const gasPricePayload = payload ? payload : void 0;
49
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
50
+ return /* @__PURE__ */ jsx(Fragment, { children: isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ? /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data." }) : /* @__PURE__ */ jsxs(FlexCol, { alignItems: "start", rowGap: 4, ...props, ref, children: [
51
+ /* @__PURE__ */ jsx(GasPriceWitnessHeaderBox, { heading: RenderTitle, parsedPayload }),
52
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(
53
+ GasFeeCard,
54
+ {
55
+ gasPrice: price?.value,
56
+ speed: price?.label,
57
+ priorityFee: priorityFee?.value,
58
+ priorityFeeLabel: priorityFee?.label
59
+ },
60
+ price?.label
61
+ ) }, price?.label)) }),
62
+ /* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start" })
63
+ ] }) });
64
+ }
65
+ );
66
+ BlocknativeGasPriceDetailsBox.displayName = "BlocknativeGasPriceDetailsBox";
67
+ export {
68
+ BlocknativeGasPriceDetailsBox
69
+ };
2
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Details/index.ts"],"sourcesContent":["export * from './Box'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../../../src/components/hooks/useBlocknativeTransformer.tsx","../../../../src/components/lib/constants.ts"],"sourcesContent":["import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ? (\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n ) : (\n <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\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 gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n )}\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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","export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":";AAAA,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAuB,eAAe;AAEtC,SAAS,YAAY,0BAA0B,2BAA2B;AAE1E,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACJpB,IAAM,4BAA4B,CAAC,YAAsF;AAC9H,QAAM,cAAc,SAAS,cAAc,CAAC;AAC5C,MAAI,eAAe,YAAY,iBAAiB,QAAQ;AACtD,UAAM,kBAAkB,aAAa;AACrC,UAAM,WAAW,gBAAgB,IAAI,CAAC,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO,gBAAgB,MAAM,UAAU;AAAA,QACvC,OAAO,MAAM;AAAA,MACf;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,MAAM;AAAA,MACf;AAAA,IACF,EAAE;AAEF,WAAO;AAAA,MACL,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;AChCO,IAAM,cAAc;;;AFmBrB,mBAEI,KAEA,YAJJ;AAPC,IAAM,gCAAgC;AAAA;AAAA,EAE3C,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ;AACxC,UAAM,kBAA6D,UAAW,UAA4C;AAC1H,UAAM,gBAAgB,0BAA0B,eAAe;AAE/D,WACE,gCACG,kBAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,SACzD,oBAAC,sBAAmB,WAAU,0CAAyC,IAEvE,qBAAC,WAAQ,YAAW,SAAQ,QAAQ,GAAI,GAAG,OAAO,KAChD;AAAA,0BAAC,4BAAyB,SAAS,aAAa,eAA8B;AAAA,MAC9E,oBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,OAAO,YAAY,MACjD,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD;AAAA,QAAC;AAAA;AAAA,UAEC,UAAU,OAAO;AAAA,UACjB,OAAO,OAAO;AAAA,UACd,aAAa,aAAa;AAAA,UAC1B,kBAAkB,aAAa;AAAA;AAAA,QAJ1B,OAAO;AAAA,MAKd,KAPS,OAAO,KAQlB,CACD,GACL;AAAA,MACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ;AAAA,OAC5E,GAEJ;AAAA,EAEJ;AACF;AAEA,8BAA8B,cAAc;","names":[]}
@@ -1,2 +1,34 @@
1
- export * from "./useBlocknativeTransformer";
1
+ // src/components/hooks/useBlocknativeTransformer.tsx
2
+ var useBlocknativeTransformer = (payload) => {
3
+ const blockPrices = payload?.blockPrices?.[0];
4
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
5
+ const estimatedPrices = blockPrices?.estimatedPrices;
6
+ const gasPrice = estimatedPrices.map((price) => ({
7
+ price: {
8
+ label: `Confidence - ${price.confidence}`,
9
+ value: price.price
10
+ },
11
+ priorityFee: {
12
+ label: "maxPriorityFeePerGas",
13
+ value: price.maxPriorityFeePerGas
14
+ }
15
+ }));
16
+ return {
17
+ baseFee: {
18
+ label: "baseFeePerGas",
19
+ value: blockPrices.baseFeePerGas
20
+ },
21
+ blockNumber: {
22
+ label: "blockNumber",
23
+ value: blockPrices.blockNumber
24
+ },
25
+ gasPrice,
26
+ timestamp: payload.timestamp,
27
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
28
+ };
29
+ }
30
+ };
31
+ export {
32
+ useBlocknativeTransformer
33
+ };
2
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/index.ts"],"sourcesContent":["export * from './useBlocknativeTransformer'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/useBlocknativeTransformer.tsx"],"sourcesContent":["import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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"],"mappings":";AAGO,IAAM,4BAA4B,CAAC,YAAsF;AAC9H,QAAM,cAAc,SAAS,cAAc,CAAC;AAC5C,MAAI,eAAe,YAAY,iBAAiB,QAAQ;AACtD,UAAM,kBAAkB,aAAa;AACrC,UAAM,WAAW,gBAAgB,IAAI,CAAC,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO,gBAAgB,MAAM,UAAU;AAAA,QACvC,OAAO,MAAM;AAAA,MACf;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,MAAM;AAAA,MACf;AAAA,IACF,EAAE;AAEF,WAAO;AAAA,MACL,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -1,4 +1,5 @@
1
- const useBlocknativeTransformer = (payload) => {
1
+ // src/components/hooks/useBlocknativeTransformer.tsx
2
+ var useBlocknativeTransformer = (payload) => {
2
3
  const blockPrices = payload?.blockPrices?.[0];
3
4
  if (blockPrices && blockPrices.estimatedPrices?.length) {
4
5
  const estimatedPrices = blockPrices?.estimatedPrices;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/hooks/useBlocknativeTransformer.tsx"],"sourcesContent":["import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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"],"mappings":"AAGO,MAAM,4BAA4B,CAAC,YAAsF;AAC9H,QAAM,cAAc,SAAS,cAAc,CAAC;AAC5C,MAAI,eAAe,YAAY,iBAAiB,QAAQ;AACtD,UAAM,kBAAkB,aAAa;AACrC,UAAM,WAAW,gBAAgB,IAAI,CAAC,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO,gBAAgB,MAAM,UAAU;AAAA,QACvC,OAAO,MAAM;AAAA,MACf;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,MAAM;AAAA,MACf;AAAA,IACF,EAAE;AAEF,WAAO;AAAA,MACL,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/hooks/useBlocknativeTransformer.tsx"],"sourcesContent":["import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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"],"mappings":";AAGO,IAAM,4BAA4B,CAAC,YAAsF;AAC9H,QAAM,cAAc,SAAS,cAAc,CAAC;AAC5C,MAAI,eAAe,YAAY,iBAAiB,QAAQ;AACtD,UAAM,kBAAkB,aAAa;AACrC,UAAM,WAAW,gBAAgB,IAAI,CAAC,WAAW;AAAA,MAC/C,OAAO;AAAA,QACL,OAAO,gBAAgB,MAAM,UAAU;AAAA,QACvC,OAAO,MAAM;AAAA,MACf;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,MAAM;AAAA,MACf;AAAA,IACF,EAAE;AAEF,WAAO;AAAA,MACL,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA,aAAa;AAAA,QACX,OAAO;AAAA,QACP,OAAO,YAAY;AAAA,MACrB;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -1,3 +1,120 @@
1
- export * from "./Card";
2
- export * from "./Details";
1
+ // src/components/Card/Card.tsx
2
+ import { Card } from "@mui/material";
3
+ import { forwardRef as forwardRef3 } from "react";
4
+
5
+ // src/components/Card/CardContent.tsx
6
+ import { CardContent, Grid } from "@mui/material";
7
+ import { isEmpty } from "@xylabs/lodash";
8
+ import { GasFeeCard, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
9
+ import { PayloadDataMissing } from "@xyo-network/react-shared";
10
+ import { forwardRef } from "react";
11
+
12
+ // src/components/hooks/useBlocknativeTransformer.tsx
13
+ var useBlocknativeTransformer = (payload) => {
14
+ const blockPrices = payload?.blockPrices?.[0];
15
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
16
+ const estimatedPrices = blockPrices?.estimatedPrices;
17
+ const gasPrice = estimatedPrices.map((price) => ({
18
+ price: {
19
+ label: `Confidence - ${price.confidence}`,
20
+ value: price.price
21
+ },
22
+ priorityFee: {
23
+ label: "maxPriorityFeePerGas",
24
+ value: price.maxPriorityFeePerGas
25
+ }
26
+ }));
27
+ return {
28
+ baseFee: {
29
+ label: "baseFeePerGas",
30
+ value: blockPrices.baseFeePerGas
31
+ },
32
+ blockNumber: {
33
+ label: "blockNumber",
34
+ value: blockPrices.blockNumber
35
+ },
36
+ gasPrice,
37
+ timestamp: payload.timestamp,
38
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
39
+ };
40
+ }
41
+ };
42
+
43
+ // src/components/Card/CardContent.tsx
44
+ import { jsx, jsxs } from "react/jsx-runtime";
45
+ var BlocknativeGasPriceCardContent = forwardRef(({ payload, ...props }, ref) => {
46
+ const gasPricePayload = payload ? payload : void 0;
47
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
48
+ if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
49
+ return /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
50
+ }
51
+ return /* @__PURE__ */ jsxs(CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
52
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(GasFeeCard, { gasPrice: price?.value, speed: price?.label, speedPaperElevation: 4 }) }, price?.label)) }),
53
+ /* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
54
+ ] });
55
+ });
56
+ BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
57
+
58
+ // src/components/Card/CardHeader.tsx
59
+ import { GasPriceWitnessCardHeader } from "@xyo-network/react-gas-price";
60
+ import { forwardRef as forwardRef2 } from "react";
61
+
62
+ // src/components/lib/constants.ts
63
+ var RenderTitle = "Blocknative Gas Tracker";
64
+
65
+ // src/components/Card/CardHeader.tsx
66
+ import { jsx as jsx2 } from "react/jsx-runtime";
67
+ var BlocknativeGasPriceCardHeader = forwardRef2(({ payload }, ref) => {
68
+ const gasPricePayload = payload ? payload : void 0;
69
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
70
+ return /* @__PURE__ */ jsx2(GasPriceWitnessCardHeader, { title: RenderTitle, parsedPayload, ref });
71
+ });
72
+ BlocknativeGasPriceCardHeader.displayName = "BlocknativeGasPriceCardHeader";
73
+
74
+ // src/components/Card/Card.tsx
75
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
76
+ var BlocknativeGasPriceCard = forwardRef3(({ payload, ...props }, ref) => {
77
+ return /* @__PURE__ */ jsxs2(Card, { ref, ...props, children: [
78
+ /* @__PURE__ */ jsx3(BlocknativeGasPriceCardHeader, { payload }),
79
+ /* @__PURE__ */ jsx3(BlocknativeGasPriceCardContent, { payload })
80
+ ] });
81
+ });
82
+ BlocknativeGasPriceCard.displayName = "BlocknativeGasPriceCard";
83
+
84
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
85
+ import { Grid as Grid2 } from "@mui/material";
86
+ import { isEmpty as isEmpty2 } from "@xylabs/lodash";
87
+ import { FlexCol } from "@xylabs/react-flexbox";
88
+ import { GasFeeCard as GasFeeCard2, GasPriceWitnessHeaderBox, ToggleRawPayloadBox as ToggleRawPayloadBox2 } from "@xyo-network/react-gas-price";
89
+ import { PayloadDataMissing as PayloadDataMissing2 } from "@xyo-network/react-shared";
90
+ import { forwardRef as forwardRef4 } from "react";
91
+ import { Fragment, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
92
+ var BlocknativeGasPriceDetailsBox = forwardRef4(
93
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
94
+ ({ payload, listMode, ...props }, ref) => {
95
+ const gasPricePayload = payload ? payload : void 0;
96
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
97
+ return /* @__PURE__ */ jsx4(Fragment, { children: isEmpty2(gasPricePayload) || !gasPricePayload.blockPrices?.length ? /* @__PURE__ */ jsx4(PayloadDataMissing2, { alertBody: "Payload is missing valid gas fee data." }) : /* @__PURE__ */ jsxs3(FlexCol, { alignItems: "start", rowGap: 4, ...props, ref, children: [
98
+ /* @__PURE__ */ jsx4(GasPriceWitnessHeaderBox, { heading: RenderTitle, parsedPayload }),
99
+ /* @__PURE__ */ jsx4(Grid2, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx4(Grid2, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx4(
100
+ GasFeeCard2,
101
+ {
102
+ gasPrice: price?.value,
103
+ speed: price?.label,
104
+ priorityFee: priorityFee?.value,
105
+ priorityFeeLabel: priorityFee?.label
106
+ },
107
+ price?.label
108
+ ) }, price?.label)) }),
109
+ /* @__PURE__ */ jsx4(ToggleRawPayloadBox2, { gasPricePayload, alignItems: "start" })
110
+ ] }) });
111
+ }
112
+ );
113
+ BlocknativeGasPriceDetailsBox.displayName = "BlocknativeGasPriceDetailsBox";
114
+ export {
115
+ BlocknativeGasPriceCard,
116
+ BlocknativeGasPriceCardContent,
117
+ BlocknativeGasPriceCardHeader,
118
+ BlocknativeGasPriceDetailsBox
119
+ };
3
120
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './Card'\nexport * from './Details'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/Card/Card.tsx","../../../src/components/Card/CardContent.tsx","../../../src/components/hooks/useBlocknativeTransformer.tsx","../../../src/components/Card/CardHeader.tsx","../../../src/components/lib/constants.ts","../../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx"],"sourcesContent":["import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\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 { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps>(({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(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 ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n})\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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 { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ? (\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n ) : (\n <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\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 gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n )}\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n"],"mappings":"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","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}
@@ -1,4 +1,5 @@
1
- const RenderTitle = "Blocknative Gas Tracker";
1
+ // src/components/lib/constants.ts
2
+ var RenderTitle = "Blocknative Gas Tracker";
2
3
  export {
3
4
  RenderTitle
4
5
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/lib/constants.ts"],"sourcesContent":["export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":"AAAO,MAAM,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/lib/constants.ts"],"sourcesContent":["export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":";AAAO,IAAM,cAAc;","names":[]}
@@ -1,2 +1,6 @@
1
- export * from "./constants";
1
+ // src/components/lib/constants.ts
2
+ var RenderTitle = "Blocknative Gas Tracker";
3
+ export {
4
+ RenderTitle
5
+ };
2
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/lib/index.ts"],"sourcesContent":["export * from './constants'\n"],"mappings":"AAAA,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/lib/constants.ts"],"sourcesContent":["export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":";AAAO,IAAM,cAAc;","names":[]}
@@ -1,8 +1,150 @@
1
- import { EthereumGasPriceBlocknativePlugin } from "./Plugin";
2
- export * from "./components";
3
- export * from "./Plugin";
1
+ // src/Plugin.ts
2
+ import { EthereumGasBlocknativeSchema } from "@xyo-network/blocknative-ethereum-gas-payload-plugin";
3
+ import { EthereumGasPriceAvatar } from "@xyo-network/react-gas-price";
4
+ import { createPayloadRenderPlugin } from "@xyo-network/react-payload-plugin";
5
+
6
+ // src/components/Card/Card.tsx
7
+ import { Card } from "@mui/material";
8
+ import { forwardRef as forwardRef3 } from "react";
9
+
10
+ // src/components/Card/CardContent.tsx
11
+ import { CardContent, Grid } from "@mui/material";
12
+ import { isEmpty } from "@xylabs/lodash";
13
+ import { GasFeeCard, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
14
+ import { PayloadDataMissing } from "@xyo-network/react-shared";
15
+ import { forwardRef } from "react";
16
+
17
+ // src/components/hooks/useBlocknativeTransformer.tsx
18
+ var useBlocknativeTransformer = (payload) => {
19
+ const blockPrices = payload?.blockPrices?.[0];
20
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
21
+ const estimatedPrices = blockPrices?.estimatedPrices;
22
+ const gasPrice = estimatedPrices.map((price) => ({
23
+ price: {
24
+ label: `Confidence - ${price.confidence}`,
25
+ value: price.price
26
+ },
27
+ priorityFee: {
28
+ label: "maxPriorityFeePerGas",
29
+ value: price.maxPriorityFeePerGas
30
+ }
31
+ }));
32
+ return {
33
+ baseFee: {
34
+ label: "baseFeePerGas",
35
+ value: blockPrices.baseFeePerGas
36
+ },
37
+ blockNumber: {
38
+ label: "blockNumber",
39
+ value: blockPrices.blockNumber
40
+ },
41
+ gasPrice,
42
+ timestamp: payload.timestamp,
43
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
44
+ };
45
+ }
46
+ };
47
+
48
+ // src/components/Card/CardContent.tsx
49
+ import { jsx, jsxs } from "react/jsx-runtime";
50
+ var BlocknativeGasPriceCardContent = forwardRef(({ payload, ...props }, ref) => {
51
+ const gasPricePayload = payload ? payload : void 0;
52
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
53
+ if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
54
+ return /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
55
+ }
56
+ return /* @__PURE__ */ jsxs(CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
57
+ /* @__PURE__ */ jsx(Grid, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price }) => /* @__PURE__ */ jsx(Grid, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx(GasFeeCard, { gasPrice: price?.value, speed: price?.label, speedPaperElevation: 4 }) }, price?.label)) }),
58
+ /* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
59
+ ] });
60
+ });
61
+ BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
62
+
63
+ // src/components/Card/CardHeader.tsx
64
+ import { GasPriceWitnessCardHeader } from "@xyo-network/react-gas-price";
65
+ import { forwardRef as forwardRef2 } from "react";
66
+
67
+ // src/components/lib/constants.ts
68
+ var RenderTitle = "Blocknative Gas Tracker";
69
+
70
+ // src/components/Card/CardHeader.tsx
71
+ import { jsx as jsx2 } from "react/jsx-runtime";
72
+ var BlocknativeGasPriceCardHeader = forwardRef2(({ payload }, ref) => {
73
+ const gasPricePayload = payload ? payload : void 0;
74
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
75
+ return /* @__PURE__ */ jsx2(GasPriceWitnessCardHeader, { title: RenderTitle, parsedPayload, ref });
76
+ });
77
+ BlocknativeGasPriceCardHeader.displayName = "BlocknativeGasPriceCardHeader";
78
+
79
+ // src/components/Card/Card.tsx
80
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
81
+ var BlocknativeGasPriceCard = forwardRef3(({ payload, ...props }, ref) => {
82
+ return /* @__PURE__ */ jsxs2(Card, { ref, ...props, children: [
83
+ /* @__PURE__ */ jsx3(BlocknativeGasPriceCardHeader, { payload }),
84
+ /* @__PURE__ */ jsx3(BlocknativeGasPriceCardContent, { payload })
85
+ ] });
86
+ });
87
+ BlocknativeGasPriceCard.displayName = "BlocknativeGasPriceCard";
88
+
89
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
90
+ import { Grid as Grid2 } from "@mui/material";
91
+ import { isEmpty as isEmpty2 } from "@xylabs/lodash";
92
+ import { FlexCol } from "@xylabs/react-flexbox";
93
+ import { GasFeeCard as GasFeeCard2, GasPriceWitnessHeaderBox, ToggleRawPayloadBox as ToggleRawPayloadBox2 } from "@xyo-network/react-gas-price";
94
+ import { PayloadDataMissing as PayloadDataMissing2 } from "@xyo-network/react-shared";
95
+ import { forwardRef as forwardRef4 } from "react";
96
+ import { Fragment, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
97
+ var BlocknativeGasPriceDetailsBox = forwardRef4(
98
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
99
+ ({ payload, listMode, ...props }, ref) => {
100
+ const gasPricePayload = payload ? payload : void 0;
101
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
102
+ return /* @__PURE__ */ jsx4(Fragment, { children: isEmpty2(gasPricePayload) || !gasPricePayload.blockPrices?.length ? /* @__PURE__ */ jsx4(PayloadDataMissing2, { alertBody: "Payload is missing valid gas fee data." }) : /* @__PURE__ */ jsxs3(FlexCol, { alignItems: "start", rowGap: 4, ...props, ref, children: [
103
+ /* @__PURE__ */ jsx4(GasPriceWitnessHeaderBox, { heading: RenderTitle, parsedPayload }),
104
+ /* @__PURE__ */ jsx4(Grid2, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx4(Grid2, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx4(
105
+ GasFeeCard2,
106
+ {
107
+ gasPrice: price?.value,
108
+ speed: price?.label,
109
+ priorityFee: priorityFee?.value,
110
+ priorityFeeLabel: priorityFee?.label
111
+ },
112
+ price?.label
113
+ ) }, price?.label)) }),
114
+ /* @__PURE__ */ jsx4(ToggleRawPayloadBox2, { gasPricePayload, alignItems: "start" })
115
+ ] }) });
116
+ }
117
+ );
118
+ BlocknativeGasPriceDetailsBox.displayName = "BlocknativeGasPriceDetailsBox";
119
+
120
+ // src/Plugin.ts
121
+ var EthereumGasPriceBlocknativePlugin = {
122
+ ...createPayloadRenderPlugin({
123
+ canRender: (payload) => payload?.schema === EthereumGasBlocknativeSchema,
124
+ components: {
125
+ avatar: {
126
+ image: EthereumGasPriceAvatar
127
+ },
128
+ box: {
129
+ detailsBox: BlocknativeGasPriceDetailsBox
130
+ },
131
+ card: {
132
+ content: BlocknativeGasPriceCardContent,
133
+ header: BlocknativeGasPriceCardHeader
134
+ }
135
+ },
136
+ name: "Ethereum Gas Price Blocknative"
137
+ })
138
+ };
139
+
140
+ // src/index.ts
4
141
  var src_default = EthereumGasPriceBlocknativePlugin;
5
142
  export {
143
+ BlocknativeGasPriceCard,
144
+ BlocknativeGasPriceCardContent,
145
+ BlocknativeGasPriceCardHeader,
146
+ BlocknativeGasPriceDetailsBox,
147
+ EthereumGasPriceBlocknativePlugin,
6
148
  src_default as default
7
149
  };
8
150
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import { EthereumGasPriceBlocknativePlugin } from './Plugin'\n\nexport * from './components'\nexport * from './Plugin'\n\n// eslint-disable-next-line import/no-default-export\nexport default EthereumGasPriceBlocknativePlugin\n"],"mappings":"AAAA,SAAS,yCAAyC;AAElD,cAAc;AACd,cAAc;AAGd,IAAO,cAAQ;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/components/Card/Card.tsx","../../src/components/Card/CardContent.tsx","../../src/components/hooks/useBlocknativeTransformer.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/lib/constants.ts","../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx","../../src/index.ts"],"sourcesContent":["import { EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\nimport { EthereumGasPriceAvatar } from '@xyo-network/react-gas-price'\nimport { createPayloadRenderPlugin, PayloadRenderPlugin } from '@xyo-network/react-payload-plugin'\n\nimport { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from './components'\n\nexport const EthereumGasPriceBlocknativePlugin: PayloadRenderPlugin = {\n ...createPayloadRenderPlugin({\n canRender: (payload?: Payload) => payload?.schema === EthereumGasBlocknativeSchema,\n components: {\n avatar: {\n image: EthereumGasPriceAvatar,\n },\n box: {\n detailsBox: BlocknativeGasPriceDetailsBox,\n },\n card: {\n content: BlocknativeGasPriceCardContent,\n header: BlocknativeGasPriceCardHeader,\n },\n },\n name: 'Ethereum Gas Price Blocknative',\n }),\n}\n","import { Card, CardProps } from '@mui/material'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { BlocknativeGasPriceCardContent } from './CardContent'\nimport { BlocknativeGasPriceCardHeader } from './CardHeader'\n\nexport const BlocknativeGasPriceCard = forwardRef<HTMLDivElement, PayloadRenderProps & CardProps>(({ payload, ...props }, ref) => {\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 { CardContent, CardContentProps, Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\n\nexport const BlocknativeGasPriceCardContent = forwardRef<HTMLDivElement, PayloadRenderProps & CardContentProps>(({ payload, ...props }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(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 ref={ref} sx={{ display: 'flex', flexDirection: 'column', rowGap: 4 }} {...props}>\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\n <GasFeeCard gasPrice={price?.value} speed={price?.label} speedPaperElevation={4} />\n </Grid>\n ))}\n </Grid>\n <ToggleRawPayloadBox gasPricePayload={gasPricePayload} alignItems=\"start\" pr={1} />\n </CardContent>\n )\n})\n\nBlocknativeGasPriceCardContent.displayName = 'BlocknativeGasPriceCardContent'\n","import { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessUIBasePayload } from '@xyo-network/react-gas-price'\n\nexport const useBlocknativeTransformer = (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 { CardHeaderProps } from '@mui/material'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasPriceWitnessCardHeader } from '@xyo-network/react-gas-price'\nimport { PayloadRenderProps } from '@xyo-network/react-payload-plugin'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../hooks'\nimport { RenderTitle } from '../lib'\n\nexport const BlocknativeGasPriceCardHeader = forwardRef<HTMLDivElement, PayloadRenderProps & CardHeaderProps>(({ payload }, ref) => {\n const gasPricePayload = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n return <GasPriceWitnessCardHeader title={RenderTitle} parsedPayload={parsedPayload} ref={ref} />\n})\n\nBlocknativeGasPriceCardHeader.displayName = 'BlocknativeGasPriceCardHeader'\n","export const RenderTitle = 'Blocknative Gas Tracker'\n","import { Grid } from '@mui/material'\nimport { isEmpty } from '@xylabs/lodash'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from '@xyo-network/react-gas-price'\nimport { PayloadDetailsRenderProps } from '@xyo-network/react-payload-plugin'\nimport { PayloadDataMissing } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nimport { useBlocknativeTransformer } from '../../hooks'\nimport { RenderTitle } from '../../lib'\n\nexport const BlocknativeGasPriceDetailsBox = forwardRef<HTMLDivElement, PayloadDetailsRenderProps & FlexBoxProps>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ({ payload, listMode, ...props }, ref) => {\n const gasPricePayload: EthereumGasBlocknativePayload | undefined = payload ? (payload as EthereumGasBlocknativePayload) : undefined\n const parsedPayload = useBlocknativeTransformer(gasPricePayload)\n\n return (\n <>\n {isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length ? (\n <PayloadDataMissing alertBody=\"Payload is missing valid gas fee data.\" />\n ) : (\n <FlexCol alignItems=\"start\" rowGap={4} {...props} ref={ref}>\n <GasPriceWitnessHeaderBox heading={RenderTitle} parsedPayload={parsedPayload} />\n <Grid container spacing={3} columns={{ lg: 15, md: 15, sm: 12, xs: 12 }}>\n {parsedPayload &&\n parsedPayload?.gasPrice?.map(({ price, priorityFee }) => (\n <Grid key={price?.label} item xs={12} sm={6} md={5} lg={3}>\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 gasPricePayload={gasPricePayload} alignItems=\"start\" />\n </FlexCol>\n )}\n </>\n )\n },\n)\n\nBlocknativeGasPriceDetailsBox.displayName = 'BlocknativeGasPriceDetailsBox'\n","import { EthereumGasPriceBlocknativePlugin } from './Plugin'\n\nexport * from './components'\nexport * from './Plugin'\n\n// eslint-disable-next-line import/no-default-export\nexport default EthereumGasPriceBlocknativePlugin\n"],"mappings":"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","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}