@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.
- package/dist/browser/Plugin.js +104 -2
- package/dist/browser/Plugin.js.map +1 -1
- package/dist/browser/components/Card/Card.js +77 -7
- package/dist/browser/components/Card/Card.js.map +1 -1
- package/dist/browser/components/Card/CardContent.js +36 -3
- package/dist/browser/components/Card/CardContent.js.map +1 -1
- package/dist/browser/components/Card/CardHeader.js +39 -4
- package/dist/browser/components/Card/CardHeader.js.map +1 -1
- package/dist/browser/components/Card/index.js +87 -3
- package/dist/browser/components/Card/index.js.map +1 -1
- package/dist/browser/components/Details/Box/BlocknativeGasPriceDetailsBox.js +39 -4
- package/dist/browser/components/Details/Box/BlocknativeGasPriceDetailsBox.js.map +1 -1
- package/dist/browser/components/Details/Box/index.js +69 -1
- package/dist/browser/components/Details/Box/index.js.map +1 -1
- package/dist/browser/components/Details/index.js +69 -1
- package/dist/browser/components/Details/index.js.map +1 -1
- package/dist/browser/components/hooks/index.js +33 -1
- package/dist/browser/components/hooks/index.js.map +1 -1
- package/dist/browser/components/hooks/useBlocknativeTransformer.js +2 -1
- package/dist/browser/components/hooks/useBlocknativeTransformer.js.map +1 -1
- package/dist/browser/components/index.js +119 -2
- package/dist/browser/components/index.js.map +1 -1
- package/dist/browser/components/lib/constants.js +2 -1
- package/dist/browser/components/lib/constants.js.map +1 -1
- package/dist/browser/components/lib/index.js +5 -1
- package/dist/browser/components/lib/index.js.map +1 -1
- package/dist/browser/index.js +145 -3
- package/dist/browser/index.js.map +1 -1
- package/dist/docs.json +6 -6
- package/package.json +11 -11
|
@@ -1,2 +1,70 @@
|
|
|
1
|
-
|
|
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/
|
|
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
|
-
|
|
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/
|
|
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
|
-
|
|
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/
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
2
|
-
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/lib/constants.ts"],"sourcesContent":["export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":"AAAO,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/lib/constants.ts"],"sourcesContent":["export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":";AAAO,IAAM,cAAc;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/lib/
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/lib/constants.ts"],"sourcesContent":["export const RenderTitle = 'Blocknative Gas Tracker'\n"],"mappings":";AAAO,IAAM,cAAc;","names":[]}
|
package/dist/browser/index.js
CHANGED
|
@@ -1,8 +1,150 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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"]}
|