@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,8 +1,110 @@
1
+ // src/Plugin.ts
1
2
  import { EthereumGasBlocknativeSchema } from "@xyo-network/blocknative-ethereum-gas-payload-plugin";
2
3
  import { EthereumGasPriceAvatar } from "@xyo-network/react-gas-price";
3
4
  import { createPayloadRenderPlugin } from "@xyo-network/react-payload-plugin";
4
- import { BlocknativeGasPriceCardContent, BlocknativeGasPriceCardHeader, BlocknativeGasPriceDetailsBox } from "./components";
5
- const EthereumGasPriceBlocknativePlugin = {
5
+
6
+ // src/components/Card/CardContent.tsx
7
+ import { CardContent, Grid } from "@mui/material";
8
+ import { isEmpty } from "@xylabs/lodash";
9
+ import { GasFeeCard, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
10
+ import { PayloadDataMissing } from "@xyo-network/react-shared";
11
+ import { forwardRef } from "react";
12
+
13
+ // src/components/hooks/useBlocknativeTransformer.tsx
14
+ var useBlocknativeTransformer = (payload) => {
15
+ const blockPrices = payload?.blockPrices?.[0];
16
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
17
+ const estimatedPrices = blockPrices?.estimatedPrices;
18
+ const gasPrice = estimatedPrices.map((price) => ({
19
+ price: {
20
+ label: `Confidence - ${price.confidence}`,
21
+ value: price.price
22
+ },
23
+ priorityFee: {
24
+ label: "maxPriorityFeePerGas",
25
+ value: price.maxPriorityFeePerGas
26
+ }
27
+ }));
28
+ return {
29
+ baseFee: {
30
+ label: "baseFeePerGas",
31
+ value: blockPrices.baseFeePerGas
32
+ },
33
+ blockNumber: {
34
+ label: "blockNumber",
35
+ value: blockPrices.blockNumber
36
+ },
37
+ gasPrice,
38
+ timestamp: payload.timestamp,
39
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
40
+ };
41
+ }
42
+ };
43
+
44
+ // src/components/Card/CardContent.tsx
45
+ import { jsx, jsxs } from "react/jsx-runtime";
46
+ var BlocknativeGasPriceCardContent = forwardRef(({ payload, ...props }, ref) => {
47
+ const gasPricePayload = payload ? payload : void 0;
48
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
49
+ if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
50
+ return /* @__PURE__ */ jsx(PayloadDataMissing, { alertBody: "Payload is missing valid gas fee data.", sx: { m: 1 } });
51
+ }
52
+ return /* @__PURE__ */ jsxs(CardContent, { ref, sx: { display: "flex", flexDirection: "column", rowGap: 4 }, ...props, children: [
53
+ /* @__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)) }),
54
+ /* @__PURE__ */ jsx(ToggleRawPayloadBox, { gasPricePayload, alignItems: "start", pr: 1 })
55
+ ] });
56
+ });
57
+ BlocknativeGasPriceCardContent.displayName = "BlocknativeGasPriceCardContent";
58
+
59
+ // src/components/Card/CardHeader.tsx
60
+ import { GasPriceWitnessCardHeader } from "@xyo-network/react-gas-price";
61
+ import { forwardRef as forwardRef2 } from "react";
62
+
63
+ // src/components/lib/constants.ts
64
+ var RenderTitle = "Blocknative Gas Tracker";
65
+
66
+ // src/components/Card/CardHeader.tsx
67
+ import { jsx as jsx2 } from "react/jsx-runtime";
68
+ var BlocknativeGasPriceCardHeader = forwardRef2(({ payload }, ref) => {
69
+ const gasPricePayload = payload ? payload : void 0;
70
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
71
+ return /* @__PURE__ */ jsx2(GasPriceWitnessCardHeader, { title: RenderTitle, parsedPayload, ref });
72
+ });
73
+ BlocknativeGasPriceCardHeader.displayName = "BlocknativeGasPriceCardHeader";
74
+
75
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
76
+ import { Grid as Grid2 } from "@mui/material";
77
+ import { isEmpty as isEmpty2 } from "@xylabs/lodash";
78
+ import { FlexCol } from "@xylabs/react-flexbox";
79
+ import { GasFeeCard as GasFeeCard2, GasPriceWitnessHeaderBox, ToggleRawPayloadBox as ToggleRawPayloadBox2 } from "@xyo-network/react-gas-price";
80
+ import { PayloadDataMissing as PayloadDataMissing2 } from "@xyo-network/react-shared";
81
+ import { forwardRef as forwardRef3 } from "react";
82
+ import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
83
+ var BlocknativeGasPriceDetailsBox = forwardRef3(
84
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
85
+ ({ payload, listMode, ...props }, ref) => {
86
+ const gasPricePayload = payload ? payload : void 0;
87
+ const parsedPayload = useBlocknativeTransformer(gasPricePayload);
88
+ return /* @__PURE__ */ jsx3(Fragment, { children: isEmpty2(gasPricePayload) || !gasPricePayload.blockPrices?.length ? /* @__PURE__ */ jsx3(PayloadDataMissing2, { alertBody: "Payload is missing valid gas fee data." }) : /* @__PURE__ */ jsxs2(FlexCol, { alignItems: "start", rowGap: 4, ...props, ref, children: [
89
+ /* @__PURE__ */ jsx3(GasPriceWitnessHeaderBox, { heading: RenderTitle, parsedPayload }),
90
+ /* @__PURE__ */ jsx3(Grid2, { container: true, spacing: 3, columns: { lg: 15, md: 15, sm: 12, xs: 12 }, children: parsedPayload && parsedPayload?.gasPrice?.map(({ price, priorityFee }) => /* @__PURE__ */ jsx3(Grid2, { item: true, xs: 12, sm: 6, md: 5, lg: 3, children: /* @__PURE__ */ jsx3(
91
+ GasFeeCard2,
92
+ {
93
+ gasPrice: price?.value,
94
+ speed: price?.label,
95
+ priorityFee: priorityFee?.value,
96
+ priorityFeeLabel: priorityFee?.label
97
+ },
98
+ price?.label
99
+ ) }, price?.label)) }),
100
+ /* @__PURE__ */ jsx3(ToggleRawPayloadBox2, { gasPricePayload, alignItems: "start" })
101
+ ] }) });
102
+ }
103
+ );
104
+ BlocknativeGasPriceDetailsBox.displayName = "BlocknativeGasPriceDetailsBox";
105
+
106
+ // src/Plugin.ts
107
+ var EthereumGasPriceBlocknativePlugin = {
6
108
  ...createPayloadRenderPlugin({
7
109
  canRender: (payload) => payload?.schema === EthereumGasBlocknativeSchema,
8
110
  components: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.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"],"mappings":"AAAA,SAAS,oCAAoC;AAE7C,SAAS,8BAA8B;AACvC,SAAS,iCAAsD;AAE/D,SAAS,gCAAgC,+BAA+B,qCAAqC;AAEtG,MAAM,oCAAyD;AAAA,EACpE,GAAG,0BAA0B;AAAA,IAC3B,WAAW,CAAC,YAAsB,SAAS,WAAW;AAAA,IACtD,YAAY;AAAA,MACV,QAAQ;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,KAAK;AAAA,QACH,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../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 { 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 { 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":";AAAA,SAAS,oCAAoC;AAE7C,SAAS,8BAA8B;AACvC,SAAS,iCAAsD;;;ACH/D,SAAS,aAA+B,YAAY;AACpD,SAAS,eAAe;AAExB,SAAS,YAAY,2BAA2B;AAEhD,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACHpB,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;;;ADjBW,cAIP,YAJO;AALJ,IAAM,iCAAiC,WAAkE,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAC9I,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAE/D,MAAI,QAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,QAAQ;AACpE,WAAO,oBAAC,sBAAmB,WAAU,0CAAyC,IAAI,EAAE,GAAG,EAAE,GAAG;AAAA,EAC9F;AAEA,SACE,qBAAC,eAAY,KAAU,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,EAAE,GAAI,GAAG,OACtF;AAAA,wBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,MAAM,MACpC,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,8BAAC,cAAW,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO,qBAAqB,GAAG,KADxE,OAAO,KAElB,CACD,GACL;AAAA,IACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ,IAAI,GAAG;AAAA,KACnF;AAEJ,CAAC;AAED,+BAA+B,cAAc;;;AE/B7C,SAAS,iCAAiC;AAE1C,SAAS,cAAAA,mBAAkB;;;ACJpB,IAAM,cAAc;;;ADYlB,gBAAAC,YAAA;AAHF,IAAM,gCAAgCC,YAAiE,CAAC,EAAE,QAAQ,GAAG,QAAQ;AAClI,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAC/D,SAAO,gBAAAD,KAAC,6BAA0B,OAAO,aAAa,eAA8B,KAAU;AAChG,CAAC;AAED,8BAA8B,cAAc;;;AEf5C,SAAS,QAAAE,aAAY;AACrB,SAAS,WAAAC,gBAAe;AACxB,SAAuB,eAAe;AAEtC,SAAS,cAAAC,aAAY,0BAA0B,uBAAAC,4BAA2B;AAE1E,SAAS,sBAAAC,2BAA0B;AACnC,SAAS,cAAAC,mBAAkB;AAYrB,mBAEI,OAAAC,MAEA,QAAAC,aAJJ;AAPC,IAAM,gCAAgCC;AAAA;AAAA,EAE3C,CAAC,EAAE,SAAS,UAAU,GAAG,MAAM,GAAG,QAAQ;AACxC,UAAM,kBAA6D,UAAW,UAA4C;AAC1H,UAAM,gBAAgB,0BAA0B,eAAe;AAE/D,WACE,gBAAAF,KAAA,YACG,UAAAG,SAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,SACzD,gBAAAH,KAACI,qBAAA,EAAmB,WAAU,0CAAyC,IAEvE,gBAAAH,MAAC,WAAQ,YAAW,SAAQ,QAAQ,GAAI,GAAG,OAAO,KAChD;AAAA,sBAAAD,KAAC,4BAAyB,SAAS,aAAa,eAA8B;AAAA,MAC9E,gBAAAA,KAACK,OAAA,EAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,OAAO,YAAY,MACjD,gBAAAL,KAACK,OAAA,EAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,0BAAAL;AAAA,QAACM;AAAA,QAAA;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,gBAAAN,KAACO,sBAAA,EAAoB,iBAAkC,YAAW,SAAQ;AAAA,OAC5E,GAEJ;AAAA,EAEJ;AACF;AAEA,8BAA8B,cAAc;;;ALxCrC,IAAM,oCAAyD;AAAA,EACpE,GAAG,0BAA0B;AAAA,IAC3B,WAAW,CAAC,YAAsB,SAAS,WAAW;AAAA,IACtD,YAAY;AAAA,MACV,QAAQ;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,KAAK;AAAA,QACH,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACH;","names":["forwardRef","jsx","forwardRef","Grid","isEmpty","GasFeeCard","ToggleRawPayloadBox","PayloadDataMissing","forwardRef","jsx","jsxs","forwardRef","isEmpty","PayloadDataMissing","Grid","GasFeeCard","ToggleRawPayloadBox"]}
@@ -1,12 +1,82 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/Card.tsx
2
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";
3
10
  import { forwardRef } from "react";
4
- import { BlocknativeGasPriceCardContent } from "./CardContent";
5
- import { BlocknativeGasPriceCardHeader } from "./CardHeader";
6
- const BlocknativeGasPriceCard = forwardRef(({ payload, ...props }, ref) => {
7
- return /* @__PURE__ */ jsxs(Card, { ref, ...props, children: [
8
- /* @__PURE__ */ jsx(BlocknativeGasPriceCardHeader, { payload }),
9
- /* @__PURE__ */ jsx(BlocknativeGasPriceCardContent, { payload })
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 })
10
80
  ] });
11
81
  });
12
82
  BlocknativeGasPriceCard.displayName = "BlocknativeGasPriceCard";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/Card.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"],"mappings":"AASI,SACE,KADF;AATJ,SAAS,YAAuB;AAEhC,SAAS,kBAAkB;AAE3B,SAAS,sCAAsC;AAC/C,SAAS,qCAAqC;AAEvC,MAAM,0BAA0B,WAA2D,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAChI,SACE,qBAAC,QAAK,KAAW,GAAG,OAClB;AAAA,wBAAC,iCAA8B,SAAkB;AAAA,IACjD,oBAAC,kCAA+B,SAAkB;AAAA,KACpD;AAEJ,CAAC;AAED,wBAAwB,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"],"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"],"mappings":";AAAA,SAAS,YAAuB;AAEhC,SAAS,cAAAA,mBAAkB;;;ACF3B,SAAS,aAA+B,YAAY;AACpD,SAAS,eAAe;AAExB,SAAS,YAAY,2BAA2B;AAEhD,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACHpB,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;;;ADjBW,cAIP,YAJO;AALJ,IAAM,iCAAiC,WAAkE,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAC9I,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAE/D,MAAI,QAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,QAAQ;AACpE,WAAO,oBAAC,sBAAmB,WAAU,0CAAyC,IAAI,EAAE,GAAG,EAAE,GAAG;AAAA,EAC9F;AAEA,SACE,qBAAC,eAAY,KAAU,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,EAAE,GAAI,GAAG,OACtF;AAAA,wBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,MAAM,MACpC,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,8BAAC,cAAW,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO,qBAAqB,GAAG,KADxE,OAAO,KAElB,CACD,GACL;AAAA,IACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ,IAAI,GAAG;AAAA,KACnF;AAEJ,CAAC;AAED,+BAA+B,cAAc;;;AE/B7C,SAAS,iCAAiC;AAE1C,SAAS,cAAAC,mBAAkB;;;ACJpB,IAAM,cAAc;;;ADYlB,gBAAAC,YAAA;AAHF,IAAM,gCAAgCC,YAAiE,CAAC,EAAE,QAAQ,GAAG,QAAQ;AAClI,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAC/D,SAAO,gBAAAD,KAAC,6BAA0B,OAAO,aAAa,eAA8B,KAAU;AAChG,CAAC;AAED,8BAA8B,cAAc;;;AHNxC,SACE,OAAAE,MADF,QAAAC,aAAA;AAFG,IAAM,0BAA0BC,YAA2D,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAChI,SACE,gBAAAD,MAAC,QAAK,KAAW,GAAG,OAClB;AAAA,oBAAAD,KAAC,iCAA8B,SAAkB;AAAA,IACjD,gBAAAA,KAAC,kCAA+B,SAAkB;AAAA,KACpD;AAEJ,CAAC;AAED,wBAAwB,cAAc;","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef"]}
@@ -1,11 +1,44 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Card/CardContent.tsx
2
2
  import { CardContent, Grid } from "@mui/material";
3
3
  import { isEmpty } from "@xylabs/lodash";
4
4
  import { GasFeeCard, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
5
5
  import { PayloadDataMissing } from "@xyo-network/react-shared";
6
6
  import { forwardRef } from "react";
7
- import { useBlocknativeTransformer } from "../hooks";
8
- const BlocknativeGasPriceCardContent = forwardRef(({ payload, ...props }, ref) => {
7
+
8
+ // src/components/hooks/useBlocknativeTransformer.tsx
9
+ var useBlocknativeTransformer = (payload) => {
10
+ const blockPrices = payload?.blockPrices?.[0];
11
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
12
+ const estimatedPrices = blockPrices?.estimatedPrices;
13
+ const gasPrice = estimatedPrices.map((price) => ({
14
+ price: {
15
+ label: `Confidence - ${price.confidence}`,
16
+ value: price.price
17
+ },
18
+ priorityFee: {
19
+ label: "maxPriorityFeePerGas",
20
+ value: price.maxPriorityFeePerGas
21
+ }
22
+ }));
23
+ return {
24
+ baseFee: {
25
+ label: "baseFeePerGas",
26
+ value: blockPrices.baseFeePerGas
27
+ },
28
+ blockNumber: {
29
+ label: "blockNumber",
30
+ value: blockPrices.blockNumber
31
+ },
32
+ gasPrice,
33
+ timestamp: payload.timestamp,
34
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
35
+ };
36
+ }
37
+ };
38
+
39
+ // src/components/Card/CardContent.tsx
40
+ import { jsx, jsxs } from "react/jsx-runtime";
41
+ var BlocknativeGasPriceCardContent = forwardRef(({ payload, ...props }, ref) => {
9
42
  const gasPricePayload = payload ? payload : void 0;
10
43
  const parsedPayload = useBlocknativeTransformer(gasPricePayload);
11
44
  if (isEmpty(gasPricePayload) || !gasPricePayload.blockPrices?.length) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/CardContent.tsx"],"sourcesContent":["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"],"mappings":"AAeW,cAIP,YAJO;AAfX,SAAS,aAA+B,YAAY;AACpD,SAAS,eAAe;AAExB,SAAS,YAAY,2BAA2B;AAEhD,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAE3B,SAAS,iCAAiC;AAEnC,MAAM,iCAAiC,WAAkE,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAC9I,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAE/D,MAAI,QAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,QAAQ;AACpE,WAAO,oBAAC,sBAAmB,WAAU,0CAAyC,IAAI,EAAE,GAAG,EAAE,GAAG;AAAA,EAC9F;AAEA,SACE,qBAAC,eAAY,KAAU,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,EAAE,GAAI,GAAG,OACtF;AAAA,wBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,MAAM,MACpC,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,8BAAC,cAAW,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO,qBAAqB,GAAG,KADxE,OAAO,KAElB,CACD,GACL;AAAA,IACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ,IAAI,GAAG;AAAA,KACnF;AAEJ,CAAC;AAED,+BAA+B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/Card/CardContent.tsx","../../../../src/components/hooks/useBlocknativeTransformer.tsx"],"sourcesContent":["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"],"mappings":";AAAA,SAAS,aAA+B,YAAY;AACpD,SAAS,eAAe;AAExB,SAAS,YAAY,2BAA2B;AAEhD,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACHpB,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;;;ADjBW,cAIP,YAJO;AALJ,IAAM,iCAAiC,WAAkE,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAC9I,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAE/D,MAAI,QAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,QAAQ;AACpE,WAAO,oBAAC,sBAAmB,WAAU,0CAAyC,IAAI,EAAE,GAAG,EAAE,GAAG;AAAA,EAC9F;AAEA,SACE,qBAAC,eAAY,KAAU,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,EAAE,GAAI,GAAG,OACtF;AAAA,wBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,MAAM,MACpC,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,8BAAC,cAAW,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO,qBAAqB,GAAG,KADxE,OAAO,KAElB,CACD,GACL;AAAA,IACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ,IAAI,GAAG;AAAA,KACnF;AAEJ,CAAC;AAED,+BAA+B,cAAc;","names":[]}
@@ -1,9 +1,44 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ // src/components/Card/CardHeader.tsx
2
2
  import { GasPriceWitnessCardHeader } from "@xyo-network/react-gas-price";
3
3
  import { forwardRef } from "react";
4
- import { useBlocknativeTransformer } from "../hooks";
5
- import { RenderTitle } from "../lib";
6
- const BlocknativeGasPriceCardHeader = forwardRef(({ payload }, ref) => {
4
+
5
+ // src/components/hooks/useBlocknativeTransformer.tsx
6
+ var useBlocknativeTransformer = (payload) => {
7
+ const blockPrices = payload?.blockPrices?.[0];
8
+ if (blockPrices && blockPrices.estimatedPrices?.length) {
9
+ const estimatedPrices = blockPrices?.estimatedPrices;
10
+ const gasPrice = estimatedPrices.map((price) => ({
11
+ price: {
12
+ label: `Confidence - ${price.confidence}`,
13
+ value: price.price
14
+ },
15
+ priorityFee: {
16
+ label: "maxPriorityFeePerGas",
17
+ value: price.maxPriorityFeePerGas
18
+ }
19
+ }));
20
+ return {
21
+ baseFee: {
22
+ label: "baseFeePerGas",
23
+ value: blockPrices.baseFeePerGas
24
+ },
25
+ blockNumber: {
26
+ label: "blockNumber",
27
+ value: blockPrices.blockNumber
28
+ },
29
+ gasPrice,
30
+ timestamp: payload.timestamp,
31
+ website: "https://docs.Blocknative.io/v5/api/providers/provider/#Provider-getFeeData"
32
+ };
33
+ }
34
+ };
35
+
36
+ // src/components/lib/constants.ts
37
+ var RenderTitle = "Blocknative Gas Tracker";
38
+
39
+ // src/components/Card/CardHeader.tsx
40
+ import { jsx } from "react/jsx-runtime";
41
+ var BlocknativeGasPriceCardHeader = forwardRef(({ payload }, ref) => {
7
42
  const gasPricePayload = payload ? payload : void 0;
8
43
  const parsedPayload = useBlocknativeTransformer(gasPricePayload);
9
44
  return /* @__PURE__ */ jsx(GasPriceWitnessCardHeader, { title: RenderTitle, parsedPayload, ref });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/CardHeader.tsx"],"sourcesContent":["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"],"mappings":"AAYS;AAVT,SAAS,iCAAiC;AAE1C,SAAS,kBAAkB;AAE3B,SAAS,iCAAiC;AAC1C,SAAS,mBAAmB;AAErB,MAAM,gCAAgC,WAAiE,CAAC,EAAE,QAAQ,GAAG,QAAQ;AAClI,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAC/D,SAAO,oBAAC,6BAA0B,OAAO,aAAa,eAA8B,KAAU;AAChG,CAAC;AAED,8BAA8B,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/Card/CardHeader.tsx","../../../../src/components/hooks/useBlocknativeTransformer.tsx","../../../../src/components/lib/constants.ts"],"sourcesContent":["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","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":";AAEA,SAAS,iCAAiC;AAE1C,SAAS,kBAAkB;;;ACDpB,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;;;AFYlB;AAHF,IAAM,gCAAgC,WAAiE,CAAC,EAAE,QAAQ,GAAG,QAAQ;AAClI,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAC/D,SAAO,oBAAC,6BAA0B,OAAO,aAAa,eAA8B,KAAU;AAChG,CAAC;AAED,8BAA8B,cAAc;","names":[]}
@@ -1,4 +1,88 @@
1
- export * from "./Card";
2
- export * from "./CardContent";
3
- export * from "./CardHeader";
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
+ export {
84
+ BlocknativeGasPriceCard,
85
+ BlocknativeGasPriceCardContent,
86
+ BlocknativeGasPriceCardHeader
87
+ };
4
88
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/index.ts"],"sourcesContent":["export * from './Card'\nexport * from './CardContent'\nexport * from './CardHeader'\n"],"mappings":"AAAA,cAAc;AACd,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"],"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"],"mappings":";AAAA,SAAS,YAAuB;AAEhC,SAAS,cAAAA,mBAAkB;;;ACF3B,SAAS,aAA+B,YAAY;AACpD,SAAS,eAAe;AAExB,SAAS,YAAY,2BAA2B;AAEhD,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;;;ACHpB,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;;;ADjBW,cAIP,YAJO;AALJ,IAAM,iCAAiC,WAAkE,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAC9I,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAE/D,MAAI,QAAQ,eAAe,KAAK,CAAC,gBAAgB,aAAa,QAAQ;AACpE,WAAO,oBAAC,sBAAmB,WAAU,0CAAyC,IAAI,EAAE,GAAG,EAAE,GAAG;AAAA,EAC9F;AAEA,SACE,qBAAC,eAAY,KAAU,IAAI,EAAE,SAAS,QAAQ,eAAe,UAAU,QAAQ,EAAE,GAAI,GAAG,OACtF;AAAA,wBAAC,QAAK,WAAS,MAAC,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GACnE,2BACC,eAAe,UAAU,IAAI,CAAC,EAAE,MAAM,MACpC,oBAAC,QAAwB,MAAI,MAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GACtD,8BAAC,cAAW,UAAU,OAAO,OAAO,OAAO,OAAO,OAAO,qBAAqB,GAAG,KADxE,OAAO,KAElB,CACD,GACL;AAAA,IACA,oBAAC,uBAAoB,iBAAkC,YAAW,SAAQ,IAAI,GAAG;AAAA,KACnF;AAEJ,CAAC;AAED,+BAA+B,cAAc;;;AE/B7C,SAAS,iCAAiC;AAE1C,SAAS,cAAAC,mBAAkB;;;ACJpB,IAAM,cAAc;;;ADYlB,gBAAAC,YAAA;AAHF,IAAM,gCAAgCC,YAAiE,CAAC,EAAE,QAAQ,GAAG,QAAQ;AAClI,QAAM,kBAAkB,UAAW,UAA4C;AAC/E,QAAM,gBAAgB,0BAA0B,eAAe;AAC/D,SAAO,gBAAAD,KAAC,6BAA0B,OAAO,aAAa,eAA8B,KAAU;AAChG,CAAC;AAED,8BAA8B,cAAc;;;AHNxC,SACE,OAAAE,MADF,QAAAC,aAAA;AAFG,IAAM,0BAA0BC,YAA2D,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ;AAChI,SACE,gBAAAD,MAAC,QAAK,KAAW,GAAG,OAClB;AAAA,oBAAAD,KAAC,iCAA8B,SAAkB;AAAA,IACjD,gBAAAA,KAAC,kCAA+B,SAAkB;AAAA,KACpD;AAEJ,CAAC;AAED,wBAAwB,cAAc;","names":["forwardRef","forwardRef","jsx","forwardRef","jsx","jsxs","forwardRef"]}
@@ -1,13 +1,48 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
+ // src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx
2
2
  import { Grid } from "@mui/material";
3
3
  import { isEmpty } from "@xylabs/lodash";
4
4
  import { FlexCol } from "@xylabs/react-flexbox";
5
5
  import { GasFeeCard, GasPriceWitnessHeaderBox, ToggleRawPayloadBox } from "@xyo-network/react-gas-price";
6
6
  import { PayloadDataMissing } from "@xyo-network/react-shared";
7
7
  import { forwardRef } from "react";
8
- import { useBlocknativeTransformer } from "../../hooks";
9
- import { RenderTitle } from "../../lib";
10
- const BlocknativeGasPriceDetailsBox = forwardRef(
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(
11
46
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
47
  ({ payload, listMode, ...props }, ref) => {
13
48
  const gasPricePayload = payload ? payload : void 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Details/Box/BlocknativeGasPriceDetailsBox.tsx"],"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"],"mappings":"AAmBM,mBAEI,KAEA,YAJJ;AAnBN,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAuB,eAAe;AAEtC,SAAS,YAAY,0BAA0B,2BAA2B;AAE1E,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAE3B,SAAS,iCAAiC;AAC1C,SAAS,mBAAmB;AAErB,MAAM,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
+ {"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":[]}