@xyo-network/react-chain-boundwitness 1.5.11 → 1.5.13
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/index.mjs +20 -8
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/components/BwPayloadTable.d.ts.map +1 -1
- package/dist/types/components/transactions/card/Card.d.ts.map +1 -1
- package/package.json +23 -23
- package/src/components/BwPayloadTable.tsx +3 -1
- package/src/components/block/BlockBoundWitnessDetails.stories.tsx +1 -1
- package/src/components/transactions/TransactionDetails.stories.tsx +1 -1
- package/src/components/transactions/card/Card.tsx +10 -4
package/dist/browser/index.mjs
CHANGED
|
@@ -38,6 +38,7 @@ import { BoundWitnessPayloadTableBody, BoundWitnessPayloadTableHead, HeadingPape
|
|
|
38
38
|
import { TableEx } from "@xyo-network/react-table";
|
|
39
39
|
import React from "react";
|
|
40
40
|
import { VscSymbolMethod } from "react-icons/vsc";
|
|
41
|
+
var clickableFields = "hash";
|
|
41
42
|
var BWPayloadTableFlexbox = /* @__PURE__ */ __name(({ IconComponent, eventNoun, hashes, schemas, headingTitle, ...props }) => {
|
|
42
43
|
const resolvedIconComponent = IconComponent ?? /* @__PURE__ */ React.createElement(VscSymbolMethod, null);
|
|
43
44
|
return /* @__PURE__ */ React.createElement(FlexCol, {
|
|
@@ -50,7 +51,10 @@ var BWPayloadTableFlexbox = /* @__PURE__ */ __name(({ IconComponent, eventNoun,
|
|
|
50
51
|
}), /* @__PURE__ */ React.createElement(TableEx, null, /* @__PURE__ */ React.createElement(BoundWitnessPayloadTableHead, null), /* @__PURE__ */ React.createElement(BoundWitnessPayloadTableBody, {
|
|
51
52
|
payloadHashes: hashes,
|
|
52
53
|
payloadSchemas: schemas,
|
|
53
|
-
eventNoun
|
|
54
|
+
eventNoun,
|
|
55
|
+
clickableFields: [
|
|
56
|
+
clickableFields
|
|
57
|
+
]
|
|
54
58
|
})));
|
|
55
59
|
}, "BWPayloadTableFlexbox");
|
|
56
60
|
|
|
@@ -136,14 +140,14 @@ var BlockBoundWitnessDetails = /* @__PURE__ */ __name(({ block, paper, children,
|
|
|
136
140
|
}, "BlockBoundWitnessDetails");
|
|
137
141
|
|
|
138
142
|
// src/components/transactions/card/Card.tsx
|
|
139
|
-
import { Card, CardContent, Grid, Typography } from "@mui/material";
|
|
143
|
+
import { Card, CardContent, Grid, Stack, Tooltip, Typography } from "@mui/material";
|
|
140
144
|
import { isUndefined } from "@xylabs/typeof";
|
|
141
145
|
import { bigIntToFixedPointString } from "@xyo-network/chain-utils";
|
|
146
|
+
import { BlockiesAvatarAddress } from "@xyo-network/react-chain-blockies";
|
|
142
147
|
import { DetailsStack, LabelValueStack } from "@xyo-network/react-chain-shared";
|
|
143
148
|
import React3, { useMemo as useMemo2 } from "react";
|
|
144
149
|
import { GiReceiveMoney, GiSandsOfTime } from "react-icons/gi";
|
|
145
150
|
import { IoStatsChartOutline } from "react-icons/io5";
|
|
146
|
-
import { MdOutlineAlternateEmail } from "react-icons/md";
|
|
147
151
|
var formatFee = /* @__PURE__ */ __name((fee) => {
|
|
148
152
|
if (isUndefined(fee)) return;
|
|
149
153
|
const stringValue = bigIntToFixedPointString(fee, 12);
|
|
@@ -219,11 +223,19 @@ var TransactionBoundWitnessCard = /* @__PURE__ */ __name(({ wrapper, ...props })
|
|
|
219
223
|
size: {
|
|
220
224
|
xs: 12
|
|
221
225
|
}
|
|
222
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
226
|
+
}, /* @__PURE__ */ React3.createElement(Stack, {
|
|
227
|
+
direction: "row",
|
|
228
|
+
alignItems: "center",
|
|
229
|
+
gap: 1,
|
|
230
|
+
sx: {
|
|
231
|
+
maxWidth: "100%"
|
|
232
|
+
}
|
|
233
|
+
}, /* @__PURE__ */ React3.createElement(Tooltip, {
|
|
234
|
+
title: `From Address - ${wrapper?.boundWitness.from}`
|
|
235
|
+
}, /* @__PURE__ */ React3.createElement(BlockiesAvatarAddress, {
|
|
236
|
+
address: wrapper?.boundWitness.from,
|
|
237
|
+
size: 21
|
|
238
|
+
})), /* @__PURE__ */ React3.createElement(Typography, {
|
|
227
239
|
variant: "body2",
|
|
228
240
|
sx: {
|
|
229
241
|
maxWidth: "100%",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/block/BlockBoundWitnessDetails.tsx","../../src/lib/formatPayloadsForTable.ts","../../src/components/BwPayloadTable.tsx","../../src/components/transactions/card/Card.tsx","../../src/components/transactions/TransactionDetails.tsx"],"sourcesContent":["import { Divider } from '@mui/material'\nimport { filterAs } from '@xylabs/array'\nimport { ErrorRender } from '@xylabs/react-error'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n BoundWitnessPayloadsTable,\n BoundWitnessSignatureTable,\n BWActions,\n HashHeadingPaper,\n HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport { useTxsFromBlock } from '@xyo-network/react-chain-blockchain'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { isTransactionBoundWitness, type SignedHydratedBlock } from '@xyo-network/xl1-protocol'\nimport React, { useMemo } from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { GrTransaction } from 'react-icons/gr'\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { formatPayloadsForTable } from '../../lib/index.ts'\nimport type { TransactionBoundWitnessEvents } from '../../types/index.ts'\nimport { BWPayloadTableFlexbox } from '../BwPayloadTable.tsx'\n\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n block?: SignedHydratedBlock\n}\n\nexport const BlockBoundWitnessDetails = ({\n block, paper, children, ...props\n}: BoundWitnessDetailsProps) => {\n const boundWitness = block?.[0]\n const payloads = block?.[1]\n\n const hash = usePayloadHash(boundWitness)\n\n const [transactions, txFromBlockError] = useTxsFromBlock(block)\n\n const { hashes: txHashes, schemas: txSchemas } = useMemo(() => formatPayloadsForTable(transactions ?? []), [transactions])\n\n const [nonTxBoundWitnesses, bwsFromBlockError] = usePromise(async () => {\n const bws = filterAs(payloads ?? [], payload =>\n (!isTransactionBoundWitness(payload) && isBoundWitness(payload)) ? payload : undefined)\n return await PayloadBuilder.hashPairs(bws)\n }, [payloads])\n\n const { hashes: nonTxBwHashes, schemas: nonTxBwSchemas } = useMemo(() => formatPayloadsForTable(nonTxBoundWitnesses ?? []), [nonTxBoundWitnesses])\n const hasNonTxBoundWitnesses = (nonTxBoundWitnesses?.length ?? 0) > 0\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={4} {...props}>\n <ErrorRender error={txFromBlockError ?? bwsFromBlockError} scope=\"BlockBoundWitnessDetails.tsx\" />\n <HashHeadingPaper\n hash={hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BWActions boundwitness={boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <Divider flexItem />\n {(transactions?.length ?? 0) > 0 && (\n <BWPayloadTableFlexbox<TransactionBoundWitnessEvents>\n IconComponent={<GrTransaction />}\n eventNoun=\"transaction\"\n hashes={txHashes}\n headingTitle=\"Transactions\"\n schemas={txSchemas}\n sx={{ mb: 1 }}\n />\n )}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n <BoundWitnessPayloadsTable boundwitness={boundWitness} />\n </FlexCol>\n {hasNonTxBoundWitnesses\n ? (\n <BWPayloadTableFlexbox<TransactionBoundWitnessEvents>\n IconComponent={<VscSymbolMethod />}\n eventNoun=\"boundwitness\"\n hashes={nonTxBwHashes}\n headingTitle=\"Bound Witnesses\"\n schemas={nonTxBwSchemas}\n sx={{ mb: 1 }}\n />\n )\n : null}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n <BoundWitnessSignatureTable block={boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { Payload } from '@xyo-network/payload-model'\n\nexport const formatPayloadsForTable = (pairs: [Payload, Hash][]) => {\n let hashes: Hash[] = []\n let schemas: string[] = []\n for (const [bw, hash] of pairs ?? []) {\n hashes.push(hash)\n schemas.push(bw?.schema ?? '')\n }\n return { hashes, schemas }\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport {\n BoundWitnessPayloadTableBody, BoundWitnessPayloadTableHead, HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport type { EventNoun, ExtendEventNoun } from '@xyo-network/react-event'\nimport { TableEx } from '@xyo-network/react-table'\nimport React from 'react'\nimport { VscSymbolMethod } from 'react-icons/vsc'\n\nexport interface BWPayloadTableFlexboxProps<TNoun extends ExtendEventNoun = EventNoun> extends FlexBoxProps {\n IconComponent?: React.ReactNode\n eventNoun?: TNoun\n hashes?: Hash[]\n headingTitle?: string\n schemas?: string[]\n}\n\nexport const BWPayloadTableFlexbox = <TNoun extends ExtendEventNoun = EventNoun>({\n IconComponent,\n eventNoun,\n hashes,\n schemas,\n headingTitle,\n ...props\n}: BWPayloadTableFlexboxProps<TNoun>) => {\n const resolvedIconComponent = IconComponent ?? <VscSymbolMethod />\n return (\n <FlexCol alignItems=\"stretch\" rowGap={1} {...props}>\n <HeadingPaper IconComponent={resolvedIconComponent} heading={headingTitle} />\n <TableEx>\n <BoundWitnessPayloadTableHead />\n <BoundWitnessPayloadTableBody<TNoun> payloadHashes={hashes} payloadSchemas={schemas} eventNoun={eventNoun} />\n </TableEx>\n </FlexCol>\n )\n}\n","import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, Grid, Typography,\n} from '@mui/material'\nimport { isUndefined } from '@xylabs/typeof'\nimport { bigIntToFixedPointString } from '@xyo-network/chain-utils'\nimport { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'\nimport type { SignedHydratedTransactionInstance } from '@xyo-network/xl1-protocol-sdk'\nimport React, { useMemo } from 'react'\nimport { GiReceiveMoney, GiSandsOfTime } from 'react-icons/gi'\nimport { IoStatsChartOutline } from 'react-icons/io5'\nimport { MdOutlineAlternateEmail } from 'react-icons/md'\n\nconst formatFee = (fee?: bigint) => {\n if (isUndefined(fee)) return\n const stringValue = bigIntToFixedPointString(fee, 12)\n if (stringValue === '0') return '0.0'\n return stringValue\n}\n\nexport interface TransactionBoundWitnessCardProps extends CardProps {\n wrapper?: SignedHydratedTransactionInstance\n}\n\nexport const TransactionBoundWitnessCard: React.FC<TransactionBoundWitnessCardProps> = ({ wrapper, ...props }) => {\n if (!wrapper) return null\n\n const stats = useMemo(() => {\n const labels = [\n 'Reward',\n 'Elevated Payloads',\n 'Total Payloads',\n 'Signatures',\n ]\n\n const values: (string | undefined)[] = [\n wrapper.reward().toLocaleString(navigator.language ?? 'en-US'),\n wrapper.elevatedPayloadCount.toLocaleString(navigator.language ?? 'en-US'),\n wrapper.payloadCount.toLocaleString(navigator.language ?? 'en-US'),\n wrapper.signatureCount.toLocaleString(navigator.language ?? 'en-US'),,\n ]\n\n return { labels, values } as const\n }, [wrapper])\n\n const fees = useMemo(() => {\n const labels = [\n 'Base',\n 'Gas',\n 'Priority',\n 'Gas Limit',\n ]\n const values = [\n formatFee(wrapper.fees.base),\n formatFee(wrapper.fees.gasPrice),\n formatFee(wrapper.fees.priority),\n formatFee(wrapper.fees.gasLimit),\n ]\n\n return { labels, values } as const\n }, [wrapper])\n\n const blockDuration = useMemo(() => {\n const labels = [\n 'Expiration',\n 'Not Before',\n ]\n\n const values = [\n wrapper.boundWitness.exp.toLocaleString(navigator.language ?? 'en-US'),\n wrapper.boundWitness.nbf.toLocaleString(navigator.language ?? 'en-US'),\n ]\n\n return { labels, values } as const\n }, [wrapper])\n\n return (\n <Card {...props}>\n <CardContent>\n <Grid container spacing={6} sx={{ width: '100%' }}>\n <Grid size={{ xs: 12 }}>\n <DetailsStack IconComponent={MdOutlineAlternateEmail} heading=\"From:\" tooltipTitle=\"Address of the sender\">\n <Typography\n variant=\"body2\"\n sx={{\n maxWidth: '100%', textOverflow: 'ellipsis', overflow: 'hidden', fontFamily: 'monospace',\n }}\n >\n {wrapper?.boundWitness.from}\n </Typography>\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={IoStatsChartOutline} heading=\"Stats\" tooltipTitle=\"Transaction Statistics\">\n <LabelValueStack labels={stats.labels} values={stats.values} />\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={GiReceiveMoney} heading=\"Fees\" tooltipTitle=\"Fees offered to the producer\">\n <LabelValueStack labels={fees.labels} values={fees.values} />\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={GiSandsOfTime} heading=\"Block Duration\" tooltipTitle=\"Block window for the transaction to be valid\">\n <LabelValueStack labels={blockDuration.labels} values={blockDuration.values} />\n </DetailsStack>\n </Grid>\n </Grid>\n </CardContent>\n </Card>\n )\n}\n","import { ErrorRender } from '@xylabs/react-error'\nimport { type FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isDefined } from '@xylabs/typeof'\nimport { SignedHydratedTransactionWrapper } from '@xyo-network/chain-wrappers'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n BoundWitnessSignatureTable, BWActions, HashHeadingPaper, HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport type { SignedHydratedTransaction } from '@xyo-network/xl1-protocol'\nimport React from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolMethod } from 'react-icons/vsc'\n\nimport { formatPayloadsForTable } from '../../lib/index.ts'\nimport { BWPayloadTableFlexbox } from '../BwPayloadTable.tsx'\nimport { TransactionBoundWitnessCard } from './card/index.ts'\n\nexport interface TransactionBoundWitnessDetailsProps extends FlexBoxProps {\n transaction?: SignedHydratedTransaction | null\n}\n\nexport const TransactionBoundWitnessDetails: React.FC<TransactionBoundWitnessDetailsProps> = ({ transaction, ...props }) => {\n const [wrapper, wrapperError] = usePromise(async () => {\n if (transaction) {\n return await SignedHydratedTransactionWrapper.parse(transaction)\n }\n }, [transaction])\n\n const [elevatedPayloadSets, elevatedPayloadSetsError] = usePromise(async () => {\n if (isDefined(wrapper)) {\n const elevatedPayloads = wrapper.elevatedPayloads\n const pairs = await PayloadBuilder.hashPairs(elevatedPayloads)\n return formatPayloadsForTable(pairs)\n } else {\n return { hashes: [], schemas: [] }\n }\n }, [wrapper])\n\n const { hashes: elevatedPayloadHashes, schemas: elevatedPayloadSchemas } = elevatedPayloadSets ?? {}\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={2} {...props}>\n <HashHeadingPaper\n hash={wrapper?.boundWitness?._hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BWActions boundwitness={wrapper?.boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <ErrorRender error={wrapperError} scope=\"wrapperError:TransactionBoundWitnessDetails.tsx\" />\n <ErrorRender error={elevatedPayloadSetsError} scope=\"elevatedPayloadSetsError:TransactionBoundWitnessDetails.tsx\" />\n <TransactionBoundWitnessCard elevation={4} wrapper={wrapper} />\n <BWPayloadTableFlexbox\n IconComponent={<VscSymbolMethod />}\n hashes={elevatedPayloadHashes}\n headingTitle=\"Elevated Payloads\"\n schemas={elevatedPayloadSchemas}\n sx={{ mb: 1 }}\n />\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n <BoundWitnessSignatureTable block={wrapper?.boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["Divider","filterAs","ErrorRender","FlexCol","usePromise","isBoundWitness","PayloadBuilder","BoundWitnessPayloadsTable","BoundWitnessSignatureTable","BWActions","HashHeadingPaper","HeadingPaper","useTxsFromBlock","usePayloadHash","isTransactionBoundWitness","React","useMemo","FaSignature","GrTransaction","VscSymbolMethod","VscSymbolNamespace","formatPayloadsForTable","pairs","hashes","schemas","bw","hash","push","schema","FlexCol","BoundWitnessPayloadTableBody","BoundWitnessPayloadTableHead","HeadingPaper","TableEx","React","VscSymbolMethod","BWPayloadTableFlexbox","IconComponent","eventNoun","hashes","schemas","headingTitle","props","resolvedIconComponent","VscSymbolMethod","FlexCol","alignItems","rowGap","HeadingPaper","heading","TableEx","BoundWitnessPayloadTableHead","BoundWitnessPayloadTableBody","payloadHashes","payloadSchemas","BlockBoundWitnessDetails","block","paper","children","props","boundWitness","payloads","hash","usePayloadHash","transactions","txFromBlockError","useTxsFromBlock","hashes","txHashes","schemas","txSchemas","useMemo","formatPayloadsForTable","nonTxBoundWitnesses","bwsFromBlockError","usePromise","bws","filterAs","payload","isTransactionBoundWitness","isBoundWitness","undefined","PayloadBuilder","hashPairs","nonTxBwHashes","nonTxBwSchemas","hasNonTxBoundWitnesses","length","React","FlexCol","alignItems","rowGap","ErrorRender","error","scope","HashHeadingPaper","paperProps","sx","p","AdornmentEnd","BWActions","boundwitness","identiconProps","size","Divider","flexItem","BWPayloadTableFlexbox","IconComponent","GrTransaction","eventNoun","headingTitle","mb","HeadingPaper","VscSymbolNamespace","heading","BoundWitnessPayloadsTable","VscSymbolMethod","FaSignature","BoundWitnessSignatureTable","Card","CardContent","Grid","Typography","isUndefined","bigIntToFixedPointString","DetailsStack","LabelValueStack","React","useMemo","GiReceiveMoney","GiSandsOfTime","IoStatsChartOutline","MdOutlineAlternateEmail","formatFee","fee","isUndefined","stringValue","bigIntToFixedPointString","TransactionBoundWitnessCard","wrapper","props","stats","useMemo","labels","values","reward","toLocaleString","navigator","language","elevatedPayloadCount","payloadCount","signatureCount","fees","base","gasPrice","priority","gasLimit","blockDuration","boundWitness","exp","nbf","React","Card","CardContent","Grid","container","spacing","sx","width","size","xs","DetailsStack","IconComponent","MdOutlineAlternateEmail","heading","tooltipTitle","Typography","variant","maxWidth","textOverflow","overflow","fontFamily","from","sm","md","IoStatsChartOutline","LabelValueStack","GiReceiveMoney","GiSandsOfTime","ErrorRender","FlexCol","usePromise","isDefined","SignedHydratedTransactionWrapper","PayloadBuilder","BoundWitnessSignatureTable","BWActions","HashHeadingPaper","HeadingPaper","React","FaSignature","VscSymbolMethod","TransactionBoundWitnessDetails","transaction","props","wrapper","wrapperError","usePromise","SignedHydratedTransactionWrapper","parse","elevatedPayloadSets","elevatedPayloadSetsError","isDefined","elevatedPayloads","pairs","PayloadBuilder","hashPairs","formatPayloadsForTable","hashes","schemas","elevatedPayloadHashes","elevatedPayloadSchemas","React","FlexCol","alignItems","rowGap","HashHeadingPaper","hash","boundWitness","_hash","paperProps","sx","p","AdornmentEnd","BWActions","boundwitness","identiconProps","size","ErrorRender","error","scope","TransactionBoundWitnessCard","elevation","BWPayloadTableFlexbox","IconComponent","VscSymbolMethod","headingTitle","mb","HeadingPaper","FaSignature","heading","BoundWitnessSignatureTable","block"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/block/BlockBoundWitnessDetails.tsx","../../src/lib/formatPayloadsForTable.ts","../../src/components/BwPayloadTable.tsx","../../src/components/transactions/card/Card.tsx","../../src/components/transactions/TransactionDetails.tsx"],"sourcesContent":["import { Divider } from '@mui/material'\nimport { filterAs } from '@xylabs/array'\nimport { ErrorRender } from '@xylabs/react-error'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n BoundWitnessPayloadsTable,\n BoundWitnessSignatureTable,\n BWActions,\n HashHeadingPaper,\n HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport { useTxsFromBlock } from '@xyo-network/react-chain-blockchain'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { isTransactionBoundWitness, type SignedHydratedBlock } from '@xyo-network/xl1-protocol'\nimport React, { useMemo } from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { GrTransaction } from 'react-icons/gr'\nimport { VscSymbolMethod, VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { formatPayloadsForTable } from '../../lib/index.ts'\nimport type { TransactionBoundWitnessEvents } from '../../types/index.ts'\nimport { BWPayloadTableFlexbox } from '../BwPayloadTable.tsx'\n\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n block?: SignedHydratedBlock\n}\n\nexport const BlockBoundWitnessDetails = ({\n block, paper, children, ...props\n}: BoundWitnessDetailsProps) => {\n const boundWitness = block?.[0]\n const payloads = block?.[1]\n\n const hash = usePayloadHash(boundWitness)\n\n const [transactions, txFromBlockError] = useTxsFromBlock(block)\n\n const { hashes: txHashes, schemas: txSchemas } = useMemo(() => formatPayloadsForTable(transactions ?? []), [transactions])\n\n const [nonTxBoundWitnesses, bwsFromBlockError] = usePromise(async () => {\n const bws = filterAs(payloads ?? [], payload =>\n (!isTransactionBoundWitness(payload) && isBoundWitness(payload)) ? payload : undefined)\n return await PayloadBuilder.hashPairs(bws)\n }, [payloads])\n\n const { hashes: nonTxBwHashes, schemas: nonTxBwSchemas } = useMemo(() => formatPayloadsForTable(nonTxBoundWitnesses ?? []), [nonTxBoundWitnesses])\n const hasNonTxBoundWitnesses = (nonTxBoundWitnesses?.length ?? 0) > 0\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={4} {...props}>\n <ErrorRender error={txFromBlockError ?? bwsFromBlockError} scope=\"BlockBoundWitnessDetails.tsx\" />\n <HashHeadingPaper\n hash={hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BWActions boundwitness={boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <Divider flexItem />\n {(transactions?.length ?? 0) > 0 && (\n <BWPayloadTableFlexbox<TransactionBoundWitnessEvents>\n IconComponent={<GrTransaction />}\n eventNoun=\"transaction\"\n hashes={txHashes}\n headingTitle=\"Transactions\"\n schemas={txSchemas}\n sx={{ mb: 1 }}\n />\n )}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n <BoundWitnessPayloadsTable boundwitness={boundWitness} />\n </FlexCol>\n {hasNonTxBoundWitnesses\n ? (\n <BWPayloadTableFlexbox<TransactionBoundWitnessEvents>\n IconComponent={<VscSymbolMethod />}\n eventNoun=\"boundwitness\"\n hashes={nonTxBwHashes}\n headingTitle=\"Bound Witnesses\"\n schemas={nonTxBwSchemas}\n sx={{ mb: 1 }}\n />\n )\n : null}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n <BoundWitnessSignatureTable block={boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { Payload } from '@xyo-network/payload-model'\n\nexport const formatPayloadsForTable = (pairs: [Payload, Hash][]) => {\n let hashes: Hash[] = []\n let schemas: string[] = []\n for (const [bw, hash] of pairs ?? []) {\n hashes.push(hash)\n schemas.push(bw?.schema ?? '')\n }\n return { hashes, schemas }\n}\n","import type { Hash } from '@xylabs/hex'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport {\n BoundWitnessPayloadTableBody, BoundWitnessPayloadTableHead, HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport type { EventNoun, ExtendEventNoun } from '@xyo-network/react-event'\nimport { TableEx } from '@xyo-network/react-table'\nimport React from 'react'\nimport { VscSymbolMethod } from 'react-icons/vsc'\n\nconst clickableFields = 'hash'\n\nexport interface BWPayloadTableFlexboxProps<TNoun extends ExtendEventNoun = EventNoun> extends FlexBoxProps {\n IconComponent?: React.ReactNode\n eventNoun?: TNoun\n hashes?: Hash[]\n headingTitle?: string\n schemas?: string[]\n}\n\nexport const BWPayloadTableFlexbox = <TNoun extends ExtendEventNoun = EventNoun>({\n IconComponent,\n eventNoun,\n hashes,\n schemas,\n headingTitle,\n ...props\n}: BWPayloadTableFlexboxProps<TNoun>) => {\n const resolvedIconComponent = IconComponent ?? <VscSymbolMethod />\n return (\n <FlexCol alignItems=\"stretch\" rowGap={1} {...props}>\n <HeadingPaper IconComponent={resolvedIconComponent} heading={headingTitle} />\n <TableEx>\n <BoundWitnessPayloadTableHead />\n <BoundWitnessPayloadTableBody<TNoun> payloadHashes={hashes} payloadSchemas={schemas} eventNoun={eventNoun} clickableFields={[clickableFields]} />\n </TableEx>\n </FlexCol>\n )\n}\n","import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, Grid, Stack, Tooltip, Typography,\n} from '@mui/material'\nimport { isUndefined } from '@xylabs/typeof'\nimport { bigIntToFixedPointString } from '@xyo-network/chain-utils'\nimport { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'\nimport { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'\nimport type { SignedHydratedTransactionInstance } from '@xyo-network/xl1-protocol-sdk'\nimport React, { useMemo } from 'react'\nimport { GiReceiveMoney, GiSandsOfTime } from 'react-icons/gi'\nimport { IoStatsChartOutline } from 'react-icons/io5'\n\nconst formatFee = (fee?: bigint) => {\n if (isUndefined(fee)) return\n const stringValue = bigIntToFixedPointString(fee, 12)\n if (stringValue === '0') return '0.0'\n return stringValue\n}\n\nexport interface TransactionBoundWitnessCardProps extends CardProps {\n wrapper?: SignedHydratedTransactionInstance\n}\n\nexport const TransactionBoundWitnessCard: React.FC<TransactionBoundWitnessCardProps> = ({ wrapper, ...props }) => {\n if (!wrapper) return null\n\n const stats = useMemo(() => {\n const labels = [\n 'Reward',\n 'Elevated Payloads',\n 'Total Payloads',\n 'Signatures',\n ]\n\n const values: (string | undefined)[] = [\n wrapper.reward().toLocaleString(navigator.language ?? 'en-US'),\n wrapper.elevatedPayloadCount.toLocaleString(navigator.language ?? 'en-US'),\n wrapper.payloadCount.toLocaleString(navigator.language ?? 'en-US'),\n wrapper.signatureCount.toLocaleString(navigator.language ?? 'en-US'),,\n ]\n\n return { labels, values } as const\n }, [wrapper])\n\n const fees = useMemo(() => {\n const labels = [\n 'Base',\n 'Gas',\n 'Priority',\n 'Gas Limit',\n ]\n const values = [\n formatFee(wrapper.fees.base),\n formatFee(wrapper.fees.gasPrice),\n formatFee(wrapper.fees.priority),\n formatFee(wrapper.fees.gasLimit),\n ]\n\n return { labels, values } as const\n }, [wrapper])\n\n const blockDuration = useMemo(() => {\n const labels = [\n 'Expiration',\n 'Not Before',\n ]\n\n const values = [\n wrapper.boundWitness.exp.toLocaleString(navigator.language ?? 'en-US'),\n wrapper.boundWitness.nbf.toLocaleString(navigator.language ?? 'en-US'),\n ]\n\n return { labels, values } as const\n }, [wrapper])\n\n return (\n <Card {...props}>\n <CardContent>\n <Grid container spacing={6} sx={{ width: '100%' }}>\n <Grid size={{ xs: 12 }}>\n <Stack direction=\"row\" alignItems=\"center\" gap={1} sx={{ maxWidth: '100%' }}>\n <Tooltip title={`From Address - ${wrapper?.boundWitness.from}`}>\n <BlockiesAvatarAddress\n address={wrapper?.boundWitness.from}\n size={21}\n />\n </Tooltip>\n <Typography\n variant=\"body2\"\n sx={{\n maxWidth: '100%', textOverflow: 'ellipsis', overflow: 'hidden', fontFamily: 'monospace',\n }}\n >\n {wrapper?.boundWitness.from}\n </Typography>\n </Stack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={IoStatsChartOutline} heading=\"Stats\" tooltipTitle=\"Transaction Statistics\">\n <LabelValueStack labels={stats.labels} values={stats.values} />\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={GiReceiveMoney} heading=\"Fees\" tooltipTitle=\"Fees offered to the producer\">\n <LabelValueStack labels={fees.labels} values={fees.values} />\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={GiSandsOfTime} heading=\"Block Duration\" tooltipTitle=\"Block window for the transaction to be valid\">\n <LabelValueStack labels={blockDuration.labels} values={blockDuration.values} />\n </DetailsStack>\n </Grid>\n </Grid>\n </CardContent>\n </Card>\n )\n}\n","import { ErrorRender } from '@xylabs/react-error'\nimport { type FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport { isDefined } from '@xylabs/typeof'\nimport { SignedHydratedTransactionWrapper } from '@xyo-network/chain-wrappers'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n BoundWitnessSignatureTable, BWActions, HashHeadingPaper, HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport type { SignedHydratedTransaction } from '@xyo-network/xl1-protocol'\nimport React from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolMethod } from 'react-icons/vsc'\n\nimport { formatPayloadsForTable } from '../../lib/index.ts'\nimport { BWPayloadTableFlexbox } from '../BwPayloadTable.tsx'\nimport { TransactionBoundWitnessCard } from './card/index.ts'\n\nexport interface TransactionBoundWitnessDetailsProps extends FlexBoxProps {\n transaction?: SignedHydratedTransaction | null\n}\n\nexport const TransactionBoundWitnessDetails: React.FC<TransactionBoundWitnessDetailsProps> = ({ transaction, ...props }) => {\n const [wrapper, wrapperError] = usePromise(async () => {\n if (transaction) {\n return await SignedHydratedTransactionWrapper.parse(transaction)\n }\n }, [transaction])\n\n const [elevatedPayloadSets, elevatedPayloadSetsError] = usePromise(async () => {\n if (isDefined(wrapper)) {\n const elevatedPayloads = wrapper.elevatedPayloads\n const pairs = await PayloadBuilder.hashPairs(elevatedPayloads)\n return formatPayloadsForTable(pairs)\n } else {\n return { hashes: [], schemas: [] }\n }\n }, [wrapper])\n\n const { hashes: elevatedPayloadHashes, schemas: elevatedPayloadSchemas } = elevatedPayloadSets ?? {}\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={2} {...props}>\n <HashHeadingPaper\n hash={wrapper?.boundWitness?._hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BWActions boundwitness={wrapper?.boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <ErrorRender error={wrapperError} scope=\"wrapperError:TransactionBoundWitnessDetails.tsx\" />\n <ErrorRender error={elevatedPayloadSetsError} scope=\"elevatedPayloadSetsError:TransactionBoundWitnessDetails.tsx\" />\n <TransactionBoundWitnessCard elevation={4} wrapper={wrapper} />\n <BWPayloadTableFlexbox\n IconComponent={<VscSymbolMethod />}\n hashes={elevatedPayloadHashes}\n headingTitle=\"Elevated Payloads\"\n schemas={elevatedPayloadSchemas}\n sx={{ mb: 1 }}\n />\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<FaSignature />} heading=\"Signatures\" />\n <BoundWitnessSignatureTable block={wrapper?.boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["Divider","filterAs","ErrorRender","FlexCol","usePromise","isBoundWitness","PayloadBuilder","BoundWitnessPayloadsTable","BoundWitnessSignatureTable","BWActions","HashHeadingPaper","HeadingPaper","useTxsFromBlock","usePayloadHash","isTransactionBoundWitness","React","useMemo","FaSignature","GrTransaction","VscSymbolMethod","VscSymbolNamespace","formatPayloadsForTable","pairs","hashes","schemas","bw","hash","push","schema","FlexCol","BoundWitnessPayloadTableBody","BoundWitnessPayloadTableHead","HeadingPaper","TableEx","React","VscSymbolMethod","clickableFields","BWPayloadTableFlexbox","IconComponent","eventNoun","hashes","schemas","headingTitle","props","resolvedIconComponent","VscSymbolMethod","FlexCol","alignItems","rowGap","HeadingPaper","heading","TableEx","BoundWitnessPayloadTableHead","BoundWitnessPayloadTableBody","payloadHashes","payloadSchemas","BlockBoundWitnessDetails","block","paper","children","props","boundWitness","payloads","hash","usePayloadHash","transactions","txFromBlockError","useTxsFromBlock","hashes","txHashes","schemas","txSchemas","useMemo","formatPayloadsForTable","nonTxBoundWitnesses","bwsFromBlockError","usePromise","bws","filterAs","payload","isTransactionBoundWitness","isBoundWitness","undefined","PayloadBuilder","hashPairs","nonTxBwHashes","nonTxBwSchemas","hasNonTxBoundWitnesses","length","React","FlexCol","alignItems","rowGap","ErrorRender","error","scope","HashHeadingPaper","paperProps","sx","p","AdornmentEnd","BWActions","boundwitness","identiconProps","size","Divider","flexItem","BWPayloadTableFlexbox","IconComponent","GrTransaction","eventNoun","headingTitle","mb","HeadingPaper","VscSymbolNamespace","heading","BoundWitnessPayloadsTable","VscSymbolMethod","FaSignature","BoundWitnessSignatureTable","Card","CardContent","Grid","Stack","Tooltip","Typography","isUndefined","bigIntToFixedPointString","BlockiesAvatarAddress","DetailsStack","LabelValueStack","React","useMemo","GiReceiveMoney","GiSandsOfTime","IoStatsChartOutline","formatFee","fee","isUndefined","stringValue","bigIntToFixedPointString","TransactionBoundWitnessCard","wrapper","props","stats","useMemo","labels","values","reward","toLocaleString","navigator","language","elevatedPayloadCount","payloadCount","signatureCount","fees","base","gasPrice","priority","gasLimit","blockDuration","boundWitness","exp","nbf","React","Card","CardContent","Grid","container","spacing","sx","width","size","xs","Stack","direction","alignItems","gap","maxWidth","Tooltip","title","from","BlockiesAvatarAddress","address","Typography","variant","textOverflow","overflow","fontFamily","sm","md","DetailsStack","IconComponent","IoStatsChartOutline","heading","tooltipTitle","LabelValueStack","GiReceiveMoney","GiSandsOfTime","ErrorRender","FlexCol","usePromise","isDefined","SignedHydratedTransactionWrapper","PayloadBuilder","BoundWitnessSignatureTable","BWActions","HashHeadingPaper","HeadingPaper","React","FaSignature","VscSymbolMethod","TransactionBoundWitnessDetails","transaction","props","wrapper","wrapperError","usePromise","SignedHydratedTransactionWrapper","parse","elevatedPayloadSets","elevatedPayloadSetsError","isDefined","elevatedPayloads","pairs","PayloadBuilder","hashPairs","formatPayloadsForTable","hashes","schemas","elevatedPayloadHashes","elevatedPayloadSchemas","React","FlexCol","alignItems","rowGap","HashHeadingPaper","hash","boundWitness","_hash","paperProps","sx","p","AdornmentEnd","BWActions","boundwitness","identiconProps","size","ErrorRender","error","scope","TransactionBoundWitnessCard","elevation","BWPayloadTableFlexbox","IconComponent","VscSymbolMethod","headingTitle","mb","HeadingPaper","FaSignature","heading","BoundWitnessSignatureTable","block"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BwPayloadTable.d.ts","sourceRoot":"","sources":["../../../src/components/BwPayloadTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKzD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"BwPayloadTable.d.ts","sourceRoot":"","sources":["../../../src/components/BwPayloadTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAKzD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,eAAe,GAAG,SAAS,CAAE,SAAQ,YAAY;IACzG,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAO,MAAM,qBAAqB,GAAI,KAAK,SAAS,eAAe,GAAG,SAAS,EAAE,uEAO9E,0BAA0B,CAAC,KAAK,CAAC,4CAWnC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/transactions/card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/transactions/card/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAQ9C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAA;AACtF,OAAO,KAAkB,MAAM,OAAO,CAAA;AAWtC,MAAM,WAAW,gCAAiC,SAAQ,SAAS;IACjE,OAAO,CAAC,EAAE,iCAAiC,CAAA;CAC5C;AAED,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,gCAAgC,CAsGlF,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/react-chain-boundwitness",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.13",
|
|
5
5
|
"description": "XYO Layer One React SDK BoundWitness",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -34,25 +34,26 @@
|
|
|
34
34
|
"module": "dist/browser/index.mjs",
|
|
35
35
|
"types": "dist/types/index.d.ts",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@xylabs/array": "^4.11.
|
|
38
|
-
"@xylabs/hex": "^4.11.
|
|
37
|
+
"@xylabs/array": "^4.11.11",
|
|
38
|
+
"@xylabs/hex": "^4.11.11",
|
|
39
39
|
"@xylabs/react-error": "^6.3.4",
|
|
40
40
|
"@xylabs/react-flexbox": "^6.3.4",
|
|
41
41
|
"@xylabs/react-promise": "^6.3.4",
|
|
42
|
-
"@xylabs/typeof": "^4.11.
|
|
43
|
-
"@xyo-network/boundwitness-model": "^3.18.
|
|
44
|
-
"@xyo-network/chain-utils": "^1.5.
|
|
45
|
-
"@xyo-network/chain-wrappers": "^1.5.
|
|
46
|
-
"@xyo-network/payload-builder": "^3.18.
|
|
47
|
-
"@xyo-network/payload-model": "^3.18.
|
|
48
|
-
"@xyo-network/react-boundwitness-plugin": "^5.3.
|
|
49
|
-
"@xyo-network/react-chain-blockchain": "^1.5.
|
|
50
|
-
"@xyo-network/react-chain-
|
|
51
|
-
"@xyo-network/react-
|
|
52
|
-
"@xyo-network/react-
|
|
53
|
-
"@xyo-network/react-
|
|
42
|
+
"@xylabs/typeof": "^4.11.11",
|
|
43
|
+
"@xyo-network/boundwitness-model": "^3.18.2",
|
|
44
|
+
"@xyo-network/chain-utils": "^1.5.13",
|
|
45
|
+
"@xyo-network/chain-wrappers": "^1.5.13",
|
|
46
|
+
"@xyo-network/payload-builder": "^3.18.2",
|
|
47
|
+
"@xyo-network/payload-model": "^3.18.2",
|
|
48
|
+
"@xyo-network/react-boundwitness-plugin": "^5.3.7",
|
|
49
|
+
"@xyo-network/react-chain-blockchain": "^1.5.13",
|
|
50
|
+
"@xyo-network/react-chain-blockies": "^1.5.13",
|
|
51
|
+
"@xyo-network/react-chain-shared": "^1.5.13",
|
|
52
|
+
"@xyo-network/react-event": "^5.3.7",
|
|
53
|
+
"@xyo-network/react-shared": "^5.3.7",
|
|
54
|
+
"@xyo-network/react-table": "^5.3.7",
|
|
54
55
|
"@xyo-network/xl1-protocol": "^1.4.16",
|
|
55
|
-
"@xyo-network/xl1-protocol-sdk": "^1.5.
|
|
56
|
+
"@xyo-network/xl1-protocol-sdk": "^1.5.13",
|
|
56
57
|
"react-icons": "^5.5.0"
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
@@ -60,15 +61,14 @@
|
|
|
60
61
|
"@emotion/styled": "^11.14.0",
|
|
61
62
|
"@mui/icons-material": "^7.1.1",
|
|
62
63
|
"@mui/material": "^7.1.1",
|
|
63
|
-
"@
|
|
64
|
-
"@xylabs/
|
|
65
|
-
"@
|
|
66
|
-
"@xyo-network/chain-
|
|
67
|
-
"
|
|
68
|
-
"knip": "^5.59.1",
|
|
64
|
+
"@xylabs/ts-scripts-yarn3": "^6.5.8",
|
|
65
|
+
"@xylabs/tsconfig-react": "^6.5.8",
|
|
66
|
+
"@xyo-network/chain-protocol": "^1.5.13",
|
|
67
|
+
"@xyo-network/react-chain-shared": "^1.5.13",
|
|
68
|
+
"knip": "^5.60.0",
|
|
69
69
|
"react": "^19.1.0",
|
|
70
70
|
"react-dom": "^19.1.0",
|
|
71
|
-
"react-router-dom": "^7.6.
|
|
71
|
+
"react-router-dom": "^7.6.2",
|
|
72
72
|
"typescript": "^5.8.3"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
@@ -9,6 +9,8 @@ import { TableEx } from '@xyo-network/react-table'
|
|
|
9
9
|
import React from 'react'
|
|
10
10
|
import { VscSymbolMethod } from 'react-icons/vsc'
|
|
11
11
|
|
|
12
|
+
const clickableFields = 'hash'
|
|
13
|
+
|
|
12
14
|
export interface BWPayloadTableFlexboxProps<TNoun extends ExtendEventNoun = EventNoun> extends FlexBoxProps {
|
|
13
15
|
IconComponent?: React.ReactNode
|
|
14
16
|
eventNoun?: TNoun
|
|
@@ -31,7 +33,7 @@ export const BWPayloadTableFlexbox = <TNoun extends ExtendEventNoun = EventNoun>
|
|
|
31
33
|
<HeadingPaper IconComponent={resolvedIconComponent} heading={headingTitle} />
|
|
32
34
|
<TableEx>
|
|
33
35
|
<BoundWitnessPayloadTableHead />
|
|
34
|
-
<BoundWitnessPayloadTableBody<TNoun> payloadHashes={hashes} payloadSchemas={schemas} eventNoun={eventNoun} />
|
|
36
|
+
<BoundWitnessPayloadTableBody<TNoun> payloadHashes={hashes} payloadSchemas={schemas} eventNoun={eventNoun} clickableFields={[clickableFields]} />
|
|
35
37
|
</TableEx>
|
|
36
38
|
</FlexCol>
|
|
37
39
|
)
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
Alert, AlertTitle,
|
|
3
3
|
Snackbar,
|
|
4
4
|
} from '@mui/material'
|
|
5
|
-
import type { Meta, StoryFn } from '@storybook/react'
|
|
5
|
+
import type { Meta, StoryFn } from '@storybook/react-vite'
|
|
6
6
|
import { type BlockHeaderEventNouns, useBlockHeadingEvents } from '@xyo-network/react-chain-blockchain'
|
|
7
7
|
import { buildRandomBlockChain } from '@xyo-network/react-chain-shared'
|
|
8
8
|
import type { Event } from '@xyo-network/react-event'
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { CardProps } from '@mui/material'
|
|
2
2
|
import {
|
|
3
|
-
Card, CardContent, Grid, Typography,
|
|
3
|
+
Card, CardContent, Grid, Stack, Tooltip, Typography,
|
|
4
4
|
} from '@mui/material'
|
|
5
5
|
import { isUndefined } from '@xylabs/typeof'
|
|
6
6
|
import { bigIntToFixedPointString } from '@xyo-network/chain-utils'
|
|
7
|
+
import { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'
|
|
7
8
|
import { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'
|
|
8
9
|
import type { SignedHydratedTransactionInstance } from '@xyo-network/xl1-protocol-sdk'
|
|
9
10
|
import React, { useMemo } from 'react'
|
|
10
11
|
import { GiReceiveMoney, GiSandsOfTime } from 'react-icons/gi'
|
|
11
12
|
import { IoStatsChartOutline } from 'react-icons/io5'
|
|
12
|
-
import { MdOutlineAlternateEmail } from 'react-icons/md'
|
|
13
13
|
|
|
14
14
|
const formatFee = (fee?: bigint) => {
|
|
15
15
|
if (isUndefined(fee)) return
|
|
@@ -79,7 +79,13 @@ export const TransactionBoundWitnessCard: React.FC<TransactionBoundWitnessCardPr
|
|
|
79
79
|
<CardContent>
|
|
80
80
|
<Grid container spacing={6} sx={{ width: '100%' }}>
|
|
81
81
|
<Grid size={{ xs: 12 }}>
|
|
82
|
-
<
|
|
82
|
+
<Stack direction="row" alignItems="center" gap={1} sx={{ maxWidth: '100%' }}>
|
|
83
|
+
<Tooltip title={`From Address - ${wrapper?.boundWitness.from}`}>
|
|
84
|
+
<BlockiesAvatarAddress
|
|
85
|
+
address={wrapper?.boundWitness.from}
|
|
86
|
+
size={21}
|
|
87
|
+
/>
|
|
88
|
+
</Tooltip>
|
|
83
89
|
<Typography
|
|
84
90
|
variant="body2"
|
|
85
91
|
sx={{
|
|
@@ -88,7 +94,7 @@ export const TransactionBoundWitnessCard: React.FC<TransactionBoundWitnessCardPr
|
|
|
88
94
|
>
|
|
89
95
|
{wrapper?.boundWitness.from}
|
|
90
96
|
</Typography>
|
|
91
|
-
</
|
|
97
|
+
</Stack>
|
|
92
98
|
</Grid>
|
|
93
99
|
<Grid size={{
|
|
94
100
|
xs: 12, sm: 6, md: 4,
|