@xyo-network/react-chain-boundwitness 1.20.28 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePayloadTypes.d.ts","sourceRoot":"","sources":["../../../../../src/components/transactions/hooks/usePayloadTypes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAKvE,eAAO,MAAM,0BAA0B,GAAI,UAAU,2BAA2B;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"usePayloadTypes.d.ts","sourceRoot":"","sources":["../../../../../src/components/transactions/hooks/usePayloadTypes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAA;AAKvE,eAAO,MAAM,0BAA0B,GAAI,UAAU,2BAA2B;;;;;;;;;;CAsD/E,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -776,16 +776,11 @@ var useTransactionPayloadTypes = /* @__PURE__ */ __name((wrapper) => {
|
|
|
776
776
|
if (isDefined6(wrapper)) {
|
|
777
777
|
const referencedPayloads2 = wrapper.privateExternalPayloads;
|
|
778
778
|
for (const [hash, schema] of Object.entries(referencedPayloads2)) {
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
if (isSchema(schema)) {
|
|
785
|
-
ret.schemas.push(schema);
|
|
786
|
-
resolved = true;
|
|
787
|
-
}
|
|
788
|
-
if (!resolved) {
|
|
779
|
+
const hashValid = isHash(hash);
|
|
780
|
+
const schemaValid = isSchema(schema);
|
|
781
|
+
if (hashValid) ret.hashes.push(hash);
|
|
782
|
+
if (schemaValid) ret.schemas.push(schema);
|
|
783
|
+
if (!hashValid && !schemaValid) {
|
|
789
784
|
errors.push(new Error(`Unexpected payload or schema type for hash ${hash}: ${schema}`));
|
|
790
785
|
}
|
|
791
786
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/block/BlockBoundWitnessDetails.tsx","../../src/lib/formatFees.ts","../../src/lib/formatNumber.ts","../../src/lib/formatPayloadsForTable.ts","../../src/lib/formatResults.ts","../../src/components/PayloadTable.tsx","../../src/components/block/card/actions/BlockBoundWitnessActions.tsx","../../src/components/block/card/actions/BlockBoundWitnessVerification.tsx","../../src/components/block/card/Card.tsx","../../src/components/block/card/CardHeader.tsx","../../src/components/block/card/hooks/useDetails.ts","../../src/components/transactions/card/actions/TransactionActions.tsx","../../src/components/transactions/card/actions/TransactionVerification.tsx","../../src/components/transactions/card/Card.tsx","../../src/components/transactions/card/hooks/useDetails.ts","../../src/components/transactions/TransactionBoundWitnessDetails.tsx","../../src/components/transactions/hooks/usePayloadTypes.ts"],"sourcesContent":["import { 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 { filterAs } from '@xylabs/sdk-js'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { HydratedBlockWrapper } from '@xyo-network/chain-wrappers'\nimport {\n BoundWitnessPayloadsTable,\n BoundWitnessSignatureTable,\n HashHeadingPaper,\n HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport { useTxsFromBlock } from '@xyo-network/react-chain-blockchain'\nimport type { EventNoun } from '@xyo-network/react-event'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { SignedHydratedBlockWithHashMeta, XyoViewer } from '@xyo-network/xl1-sdk'\nimport { isTransactionBoundWitness } from '@xyo-network/xl1-sdk'\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 { PayloadTableFlexbox } from '../PayloadTable.tsx'\nimport { BlockBoundWitnessActions, BlockBoundWitnessCard } from './card/index.ts'\n\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n block?: SignedHydratedBlockWithHashMeta\n viewer?: XyoViewer\n}\n\nexport const BlockBoundWitnessDetails = ({\n block, paper, viewer, children, ...props\n}: BoundWitnessDetailsProps) => {\n const [wrapper, wrapperError] = usePromise(async () => {\n if (block) {\n return await HydratedBlockWrapper.parse(block)\n }\n }, [block])\n\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 <ErrorRender error={wrapperError} scope=\"BlockBoundWitnessDetails.tsx:wrapperError\" />\n <HashHeadingPaper\n hash={hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BlockBoundWitnessActions boundwitness={boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <BlockBoundWitnessCard elevation={4} viewer={viewer} wrapper={wrapper} />\n {(transactions?.length ?? 0) > 0\n ? (\n <PayloadTableFlexbox<TransactionBoundWitnessEvents>\n IconComponent={<GrTransaction />}\n eventNoun=\"transaction\"\n clickableFields={['hash']}\n hashes={txHashes}\n headingTitle=\"Transactions\"\n schemas={txSchemas}\n sx={{ mb: 1 }}\n />\n )\n : null}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n <BoundWitnessPayloadsTable boundwitness={boundWitness} eventNoun=\"payload\" clickableFields={['hash']} />\n </FlexCol>\n {hasNonTxBoundWitnesses\n ? (\n <PayloadTableFlexbox<EventNoun>\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 { isUndefined } from '@xylabs/sdk-js'\nimport { bigIntToFixedPointString } from '@xyo-network/chain-utils'\n\nexport const formatFee = (fee?: bigint) => {\n if (isUndefined(fee)) return 'N/A'\n const stringValue = bigIntToFixedPointString(fee, 12)\n if (stringValue === '0') return stringValue\n return stringValue\n}\n","export const formatNumber = (num: number | bigint): string => {\n return num.toLocaleString(navigator.language ?? 'en-US')\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\n\nexport const formatPayloadsForTable = (pairs: [Payload, Hash][]) => {\n const hashes: Hash[] = []\n const 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","export const formatResults = (results: Record<string, string>) => {\n const result = { labels: [] as string[], values: [] as string[] }\n for (const [label, value] of Object.entries(results)) {\n result.labels.push(label)\n result.values.push(value)\n }\n return result\n}\n","import { InfoOutline } from '@mui/icons-material'\nimport { Tooltip } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { Hash } from '@xylabs/sdk-js'\nimport { isDefined } from '@xylabs/sdk-js'\nimport type { ClickableFields } from '@xyo-network/react-boundwitness-plugin'\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<string> = EventNoun> extends FlexBoxProps {\n IconComponent?: React.ReactNode\n clickableFields?: ClickableFields[]\n eventNoun?: TNoun\n hashes?: Hash[]\n headingTitle?: string\n schemas?: string[]\n tooltip?: string\n}\n\nexport const PayloadTableFlexbox = <TNoun extends ExtendEventNoun<string> = EventNoun>({\n IconComponent,\n eventNoun,\n hashes,\n schemas,\n headingTitle,\n clickableFields,\n tooltip,\n ...props\n}: BWPayloadTableFlexboxProps<TNoun>) => {\n const resolvedIconComponent = IconComponent ?? <VscSymbolMethod />\n return (\n <FlexCol alignItems=\"stretch\" rowGap={1} {...props}>\n <HeadingPaper\n AdornmentEnd={isDefined(tooltip)\n ? (\n <Tooltip title={tooltip}>\n <InfoOutline fontSize=\"small\" sx={{ py: 2, px: 1 }} />\n </Tooltip>\n )\n : null}\n IconComponent={resolvedIconComponent}\n heading={headingTitle}\n />\n <TableEx>\n <BoundWitnessPayloadTableHead />\n <BoundWitnessPayloadTableBody<TNoun> payloadHashes={hashes} payloadSchemas={schemas} eventNoun={eventNoun} clickableFields={clickableFields} />\n </TableEx>\n </FlexCol>\n )\n}\n","import { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { ellipsize } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BWPreviousHashQuickTipButton } from '@xyo-network/react-boundwitness-plugin'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { BlockBoundWitnessVerification } from './BlockBoundWitnessVerification.tsx'\n\nexport interface BlockBoundWitnessActionsProps extends FlexBoxProps {\n boundwitness?: BoundWitness\n validationIconColors?: boolean\n}\n\nexport const BlockBoundWitnessActions: React.FC<BlockBoundWitnessActionsProps> = ({\n boundwitness,\n validationIconColors = false,\n ...props\n}) => {\n const hash = usePayloadHash(boundwitness)\n\n return (\n <FlexRow {...props}>\n {boundwitness?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={boundwitness} />}\n <BlockBoundWitnessVerification iconColors={validationIconColors} block={boundwitness} />\n <QuickTipButton\n Icon={DataObjectIcon}\n title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n >\n <pre style={{ wordBreak: 'break-all' }}>{boundwitness ? JSON.stringify(boundwitness, null, 2) : null}</pre>\n </QuickTipButton>\n </FlexRow>\n )\n}\n","import { CancelRounded as CancelRoundedIcon } from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport { ErrorQuickTipButton } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { assertEx, isDefined } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { validateBlock } from '@xyo-network/chain-validation'\nimport { useBaseContext } from '@xyo-network/react-chain-blockchain'\nimport type { BlockValidationError } from '@xyo-network/xl1-sdk'\nimport { isBlockBoundWitness } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nconst InvalidIcon = ({ ref, ...props }: SvgIconProps\n & { ref?: React.Ref<SVGSVGElement | null> }) => <CancelRoundedIcon color=\"error\" ref={ref} {...props} />\nInvalidIcon.displayName = 'InvalidIcon'\n\nexport interface BWVerification extends QuickTipButtonProps {\n block?: BoundWitness\n iconColors?: boolean\n}\n\nexport const BlockBoundWitnessVerification: React.FC<BWVerification> = ({ block, ...props }) => {\n const context = useBaseContext()\n const [validationErrors, validateError] = usePromise(async () => {\n if (isDefined(block)) {\n const resolvedBlock = assertEx(isBlockBoundWitness(block) ? block : undefined, () => 'Block must be a BlockBoundWitness')\n return await validateBlock(context, resolvedBlock)\n }\n }, [block, context])\n\n const resolvedErrors = useMemo(() => {\n const errors: (Error | BlockValidationError)[] = []\n if (isDefined(validationErrors)) {\n if (Array.isArray(validationErrors)) errors.push(...validationErrors)\n if (validationErrors instanceof Error) errors.push(validationErrors)\n if (isDefined(validateError)) errors.push(validateError)\n return errors\n }\n }, [validateError, validationErrors])\n\n return (\n <ErrorQuickTipButton boundWitnessType=\"Block\" errors={resolvedErrors} {...props} />\n )\n}\n","import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, Grid,\n Skeleton,\n Stack,\n} from '@mui/material'\nimport { ErrorRender } from '@xylabs/react-error'\nimport { isUndefined } from '@xylabs/sdk-js'\nimport { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'\nimport type { HydratedBlockInstance, XyoViewer } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { GrSteps } from 'react-icons/gr'\nimport { IoStatsChartOutline } from 'react-icons/io5'\nimport { VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { BlockBoundWitnessCardHeader } from './CardHeader.tsx'\nimport { useBlockDetails } from './hooks/index.ts'\n\nexport interface BlockBoundWitnessCardProps extends CardProps {\n linkedAddress?: boolean\n viewer?: XyoViewer\n wrapper?: HydratedBlockInstance\n}\n\nexport const BlockBoundWitnessCard: React.FC<BlockBoundWitnessCardProps> = ({\n linkedAddress = true, viewer, wrapper, ...props\n}) => {\n const {\n stats, payloads, stepHashes, stepHashesError, stepHashesLoading,\n } = useBlockDetails(wrapper, viewer)\n\n if (isUndefined(wrapper) || isUndefined(stats) || isUndefined(payloads) || isUndefined(stepHashes)) return null\n return (\n <Card {...props}>\n {wrapper?.boundWitness.addresses.map(address => (\n <BlockBoundWitnessCardHeader\n key={address}\n address={address}\n linked={linkedAddress}\n chainId={wrapper.boundWitness.chain}\n />\n ))}\n <ErrorRender error={stepHashesError} scope=\"BlockBoundWitnessCard.tsx:stepHashesError\" />\n <CardContent>\n <Grid container spacing={6} sx={{ width: '100%' }}>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={IoStatsChartOutline} heading=\"Stats\" tooltipTitle=\"Block 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={VscSymbolNamespace} heading=\"Payloads\" tooltipTitle=\"Payloads within the Block\">\n <LabelValueStack labels={payloads.labels} values={payloads.values} />\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={GrSteps} heading=\"Step Hashes\" tooltipTitle=\"Step Hashes for the Block\">\n {stepHashesLoading === 'pending'\n ? (\n <Stack gap={0.25}>\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n </Stack>\n )\n : null}\n <LabelValueStack labels={stepHashes?.labels ?? []} values={stepHashes?.values ?? []} />\n </DetailsStack>\n </Grid>\n </Grid>\n </CardContent>\n </Card>\n )\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport {\n CardHeader, Icon, IconButton, Link,\n Tooltip, Typography,\n} from '@mui/material'\nimport type { Address } from '@xylabs/sdk-js'\nimport { ellipsize, isDefined } from '@xylabs/sdk-js'\nimport { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { ChainId } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { FaCopy } from 'react-icons/fa'\n\nexport interface BlockBoundWitnessCardHeaderProps extends CardHeaderProps {\n address?: Address\n chainId?: ChainId\n linked?: boolean\n}\n\nexport const BlockBoundWitnessCardHeader: React.FC<BlockBoundWitnessCardHeaderProps> = ({\n linked = true, address, chainId,\n}) => {\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n\n return (\n <CardHeader\n ref={ref}\n title={(\n <Typography\n onClick={() => linked && dispatch('address', 'click', address)}\n variant=\"body2\"\n sx={{\n maxWidth: '100%', textOverflow: 'ellipsis', overflow: 'hidden', fontFamily: 'monospace',\n }}\n >\n {linked\n ? (\n <Link sx={{ cursor: 'pointer' }}>{address}</Link>\n )\n : address}\n </Typography>\n )}\n subheader={isDefined(chainId)\n ? (\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontFamily: 'monospace', fontSize: 12, opacity: 0.5, mt: 0.25,\n }}\n title={`chain: ${chainId}`}\n >\n {ellipsize(chainId, 8)}\n <IconButton size=\"small\" onClick={() => void navigator.clipboard.writeText(chainId)}>\n <Icon sx={{ fontSize: '0.7rem' }}>\n <FaCopy />\n </Icon>\n </IconButton>\n </Typography>\n )\n : null}\n avatar={(\n <Tooltip title={`Address - ${address}`}>\n <BlockiesAvatarAddress\n address={address}\n onClick={() => dispatch('address', 'click', address)}\n size={21}\n sx={{ cursor: 'pointer' }}\n />\n </Tooltip>\n )}\n />\n )\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { isUndefined } from '@xylabs/sdk-js'\nimport type { HydratedBlockInstance, XyoViewer } from '@xyo-network/xl1-sdk'\nimport { StepSizes } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nimport { formatNumber, formatResults } from '../../../../lib/index.ts'\n\nconst generateStepHashText = (blockNumber: number, stepHashIndex: number): [string, string] => {\n const stepSize = StepSizes[stepHashIndex]\n const stepStart = blockNumber - stepSize + 1\n const stepStop = blockNumber\n\n return [`Step ${stepHashIndex} (${stepSize})`, `${formatNumber(stepStart)} - ${formatNumber(stepStop)}`]\n}\n\nexport const useBlockDetails = (wrapper: HydratedBlockInstance | undefined, viewer?: XyoViewer) => {\n const stats = useMemo(() => {\n if (isUndefined(wrapper)) return\n const epochDate = new Date(wrapper.boundWitness.$epoch)\n const stats = {\n Height: formatNumber(wrapper.boundWitness.block),\n // protocol should always be defined except for malformed blocks and very early blocks in the chain\n Protocol: wrapper.boundWitness.protocol?.toString() ?? 'N/A',\n Signatures: formatNumber(wrapper.signatureCount),\n $epoch: `${epochDate.toLocaleDateString()} ${epochDate.toLocaleTimeString()}`,\n }\n\n return formatResults(stats)\n }, [wrapper])\n\n const payloads = useMemo(() => {\n if (isUndefined(wrapper)) return\n const payloads = {\n 'Transactions': formatNumber(wrapper.transactionCount),\n 'Total Payloads': formatNumber(wrapper.payloadCount),\n }\n\n return formatResults(payloads)\n }, [wrapper])\n\n const [stepHashes, stepHashesError, stepHashesLoading] = usePromise(async () => {\n if (isUndefined(wrapper) || isUndefined(viewer)) return\n const stepHashes: Record<string, string> = {}\n for (const [index, hash] of (wrapper.boundWitness.step_hashes ?? []).entries()) {\n try {\n const block = await viewer.blockByHash(hash)\n if (block === null) {\n console.warn(`Block not found for step hash ${hash}`)\n stepHashes[`Step ${index}`] = 'N/A'\n continue\n }\n\n const blockNumber = block[0].block\n const [label, value] = generateStepHashText(blockNumber, index)\n stepHashes[label] = value\n } catch (e) {\n console.error(`Error fetching block for step hash ${hash}:`, e)\n stepHashes[`Step ${index}`] = 'N/A'\n }\n }\n\n return formatResults(stepHashes)\n }, [wrapper, viewer], { defaultValue: { labels: [], values: [] } })\n\n return {\n stats, payloads, stepHashes, stepHashesError, stepHashesLoading,\n }\n}\n","import { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { ellipsize } from '@xylabs/sdk-js'\nimport { BWPreviousHashQuickTipButton } from '@xyo-network/react-boundwitness-plugin'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport type { SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport { TransactionVerification } from './TransactionVerification.tsx'\n\nexport interface TransactionActionsProps extends FlexBoxProps {\n transaction?: SignedHydratedTransactionWithStorageMeta | null\n validationIconColors?: boolean\n}\n\nexport const TransactionActions: React.FC<TransactionActionsProps> = ({\n transaction,\n validationIconColors = false,\n ...props\n}) => {\n const txBw = transaction?.[0]\n const hash = usePayloadHash(txBw)\n return (\n <FlexRow {...props}>\n {txBw?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={txBw} />}\n <TransactionVerification iconColors={validationIconColors} transaction={transaction} />\n <QuickTipButton\n Icon={DataObjectIcon}\n title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n >\n <pre style={{ wordBreak: 'break-all' }}>{transaction ? JSON.stringify(transaction, null, 2) : null}</pre>\n </QuickTipButton>\n </FlexRow>\n )\n}\n","import { CancelRounded as CancelRoundedIcon } from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport { ErrorQuickTipButton } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { assertEx, isDefined } from '@xylabs/sdk-js'\nimport type { HydratedTransactionValidationError, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'\nimport { isSignedHydratedTransactionWithStorageMeta, validateTransaction } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nconst InvalidIcon = ({ ref, ...props }: SvgIconProps\n & { ref?: React.Ref<SVGSVGElement | null> }) => <CancelRoundedIcon color=\"error\" ref={ref} {...props} />\nInvalidIcon.displayName = 'InvalidIcon'\n\nexport interface TxVerification extends QuickTipButtonProps {\n iconColors?: boolean\n transaction?: SignedHydratedTransactionWithStorageMeta | null\n}\n\nexport const TransactionVerification: React.FC<TxVerification> = ({ transaction, ...props }) => {\n const [validationErrors, validateError] = usePromise(async () => {\n if (isDefined(transaction)) {\n const resolvedTransaction = assertEx(isSignedHydratedTransactionWithStorageMeta(transaction)\n ? transaction\n : undefined, () => 'Transaction must be a SignedHydratedTransactionWithStorageMeta')\n return await validateTransaction({ singletons: {}, chainId: resolvedTransaction[0].chain }, resolvedTransaction)\n }\n }, [transaction])\n\n const resolvedErrors = useMemo(() => {\n const errors: (Error | HydratedTransactionValidationError)[] = []\n if (isDefined(validationErrors)) {\n if (Array.isArray(validationErrors)) errors.push(...validationErrors)\n if (validationErrors instanceof Error) errors.push(validationErrors)\n if (isDefined(validateError)) errors.push(validateError)\n return errors\n }\n }, [validateError, validationErrors])\n\n return (\n <ErrorQuickTipButton boundWitnessType=\"Transaction\" errors={resolvedErrors} {...props} />\n )\n}\n","import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, CardHeader, Grid, Icon, IconButton, Link, Tooltip, Typography,\n} from '@mui/material'\nimport {\n ellipsize, isDefined, isUndefined,\n} from '@xylabs/sdk-js'\nimport { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'\nimport { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { HydratedTransactionInstance } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { FaCopy } from 'react-icons/fa'\nimport { GiReceiveMoney, GiSandsOfTime } from 'react-icons/gi'\nimport { IoStatsChartOutline } from 'react-icons/io5'\n\nimport { useTransactionDetails } from './hooks/index.ts'\n\nexport interface TransactionBoundWitnessCardProps extends CardProps {\n linkedAddress?: boolean\n wrapper?: HydratedTransactionInstance\n}\n\nexport const TransactionBoundWitnessCard: React.FC<TransactionBoundWitnessCardProps> = ({\n linkedAddress = true, wrapper, ...props\n}) => {\n const chainId = wrapper?.boundWitness.chain\n\n const {\n stats, fees, blockDuration,\n } = useTransactionDetails(wrapper)\n\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n\n if (isUndefined(wrapper) || isUndefined(stats) || isUndefined(fees) || isUndefined(blockDuration)) return null\n return (\n <Card ref={ref} {...props}>\n <CardHeader\n title={(\n <Typography\n onClick={() => linkedAddress && dispatch('address', 'click', wrapper.boundWitness.from)}\n variant=\"body2\"\n sx={{\n maxWidth: '100%', textOverflow: 'ellipsis', overflow: 'hidden', fontFamily: 'monospace',\n }}\n >\n {linkedAddress\n ? (\n <Link sx={{ cursor: 'pointer' }}>{wrapper?.boundWitness.from}</Link>\n )\n : wrapper?.boundWitness.from}\n </Typography>\n )}\n subheader={isDefined(chainId)\n ? (\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontFamily: 'monospace', fontSize: 12, opacity: 0.5, mt: 0.25,\n }}\n title={`chain: ${chainId}`}\n >\n {ellipsize(chainId, 8)}\n <IconButton size=\"small\" onClick={() => void navigator.clipboard.writeText(chainId)}>\n <Icon sx={{ fontSize: '0.7rem' }}>\n <FaCopy />\n </Icon>\n </IconButton>\n </Typography>\n )\n : null}\n avatar={(\n <Tooltip title={`From Address - ${wrapper?.boundWitness.from}`}>\n <BlockiesAvatarAddress\n address={wrapper?.boundWitness.from}\n onClick={() => dispatch('address', 'click', wrapper.boundWitness.from)}\n size={21}\n sx={{ cursor: 'pointer' }}\n />\n </Tooltip>\n )}\n />\n <CardContent>\n <Grid container spacing={6} sx={{ width: '100%' }}>\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 { isUndefined } from '@xylabs/sdk-js'\nimport type { HydratedTransactionInstance } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nimport {\n formatFee, formatNumber, formatResults,\n} from '../../../../lib/index.ts'\n\nexport const useTransactionDetails = (wrapper: HydratedTransactionInstance | undefined) => {\n const stats = useMemo(() => {\n if (isUndefined(wrapper)) return\n const stats = {\n 'Reward': formatNumber(wrapper.reward()),\n 'On Chain Payloads': formatNumber(wrapper.elevatedPayloadCount),\n 'Public Payloads': formatNumber(Object.values(wrapper.publicExternalPayloads).length),\n 'Referenced Payloads': formatNumber(Object.entries(wrapper.privateExternalPayloads).length),\n 'Signatures': formatNumber(wrapper.signatureCount),\n }\n\n return formatResults(stats)\n }, [wrapper])\n\n const fees = useMemo(() => {\n if (isUndefined(wrapper)) return\n const fees = {\n 'Base': formatFee(wrapper.fees.base),\n 'Gas': formatFee(wrapper.fees.gasPrice),\n 'Priority': formatFee(wrapper.fees.priority),\n 'Gas Limit': formatFee(wrapper.fees.gasLimit),\n }\n\n return formatResults(fees)\n }, [wrapper])\n\n const blockDuration = useMemo(() => {\n if (isUndefined(wrapper)) return\n const blockDuration = {\n 'Expiration': wrapper.boundWitness.exp.toLocaleString(navigator.language ?? 'en-US'),\n 'Not Before': wrapper.boundWitness.nbf.toLocaleString(navigator.language ?? 'en-US'),\n }\n\n return formatResults(blockDuration)\n }, [wrapper])\n\n return {\n stats, fees, blockDuration,\n }\n}\n","import { ErrorRender } from '@xylabs/react-error'\nimport { type FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport {\n BoundWitnessSignatureTable, HashHeadingPaper, HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport type { SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'\nimport { HydratedTransactionWrapper } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { PayloadTableFlexbox } from '../PayloadTable.tsx'\nimport { TransactionActions, TransactionBoundWitnessCard } from './card/index.ts'\nimport { useTransactionPayloadTypes } from './hooks/index.ts'\n\nexport interface TransactionBoundWitnessDetailsProps extends FlexBoxProps {\n linkedProducerAddress?: boolean\n transaction?: SignedHydratedTransactionWithStorageMeta | null\n}\n\nexport const TransactionBoundWitnessDetails: React.FC<TransactionBoundWitnessDetailsProps> = ({\n linkedProducerAddress, transaction, ...props\n}) => {\n const [wrapper, wrapperError] = usePromise(async () => {\n if (transaction) {\n return await HydratedTransactionWrapper.parse(transaction)\n }\n }, [transaction])\n\n const {\n elevatedPayloadHashes, elevatedPayloadSchemas, elevatedPayloadSetsError,\n publicPayloadHashes, publicPayloadSchemas, publicPayloadsError,\n referencedPayloadHashes, referencedPayloadSchemas, referencedPayloadsError,\n } = useTransactionPayloadTypes(wrapper)\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={2} {...props}>\n <HashHeadingPaper\n hash={wrapper?.boundWitness?._hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<TransactionActions transaction={transaction} />}\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 <ErrorRender error={publicPayloadsError} scope=\"publicPayloadsError:TransactionBoundWitnessDetails.tsx\" />\n {referencedPayloadsError.map(error =>\n <ErrorRender key={error.message} error={error} scope=\"referencedPayloadsError:TransactionBoundWitnessDetails.tsx\" />)}\n <TransactionBoundWitnessCard elevation={4} linkedAddress={linkedProducerAddress} wrapper={wrapper} />\n <PayloadTableFlexbox\n eventNoun=\"payload\"\n clickableFields={['hash']}\n tooltip=\"Payloads included in the transaction that are elevated and validated.\"\n IconComponent={<VscSymbolNamespace />}\n hashes={elevatedPayloadHashes}\n headingTitle=\"On Chain Payloads\"\n schemas={elevatedPayloadSchemas}\n sx={{ mb: 1 }}\n />\n {(publicPayloadHashes?.length ?? 0) > 0\n ? (\n <PayloadTableFlexbox\n eventNoun=\"payload\"\n clickableFields={['hash']}\n tooltip=\"Public payloads included in the transaction.\"\n IconComponent={<VscSymbolNamespace />}\n hashes={publicPayloadHashes}\n headingTitle=\"Public Payloads\"\n schemas={publicPayloadSchemas}\n sx={{ mb: 1 }}\n />\n )\n : null}\n {(referencedPayloadHashes?.length ?? 0) > 0\n ? (\n <PayloadTableFlexbox\n eventNoun=\"payload\"\n clickableFields={['hash']}\n tooltip=\"Payload hashes referenced by the transaction but not included.\"\n IconComponent={<VscSymbolNamespace />}\n hashes={referencedPayloadHashes}\n headingTitle=\"Referenced Payloads\"\n schemas={referencedPayloadSchemas}\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={wrapper?.boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport { isDefined, isHash } from '@xylabs/sdk-js'\nimport type { Schema } from '@xyo-network/sdk-js'\nimport { isSchema, PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { HydratedTransactionInstance } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nimport { formatPayloadsForTable } from '../../../lib/index.ts'\n\nexport const useTransactionPayloadTypes = (wrapper?: HydratedTransactionInstance) => {\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 [publicPayloads, publicPayloadsError] = usePromise(async () => {\n if (isDefined(wrapper)) {\n const publicPayloads = wrapper.publicExternalPayloads\n const pairs = await PayloadBuilder.hashPairs(publicPayloads)\n return formatPayloadsForTable(pairs)\n } else {\n return { hashes: [], schemas: [] }\n }\n }, [wrapper])\n\n const [referencedPayloads, referencedPayloadsError] = useMemo(() => {\n const ret = { hashes: [] as Hash[], schemas: [] as Schema[] }\n const errors: Error[] = []\n if (isDefined(wrapper)) {\n const referencedPayloads = wrapper.privateExternalPayloads\n for (const [hash, schema] of Object.entries(referencedPayloads)) {\n let resolved = false\n if (isHash(hash)) {\n ret.hashes.push(hash)\n resolved = true\n }\n if (isSchema(schema)) {\n ret.schemas.push(schema)\n resolved = true\n }\n if (!resolved) {\n errors.push(new Error(`Unexpected payload or schema type for hash ${hash}: ${schema}`))\n }\n }\n }\n return [ret, errors] as const\n }, [wrapper])\n\n const { hashes: elevatedPayloadHashes, schemas: elevatedPayloadSchemas } = elevatedPayloadSets ?? {}\n const { hashes: publicPayloadHashes, schemas: publicPayloadSchemas } = publicPayloads ?? {}\n const { hashes: referencedPayloadHashes, schemas: referencedPayloadSchemas } = referencedPayloads ?? {}\n\n return {\n elevatedPayloadHashes,\n elevatedPayloadSchemas,\n elevatedPayloadSetsError,\n publicPayloadHashes,\n publicPayloadSchemas,\n publicPayloadsError,\n referencedPayloadHashes,\n referencedPayloadSchemas,\n referencedPayloadsError,\n }\n}\n"],"mappings":";;;;AAAA,SAASA,eAAAA,oBAAmB;AAE5B,SAASC,WAAAA,gBAAe;AACxB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,gBAAgB;AACzB,SAASC,sBAAsB;AAC/B,SAASC,4BAA4B;AACrC,SACEC,2BACAC,4BACAC,kBACAC,gBAAAA,qBACK;AACP,SAASC,uBAAuB;AAEhC,SAASC,kBAAAA,uBAAsB;AAC/B,SAASC,sBAAsB;AAE/B,SAASC,iCAAiC;AAC1C,OAAOC,UAASC,WAAAA,gBAAe;AAC/B,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,mBAAAA,kBAAiBC,sBAAAA,2BAA0B;;;ACtBpD,SAASC,mBAAmB;AAC5B,SAASC,gCAAgC;AAElC,IAAMC,YAAY,wBAACC,QAAAA;AACxB,MAAIC,YAAYD,GAAAA,EAAM,QAAO;AAC7B,QAAME,cAAcC,yBAAyBH,KAAK,EAAA;AAClD,MAAIE,gBAAgB,IAAK,QAAOA;AAChC,SAAOA;AACT,GALyB;;;ACHlB,IAAME,eAAe,wBAACC,QAAAA;AAC3B,SAAOA,IAAIC,eAAeC,UAAUC,YAAY,OAAA;AAClD,GAF4B;;;ACGrB,IAAMC,yBAAyB,wBAACC,UAAAA;AACrC,QAAMC,SAAiB,CAAA;AACvB,QAAMC,UAAoB,CAAA;AAC1B,aAAW,CAACC,IAAIC,IAAAA,KAASJ,SAAS,CAAA,GAAI;AACpCC,WAAOI,KAAKD,IAAAA;AACZF,YAAQG,KAAKF,IAAIG,UAAU,EAAA;EAC7B;AACA,SAAO;IAAEL;IAAQC;EAAQ;AAC3B,GARsC;;;ACH/B,IAAMK,gBAAgB,wBAACC,YAAAA;AAC5B,QAAMC,SAAS;IAAEC,QAAQ,CAAA;IAAgBC,QAAQ,CAAA;EAAe;AAChE,aAAW,CAACC,OAAOC,KAAAA,KAAUC,OAAOC,QAAQP,OAAAA,GAAU;AACpDC,WAAOC,OAAOM,KAAKJ,KAAAA;AACnBH,WAAOE,OAAOK,KAAKH,KAAAA;EACrB;AACA,SAAOJ;AACT,GAP6B;;;ACA7B,SAASQ,mBAAmB;AAC5B,SAASC,eAAe;AAExB,SAASC,eAAe;AAExB,SAASC,iBAAiB;AAE1B,SACEC,8BAA8BC,8BAA8BC,oBACvD;AAEP,SAASC,eAAe;AACxB,OAAOC,WAAW;AAClB,SAASC,uBAAuB;AAYzB,IAAMC,sBAAsB,wBAAoD,EACrFC,eACAC,WACAC,QACAC,SACAC,cACAC,iBACAC,SACA,GAAGC,MAAAA,MAC+B;AAClC,QAAMC,wBAAwBR,iBAAiB,sBAAA,cAACS,iBAAAA,IAAAA;AAChD,SACE,sBAAA,cAACC,SAAAA;IAAQC,YAAW;IAAUC,QAAQ;IAAI,GAAGL;KAC3C,sBAAA,cAACM,cAAAA;IACCC,cAAcC,UAAUT,OAAAA,IAElB,sBAAA,cAACU,SAAAA;MAAQC,OAAOX;OACd,sBAAA,cAACY,aAAAA;MAAYC,UAAS;MAAQC,IAAI;QAAEC,IAAI;QAAGC,IAAI;MAAE;UAGrD;IACJtB,eAAeQ;IACfe,SAASnB;MAEX,sBAAA,cAACoB,SAAAA,MACC,sBAAA,cAACC,8BAAAA,IAAAA,GACD,sBAAA,cAACC,8BAAAA;IAAoCC,eAAezB;IAAQ0B,gBAAgBzB;IAASF;IAAsBI;;AAInH,GA9BmC;;;ACzBnC,SAASwB,cAAcC,sBAAsB;AAE7C,SAASC,eAAe;AACxB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAE1B,SAASC,oCAAoC;AAC7C,SAASC,sBAAsB;AAC/B,OAAOC,YAAW;;;ACRlB,SAASC,iBAAiBC,yBAAyB;AAEnD,SAASC,2BAA2B;AACpC,SAASC,kBAAkB;AAE3B,SAASC,UAAUC,aAAAA,kBAAiB;AAEpC,SAASC,qBAAqB;AAC9B,SAASC,sBAAsB;AAE/B,SAASC,2BAA2B;AACpC,OAAOC,UAASC,eAAe;AAE/B,IAAMC,cAAc,wBAAC,EAAEC,KAAK,GAAGC,MAAAA,MACmB,gBAAAC,OAAA,cAACC,mBAAAA;EAAkBC,OAAM;EAAQJ;EAAW,GAAGC;IAD7E;AAEpBF,YAAYM,cAAc;AAOnB,IAAMC,gCAA0D,wBAAC,EAAEC,OAAO,GAAGN,MAAAA,MAAO;AACzF,QAAMO,UAAUC,eAAAA;AAChB,QAAM,CAACC,kBAAkBC,aAAAA,IAAiBC,WAAW,YAAA;AACnD,QAAIC,WAAUN,KAAAA,GAAQ;AACpB,YAAMO,gBAAgBC,SAASC,oBAAoBT,KAAAA,IAASA,QAAQU,QAAW,MAAM,mCAAA;AACrF,aAAO,MAAMC,cAAcV,SAASM,aAAAA;IACtC;EACF,GAAG;IAACP;IAAOC;GAAQ;AAEnB,QAAMW,iBAAiBC,QAAQ,MAAA;AAC7B,UAAMC,SAA2C,CAAA;AACjD,QAAIR,WAAUH,gBAAAA,GAAmB;AAC/B,UAAIY,MAAMC,QAAQb,gBAAAA,EAAmBW,QAAOG,KAAI,GAAId,gBAAAA;AACpD,UAAIA,4BAA4Be,MAAOJ,QAAOG,KAAKd,gBAAAA;AACnD,UAAIG,WAAUF,aAAAA,EAAgBU,QAAOG,KAAKb,aAAAA;AAC1C,aAAOU;IACT;EACF,GAAG;IAACV;IAAeD;GAAiB;AAEpC,SACE,gBAAAR,OAAA,cAACwB,qBAAAA;IAAoBC,kBAAiB;IAAQN,QAAQF;IAAiB,GAAGlB;;AAE9E,GAtBuE;;;ADLhE,IAAM2B,2BAAoE,wBAAC,EAChFC,cACAC,uBAAuB,OACvB,GAAGC,MAAAA,MACJ;AACC,QAAMC,OAAOC,eAAeJ,YAAAA;AAE5B,SACE,gBAAAK,OAAA,cAACC,SAAYJ,OACVF,cAAcO,gBAAgBC,WAAW,IAAI,OAAO,gBAAAH,OAAA,cAACI,8BAAAA;IAA6BT;MACnF,gBAAAK,OAAA,cAACK,+BAAAA;IAA8BC,YAAYV;IAAsBW,OAAOZ;MACxE,gBAAAK,OAAA,cAACQ,gBAAAA;IACCC,MAAMC;IACNC,OAAO,YAAYC,UAAUd,QAAQ,IAAI,CAAA,CAAA;IACzCe,aAAa;MAAEC,WAAW;MAAMC,UAAU;IAAK;KAE/C,gBAAAf,OAAA,cAACgB,OAAAA;IAAIC,OAAO;MAAEC,WAAW;IAAY;KAAIvB,eAAewB,KAAKC,UAAUzB,cAAc,MAAM,CAAA,IAAK,IAAA,CAAA,CAAA;AAIxG,GApBiF;;;AEhBjF,SACE0B,MAAMC,aAAaC,MACnBC,UACAC,aACK;AACP,SAASC,mBAAmB;AAC5B,SAASC,eAAAA,oBAAmB;AAC5B,SAASC,cAAcC,uBAAuB;AAE9C,OAAOC,YAAW;AAClB,SAASC,eAAe;AACxB,SAASC,2BAA2B;AACpC,SAASC,0BAA0B;;;ACZnC,SACEC,YAAYC,MAAMC,YAAYC,MAC9BC,WAAAA,UAASC,kBACJ;AAEP,SAASC,aAAAA,YAAWC,aAAAA,kBAAiB;AACrC,SAASC,6BAA6B;AACtC,SAASC,gBAAgB;AAEzB,OAAOC,YAAW;AAClB,SAASC,cAAc;AAQhB,IAAMC,8BAA0E,wBAAC,EACtFC,SAAS,MAAMC,SAASC,QAAO,MAChC;AACC,QAAM,CAACC,KAAKC,QAAAA,IAAYC,SAAAA;AAExB,SACE,gBAAAC,OAAA,cAACC,YAAAA;IACCJ;IACAK,OACE,gBAAAF,OAAA,cAACG,YAAAA;MACCC,SAAS,6BAAMV,UAAUI,SAAS,WAAW,SAASH,OAAAA,GAA7C;MACTU,SAAQ;MACRC,IAAI;QACFC,UAAU;QAAQC,cAAc;QAAYC,UAAU;QAAUC,YAAY;MAC9E;OAEChB,SAEK,gBAAAM,OAAA,cAACW,MAAAA;MAAKL,IAAI;QAAEM,QAAQ;MAAU;OAAIjB,OAAAA,IAEpCA,OAAAA;IAGRkB,WAAWC,WAAUlB,OAAAA,IAEf,gBAAAI,OAAA,cAACG,YAAAA;MACCE,SAAQ;MACRC,IAAI;QACFI,YAAY;QAAaK,UAAU;QAAIC,SAAS;QAAKC,IAAI;MAC3D;MACAf,OAAO,UAAUN,OAAAA;OAEhBsB,WAAUtB,SAAS,CAAA,GACpB,gBAAAI,OAAA,cAACmB,YAAAA;MAAWC,MAAK;MAAQhB,SAAS,6BAAM,KAAKiB,UAAUC,UAAUC,UAAU3B,OAAAA,GAAzC;OAChC,gBAAAI,OAAA,cAACwB,MAAAA;MAAKlB,IAAI;QAAES,UAAU;MAAS;OAC7B,gBAAAf,OAAA,cAACyB,QAAAA,IAAAA,CAAAA,CAAAA,CAAAA,IAKT;IACJC,QACE,gBAAA1B,OAAA,cAAC2B,UAAAA;MAAQzB,OAAO,aAAaP,OAAAA;OAC3B,gBAAAK,OAAA,cAAC4B,uBAAAA;MACCjC;MACAS,SAAS,6BAAMN,SAAS,WAAW,SAASH,OAAAA,GAAnC;MACTyB,MAAM;MACNd,IAAI;QAAEM,QAAQ;MAAU;;;AAMpC,GArDuF;;;ACnBvF,SAASiB,cAAAA,mBAAkB;AAC3B,SAASC,eAAAA,oBAAmB;AAE5B,SAASC,iBAAiB;AAC1B,SAASC,WAAAA,gBAAe;AAIxB,IAAMC,uBAAuB,wBAACC,aAAqBC,kBAAAA;AACjD,QAAMC,WAAWC,UAAUF,aAAAA;AAC3B,QAAMG,YAAYJ,cAAcE,WAAW;AAC3C,QAAMG,WAAWL;AAEjB,SAAO;IAAC,QAAQC,aAAAA,KAAkBC,QAAAA;IAAa,GAAGI,aAAaF,SAAAA,CAAAA,MAAgBE,aAAaD,QAAAA,CAAAA;;AAC9F,GAN6B;AAQtB,IAAME,kBAAkB,wBAACC,SAA4CC,WAAAA;AAC1E,QAAMC,QAAQC,SAAQ,MAAA;AACpB,QAAIC,aAAYJ,OAAAA,EAAU;AAC1B,UAAMK,YAAY,IAAIC,KAAKN,QAAQO,aAAaC,MAAM;AACtD,UAAMN,SAAQ;MACZO,QAAQX,aAAaE,QAAQO,aAAaG,KAAK;;MAE/CC,UAAUX,QAAQO,aAAaK,UAAUC,SAAAA,KAAc;MACvDC,YAAYhB,aAAaE,QAAQe,cAAc;MAC/CP,QAAQ,GAAGH,UAAUW,mBAAkB,CAAA,IAAMX,UAAUY,mBAAkB,CAAA;IAC3E;AAEA,WAAOC,cAAchB,MAAAA;EACvB,GAAG;IAACF;GAAQ;AAEZ,QAAMmB,WAAWhB,SAAQ,MAAA;AACvB,QAAIC,aAAYJ,OAAAA,EAAU;AAC1B,UAAMmB,YAAW;MACf,gBAAgBrB,aAAaE,QAAQoB,gBAAgB;MACrD,kBAAkBtB,aAAaE,QAAQqB,YAAY;IACrD;AAEA,WAAOH,cAAcC,SAAAA;EACvB,GAAG;IAACnB;GAAQ;AAEZ,QAAM,CAACsB,YAAYC,iBAAiBC,iBAAAA,IAAqBC,YAAW,YAAA;AAClE,QAAIrB,aAAYJ,OAAAA,KAAYI,aAAYH,MAAAA,EAAS;AACjD,UAAMqB,cAAqC,CAAC;AAC5C,eAAW,CAACI,OAAOC,IAAAA,MAAU3B,QAAQO,aAAaqB,eAAe,CAAA,GAAIC,QAAO,GAAI;AAC9E,UAAI;AACF,cAAMnB,QAAQ,MAAMT,OAAO6B,YAAYH,IAAAA;AACvC,YAAIjB,UAAU,MAAM;AAClBqB,kBAAQC,KAAK,iCAAiCL,IAAAA,EAAM;AACpDL,UAAAA,YAAW,QAAQI,KAAAA,EAAO,IAAI;AAC9B;QACF;AAEA,cAAMlC,cAAckB,MAAM,CAAA,EAAGA;AAC7B,cAAM,CAACuB,OAAOC,KAAAA,IAAS3C,qBAAqBC,aAAakC,KAAAA;AACzDJ,QAAAA,YAAWW,KAAAA,IAASC;MACtB,SAASC,GAAG;AACVJ,gBAAQK,MAAM,sCAAsCT,IAAAA,KAASQ,CAAAA;AAC7Db,QAAAA,YAAW,QAAQI,KAAAA,EAAO,IAAI;MAChC;IACF;AAEA,WAAOR,cAAcI,WAAAA;EACvB,GAAG;IAACtB;IAASC;KAAS;IAAEoC,cAAc;MAAEC,QAAQ,CAAA;MAAIC,QAAQ,CAAA;IAAG;EAAE,CAAA;AAEjE,SAAO;IACLrC;IAAOiB;IAAUG;IAAYC;IAAiBC;EAChD;AACF,GApD+B;;;AFQxB,IAAMgB,wBAA8D,wBAAC,EAC1EC,gBAAgB,MAAMC,QAAQC,SAAS,GAAGC,MAAAA,MAC3C;AACC,QAAM,EACJC,OAAOC,UAAUC,YAAYC,iBAAiBC,kBAAiB,IAC7DC,gBAAgBP,SAASD,MAAAA;AAE7B,MAAIS,aAAYR,OAAAA,KAAYQ,aAAYN,KAAAA,KAAUM,aAAYL,QAAAA,KAAaK,aAAYJ,UAAAA,EAAa,QAAO;AAC3G,SACE,gBAAAK,OAAA,cAACC,MAAST,OACPD,SAASW,aAAaC,UAAUC,IAAIC,CAAAA,YACnC,gBAAAL,OAAA,cAACM,6BAAAA;IACCC,KAAKF;IACLA;IACAG,QAAQnB;IACRoB,SAASlB,QAAQW,aAAaQ;OAGlC,gBAAAV,OAAA,cAACW,aAAAA;IAAYC,OAAOhB;IAAiBiB,OAAM;MAC3C,gBAAAb,OAAA,cAACc,aAAAA,MACC,gBAAAd,OAAA,cAACe,MAAAA;IAAKC,WAAAA;IAAUC,SAAS;IAAGC,IAAI;MAAEC,OAAO;IAAO;KAC9C,gBAAAnB,OAAA,cAACe,MAAAA;IAAKK,MAAM;MACVC,IAAI;MAAIC,IAAI;MAAGC,IAAI;IACrB;KAEE,gBAAAvB,OAAA,cAACwB,cAAAA;IAAaC,eAAeC;IAAqBC,SAAQ;IAAQC,cAAa;KAC7E,gBAAA5B,OAAA,cAAC6B,iBAAAA;IAAgBC,QAAQrC,MAAMqC;IAAQC,QAAQtC,MAAMsC;QAGzD,gBAAA/B,OAAA,cAACe,MAAAA;IAAKK,MAAM;MACVC,IAAI;MAAIC,IAAI;MAAGC,IAAI;IACrB;KAEE,gBAAAvB,OAAA,cAACwB,cAAAA;IAAaC,eAAeO;IAAoBL,SAAQ;IAAWC,cAAa;KAC/E,gBAAA5B,OAAA,cAAC6B,iBAAAA;IAAgBC,QAAQpC,SAASoC;IAAQC,QAAQrC,SAASqC;QAG/D,gBAAA/B,OAAA,cAACe,MAAAA;IAAKK,MAAM;MACVC,IAAI;MAAIC,IAAI;MAAGC,IAAI;IACrB;KAEE,gBAAAvB,OAAA,cAACwB,cAAAA;IAAaC,eAAeQ;IAASN,SAAQ;IAAcC,cAAa;KACtE/B,sBAAsB,YAEjB,gBAAAG,OAAA,cAACkC,OAAAA;IAAMC,KAAK;KACV,gBAAAnC,OAAA,cAACoC,UAAAA;IAASC,SAAQ;IAAOlB,OAAM;IAAOmB,QAAQ;MAC9C,gBAAAtC,OAAA,cAACoC,UAAAA;IAASC,SAAQ;IAAOlB,OAAM;IAAOmB,QAAQ;MAC9C,gBAAAtC,OAAA,cAACoC,UAAAA;IAASC,SAAQ;IAAOlB,OAAM;IAAOmB,QAAQ;MAC9C,gBAAAtC,OAAA,cAACoC,UAAAA;IAASC,SAAQ;IAAOlB,OAAM;IAAOmB,QAAQ;QAGlD,MACJ,gBAAAtC,OAAA,cAAC6B,iBAAAA;IAAgBC,QAAQnC,YAAYmC,UAAU,CAAA;IAAIC,QAAQpC,YAAYoC,UAAU,CAAA;;AAO/F,GA3D2E;;;ARUpE,IAAMQ,2BAA2B,wBAAC,EACvCC,OAAOC,OAAOC,QAAQC,UAAU,GAAGC,MAAAA,MACV;AACzB,QAAM,CAACC,SAASC,YAAAA,IAAgBC,YAAW,YAAA;AACzC,QAAIP,OAAO;AACT,aAAO,MAAMQ,qBAAqBC,MAAMT,KAAAA;IAC1C;EACF,GAAG;IAACA;GAAM;AAEV,QAAMU,eAAeV,QAAQ,CAAA;AAC7B,QAAMW,WAAWX,QAAQ,CAAA;AAEzB,QAAMY,OAAOC,gBAAeH,YAAAA;AAE5B,QAAM,CAACI,cAAcC,gBAAAA,IAAoBC,gBAAgBhB,KAAAA;AAEzD,QAAM,EAAEiB,QAAQC,UAAUC,SAASC,UAAS,IAAKC,SAAQ,MAAMC,uBAAuBR,gBAAgB,CAAA,CAAE,GAAG;IAACA;GAAa;AAEzH,QAAM,CAACS,qBAAqBC,iBAAAA,IAAqBjB,YAAW,YAAA;AAC1D,UAAMkB,MAAMC,SAASf,YAAY,CAAA,GAAIgB,CAAAA,YAClC,CAACC,0BAA0BD,OAAAA,KAAYE,eAAeF,OAAAA,IAAYA,UAAUG,MAAAA;AAC/E,WAAO,MAAMC,eAAeC,UAAUP,GAAAA;EACxC,GAAG;IAACd;GAAS;AAEb,QAAM,EAAEM,QAAQgB,eAAed,SAASe,eAAc,IAAKb,SAAQ,MAAMC,uBAAuBC,uBAAuB,CAAA,CAAE,GAAG;IAACA;GAAoB;AACjJ,QAAMY,0BAA0BZ,qBAAqBa,UAAU,KAAK;AAEpE,SACE,gBAAAC,OAAA,cAACC,UAAAA;IAAQC,YAAW;IAAUC,QAAQ;IAAI,GAAGpC;KAC3C,gBAAAiC,OAAA,cAACI,cAAAA;IAAYC,OAAO3B,oBAAoBS;IAAmBmB,OAAM;MACjE,gBAAAN,OAAA,cAACI,cAAAA;IAAYC,OAAOpC;IAAcqC,OAAM;MACxC,gBAAAN,OAAA,cAACO,kBAAAA;IACChC;IACAiC,YAAY;MAAEC,IAAI;QAAEC,GAAG;MAAE;IAAE;IAC3BC,cAAc,gBAAAX,OAAA,cAACY,0BAAAA;MAAyBC,cAAcxC;;IACtDyC,gBAAgB;MAAEJ,GAAG;MAAMK,MAAM;IAAG;MAEtC,gBAAAf,OAAA,cAACgB,uBAAAA;IAAsBC,WAAW;IAAGpD;IAAgBG;OACnDS,cAAcsB,UAAU,KAAK,IAEzB,gBAAAC,OAAA,cAACkB,qBAAAA;IACCC,eAAe,gBAAAnB,OAAA,cAACoB,eAAAA,IAAAA;IAChBC,WAAU;IACVC,iBAAiB;MAAC;;IAClB1C,QAAQC;IACR0C,cAAa;IACbzC,SAASC;IACT0B,IAAI;MAAEe,IAAI;IAAE;OAGhB,MACJ,gBAAAxB,OAAA,cAACC,UAAAA;IAAQC,YAAW;IAAUC,QAAQ;IAAGqB,IAAI;KAC3C,gBAAAxB,OAAA,cAACyB,eAAAA;IAAaN,eAAe,gBAAAnB,OAAA,cAAC0B,qBAAAA,IAAAA;IAAuBC,SAAQ;MAC7D,gBAAA3B,OAAA,cAAC4B,2BAAAA;IAA0Bf,cAAcxC;IAAcgD,WAAU;IAAUC,iBAAiB;MAAC;;OAE9FxB,yBAEK,gBAAAE,OAAA,cAACkB,qBAAAA;IACCC,eAAe,gBAAAnB,OAAA,cAAC6B,kBAAAA,IAAAA;IAChBR,WAAU;IACVzC,QAAQgB;IACR2B,cAAa;IACbzC,SAASe;IACTY,IAAI;MAAEe,IAAI;IAAE;OAGhB,MACJ,gBAAAxB,OAAA,cAACC,UAAAA;IAAQC,YAAW;IAAUC,QAAQ;IAAGqB,IAAI;KAC3C,gBAAAxB,OAAA,cAACyB,eAAAA;IAAaN,eAAe,gBAAAnB,OAAA,cAAC8B,aAAAA,IAAAA;IAAgBH,SAAQ;MACtD,gBAAA3B,OAAA,cAAC+B,4BAAAA;IAA2BpE,OAAOU;;AAI3C,GAzEwC;;;AWlCxC,SAAS2D,cAAcC,uBAAsB;AAE7C,SAASC,WAAAA,gBAAe;AACxB,SAASC,kBAAAA,uBAAsB;AAC/B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,gCAAAA,qCAAoC;AAC7C,SAASC,kBAAAA,uBAAsB;AAE/B,OAAOC,YAAW;;;ACRlB,SAASC,iBAAiBC,0BAAyB;AAEnD,SAASC,uBAAAA,4BAA2B;AACpC,SAASC,cAAAA,mBAAkB;AAE3B,SAASC,YAAAA,WAAUC,aAAAA,kBAAiB;AAEpC,SAASC,4CAA4CC,2BAA2B;AAChF,OAAOC,UAASC,WAAAA,gBAAe;AAE/B,IAAMC,eAAc,wBAAC,EAAEC,KAAK,GAAGC,MAAAA,MACmB,gBAAAC,OAAA,cAACC,oBAAAA;EAAkBC,OAAM;EAAQJ;EAAW,GAAGC;IAD7E;AAEpBF,aAAYM,cAAc;AAOnB,IAAMC,0BAAoD,wBAAC,EAAEC,aAAa,GAAGN,MAAAA,MAAO;AACzF,QAAM,CAACO,kBAAkBC,aAAAA,IAAiBC,YAAW,YAAA;AACnD,QAAIC,WAAUJ,WAAAA,GAAc;AAC1B,YAAMK,sBAAsBC,UAASC,2CAA2CP,WAAAA,IAC5EA,cACAQ,QAAW,MAAM,gEAAA;AACrB,aAAO,MAAMC,oBAAoB;QAAEC,YAAY,CAAC;QAAGC,SAASN,oBAAoB,CAAA,EAAGO;MAAM,GAAGP,mBAAAA;IAC9F;EACF,GAAG;IAACL;GAAY;AAEhB,QAAMa,iBAAiBC,SAAQ,MAAA;AAC7B,UAAMC,SAAyD,CAAA;AAC/D,QAAIX,WAAUH,gBAAAA,GAAmB;AAC/B,UAAIe,MAAMC,QAAQhB,gBAAAA,EAAmBc,QAAOG,KAAI,GAAIjB,gBAAAA;AACpD,UAAIA,4BAA4BkB,MAAOJ,QAAOG,KAAKjB,gBAAAA;AACnD,UAAIG,WAAUF,aAAAA,EAAgBa,QAAOG,KAAKhB,aAAAA;AAC1C,aAAOa;IACT;EACF,GAAG;IAACb;IAAeD;GAAiB;AAEpC,SACE,gBAAAN,OAAA,cAACyB,sBAAAA;IAAoBC,kBAAiB;IAAcN,QAAQF;IAAiB,GAAGnB;;AAEpF,GAvBiE;;;ADF1D,IAAM4B,qBAAwD,wBAAC,EACpEC,aACAC,uBAAuB,OACvB,GAAGC,MAAAA,MACJ;AACC,QAAMC,OAAOH,cAAc,CAAA;AAC3B,QAAMI,OAAOC,gBAAeF,IAAAA;AAC5B,SACE,gBAAAG,OAAA,cAACC,UAAYL,OACVC,MAAMK,gBAAgBC,WAAW,IAAI,OAAO,gBAAAH,OAAA,cAACI,+BAAAA;IAA6BC,cAAcR;MACzF,gBAAAG,OAAA,cAACM,yBAAAA;IAAwBC,YAAYZ;IAAsBD;MAC3D,gBAAAM,OAAA,cAACQ,iBAAAA;IACCC,MAAMC;IACNC,OAAO,YAAYC,WAAUd,QAAQ,IAAI,CAAA,CAAA;IACzCe,aAAa;MAAEC,WAAW;MAAMC,UAAU;IAAK;KAE/C,gBAAAf,OAAA,cAACgB,OAAAA;IAAIC,OAAO;MAAEC,WAAW;IAAY;KAAIxB,cAAcyB,KAAKC,UAAU1B,aAAa,MAAM,CAAA,IAAK,IAAA,CAAA,CAAA;AAItG,GApBqE;;;AEhBrE,SACE2B,QAAAA,OAAMC,eAAAA,cAAaC,cAAAA,aAAYC,QAAAA,OAAMC,QAAAA,OAAMC,cAAAA,aAAYC,QAAAA,OAAMC,WAAAA,UAASC,cAAAA,mBACjE;AACP,SACEC,aAAAA,YAAWC,aAAAA,YAAWC,eAAAA,oBACjB;AACP,SAASC,yBAAAA,8BAA6B;AACtC,SAASC,gBAAAA,eAAcC,mBAAAA,wBAAuB;AAC9C,SAASC,YAAAA,iBAAgB;AAEzB,OAAOC,YAAW;AAClB,SAASC,UAAAA,eAAc;AACvB,SAASC,gBAAgBC,qBAAqB;AAC9C,SAASC,uBAAAA,4BAA2B;;;ACdpC,SAASC,eAAAA,oBAAmB;AAE5B,SAASC,WAAAA,gBAAe;AAMjB,IAAMC,wBAAwB,wBAACC,YAAAA;AACpC,QAAMC,QAAQC,SAAQ,MAAA;AACpB,QAAIC,aAAYH,OAAAA,EAAU;AAC1B,UAAMC,SAAQ;MACZ,UAAUG,aAAaJ,QAAQK,OAAM,CAAA;MACrC,qBAAqBD,aAAaJ,QAAQM,oBAAoB;MAC9D,mBAAmBF,aAAaG,OAAOC,OAAOR,QAAQS,sBAAsB,EAAEC,MAAM;MACpF,uBAAuBN,aAAaG,OAAOI,QAAQX,QAAQY,uBAAuB,EAAEF,MAAM;MAC1F,cAAcN,aAAaJ,QAAQa,cAAc;IACnD;AAEA,WAAOC,cAAcb,MAAAA;EACvB,GAAG;IAACD;GAAQ;AAEZ,QAAMe,OAAOb,SAAQ,MAAA;AACnB,QAAIC,aAAYH,OAAAA,EAAU;AAC1B,UAAMe,QAAO;MACX,QAAQC,UAAUhB,QAAQe,KAAKE,IAAI;MACnC,OAAOD,UAAUhB,QAAQe,KAAKG,QAAQ;MACtC,YAAYF,UAAUhB,QAAQe,KAAKI,QAAQ;MAC3C,aAAaH,UAAUhB,QAAQe,KAAKK,QAAQ;IAC9C;AAEA,WAAON,cAAcC,KAAAA;EACvB,GAAG;IAACf;GAAQ;AAEZ,QAAMqB,gBAAgBnB,SAAQ,MAAA;AAC5B,QAAIC,aAAYH,OAAAA,EAAU;AAC1B,UAAMqB,iBAAgB;MACpB,cAAcrB,QAAQsB,aAAaC,IAAIC,eAAeC,UAAUC,YAAY,OAAA;MAC5E,cAAc1B,QAAQsB,aAAaK,IAAIH,eAAeC,UAAUC,YAAY,OAAA;IAC9E;AAEA,WAAOZ,cAAcO,cAAAA;EACvB,GAAG;IAACrB;GAAQ;AAEZ,SAAO;IACLC;IAAOc;IAAMM;EACf;AACF,GAvCqC;;;ADe9B,IAAMO,8BAA0E,wBAAC,EACtFC,gBAAgB,MAAMC,SAAS,GAAGC,MAAAA,MACnC;AACC,QAAMC,UAAUF,SAASG,aAAaC;AAEtC,QAAM,EACJC,OAAOC,MAAMC,cAAa,IACxBC,sBAAsBR,OAAAA;AAE1B,QAAM,CAACS,KAAKC,QAAAA,IAAYC,UAAAA;AAExB,MAAIC,aAAYZ,OAAAA,KAAYY,aAAYP,KAAAA,KAAUO,aAAYN,IAAAA,KAASM,aAAYL,aAAAA,EAAgB,QAAO;AAC1G,SACE,gBAAAM,OAAA,cAACC,OAAAA;IAAKL;IAAW,GAAGR;KAClB,gBAAAY,OAAA,cAACE,aAAAA;IACCC,OACE,gBAAAH,OAAA,cAACI,aAAAA;MACCC,SAAS,6BAAMnB,iBAAiBW,SAAS,WAAW,SAASV,QAAQG,aAAagB,IAAI,GAA7E;MACTC,SAAQ;MACRC,IAAI;QACFC,UAAU;QAAQC,cAAc;QAAYC,UAAU;QAAUC,YAAY;MAC9E;OAEC1B,gBAEK,gBAAAc,OAAA,cAACa,OAAAA;MAAKL,IAAI;QAAEM,QAAQ;MAAU;OAAI3B,SAASG,aAAagB,IAAAA,IAE1DnB,SAASG,aAAagB,IAAAA;IAG9BS,WAAWC,WAAU3B,OAAAA,IAEf,gBAAAW,OAAA,cAACI,aAAAA;MACCG,SAAQ;MACRC,IAAI;QACFI,YAAY;QAAaK,UAAU;QAAIC,SAAS;QAAKC,IAAI;MAC3D;MACAhB,OAAO,UAAUd,OAAAA;OAEhB+B,WAAU/B,SAAS,CAAA,GACpB,gBAAAW,OAAA,cAACqB,aAAAA;MAAWC,MAAK;MAAQjB,SAAS,6BAAM,KAAKkB,UAAUC,UAAUC,UAAUpC,OAAAA,GAAzC;OAChC,gBAAAW,OAAA,cAAC0B,OAAAA;MAAKlB,IAAI;QAAES,UAAU;MAAS;OAC7B,gBAAAjB,OAAA,cAAC2B,SAAAA,IAAAA,CAAAA,CAAAA,CAAAA,IAKT;IACJC,QACE,gBAAA5B,OAAA,cAAC6B,UAAAA;MAAQ1B,OAAO,kBAAkBhB,SAASG,aAAagB,IAAAA;OACtD,gBAAAN,OAAA,cAAC8B,wBAAAA;MACCC,SAAS5C,SAASG,aAAagB;MAC/BD,SAAS,6BAAMR,SAAS,WAAW,SAASV,QAAQG,aAAagB,IAAI,GAA5D;MACTgB,MAAM;MACNd,IAAI;QAAEM,QAAQ;MAAU;;MAKhC,gBAAAd,OAAA,cAACgC,cAAAA,MACC,gBAAAhC,OAAA,cAACiC,OAAAA;IAAKC,WAAAA;IAAUC,SAAS;IAAG3B,IAAI;MAAE4B,OAAO;IAAO;KAC9C,gBAAApC,OAAA,cAACiC,OAAAA;IAAKX,MAAM;MACVe,IAAI;MAAIC,IAAI;MAAGC,IAAI;IACrB;KAEE,gBAAAvC,OAAA,cAACwC,eAAAA;IAAaC,eAAeC;IAAqBC,SAAQ;IAAQC,cAAa;KAC7E,gBAAA5C,OAAA,cAAC6C,kBAAAA;IAAgBC,QAAQtD,MAAMsD;IAAQC,QAAQvD,MAAMuD;QAGzD,gBAAA/C,OAAA,cAACiC,OAAAA;IAAKX,MAAM;MACVe,IAAI;MAAIC,IAAI;MAAGC,IAAI;IACrB;KAEE,gBAAAvC,OAAA,cAACwC,eAAAA;IAAaC,eAAeO;IAAgBL,SAAQ;IAAOC,cAAa;KACvE,gBAAA5C,OAAA,cAAC6C,kBAAAA;IAAgBC,QAAQrD,KAAKqD;IAAQC,QAAQtD,KAAKsD;QAGvD,gBAAA/C,OAAA,cAACiC,OAAAA;IAAKX,MAAM;MACVe,IAAI;MAAIC,IAAI;MAAGC,IAAI;IACrB;KAEE,gBAAAvC,OAAA,cAACwC,eAAAA;IAAaC,eAAeQ;IAAeN,SAAQ;IAAiBC,cAAa;KAChF,gBAAA5C,OAAA,cAAC6C,kBAAAA;IAAgBC,QAAQpD,cAAcoD;IAAQC,QAAQrD,cAAcqD;;AAOnF,GAzFuF;;;AEvBvF,SAASG,eAAAA,oBAAmB;AAC5B,SAA4BC,WAAAA,gBAAe;AAC3C,SAASC,cAAAA,mBAAkB;AAC3B,SACEC,8BAAAA,6BAA4BC,oBAAAA,mBAAkBC,gBAAAA,qBACzC;AAEP,SAASC,kCAAkC;AAC3C,OAAOC,aAAW;AAClB,SAASC,eAAAA,oBAAmB;AAC5B,SAASC,sBAAAA,2BAA0B;;;ACVnC,SAASC,cAAAA,mBAAkB;AAE3B,SAASC,aAAAA,YAAWC,cAAc;AAElC,SAASC,UAAUC,kBAAAA,uBAAsB;AAEzC,SAASC,WAAAA,gBAAe;AAIjB,IAAMC,6BAA6B,wBAACC,YAAAA;AACzC,QAAM,CAACC,qBAAqBC,wBAAAA,IAA4BC,YAAW,YAAA;AACjE,QAAIC,WAAUJ,OAAAA,GAAU;AACtB,YAAMK,mBAAmBL,QAAQK;AACjC,YAAMC,QAAQ,MAAMC,gBAAeC,UAAUH,gBAAAA;AAC7C,aAAOI,uBAAuBH,KAAAA;IAChC,OAAO;AACL,aAAO;QAAEI,QAAQ,CAAA;QAAIC,SAAS,CAAA;MAAG;IACnC;EACF,GAAG;IAACX;GAAQ;AAEZ,QAAM,CAACY,gBAAgBC,mBAAAA,IAAuBV,YAAW,YAAA;AACvD,QAAIC,WAAUJ,OAAAA,GAAU;AACtB,YAAMY,kBAAiBZ,QAAQc;AAC/B,YAAMR,QAAQ,MAAMC,gBAAeC,UAAUI,eAAAA;AAC7C,aAAOH,uBAAuBH,KAAAA;IAChC,OAAO;AACL,aAAO;QAAEI,QAAQ,CAAA;QAAIC,SAAS,CAAA;MAAG;IACnC;EACF,GAAG;IAACX;GAAQ;AAEZ,QAAM,CAACe,oBAAoBC,uBAAAA,IAA2BC,SAAQ,MAAA;AAC5D,UAAMC,MAAM;MAAER,QAAQ,CAAA;MAAcC,SAAS,CAAA;IAAe;AAC5D,UAAMQ,SAAkB,CAAA;AACxB,QAAIf,WAAUJ,OAAAA,GAAU;AACtB,YAAMe,sBAAqBf,QAAQoB;AACnC,iBAAW,CAACC,MAAMC,MAAAA,KAAWC,OAAOC,QAAQT,mBAAAA,GAAqB;AAC/D,YAAIU,WAAW;AACf,YAAIC,OAAOL,IAAAA,GAAO;AAChBH,cAAIR,OAAOiB,KAAKN,IAAAA;AAChBI,qBAAW;QACb;AACA,YAAIG,SAASN,MAAAA,GAAS;AACpBJ,cAAIP,QAAQgB,KAAKL,MAAAA;AACjBG,qBAAW;QACb;AACA,YAAI,CAACA,UAAU;AACbN,iBAAOQ,KAAK,IAAIE,MAAM,8CAA8CR,IAAAA,KAASC,MAAAA,EAAQ,CAAA;QACvF;MACF;IACF;AACA,WAAO;MAACJ;MAAKC;;EACf,GAAG;IAACnB;GAAQ;AAEZ,QAAM,EAAEU,QAAQoB,uBAAuBnB,SAASoB,uBAAsB,IAAK9B,uBAAuB,CAAC;AACnG,QAAM,EAAES,QAAQsB,qBAAqBrB,SAASsB,qBAAoB,IAAKrB,kBAAkB,CAAC;AAC1F,QAAM,EAAEF,QAAQwB,yBAAyBvB,SAASwB,yBAAwB,IAAKpB,sBAAsB,CAAC;AAEtG,SAAO;IACLe;IACAC;IACA7B;IACA8B;IACAC;IACApB;IACAqB;IACAC;IACAnB;EACF;AACF,GA3D0C;;;ADWnC,IAAMoB,iCAAgF,wBAAC,EAC5FC,uBAAuBC,aAAa,GAAGC,MAAAA,MACxC;AACC,QAAM,CAACC,SAASC,YAAAA,IAAgBC,YAAW,YAAA;AACzC,QAAIJ,aAAa;AACf,aAAO,MAAMK,2BAA2BC,MAAMN,WAAAA;IAChD;EACF,GAAG;IAACA;GAAY;AAEhB,QAAM,EACJO,uBAAuBC,wBAAwBC,0BAC/CC,qBAAqBC,sBAAsBC,qBAC3CC,yBAAyBC,0BAA0BC,wBAAuB,IACxEC,2BAA2Bd,OAAAA;AAE/B,SACE,gBAAAe,QAAA,cAACC,UAAAA;IAAQC,YAAW;IAAUC,QAAQ;IAAI,GAAGnB;KAC3C,gBAAAgB,QAAA,cAACI,mBAAAA;IACCC,MAAMpB,SAASqB,cAAcC;IAC7BC,YAAY;MAAEC,IAAI;QAAEC,GAAG;MAAE;IAAE;IAC3BC,cAAc,gBAAAX,QAAA,cAACY,oBAAAA;MAAmB7B;;IAClC8B,gBAAgB;MAAEH,GAAG;MAAMI,MAAM;IAAG;MAEtC,gBAAAd,QAAA,cAACe,cAAAA;IAAYC,OAAO9B;IAAc+B,OAAM;MACxC,gBAAAjB,QAAA,cAACe,cAAAA;IAAYC,OAAOxB;IAA0ByB,OAAM;MACpD,gBAAAjB,QAAA,cAACe,cAAAA;IAAYC,OAAOrB;IAAqBsB,OAAM;MAC9CnB,wBAAwBoB,IAAIF,CAAAA,UAC3B,gBAAAhB,QAAA,cAACe,cAAAA;IAAYI,KAAKH,MAAMI;IAASJ;IAAcC,OAAM;OACvD,gBAAAjB,QAAA,cAACqB,6BAAAA;IAA4BC,WAAW;IAAGC,eAAezC;IAAuBG;MACjF,gBAAAe,QAAA,cAACwB,qBAAAA;IACCC,WAAU;IACVC,iBAAiB;MAAC;;IAClBC,SAAQ;IACRC,eAAe,gBAAA5B,QAAA,cAAC6B,qBAAAA,IAAAA;IAChBC,QAAQxC;IACRyC,cAAa;IACbC,SAASzC;IACTkB,IAAI;MAAEwB,IAAI;IAAE;OAEZxC,qBAAqByC,UAAU,KAAK,IAEhC,gBAAAlC,QAAA,cAACwB,qBAAAA;IACCC,WAAU;IACVC,iBAAiB;MAAC;;IAClBC,SAAQ;IACRC,eAAe,gBAAA5B,QAAA,cAAC6B,qBAAAA,IAAAA;IAChBC,QAAQrC;IACRsC,cAAa;IACbC,SAAStC;IACTe,IAAI;MAAEwB,IAAI;IAAE;OAGhB,OACFrC,yBAAyBsC,UAAU,KAAK,IAEpC,gBAAAlC,QAAA,cAACwB,qBAAAA;IACCC,WAAU;IACVC,iBAAiB;MAAC;;IAClBC,SAAQ;IACRC,eAAe,gBAAA5B,QAAA,cAAC6B,qBAAAA,IAAAA;IAChBC,QAAQlC;IACRmC,cAAa;IACbC,SAASnC;IACTY,IAAI;MAAEwB,IAAI;IAAE;OAGhB,MACJ,gBAAAjC,QAAA,cAACC,UAAAA;IAAQC,YAAW;IAAUC,QAAQ;IAAG8B,IAAI;KAC3C,gBAAAjC,QAAA,cAACmC,eAAAA;IAAaP,eAAe,gBAAA5B,QAAA,cAACoC,cAAAA,IAAAA;IAAgBC,SAAQ;MACtD,gBAAArC,QAAA,cAACsC,6BAAAA;IAA2BC,OAAOtD,SAASqB;;AAIpD,GAzE6F;","names":["ErrorRender","FlexCol","usePromise","filterAs","isBoundWitness","HydratedBlockWrapper","BoundWitnessPayloadsTable","BoundWitnessSignatureTable","HashHeadingPaper","HeadingPaper","useTxsFromBlock","usePayloadHash","PayloadBuilder","isTransactionBoundWitness","React","useMemo","FaSignature","GrTransaction","VscSymbolMethod","VscSymbolNamespace","isUndefined","bigIntToFixedPointString","formatFee","fee","isUndefined","stringValue","bigIntToFixedPointString","formatNumber","num","toLocaleString","navigator","language","formatPayloadsForTable","pairs","hashes","schemas","bw","hash","push","schema","formatResults","results","result","labels","values","label","value","Object","entries","push","InfoOutline","Tooltip","FlexCol","isDefined","BoundWitnessPayloadTableBody","BoundWitnessPayloadTableHead","HeadingPaper","TableEx","React","VscSymbolMethod","PayloadTableFlexbox","IconComponent","eventNoun","hashes","schemas","headingTitle","clickableFields","tooltip","props","resolvedIconComponent","VscSymbolMethod","FlexCol","alignItems","rowGap","HeadingPaper","AdornmentEnd","isDefined","Tooltip","title","InfoOutline","fontSize","sx","py","px","heading","TableEx","BoundWitnessPayloadTableHead","BoundWitnessPayloadTableBody","payloadHashes","payloadSchemas","DataObject","DataObjectIcon","FlexRow","QuickTipButton","ellipsize","BWPreviousHashQuickTipButton","usePayloadHash","React","CancelRounded","CancelRoundedIcon","ErrorQuickTipButton","usePromise","assertEx","isDefined","validateBlock","useBaseContext","isBlockBoundWitness","React","useMemo","InvalidIcon","ref","props","React","CancelRoundedIcon","color","displayName","BlockBoundWitnessVerification","block","context","useBaseContext","validationErrors","validateError","usePromise","isDefined","resolvedBlock","assertEx","isBlockBoundWitness","undefined","validateBlock","resolvedErrors","useMemo","errors","Array","isArray","push","Error","ErrorQuickTipButton","boundWitnessType","BlockBoundWitnessActions","boundwitness","validationIconColors","props","hash","usePayloadHash","React","FlexRow","previous_hashes","length","BWPreviousHashQuickTipButton","BlockBoundWitnessVerification","iconColors","block","QuickTipButton","Icon","DataObjectIcon","title","ellipsize","dialogProps","fullWidth","maxWidth","pre","style","wordBreak","JSON","stringify","Card","CardContent","Grid","Skeleton","Stack","ErrorRender","isUndefined","DetailsStack","LabelValueStack","React","GrSteps","IoStatsChartOutline","VscSymbolNamespace","CardHeader","Icon","IconButton","Link","Tooltip","Typography","ellipsize","isDefined","BlockiesAvatarAddress","useEvent","React","FaCopy","BlockBoundWitnessCardHeader","linked","address","chainId","ref","dispatch","useEvent","React","CardHeader","title","Typography","onClick","variant","sx","maxWidth","textOverflow","overflow","fontFamily","Link","cursor","subheader","isDefined","fontSize","opacity","mt","ellipsize","IconButton","size","navigator","clipboard","writeText","Icon","FaCopy","avatar","Tooltip","BlockiesAvatarAddress","usePromise","isUndefined","StepSizes","useMemo","generateStepHashText","blockNumber","stepHashIndex","stepSize","StepSizes","stepStart","stepStop","formatNumber","useBlockDetails","wrapper","viewer","stats","useMemo","isUndefined","epochDate","Date","boundWitness","$epoch","Height","block","Protocol","protocol","toString","Signatures","signatureCount","toLocaleDateString","toLocaleTimeString","formatResults","payloads","transactionCount","payloadCount","stepHashes","stepHashesError","stepHashesLoading","usePromise","index","hash","step_hashes","entries","blockByHash","console","warn","label","value","e","error","defaultValue","labels","values","BlockBoundWitnessCard","linkedAddress","viewer","wrapper","props","stats","payloads","stepHashes","stepHashesError","stepHashesLoading","useBlockDetails","isUndefined","React","Card","boundWitness","addresses","map","address","BlockBoundWitnessCardHeader","key","linked","chainId","chain","ErrorRender","error","scope","CardContent","Grid","container","spacing","sx","width","size","xs","sm","md","DetailsStack","IconComponent","IoStatsChartOutline","heading","tooltipTitle","LabelValueStack","labels","values","VscSymbolNamespace","GrSteps","Stack","gap","Skeleton","variant","height","BlockBoundWitnessDetails","block","paper","viewer","children","props","wrapper","wrapperError","usePromise","HydratedBlockWrapper","parse","boundWitness","payloads","hash","usePayloadHash","transactions","txFromBlockError","useTxsFromBlock","hashes","txHashes","schemas","txSchemas","useMemo","formatPayloadsForTable","nonTxBoundWitnesses","bwsFromBlockError","bws","filterAs","payload","isTransactionBoundWitness","isBoundWitness","undefined","PayloadBuilder","hashPairs","nonTxBwHashes","nonTxBwSchemas","hasNonTxBoundWitnesses","length","React","FlexCol","alignItems","rowGap","ErrorRender","error","scope","HashHeadingPaper","paperProps","sx","p","AdornmentEnd","BlockBoundWitnessActions","boundwitness","identiconProps","size","BlockBoundWitnessCard","elevation","PayloadTableFlexbox","IconComponent","GrTransaction","eventNoun","clickableFields","headingTitle","mb","HeadingPaper","VscSymbolNamespace","heading","BoundWitnessPayloadsTable","VscSymbolMethod","FaSignature","BoundWitnessSignatureTable","DataObject","DataObjectIcon","FlexRow","QuickTipButton","ellipsize","BWPreviousHashQuickTipButton","usePayloadHash","React","CancelRounded","CancelRoundedIcon","ErrorQuickTipButton","usePromise","assertEx","isDefined","isSignedHydratedTransactionWithStorageMeta","validateTransaction","React","useMemo","InvalidIcon","ref","props","React","CancelRoundedIcon","color","displayName","TransactionVerification","transaction","validationErrors","validateError","usePromise","isDefined","resolvedTransaction","assertEx","isSignedHydratedTransactionWithStorageMeta","undefined","validateTransaction","singletons","chainId","chain","resolvedErrors","useMemo","errors","Array","isArray","push","Error","ErrorQuickTipButton","boundWitnessType","TransactionActions","transaction","validationIconColors","props","txBw","hash","usePayloadHash","React","FlexRow","previous_hashes","length","BWPreviousHashQuickTipButton","boundwitness","TransactionVerification","iconColors","QuickTipButton","Icon","DataObjectIcon","title","ellipsize","dialogProps","fullWidth","maxWidth","pre","style","wordBreak","JSON","stringify","Card","CardContent","CardHeader","Grid","Icon","IconButton","Link","Tooltip","Typography","ellipsize","isDefined","isUndefined","BlockiesAvatarAddress","DetailsStack","LabelValueStack","useEvent","React","FaCopy","GiReceiveMoney","GiSandsOfTime","IoStatsChartOutline","isUndefined","useMemo","useTransactionDetails","wrapper","stats","useMemo","isUndefined","formatNumber","reward","elevatedPayloadCount","Object","values","publicExternalPayloads","length","entries","privateExternalPayloads","signatureCount","formatResults","fees","formatFee","base","gasPrice","priority","gasLimit","blockDuration","boundWitness","exp","toLocaleString","navigator","language","nbf","TransactionBoundWitnessCard","linkedAddress","wrapper","props","chainId","boundWitness","chain","stats","fees","blockDuration","useTransactionDetails","ref","dispatch","useEvent","isUndefined","React","Card","CardHeader","title","Typography","onClick","from","variant","sx","maxWidth","textOverflow","overflow","fontFamily","Link","cursor","subheader","isDefined","fontSize","opacity","mt","ellipsize","IconButton","size","navigator","clipboard","writeText","Icon","FaCopy","avatar","Tooltip","BlockiesAvatarAddress","address","CardContent","Grid","container","spacing","width","xs","sm","md","DetailsStack","IconComponent","IoStatsChartOutline","heading","tooltipTitle","LabelValueStack","labels","values","GiReceiveMoney","GiSandsOfTime","ErrorRender","FlexCol","usePromise","BoundWitnessSignatureTable","HashHeadingPaper","HeadingPaper","HydratedTransactionWrapper","React","FaSignature","VscSymbolNamespace","usePromise","isDefined","isHash","isSchema","PayloadBuilder","useMemo","useTransactionPayloadTypes","wrapper","elevatedPayloadSets","elevatedPayloadSetsError","usePromise","isDefined","elevatedPayloads","pairs","PayloadBuilder","hashPairs","formatPayloadsForTable","hashes","schemas","publicPayloads","publicPayloadsError","publicExternalPayloads","referencedPayloads","referencedPayloadsError","useMemo","ret","errors","privateExternalPayloads","hash","schema","Object","entries","resolved","isHash","push","isSchema","Error","elevatedPayloadHashes","elevatedPayloadSchemas","publicPayloadHashes","publicPayloadSchemas","referencedPayloadHashes","referencedPayloadSchemas","TransactionBoundWitnessDetails","linkedProducerAddress","transaction","props","wrapper","wrapperError","usePromise","HydratedTransactionWrapper","parse","elevatedPayloadHashes","elevatedPayloadSchemas","elevatedPayloadSetsError","publicPayloadHashes","publicPayloadSchemas","publicPayloadsError","referencedPayloadHashes","referencedPayloadSchemas","referencedPayloadsError","useTransactionPayloadTypes","React","FlexCol","alignItems","rowGap","HashHeadingPaper","hash","boundWitness","_hash","paperProps","sx","p","AdornmentEnd","TransactionActions","identiconProps","size","ErrorRender","error","scope","map","key","message","TransactionBoundWitnessCard","elevation","linkedAddress","PayloadTableFlexbox","eventNoun","clickableFields","tooltip","IconComponent","VscSymbolNamespace","hashes","headingTitle","schemas","mb","length","HeadingPaper","FaSignature","heading","BoundWitnessSignatureTable","block"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/block/BlockBoundWitnessDetails.tsx","../../src/lib/formatFees.ts","../../src/lib/formatNumber.ts","../../src/lib/formatPayloadsForTable.ts","../../src/lib/formatResults.ts","../../src/components/PayloadTable.tsx","../../src/components/block/card/actions/BlockBoundWitnessActions.tsx","../../src/components/block/card/actions/BlockBoundWitnessVerification.tsx","../../src/components/block/card/Card.tsx","../../src/components/block/card/CardHeader.tsx","../../src/components/block/card/hooks/useDetails.ts","../../src/components/transactions/card/actions/TransactionActions.tsx","../../src/components/transactions/card/actions/TransactionVerification.tsx","../../src/components/transactions/card/Card.tsx","../../src/components/transactions/card/hooks/useDetails.ts","../../src/components/transactions/TransactionBoundWitnessDetails.tsx","../../src/components/transactions/hooks/usePayloadTypes.ts"],"sourcesContent":["import { 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 { filterAs } from '@xylabs/sdk-js'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport { HydratedBlockWrapper } from '@xyo-network/chain-wrappers'\nimport {\n BoundWitnessPayloadsTable,\n BoundWitnessSignatureTable,\n HashHeadingPaper,\n HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport { useTxsFromBlock } from '@xyo-network/react-chain-blockchain'\nimport type { EventNoun } from '@xyo-network/react-event'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport { PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { SignedHydratedBlockWithHashMeta, XyoViewer } from '@xyo-network/xl1-sdk'\nimport { isTransactionBoundWitness } from '@xyo-network/xl1-sdk'\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 { PayloadTableFlexbox } from '../PayloadTable.tsx'\nimport { BlockBoundWitnessActions, BlockBoundWitnessCard } from './card/index.ts'\n\nexport interface BoundWitnessDetailsProps extends FlexBoxProps {\n block?: SignedHydratedBlockWithHashMeta\n viewer?: XyoViewer\n}\n\nexport const BlockBoundWitnessDetails = ({\n block, paper, viewer, children, ...props\n}: BoundWitnessDetailsProps) => {\n const [wrapper, wrapperError] = usePromise(async () => {\n if (block) {\n return await HydratedBlockWrapper.parse(block)\n }\n }, [block])\n\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 <ErrorRender error={wrapperError} scope=\"BlockBoundWitnessDetails.tsx:wrapperError\" />\n <HashHeadingPaper\n hash={hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<BlockBoundWitnessActions boundwitness={boundWitness} />}\n identiconProps={{ p: 0.75, size: 24 }}\n />\n <BlockBoundWitnessCard elevation={4} viewer={viewer} wrapper={wrapper} />\n {(transactions?.length ?? 0) > 0\n ? (\n <PayloadTableFlexbox<TransactionBoundWitnessEvents>\n IconComponent={<GrTransaction />}\n eventNoun=\"transaction\"\n clickableFields={['hash']}\n hashes={txHashes}\n headingTitle=\"Transactions\"\n schemas={txSchemas}\n sx={{ mb: 1 }}\n />\n )\n : null}\n <FlexCol alignItems=\"stretch\" rowGap={1} mb={1}>\n <HeadingPaper IconComponent={<VscSymbolNamespace />} heading=\"Payloads\" />\n <BoundWitnessPayloadsTable boundwitness={boundWitness} eventNoun=\"payload\" clickableFields={['hash']} />\n </FlexCol>\n {hasNonTxBoundWitnesses\n ? (\n <PayloadTableFlexbox<EventNoun>\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 { isUndefined } from '@xylabs/sdk-js'\nimport { bigIntToFixedPointString } from '@xyo-network/chain-utils'\n\nexport const formatFee = (fee?: bigint) => {\n if (isUndefined(fee)) return 'N/A'\n const stringValue = bigIntToFixedPointString(fee, 12)\n if (stringValue === '0') return stringValue\n return stringValue\n}\n","export const formatNumber = (num: number | bigint): string => {\n return num.toLocaleString(navigator.language ?? 'en-US')\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\n\nexport const formatPayloadsForTable = (pairs: [Payload, Hash][]) => {\n const hashes: Hash[] = []\n const 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","export const formatResults = (results: Record<string, string>) => {\n const result = { labels: [] as string[], values: [] as string[] }\n for (const [label, value] of Object.entries(results)) {\n result.labels.push(label)\n result.values.push(value)\n }\n return result\n}\n","import { InfoOutline } from '@mui/icons-material'\nimport { Tooltip } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexCol } from '@xylabs/react-flexbox'\nimport type { Hash } from '@xylabs/sdk-js'\nimport { isDefined } from '@xylabs/sdk-js'\nimport type { ClickableFields } from '@xyo-network/react-boundwitness-plugin'\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<string> = EventNoun> extends FlexBoxProps {\n IconComponent?: React.ReactNode\n clickableFields?: ClickableFields[]\n eventNoun?: TNoun\n hashes?: Hash[]\n headingTitle?: string\n schemas?: string[]\n tooltip?: string\n}\n\nexport const PayloadTableFlexbox = <TNoun extends ExtendEventNoun<string> = EventNoun>({\n IconComponent,\n eventNoun,\n hashes,\n schemas,\n headingTitle,\n clickableFields,\n tooltip,\n ...props\n}: BWPayloadTableFlexboxProps<TNoun>) => {\n const resolvedIconComponent = IconComponent ?? <VscSymbolMethod />\n return (\n <FlexCol alignItems=\"stretch\" rowGap={1} {...props}>\n <HeadingPaper\n AdornmentEnd={isDefined(tooltip)\n ? (\n <Tooltip title={tooltip}>\n <InfoOutline fontSize=\"small\" sx={{ py: 2, px: 1 }} />\n </Tooltip>\n )\n : null}\n IconComponent={resolvedIconComponent}\n heading={headingTitle}\n />\n <TableEx>\n <BoundWitnessPayloadTableHead />\n <BoundWitnessPayloadTableBody<TNoun> payloadHashes={hashes} payloadSchemas={schemas} eventNoun={eventNoun} clickableFields={clickableFields} />\n </TableEx>\n </FlexCol>\n )\n}\n","import { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { ellipsize } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { BWPreviousHashQuickTipButton } from '@xyo-network/react-boundwitness-plugin'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { BlockBoundWitnessVerification } from './BlockBoundWitnessVerification.tsx'\n\nexport interface BlockBoundWitnessActionsProps extends FlexBoxProps {\n boundwitness?: BoundWitness\n validationIconColors?: boolean\n}\n\nexport const BlockBoundWitnessActions: React.FC<BlockBoundWitnessActionsProps> = ({\n boundwitness,\n validationIconColors = false,\n ...props\n}) => {\n const hash = usePayloadHash(boundwitness)\n\n return (\n <FlexRow {...props}>\n {boundwitness?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={boundwitness} />}\n <BlockBoundWitnessVerification iconColors={validationIconColors} block={boundwitness} />\n <QuickTipButton\n Icon={DataObjectIcon}\n title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n >\n <pre style={{ wordBreak: 'break-all' }}>{boundwitness ? JSON.stringify(boundwitness, null, 2) : null}</pre>\n </QuickTipButton>\n </FlexRow>\n )\n}\n","import { CancelRounded as CancelRoundedIcon } from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport { ErrorQuickTipButton } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { assertEx, isDefined } from '@xylabs/sdk-js'\nimport type { BoundWitness } from '@xyo-network/boundwitness-model'\nimport { validateBlock } from '@xyo-network/chain-validation'\nimport { useBaseContext } from '@xyo-network/react-chain-blockchain'\nimport type { BlockValidationError } from '@xyo-network/xl1-sdk'\nimport { isBlockBoundWitness } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nconst InvalidIcon = ({ ref, ...props }: SvgIconProps\n & { ref?: React.Ref<SVGSVGElement | null> }) => <CancelRoundedIcon color=\"error\" ref={ref} {...props} />\nInvalidIcon.displayName = 'InvalidIcon'\n\nexport interface BWVerification extends QuickTipButtonProps {\n block?: BoundWitness\n iconColors?: boolean\n}\n\nexport const BlockBoundWitnessVerification: React.FC<BWVerification> = ({ block, ...props }) => {\n const context = useBaseContext()\n const [validationErrors, validateError] = usePromise(async () => {\n if (isDefined(block)) {\n const resolvedBlock = assertEx(isBlockBoundWitness(block) ? block : undefined, () => 'Block must be a BlockBoundWitness')\n return await validateBlock(context, resolvedBlock)\n }\n }, [block, context])\n\n const resolvedErrors = useMemo(() => {\n const errors: (Error | BlockValidationError)[] = []\n if (isDefined(validationErrors)) {\n if (Array.isArray(validationErrors)) errors.push(...validationErrors)\n if (validationErrors instanceof Error) errors.push(validationErrors)\n if (isDefined(validateError)) errors.push(validateError)\n return errors\n }\n }, [validateError, validationErrors])\n\n return (\n <ErrorQuickTipButton boundWitnessType=\"Block\" errors={resolvedErrors} {...props} />\n )\n}\n","import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, Grid,\n Skeleton,\n Stack,\n} from '@mui/material'\nimport { ErrorRender } from '@xylabs/react-error'\nimport { isUndefined } from '@xylabs/sdk-js'\nimport { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'\nimport type { HydratedBlockInstance, XyoViewer } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { GrSteps } from 'react-icons/gr'\nimport { IoStatsChartOutline } from 'react-icons/io5'\nimport { VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { BlockBoundWitnessCardHeader } from './CardHeader.tsx'\nimport { useBlockDetails } from './hooks/index.ts'\n\nexport interface BlockBoundWitnessCardProps extends CardProps {\n linkedAddress?: boolean\n viewer?: XyoViewer\n wrapper?: HydratedBlockInstance\n}\n\nexport const BlockBoundWitnessCard: React.FC<BlockBoundWitnessCardProps> = ({\n linkedAddress = true, viewer, wrapper, ...props\n}) => {\n const {\n stats, payloads, stepHashes, stepHashesError, stepHashesLoading,\n } = useBlockDetails(wrapper, viewer)\n\n if (isUndefined(wrapper) || isUndefined(stats) || isUndefined(payloads) || isUndefined(stepHashes)) return null\n return (\n <Card {...props}>\n {wrapper?.boundWitness.addresses.map(address => (\n <BlockBoundWitnessCardHeader\n key={address}\n address={address}\n linked={linkedAddress}\n chainId={wrapper.boundWitness.chain}\n />\n ))}\n <ErrorRender error={stepHashesError} scope=\"BlockBoundWitnessCard.tsx:stepHashesError\" />\n <CardContent>\n <Grid container spacing={6} sx={{ width: '100%' }}>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={IoStatsChartOutline} heading=\"Stats\" tooltipTitle=\"Block 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={VscSymbolNamespace} heading=\"Payloads\" tooltipTitle=\"Payloads within the Block\">\n <LabelValueStack labels={payloads.labels} values={payloads.values} />\n </DetailsStack>\n </Grid>\n <Grid size={{\n xs: 12, sm: 6, md: 4,\n }}\n >\n <DetailsStack IconComponent={GrSteps} heading=\"Step Hashes\" tooltipTitle=\"Step Hashes for the Block\">\n {stepHashesLoading === 'pending'\n ? (\n <Stack gap={0.25}>\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n <Skeleton variant=\"text\" width=\"100%\" height={20} />\n </Stack>\n )\n : null}\n <LabelValueStack labels={stepHashes?.labels ?? []} values={stepHashes?.values ?? []} />\n </DetailsStack>\n </Grid>\n </Grid>\n </CardContent>\n </Card>\n )\n}\n","import type { CardHeaderProps } from '@mui/material'\nimport {\n CardHeader, Icon, IconButton, Link,\n Tooltip, Typography,\n} from '@mui/material'\nimport type { Address } from '@xylabs/sdk-js'\nimport { ellipsize, isDefined } from '@xylabs/sdk-js'\nimport { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { ChainId } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { FaCopy } from 'react-icons/fa'\n\nexport interface BlockBoundWitnessCardHeaderProps extends CardHeaderProps {\n address?: Address\n chainId?: ChainId\n linked?: boolean\n}\n\nexport const BlockBoundWitnessCardHeader: React.FC<BlockBoundWitnessCardHeaderProps> = ({\n linked = true, address, chainId,\n}) => {\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n\n return (\n <CardHeader\n ref={ref}\n title={(\n <Typography\n onClick={() => linked && dispatch('address', 'click', address)}\n variant=\"body2\"\n sx={{\n maxWidth: '100%', textOverflow: 'ellipsis', overflow: 'hidden', fontFamily: 'monospace',\n }}\n >\n {linked\n ? (\n <Link sx={{ cursor: 'pointer' }}>{address}</Link>\n )\n : address}\n </Typography>\n )}\n subheader={isDefined(chainId)\n ? (\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontFamily: 'monospace', fontSize: 12, opacity: 0.5, mt: 0.25,\n }}\n title={`chain: ${chainId}`}\n >\n {ellipsize(chainId, 8)}\n <IconButton size=\"small\" onClick={() => void navigator.clipboard.writeText(chainId)}>\n <Icon sx={{ fontSize: '0.7rem' }}>\n <FaCopy />\n </Icon>\n </IconButton>\n </Typography>\n )\n : null}\n avatar={(\n <Tooltip title={`Address - ${address}`}>\n <BlockiesAvatarAddress\n address={address}\n onClick={() => dispatch('address', 'click', address)}\n size={21}\n sx={{ cursor: 'pointer' }}\n />\n </Tooltip>\n )}\n />\n )\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport { isUndefined } from '@xylabs/sdk-js'\nimport type { HydratedBlockInstance, XyoViewer } from '@xyo-network/xl1-sdk'\nimport { StepSizes } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nimport { formatNumber, formatResults } from '../../../../lib/index.ts'\n\nconst generateStepHashText = (blockNumber: number, stepHashIndex: number): [string, string] => {\n const stepSize = StepSizes[stepHashIndex]\n const stepStart = blockNumber - stepSize + 1\n const stepStop = blockNumber\n\n return [`Step ${stepHashIndex} (${stepSize})`, `${formatNumber(stepStart)} - ${formatNumber(stepStop)}`]\n}\n\nexport const useBlockDetails = (wrapper: HydratedBlockInstance | undefined, viewer?: XyoViewer) => {\n const stats = useMemo(() => {\n if (isUndefined(wrapper)) return\n const epochDate = new Date(wrapper.boundWitness.$epoch)\n const stats = {\n Height: formatNumber(wrapper.boundWitness.block),\n // protocol should always be defined except for malformed blocks and very early blocks in the chain\n Protocol: wrapper.boundWitness.protocol?.toString() ?? 'N/A',\n Signatures: formatNumber(wrapper.signatureCount),\n $epoch: `${epochDate.toLocaleDateString()} ${epochDate.toLocaleTimeString()}`,\n }\n\n return formatResults(stats)\n }, [wrapper])\n\n const payloads = useMemo(() => {\n if (isUndefined(wrapper)) return\n const payloads = {\n 'Transactions': formatNumber(wrapper.transactionCount),\n 'Total Payloads': formatNumber(wrapper.payloadCount),\n }\n\n return formatResults(payloads)\n }, [wrapper])\n\n const [stepHashes, stepHashesError, stepHashesLoading] = usePromise(async () => {\n if (isUndefined(wrapper) || isUndefined(viewer)) return\n const stepHashes: Record<string, string> = {}\n for (const [index, hash] of (wrapper.boundWitness.step_hashes ?? []).entries()) {\n try {\n const block = await viewer.blockByHash(hash)\n if (block === null) {\n console.warn(`Block not found for step hash ${hash}`)\n stepHashes[`Step ${index}`] = 'N/A'\n continue\n }\n\n const blockNumber = block[0].block\n const [label, value] = generateStepHashText(blockNumber, index)\n stepHashes[label] = value\n } catch (e) {\n console.error(`Error fetching block for step hash ${hash}:`, e)\n stepHashes[`Step ${index}`] = 'N/A'\n }\n }\n\n return formatResults(stepHashes)\n }, [wrapper, viewer], { defaultValue: { labels: [], values: [] } })\n\n return {\n stats, payloads, stepHashes, stepHashesError, stepHashesLoading,\n }\n}\n","import { DataObject as DataObjectIcon } from '@mui/icons-material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { ellipsize } from '@xylabs/sdk-js'\nimport { BWPreviousHashQuickTipButton } from '@xyo-network/react-boundwitness-plugin'\nimport { usePayloadHash } from '@xyo-network/react-shared'\nimport type { SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'\nimport React from 'react'\n\nimport { TransactionVerification } from './TransactionVerification.tsx'\n\nexport interface TransactionActionsProps extends FlexBoxProps {\n transaction?: SignedHydratedTransactionWithStorageMeta | null\n validationIconColors?: boolean\n}\n\nexport const TransactionActions: React.FC<TransactionActionsProps> = ({\n transaction,\n validationIconColors = false,\n ...props\n}) => {\n const txBw = transaction?.[0]\n const hash = usePayloadHash(txBw)\n return (\n <FlexRow {...props}>\n {txBw?.previous_hashes.length === 0 ? null : <BWPreviousHashQuickTipButton boundwitness={txBw} />}\n <TransactionVerification iconColors={validationIconColors} transaction={transaction} />\n <QuickTipButton\n Icon={DataObjectIcon}\n title={`JSON for ${ellipsize(hash ?? '', 8)}`}\n dialogProps={{ fullWidth: true, maxWidth: 'md' }}\n >\n <pre style={{ wordBreak: 'break-all' }}>{transaction ? JSON.stringify(transaction, null, 2) : null}</pre>\n </QuickTipButton>\n </FlexRow>\n )\n}\n","import { CancelRounded as CancelRoundedIcon } from '@mui/icons-material'\nimport type { SvgIconProps } from '@mui/material'\nimport { ErrorQuickTipButton } from '@xylabs/react-error'\nimport { usePromise } from '@xylabs/react-promise'\nimport type { QuickTipButtonProps } from '@xylabs/react-quick-tip-button'\nimport { assertEx, isDefined } from '@xylabs/sdk-js'\nimport type { HydratedTransactionValidationError, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'\nimport { isSignedHydratedTransactionWithStorageMeta, validateTransaction } from '@xyo-network/xl1-sdk'\nimport React, { useMemo } from 'react'\n\nconst InvalidIcon = ({ ref, ...props }: SvgIconProps\n & { ref?: React.Ref<SVGSVGElement | null> }) => <CancelRoundedIcon color=\"error\" ref={ref} {...props} />\nInvalidIcon.displayName = 'InvalidIcon'\n\nexport interface TxVerification extends QuickTipButtonProps {\n iconColors?: boolean\n transaction?: SignedHydratedTransactionWithStorageMeta | null\n}\n\nexport const TransactionVerification: React.FC<TxVerification> = ({ transaction, ...props }) => {\n const [validationErrors, validateError] = usePromise(async () => {\n if (isDefined(transaction)) {\n const resolvedTransaction = assertEx(isSignedHydratedTransactionWithStorageMeta(transaction)\n ? transaction\n : undefined, () => 'Transaction must be a SignedHydratedTransactionWithStorageMeta')\n return await validateTransaction({ singletons: {}, chainId: resolvedTransaction[0].chain }, resolvedTransaction)\n }\n }, [transaction])\n\n const resolvedErrors = useMemo(() => {\n const errors: (Error | HydratedTransactionValidationError)[] = []\n if (isDefined(validationErrors)) {\n if (Array.isArray(validationErrors)) errors.push(...validationErrors)\n if (validationErrors instanceof Error) errors.push(validationErrors)\n if (isDefined(validateError)) errors.push(validateError)\n return errors\n }\n }, [validateError, validationErrors])\n\n return (\n <ErrorQuickTipButton boundWitnessType=\"Transaction\" errors={resolvedErrors} {...props} />\n )\n}\n","import type { CardProps } from '@mui/material'\nimport {\n Card, CardContent, CardHeader, Grid, Icon, IconButton, Link, Tooltip, Typography,\n} from '@mui/material'\nimport {\n ellipsize, isDefined, isUndefined,\n} from '@xylabs/sdk-js'\nimport { BlockiesAvatarAddress } from '@xyo-network/react-chain-blockies'\nimport { DetailsStack, LabelValueStack } from '@xyo-network/react-chain-shared'\nimport { useEvent } from '@xyo-network/react-event'\nimport type { HydratedTransactionInstance } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { FaCopy } from 'react-icons/fa'\nimport { GiReceiveMoney, GiSandsOfTime } from 'react-icons/gi'\nimport { IoStatsChartOutline } from 'react-icons/io5'\n\nimport { useTransactionDetails } from './hooks/index.ts'\n\nexport interface TransactionBoundWitnessCardProps extends CardProps {\n linkedAddress?: boolean\n wrapper?: HydratedTransactionInstance\n}\n\nexport const TransactionBoundWitnessCard: React.FC<TransactionBoundWitnessCardProps> = ({\n linkedAddress = true, wrapper, ...props\n}) => {\n const chainId = wrapper?.boundWitness.chain\n\n const {\n stats, fees, blockDuration,\n } = useTransactionDetails(wrapper)\n\n const [ref, dispatch] = useEvent<HTMLDivElement>()\n\n if (isUndefined(wrapper) || isUndefined(stats) || isUndefined(fees) || isUndefined(blockDuration)) return null\n return (\n <Card ref={ref} {...props}>\n <CardHeader\n title={(\n <Typography\n onClick={() => linkedAddress && dispatch('address', 'click', wrapper.boundWitness.from)}\n variant=\"body2\"\n sx={{\n maxWidth: '100%', textOverflow: 'ellipsis', overflow: 'hidden', fontFamily: 'monospace',\n }}\n >\n {linkedAddress\n ? (\n <Link sx={{ cursor: 'pointer' }}>{wrapper?.boundWitness.from}</Link>\n )\n : wrapper?.boundWitness.from}\n </Typography>\n )}\n subheader={isDefined(chainId)\n ? (\n <Typography\n variant=\"subtitle2\"\n sx={{\n fontFamily: 'monospace', fontSize: 12, opacity: 0.5, mt: 0.25,\n }}\n title={`chain: ${chainId}`}\n >\n {ellipsize(chainId, 8)}\n <IconButton size=\"small\" onClick={() => void navigator.clipboard.writeText(chainId)}>\n <Icon sx={{ fontSize: '0.7rem' }}>\n <FaCopy />\n </Icon>\n </IconButton>\n </Typography>\n )\n : null}\n avatar={(\n <Tooltip title={`From Address - ${wrapper?.boundWitness.from}`}>\n <BlockiesAvatarAddress\n address={wrapper?.boundWitness.from}\n onClick={() => dispatch('address', 'click', wrapper.boundWitness.from)}\n size={21}\n sx={{ cursor: 'pointer' }}\n />\n </Tooltip>\n )}\n />\n <CardContent>\n <Grid container spacing={6} sx={{ width: '100%' }}>\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 { isUndefined } from '@xylabs/sdk-js'\nimport type { HydratedTransactionInstance } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nimport {\n formatFee, formatNumber, formatResults,\n} from '../../../../lib/index.ts'\n\nexport const useTransactionDetails = (wrapper: HydratedTransactionInstance | undefined) => {\n const stats = useMemo(() => {\n if (isUndefined(wrapper)) return\n const stats = {\n 'Reward': formatNumber(wrapper.reward()),\n 'On Chain Payloads': formatNumber(wrapper.elevatedPayloadCount),\n 'Public Payloads': formatNumber(Object.values(wrapper.publicExternalPayloads).length),\n 'Referenced Payloads': formatNumber(Object.entries(wrapper.privateExternalPayloads).length),\n 'Signatures': formatNumber(wrapper.signatureCount),\n }\n\n return formatResults(stats)\n }, [wrapper])\n\n const fees = useMemo(() => {\n if (isUndefined(wrapper)) return\n const fees = {\n 'Base': formatFee(wrapper.fees.base),\n 'Gas': formatFee(wrapper.fees.gasPrice),\n 'Priority': formatFee(wrapper.fees.priority),\n 'Gas Limit': formatFee(wrapper.fees.gasLimit),\n }\n\n return formatResults(fees)\n }, [wrapper])\n\n const blockDuration = useMemo(() => {\n if (isUndefined(wrapper)) return\n const blockDuration = {\n 'Expiration': wrapper.boundWitness.exp.toLocaleString(navigator.language ?? 'en-US'),\n 'Not Before': wrapper.boundWitness.nbf.toLocaleString(navigator.language ?? 'en-US'),\n }\n\n return formatResults(blockDuration)\n }, [wrapper])\n\n return {\n stats, fees, blockDuration,\n }\n}\n","import { ErrorRender } from '@xylabs/react-error'\nimport { type FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { usePromise } from '@xylabs/react-promise'\nimport {\n BoundWitnessSignatureTable, HashHeadingPaper, HeadingPaper,\n} from '@xyo-network/react-boundwitness-plugin'\nimport type { SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-sdk'\nimport { HydratedTransactionWrapper } from '@xyo-network/xl1-sdk'\nimport React from 'react'\nimport { FaSignature } from 'react-icons/fa'\nimport { VscSymbolNamespace } from 'react-icons/vsc'\n\nimport { PayloadTableFlexbox } from '../PayloadTable.tsx'\nimport { TransactionActions, TransactionBoundWitnessCard } from './card/index.ts'\nimport { useTransactionPayloadTypes } from './hooks/index.ts'\n\nexport interface TransactionBoundWitnessDetailsProps extends FlexBoxProps {\n linkedProducerAddress?: boolean\n transaction?: SignedHydratedTransactionWithStorageMeta | null\n}\n\nexport const TransactionBoundWitnessDetails: React.FC<TransactionBoundWitnessDetailsProps> = ({\n linkedProducerAddress, transaction, ...props\n}) => {\n const [wrapper, wrapperError] = usePromise(async () => {\n if (transaction) {\n return await HydratedTransactionWrapper.parse(transaction)\n }\n }, [transaction])\n\n const {\n elevatedPayloadHashes, elevatedPayloadSchemas, elevatedPayloadSetsError,\n publicPayloadHashes, publicPayloadSchemas, publicPayloadsError,\n referencedPayloadHashes, referencedPayloadSchemas, referencedPayloadsError,\n } = useTransactionPayloadTypes(wrapper)\n\n return (\n <FlexCol alignItems=\"stretch\" rowGap={2} {...props}>\n <HashHeadingPaper\n hash={wrapper?.boundWitness?._hash}\n paperProps={{ sx: { p: 2 } }}\n AdornmentEnd={<TransactionActions transaction={transaction} />}\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 <ErrorRender error={publicPayloadsError} scope=\"publicPayloadsError:TransactionBoundWitnessDetails.tsx\" />\n {referencedPayloadsError.map(error =>\n <ErrorRender key={error.message} error={error} scope=\"referencedPayloadsError:TransactionBoundWitnessDetails.tsx\" />)}\n <TransactionBoundWitnessCard elevation={4} linkedAddress={linkedProducerAddress} wrapper={wrapper} />\n <PayloadTableFlexbox\n eventNoun=\"payload\"\n clickableFields={['hash']}\n tooltip=\"Payloads included in the transaction that are elevated and validated.\"\n IconComponent={<VscSymbolNamespace />}\n hashes={elevatedPayloadHashes}\n headingTitle=\"On Chain Payloads\"\n schemas={elevatedPayloadSchemas}\n sx={{ mb: 1 }}\n />\n {(publicPayloadHashes?.length ?? 0) > 0\n ? (\n <PayloadTableFlexbox\n eventNoun=\"payload\"\n clickableFields={['hash']}\n tooltip=\"Public payloads included in the transaction.\"\n IconComponent={<VscSymbolNamespace />}\n hashes={publicPayloadHashes}\n headingTitle=\"Public Payloads\"\n schemas={publicPayloadSchemas}\n sx={{ mb: 1 }}\n />\n )\n : null}\n {(referencedPayloadHashes?.length ?? 0) > 0\n ? (\n <PayloadTableFlexbox\n eventNoun=\"payload\"\n clickableFields={['hash']}\n tooltip=\"Payload hashes referenced by the transaction but not included.\"\n IconComponent={<VscSymbolNamespace />}\n hashes={referencedPayloadHashes}\n headingTitle=\"Referenced Payloads\"\n schemas={referencedPayloadSchemas}\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={wrapper?.boundWitness} />\n </FlexCol>\n </FlexCol>\n )\n}\n","import { usePromise } from '@xylabs/react-promise'\nimport type { Hash } from '@xylabs/sdk-js'\nimport { isDefined, isHash } from '@xylabs/sdk-js'\nimport type { Schema } from '@xyo-network/sdk-js'\nimport { isSchema, PayloadBuilder } from '@xyo-network/sdk-js'\nimport type { HydratedTransactionInstance } from '@xyo-network/xl1-sdk'\nimport { useMemo } from 'react'\n\nimport { formatPayloadsForTable } from '../../../lib/index.ts'\n\nexport const useTransactionPayloadTypes = (wrapper?: HydratedTransactionInstance) => {\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 [publicPayloads, publicPayloadsError] = usePromise(async () => {\n if (isDefined(wrapper)) {\n const publicPayloads = wrapper.publicExternalPayloads\n const pairs = await PayloadBuilder.hashPairs(publicPayloads)\n return formatPayloadsForTable(pairs)\n } else {\n return { hashes: [], schemas: [] }\n }\n }, [wrapper])\n\n const [referencedPayloads, referencedPayloadsError] = useMemo(() => {\n const ret = { hashes: [] as Hash[], schemas: [] as Schema[] }\n const errors: Error[] = []\n if (isDefined(wrapper)) {\n const referencedPayloads = wrapper.privateExternalPayloads\n for (const [hash, schema] of Object.entries(referencedPayloads)) {\n const hashValid = isHash(hash)\n const schemaValid = isSchema(schema)\n if (hashValid) ret.hashes.push(hash)\n if (schemaValid) ret.schemas.push(schema)\n if (!hashValid && !schemaValid) {\n errors.push(new Error(`Unexpected payload or schema type for hash ${hash}: ${schema}`))\n }\n }\n }\n return [ret, errors] as const\n }, [wrapper])\n\n const { hashes: elevatedPayloadHashes, schemas: elevatedPayloadSchemas } = elevatedPayloadSets ?? {}\n const { hashes: publicPayloadHashes, schemas: publicPayloadSchemas } = publicPayloads ?? {}\n const { hashes: referencedPayloadHashes, schemas: referencedPayloadSchemas } = referencedPayloads ?? {}\n\n return {\n elevatedPayloadHashes,\n elevatedPayloadSchemas,\n elevatedPayloadSetsError,\n publicPayloadHashes,\n publicPayloadSchemas,\n publicPayloadsError,\n referencedPayloadHashes,\n referencedPayloadSchemas,\n referencedPayloadsError,\n }\n}\n"],"mappings":"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","names":["ErrorRender","FlexCol","usePromise","filterAs","isBoundWitness","HydratedBlockWrapper","BoundWitnessPayloadsTable","BoundWitnessSignatureTable","HashHeadingPaper","HeadingPaper","useTxsFromBlock","usePayloadHash","PayloadBuilder","isTransactionBoundWitness","React","useMemo","FaSignature","GrTransaction","VscSymbolMethod","VscSymbolNamespace","isUndefined","bigIntToFixedPointString","formatFee","fee","isUndefined","stringValue","bigIntToFixedPointString","formatNumber","num","toLocaleString","navigator","language","formatPayloadsForTable","pairs","hashes","schemas","bw","hash","push","schema","formatResults","results","result","labels","values","label","value","Object","entries","push","InfoOutline","Tooltip","FlexCol","isDefined","BoundWitnessPayloadTableBody","BoundWitnessPayloadTableHead","HeadingPaper","TableEx","React","VscSymbolMethod","PayloadTableFlexbox","IconComponent","eventNoun","hashes","schemas","headingTitle","clickableFields","tooltip","props","resolvedIconComponent","VscSymbolMethod","FlexCol","alignItems","rowGap","HeadingPaper","AdornmentEnd","isDefined","Tooltip","title","InfoOutline","fontSize","sx","py","px","heading","TableEx","BoundWitnessPayloadTableHead","BoundWitnessPayloadTableBody","payloadHashes","payloadSchemas","DataObject","DataObjectIcon","FlexRow","QuickTipButton","ellipsize","BWPreviousHashQuickTipButton","usePayloadHash","React","CancelRounded","CancelRoundedIcon","ErrorQuickTipButton","usePromise","assertEx","isDefined","validateBlock","useBaseContext","isBlockBoundWitness","React","useMemo","InvalidIcon","ref","props","React","CancelRoundedIcon","color","displayName","BlockBoundWitnessVerification","block","context","useBaseContext","validationErrors","validateError","usePromise","isDefined","resolvedBlock","assertEx","isBlockBoundWitness","undefined","validateBlock","resolvedErrors","useMemo","errors","Array","isArray","push","Error","ErrorQuickTipButton","boundWitnessType","BlockBoundWitnessActions","boundwitness","validationIconColors","props","hash","usePayloadHash","React","FlexRow","previous_hashes","length","BWPreviousHashQuickTipButton","BlockBoundWitnessVerification","iconColors","block","QuickTipButton","Icon","DataObjectIcon","title","ellipsize","dialogProps","fullWidth","maxWidth","pre","style","wordBreak","JSON","stringify","Card","CardContent","Grid","Skeleton","Stack","ErrorRender","isUndefined","DetailsStack","LabelValueStack","React","GrSteps","IoStatsChartOutline","VscSymbolNamespace","CardHeader","Icon","IconButton","Link","Tooltip","Typography","ellipsize","isDefined","BlockiesAvatarAddress","useEvent","React","FaCopy","BlockBoundWitnessCardHeader","linked","address","chainId","ref","dispatch","useEvent","React","CardHeader","title","Typography","onClick","variant","sx","maxWidth","textOverflow","overflow","fontFamily","Link","cursor","subheader","isDefined","fontSize","opacity","mt","ellipsize","IconButton","size","navigator","clipboard","writeText","Icon","FaCopy","avatar","Tooltip","BlockiesAvatarAddress","usePromise","isUndefined","StepSizes","useMemo","generateStepHashText","blockNumber","stepHashIndex","stepSize","StepSizes","stepStart","stepStop","formatNumber","useBlockDetails","wrapper","viewer","stats","useMemo","isUndefined","epochDate","Date","boundWitness","$epoch","Height","block","Protocol","protocol","toString","Signatures","signatureCount","toLocaleDateString","toLocaleTimeString","formatResults","payloads","transactionCount","payloadCount","stepHashes","stepHashesError","stepHashesLoading","usePromise","index","hash","step_hashes","entries","blockByHash","console","warn","label","value","e","error","defaultValue","labels","values","BlockBoundWitnessCard","linkedAddress","viewer","wrapper","props","stats","payloads","stepHashes","stepHashesError","stepHashesLoading","useBlockDetails","isUndefined","React","Card","boundWitness","addresses","map","address","BlockBoundWitnessCardHeader","key","linked","chainId","chain","ErrorRender","error","scope","CardContent","Grid","container","spacing","sx","width","size","xs","sm","md","DetailsStack","IconComponent","IoStatsChartOutline","heading","tooltipTitle","LabelValueStack","labels","values","VscSymbolNamespace","GrSteps","Stack","gap","Skeleton","variant","height","BlockBoundWitnessDetails","block","paper","viewer","children","props","wrapper","wrapperError","usePromise","HydratedBlockWrapper","parse","boundWitness","payloads","hash","usePayloadHash","transactions","txFromBlockError","useTxsFromBlock","hashes","txHashes","schemas","txSchemas","useMemo","formatPayloadsForTable","nonTxBoundWitnesses","bwsFromBlockError","bws","filterAs","payload","isTransactionBoundWitness","isBoundWitness","undefined","PayloadBuilder","hashPairs","nonTxBwHashes","nonTxBwSchemas","hasNonTxBoundWitnesses","length","React","FlexCol","alignItems","rowGap","ErrorRender","error","scope","HashHeadingPaper","paperProps","sx","p","AdornmentEnd","BlockBoundWitnessActions","boundwitness","identiconProps","size","BlockBoundWitnessCard","elevation","PayloadTableFlexbox","IconComponent","GrTransaction","eventNoun","clickableFields","headingTitle","mb","HeadingPaper","VscSymbolNamespace","heading","BoundWitnessPayloadsTable","VscSymbolMethod","FaSignature","BoundWitnessSignatureTable","DataObject","DataObjectIcon","FlexRow","QuickTipButton","ellipsize","BWPreviousHashQuickTipButton","usePayloadHash","React","CancelRounded","CancelRoundedIcon","ErrorQuickTipButton","usePromise","assertEx","isDefined","isSignedHydratedTransactionWithStorageMeta","validateTransaction","React","useMemo","InvalidIcon","ref","props","React","CancelRoundedIcon","color","displayName","TransactionVerification","transaction","validationErrors","validateError","usePromise","isDefined","resolvedTransaction","assertEx","isSignedHydratedTransactionWithStorageMeta","undefined","validateTransaction","singletons","chainId","chain","resolvedErrors","useMemo","errors","Array","isArray","push","Error","ErrorQuickTipButton","boundWitnessType","TransactionActions","transaction","validationIconColors","props","txBw","hash","usePayloadHash","React","FlexRow","previous_hashes","length","BWPreviousHashQuickTipButton","boundwitness","TransactionVerification","iconColors","QuickTipButton","Icon","DataObjectIcon","title","ellipsize","dialogProps","fullWidth","maxWidth","pre","style","wordBreak","JSON","stringify","Card","CardContent","CardHeader","Grid","Icon","IconButton","Link","Tooltip","Typography","ellipsize","isDefined","isUndefined","BlockiesAvatarAddress","DetailsStack","LabelValueStack","useEvent","React","FaCopy","GiReceiveMoney","GiSandsOfTime","IoStatsChartOutline","isUndefined","useMemo","useTransactionDetails","wrapper","stats","useMemo","isUndefined","formatNumber","reward","elevatedPayloadCount","Object","values","publicExternalPayloads","length","entries","privateExternalPayloads","signatureCount","formatResults","fees","formatFee","base","gasPrice","priority","gasLimit","blockDuration","boundWitness","exp","toLocaleString","navigator","language","nbf","TransactionBoundWitnessCard","linkedAddress","wrapper","props","chainId","boundWitness","chain","stats","fees","blockDuration","useTransactionDetails","ref","dispatch","useEvent","isUndefined","React","Card","CardHeader","title","Typography","onClick","from","variant","sx","maxWidth","textOverflow","overflow","fontFamily","Link","cursor","subheader","isDefined","fontSize","opacity","mt","ellipsize","IconButton","size","navigator","clipboard","writeText","Icon","FaCopy","avatar","Tooltip","BlockiesAvatarAddress","address","CardContent","Grid","container","spacing","width","xs","sm","md","DetailsStack","IconComponent","IoStatsChartOutline","heading","tooltipTitle","LabelValueStack","labels","values","GiReceiveMoney","GiSandsOfTime","ErrorRender","FlexCol","usePromise","BoundWitnessSignatureTable","HashHeadingPaper","HeadingPaper","HydratedTransactionWrapper","React","FaSignature","VscSymbolNamespace","usePromise","isDefined","isHash","isSchema","PayloadBuilder","useMemo","useTransactionPayloadTypes","wrapper","elevatedPayloadSets","elevatedPayloadSetsError","usePromise","isDefined","elevatedPayloads","pairs","PayloadBuilder","hashPairs","formatPayloadsForTable","hashes","schemas","publicPayloads","publicPayloadsError","publicExternalPayloads","referencedPayloads","referencedPayloadsError","useMemo","ret","errors","privateExternalPayloads","hash","schema","Object","entries","hashValid","isHash","schemaValid","isSchema","push","Error","elevatedPayloadHashes","elevatedPayloadSchemas","publicPayloadHashes","publicPayloadSchemas","referencedPayloadHashes","referencedPayloadSchemas","TransactionBoundWitnessDetails","linkedProducerAddress","transaction","props","wrapper","wrapperError","usePromise","HydratedTransactionWrapper","parse","elevatedPayloadHashes","elevatedPayloadSchemas","elevatedPayloadSetsError","publicPayloadHashes","publicPayloadSchemas","publicPayloadsError","referencedPayloadHashes","referencedPayloadSchemas","referencedPayloadsError","useTransactionPayloadTypes","React","FlexCol","alignItems","rowGap","HashHeadingPaper","hash","boundWitness","_hash","paperProps","sx","p","AdornmentEnd","TransactionActions","identiconProps","size","ErrorRender","error","scope","map","key","message","TransactionBoundWitnessCard","elevation","linkedAddress","PayloadTableFlexbox","eventNoun","clickableFields","tooltip","IconComponent","VscSymbolNamespace","hashes","headingTitle","schemas","mb","length","HeadingPaper","FaSignature","heading","BoundWitnessSignatureTable","block"]}
|
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.
|
|
4
|
+
"version": "1.21.0",
|
|
5
5
|
"description": "XYO Layer One React SDK BoundWitness",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -39,18 +39,18 @@
|
|
|
39
39
|
"README.md"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@xyo-network/chain-
|
|
43
|
-
"@xyo-network/react-chain-blockies": "~1.
|
|
44
|
-
"@xyo-network/
|
|
45
|
-
"@xyo-network/
|
|
46
|
-
"@xyo-network/chain-
|
|
47
|
-
"@xyo-network/chain-
|
|
42
|
+
"@xyo-network/chain-validation": "~1.21.0",
|
|
43
|
+
"@xyo-network/react-chain-blockies": "~1.21.0",
|
|
44
|
+
"@xyo-network/chain-utils": "~1.21.0",
|
|
45
|
+
"@xyo-network/chain-wrappers": "~1.21.0",
|
|
46
|
+
"@xyo-network/react-chain-shared": "~1.21.0",
|
|
47
|
+
"@xyo-network/react-chain-blockchain": "~1.21.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@bitauth/libauth": "~3.0.0",
|
|
51
51
|
"@emotion/react": "^11.14.0",
|
|
52
52
|
"@emotion/styled": "^11.14.1",
|
|
53
|
-
"@metamask/json-rpc-engine": "^10.
|
|
53
|
+
"@metamask/json-rpc-engine": "^10.3.0",
|
|
54
54
|
"@metamask/providers": "^22.1.1",
|
|
55
55
|
"@metamask/utils": "~11.11.0",
|
|
56
56
|
"@mui/icons-material": "^7.3.10",
|
|
@@ -59,206 +59,238 @@
|
|
|
59
59
|
"@mui/x-charts": "~8.28.2",
|
|
60
60
|
"@mui/x-tree-view": "~8.27.2",
|
|
61
61
|
"@opentelemetry/api": "^1.9.1",
|
|
62
|
-
"@opentelemetry/sdk-trace-base": "^2.7.
|
|
62
|
+
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
63
|
+
"@react-spring/web": "~10.0.3",
|
|
63
64
|
"@rollbar/react": "~1.0.0",
|
|
64
65
|
"@scure/base": "~2.2.0",
|
|
65
66
|
"@scure/bip39": "~2.2.0",
|
|
66
|
-
"@storybook/react-vite": "^10.3.
|
|
67
|
+
"@storybook/react-vite": "^10.3.6",
|
|
67
68
|
"@textea/json-viewer": "^4.0.1",
|
|
68
|
-
"@types/node": "^25.6.0",
|
|
69
69
|
"@types/react": "^19.2.14",
|
|
70
|
-
"@xylabs/
|
|
71
|
-
"@xylabs/
|
|
72
|
-
"@xylabs/
|
|
73
|
-
"@xylabs/react-
|
|
74
|
-
"@xylabs/react-
|
|
75
|
-
"@xylabs/react-
|
|
76
|
-
"@xylabs/react-
|
|
77
|
-
"@xylabs/react-
|
|
78
|
-
"@xylabs/react-
|
|
79
|
-
"@xylabs/react-
|
|
80
|
-
"@xylabs/react-
|
|
81
|
-
"@xylabs/react-
|
|
82
|
-
"@xylabs/react-
|
|
83
|
-
"@xylabs/react-
|
|
84
|
-
"@xylabs/react-
|
|
85
|
-
"@xylabs/
|
|
86
|
-
"@xylabs/
|
|
87
|
-
"@xylabs/
|
|
88
|
-
"@xylabs/
|
|
89
|
-
"@xylabs/tsconfig
|
|
90
|
-
"@xylabs/tsconfig-
|
|
91
|
-
"@xylabs/
|
|
92
|
-
"@xyo-network/account": "~5.
|
|
93
|
-
"@xyo-network/account-model": "~5.
|
|
94
|
-
"@xyo-network/api": "~5.
|
|
95
|
-
"@xyo-network/api-models": "~5.
|
|
96
|
-
"@xyo-network/boundwitness-builder": "~5.
|
|
97
|
-
"@xyo-network/boundwitness-model": "~5.
|
|
98
|
-
"@xyo-network/boundwitness-validator": "~5.
|
|
99
|
-
"@xyo-network/boundwitness-wrapper": "~5.
|
|
100
|
-
"@xyo-network/config-payload-plugin": "~5.
|
|
101
|
-
"@xyo-network/diviner-model": "^5.
|
|
102
|
-
"@xyo-network/diviner-schema-list": "~5.
|
|
103
|
-
"@xyo-network/diviner-schema-stats": "~5.
|
|
104
|
-
"@xyo-network/hash": "~5.
|
|
105
|
-
"@xyo-network/huri": "~5.
|
|
106
|
-
"@xyo-network/manifest-model": "~5.
|
|
107
|
-
"@xyo-network/module-abstract": "^5.
|
|
108
|
-
"@xyo-network/module-model": "^5.
|
|
109
|
-
"@xyo-network/network": "~5.
|
|
110
|
-
"@xyo-network/node-core-types": "~4.1
|
|
111
|
-
"@xyo-network/node-memory": "~5.
|
|
112
|
-
"@xyo-network/node-model": "^5.
|
|
113
|
-
"@xyo-network/payload-builder": "~5.
|
|
114
|
-
"@xyo-network/payload-model": "~5.
|
|
115
|
-
"@xyo-network/payload-plugin": "~5.
|
|
116
|
-
"@xyo-network/payload-validator": "^5.
|
|
117
|
-
"@xyo-network/payload-wrapper": "~5.
|
|
118
|
-
"@xyo-network/payloadset-plugin": "^5.
|
|
119
|
-
"@xyo-network/query-payload-plugin": "~5.
|
|
120
|
-
"@xyo-network/react-boundwitness-plugin": "~7.
|
|
121
|
-
"@xyo-network/react-error": "~7.
|
|
122
|
-
"@xyo-network/react-event": "~7.
|
|
123
|
-
"@xyo-network/react-payload-raw-info": "~7.
|
|
124
|
-
"@xyo-network/react-payload-table": "~7.
|
|
125
|
-
"@xyo-network/react-shared": "~7.
|
|
126
|
-
"@xyo-network/react-table": "~7.
|
|
127
|
-
"@xyo-network/schema-cache": "~5.
|
|
128
|
-
"@xyo-network/schema-payload-plugin": "~5.
|
|
129
|
-
"@xyo-network/sdk-js": "^5.
|
|
130
|
-
"@xyo-network/sdk-protocol-js": "~5.
|
|
70
|
+
"@xylabs/fetch": "~5.1.1",
|
|
71
|
+
"@xylabs/geo": "^5.1.1",
|
|
72
|
+
"@xylabs/pixel": "~5.1.1",
|
|
73
|
+
"@xylabs/react-animation": "~7.2.3",
|
|
74
|
+
"@xylabs/react-async-effect": "^7.2.3",
|
|
75
|
+
"@xylabs/react-button": "~7.2.3",
|
|
76
|
+
"@xylabs/react-error": "~7.2.3",
|
|
77
|
+
"@xylabs/react-flexbox": "~7.2.3",
|
|
78
|
+
"@xylabs/react-hooks": "~7.2.3",
|
|
79
|
+
"@xylabs/react-identicon": "~7.2.3",
|
|
80
|
+
"@xylabs/react-link": "~7.2.3",
|
|
81
|
+
"@xylabs/react-promise": "^7.2.3",
|
|
82
|
+
"@xylabs/react-quick-tip-button": "^7.2.3",
|
|
83
|
+
"@xylabs/react-select": "~7.2.3",
|
|
84
|
+
"@xylabs/react-shared": "~7.2.3",
|
|
85
|
+
"@xylabs/react-theme": "~7.2.3",
|
|
86
|
+
"@xylabs/sdk-js": "^5.1.1",
|
|
87
|
+
"@xylabs/threads": "~5.1.1",
|
|
88
|
+
"@xylabs/toolchain": "~7.13.7",
|
|
89
|
+
"@xylabs/tsconfig": "~7.13.7",
|
|
90
|
+
"@xylabs/tsconfig-dom": "~7.13.7",
|
|
91
|
+
"@xylabs/tsconfig-react": "~7.13.7",
|
|
92
|
+
"@xyo-network/account": "~5.6.1",
|
|
93
|
+
"@xyo-network/account-model": "~5.6.2",
|
|
94
|
+
"@xyo-network/api": "~5.6.1",
|
|
95
|
+
"@xyo-network/api-models": "~5.6.2",
|
|
96
|
+
"@xyo-network/boundwitness-builder": "~5.6.1",
|
|
97
|
+
"@xyo-network/boundwitness-model": "~5.6.2",
|
|
98
|
+
"@xyo-network/boundwitness-validator": "~5.6.1",
|
|
99
|
+
"@xyo-network/boundwitness-wrapper": "~5.6.1",
|
|
100
|
+
"@xyo-network/config-payload-plugin": "~5.6.2",
|
|
101
|
+
"@xyo-network/diviner-model": "^5.6.3",
|
|
102
|
+
"@xyo-network/diviner-schema-list": "~5.6.3",
|
|
103
|
+
"@xyo-network/diviner-schema-stats": "~5.6.3",
|
|
104
|
+
"@xyo-network/hash": "~5.6.2",
|
|
105
|
+
"@xyo-network/huri": "~5.6.1",
|
|
106
|
+
"@xyo-network/manifest-model": "~5.6.2",
|
|
107
|
+
"@xyo-network/module-abstract": "^5.6.3",
|
|
108
|
+
"@xyo-network/module-model": "^5.6.3",
|
|
109
|
+
"@xyo-network/network": "~5.6.2",
|
|
110
|
+
"@xyo-network/node-core-types": "~4.2.1",
|
|
111
|
+
"@xyo-network/node-memory": "~5.6.3",
|
|
112
|
+
"@xyo-network/node-model": "^5.6.3",
|
|
113
|
+
"@xyo-network/payload-builder": "~5.6.1",
|
|
114
|
+
"@xyo-network/payload-model": "~5.6.2",
|
|
115
|
+
"@xyo-network/payload-plugin": "~5.6.2",
|
|
116
|
+
"@xyo-network/payload-validator": "^5.6.2",
|
|
117
|
+
"@xyo-network/payload-wrapper": "~5.6.1",
|
|
118
|
+
"@xyo-network/payloadset-plugin": "^5.6.3",
|
|
119
|
+
"@xyo-network/query-payload-plugin": "~5.6.2",
|
|
120
|
+
"@xyo-network/react-boundwitness-plugin": "~7.6.2",
|
|
121
|
+
"@xyo-network/react-error": "~7.6.2",
|
|
122
|
+
"@xyo-network/react-event": "~7.6.2",
|
|
123
|
+
"@xyo-network/react-payload-raw-info": "~7.6.2",
|
|
124
|
+
"@xyo-network/react-payload-table": "~7.6.2",
|
|
125
|
+
"@xyo-network/react-shared": "~7.6.2",
|
|
126
|
+
"@xyo-network/react-table": "~7.6.2",
|
|
127
|
+
"@xyo-network/schema-cache": "~5.6.2",
|
|
128
|
+
"@xyo-network/schema-payload-plugin": "~5.6.2",
|
|
129
|
+
"@xyo-network/sdk-js": "^5.6.3",
|
|
130
|
+
"@xyo-network/sdk-protocol-js": "~5.6.2",
|
|
131
131
|
"@xyo-network/typeof": "~5.3.30",
|
|
132
|
-
"@xyo-network/wallet": "~5.
|
|
133
|
-
"@xyo-network/wallet-model": "^5.
|
|
134
|
-
"@xyo-network/xl1-sdk": "^1.
|
|
135
|
-
"ajv": "^8.
|
|
132
|
+
"@xyo-network/wallet": "~5.6.1",
|
|
133
|
+
"@xyo-network/wallet-model": "^5.6.2",
|
|
134
|
+
"@xyo-network/xl1-sdk": "^1.27.1",
|
|
135
|
+
"ajv": "^8.20.0",
|
|
136
136
|
"async-mutex": "^0.5.0",
|
|
137
|
-
"axios": "^1.15.2",
|
|
138
137
|
"bn.js": "^5.2.3",
|
|
139
138
|
"bowser": "^2.14.1",
|
|
140
139
|
"buffer": "^6.0.3",
|
|
141
140
|
"chalk": "^5.6.2",
|
|
142
141
|
"cosmiconfig": "^9.0.1",
|
|
143
142
|
"debug": "~4.4.3",
|
|
144
|
-
"
|
|
145
|
-
"eslint": "^10.2.1",
|
|
143
|
+
"eslint": "^10.3.0",
|
|
146
144
|
"ethers": "^6.16.0",
|
|
147
145
|
"fast-deep-equal": "~3.1.3",
|
|
148
146
|
"hash-wasm": "~4.12.0",
|
|
149
147
|
"idb": "^8.0.3",
|
|
150
148
|
"js-cookie": "~3.0.5",
|
|
151
|
-
"lru-cache": "^11.3.
|
|
152
|
-
"mapbox-gl": "^3.
|
|
149
|
+
"lru-cache": "^11.3.6",
|
|
150
|
+
"mapbox-gl": "^3.23.1",
|
|
151
|
+
"md5": "~2.3.0",
|
|
152
|
+
"mixpanel-browser": "~2.78.0",
|
|
153
153
|
"observable-fns": "~0.6.1",
|
|
154
154
|
"pako": "^2.1.0",
|
|
155
155
|
"prop-types": "^15.8.1",
|
|
156
|
+
"query-string": "~9.3.1",
|
|
156
157
|
"react": "^19.2.5",
|
|
157
158
|
"react-dom": "^19.2.5",
|
|
158
159
|
"react-icons": "~5.6.0",
|
|
159
|
-
"react-
|
|
160
|
+
"react-is": "~19.2.5",
|
|
161
|
+
"react-router-dom": "^7.15.0",
|
|
162
|
+
"recharts": "~3.8.1",
|
|
160
163
|
"rollbar": "^3.1.0",
|
|
161
164
|
"shallowequal": "~1.1.0",
|
|
162
165
|
"spark-md5": "~3.0.2",
|
|
163
166
|
"store2": "~2.14.4",
|
|
164
|
-
"storybook": "^10.3.
|
|
167
|
+
"storybook": "^10.3.6",
|
|
165
168
|
"typescript": "~5.9.3",
|
|
166
169
|
"uuid": "~14.0.0",
|
|
167
170
|
"vite": "^8.0.10",
|
|
168
171
|
"wasm-feature-detect": "~1.8.0",
|
|
169
172
|
"webextension-polyfill": "^0.12.0",
|
|
170
|
-
"zod": "
|
|
171
|
-
"@xyo-network/react-chain-
|
|
172
|
-
"@xyo-network/react-chain-
|
|
173
|
+
"zod": "~4.4.3",
|
|
174
|
+
"@xyo-network/react-chain-provider": "~1.21.0",
|
|
175
|
+
"@xyo-network/react-chain-network": "~1.21.0"
|
|
173
176
|
},
|
|
174
177
|
"peerDependencies": {
|
|
175
|
-
"@bitauth/libauth": ">=3.0.0 <
|
|
178
|
+
"@bitauth/libauth": ">=3.0.0 <3.1",
|
|
176
179
|
"@emotion/react": ">=11.14.0 <12",
|
|
177
180
|
"@emotion/styled": ">=11.14.1 <12",
|
|
178
|
-
"@metamask/json-rpc-engine": ">=10.
|
|
181
|
+
"@metamask/json-rpc-engine": ">=10.3.0 <11",
|
|
179
182
|
"@metamask/providers": ">=22.1.1 <23",
|
|
180
|
-
"@metamask/utils": ">=11.11.0 <12",
|
|
183
|
+
"@metamask/utils": ">=11.11.0 <11.12",
|
|
181
184
|
"@mui/icons-material": ">=7.3.10 <8",
|
|
182
185
|
"@mui/material": ">=7.3.10 <8",
|
|
183
186
|
"@mui/system": ">=7.3.10 <8",
|
|
184
|
-
"@mui/x-charts": ">=8.28.2 <
|
|
187
|
+
"@mui/x-charts": ">=8.28.2 <8.29",
|
|
188
|
+
"@mui/x-tree-view": ">=8.27.2 <8.28",
|
|
185
189
|
"@opentelemetry/api": ">=1.9.1 <2",
|
|
186
|
-
"@opentelemetry/sdk-trace-base": ">=2.7.
|
|
187
|
-
"@
|
|
188
|
-
"@
|
|
189
|
-
"@
|
|
190
|
+
"@opentelemetry/sdk-trace-base": ">=2.7.1 <3",
|
|
191
|
+
"@react-spring/web": ">=10.0.3 <10.1",
|
|
192
|
+
"@rollbar/react": ">=1.0.0 <1.1",
|
|
193
|
+
"@scure/base": ">=2.2.0 <2.3",
|
|
194
|
+
"@scure/bip39": ">=2.2.0 <2.3",
|
|
195
|
+
"@storybook/react-vite": ">=10.3.6 <11",
|
|
190
196
|
"@textea/json-viewer": ">=4.0.1 <5",
|
|
191
|
-
"@xylabs/
|
|
192
|
-
"@xylabs/
|
|
193
|
-
"@xylabs/
|
|
194
|
-
"@xylabs/react-
|
|
195
|
-
"@xylabs/react-
|
|
196
|
-
"@xylabs/react-
|
|
197
|
-
"@xylabs/react-
|
|
198
|
-
"@xylabs/react-
|
|
199
|
-
"@xylabs/react-
|
|
200
|
-
"@xylabs/react-
|
|
201
|
-
"@xylabs/react-
|
|
202
|
-
"@xylabs/
|
|
203
|
-
"@xylabs/
|
|
204
|
-
"@xylabs/
|
|
205
|
-
"@
|
|
206
|
-
"@
|
|
207
|
-
"@
|
|
208
|
-
"@
|
|
209
|
-
"@xyo-network/
|
|
210
|
-
"@xyo-network/
|
|
211
|
-
"@xyo-network/
|
|
212
|
-
"@xyo-network/
|
|
213
|
-
"@xyo-network/
|
|
214
|
-
"@xyo-network/
|
|
215
|
-
"@xyo-network/
|
|
216
|
-
"@xyo-network/
|
|
217
|
-
"@xyo-network/payload-
|
|
218
|
-
"@xyo-network/
|
|
219
|
-
"@xyo-network/
|
|
220
|
-
"@xyo-network/
|
|
221
|
-
"@xyo-network/
|
|
222
|
-
"@xyo-network/
|
|
223
|
-
"@xyo-network/
|
|
224
|
-
"@xyo-network/
|
|
225
|
-
"@xyo-network/
|
|
226
|
-
"@xyo-network/
|
|
227
|
-
"@xyo-network/
|
|
228
|
-
"@xyo-network/
|
|
229
|
-
"@xyo-network/
|
|
230
|
-
"@xyo-network/
|
|
231
|
-
"@xyo-network/
|
|
232
|
-
"@xyo-network/
|
|
233
|
-
"@xyo-network/
|
|
234
|
-
"
|
|
197
|
+
"@xylabs/fetch": ">=5.1.1 <5.2",
|
|
198
|
+
"@xylabs/geo": ">=5.1.1 <6",
|
|
199
|
+
"@xylabs/pixel": ">=5.1.1 <5.2",
|
|
200
|
+
"@xylabs/react-animation": ">=7.2.3 <7.3",
|
|
201
|
+
"@xylabs/react-async-effect": ">=7.2.3 <8",
|
|
202
|
+
"@xylabs/react-button": ">=7.2.3 <7.3",
|
|
203
|
+
"@xylabs/react-error": ">=7.2.3 <7.3",
|
|
204
|
+
"@xylabs/react-flexbox": ">=7.2.3 <7.3",
|
|
205
|
+
"@xylabs/react-hooks": ">=7.2.3 <7.3",
|
|
206
|
+
"@xylabs/react-identicon": ">=7.2.3 <7.3",
|
|
207
|
+
"@xylabs/react-link": ">=7.2.3 <7.3",
|
|
208
|
+
"@xylabs/react-promise": ">=7.2.3 <8",
|
|
209
|
+
"@xylabs/react-quick-tip-button": ">=7.2.3 <8",
|
|
210
|
+
"@xylabs/react-select": ">=7.2.3 <7.3",
|
|
211
|
+
"@xylabs/react-shared": ">=7.2.3 <7.3",
|
|
212
|
+
"@xylabs/react-theme": ">=7.2.3 <7.3",
|
|
213
|
+
"@xylabs/sdk-js": ">=5.1.1 <6",
|
|
214
|
+
"@xylabs/threads": ">=5.1.1 <5.2",
|
|
215
|
+
"@xyo-network/account": ">=5.6.1 <5.7",
|
|
216
|
+
"@xyo-network/account-model": ">=5.6.2 <5.7",
|
|
217
|
+
"@xyo-network/api": ">=5.6.1 <5.7",
|
|
218
|
+
"@xyo-network/api-models": ">=5.6.2 <5.7",
|
|
219
|
+
"@xyo-network/boundwitness-builder": ">=5.6.1 <5.7",
|
|
220
|
+
"@xyo-network/boundwitness-model": ">=5.6.2 <5.7",
|
|
221
|
+
"@xyo-network/boundwitness-validator": ">=5.6.1 <5.7",
|
|
222
|
+
"@xyo-network/boundwitness-wrapper": ">=5.6.1 <5.7",
|
|
223
|
+
"@xyo-network/config-payload-plugin": ">=5.6.2 <5.7",
|
|
224
|
+
"@xyo-network/diviner-model": ">=5.6.3 <6",
|
|
225
|
+
"@xyo-network/diviner-schema-list": ">=5.6.3 <5.7",
|
|
226
|
+
"@xyo-network/diviner-schema-stats": ">=5.6.3 <5.7",
|
|
227
|
+
"@xyo-network/huri": ">=5.6.1 <5.7",
|
|
228
|
+
"@xyo-network/manifest-model": ">=5.6.2 <5.7",
|
|
229
|
+
"@xyo-network/module-abstract": ">=5.6.3 <6",
|
|
230
|
+
"@xyo-network/module-model": ">=5.6.3 <6",
|
|
231
|
+
"@xyo-network/network": ">=5.6.2 <5.7",
|
|
232
|
+
"@xyo-network/node-core-types": ">=4.2.1 <4.3",
|
|
233
|
+
"@xyo-network/node-memory": ">=5.6.3 <5.7",
|
|
234
|
+
"@xyo-network/node-model": ">=5.6.3 <6",
|
|
235
|
+
"@xyo-network/payload-builder": ">=5.6.1 <5.7",
|
|
236
|
+
"@xyo-network/payload-model": ">=5.6.2 <5.7",
|
|
237
|
+
"@xyo-network/payload-plugin": ">=5.6.2 <5.7",
|
|
238
|
+
"@xyo-network/payload-validator": ">=5.6.2 <6",
|
|
239
|
+
"@xyo-network/payload-wrapper": ">=5.6.1 <5.7",
|
|
240
|
+
"@xyo-network/payloadset-plugin": ">=5.6.3 <6",
|
|
241
|
+
"@xyo-network/query-payload-plugin": ">=5.6.2 <5.7",
|
|
242
|
+
"@xyo-network/react-boundwitness-plugin": ">=7.6.2 <7.7",
|
|
243
|
+
"@xyo-network/react-error": ">=7.6.2 <7.7",
|
|
244
|
+
"@xyo-network/react-event": ">=7.6.2 <7.7",
|
|
245
|
+
"@xyo-network/react-payload-raw-info": ">=7.6.2 <7.7",
|
|
246
|
+
"@xyo-network/react-payload-table": ">=7.6.2 <7.7",
|
|
247
|
+
"@xyo-network/react-shared": ">=7.6.2 <7.7",
|
|
248
|
+
"@xyo-network/react-table": ">=7.6.2 <7.7",
|
|
249
|
+
"@xyo-network/schema-cache": ">=5.6.2 <5.7",
|
|
250
|
+
"@xyo-network/schema-payload-plugin": ">=5.6.2 <5.7",
|
|
251
|
+
"@xyo-network/sdk-js": ">=5.6.3 <6",
|
|
252
|
+
"@xyo-network/sdk-protocol-js": ">=5.6.2 <5.7",
|
|
253
|
+
"@xyo-network/typeof": ">=5.3.30 <5.4",
|
|
254
|
+
"@xyo-network/wallet": ">=5.6.1 <5.7",
|
|
255
|
+
"@xyo-network/wallet-model": ">=5.6.2 <6",
|
|
256
|
+
"@xyo-network/xl1-sdk": ">=1.27.1 <2",
|
|
257
|
+
"ajv": ">=8.20.0 <9",
|
|
235
258
|
"async-mutex": ">=0.5.0 <1",
|
|
236
|
-
"axios": ">=1.15.2 <2",
|
|
237
259
|
"bn.js": ">=5.2.3 <6",
|
|
260
|
+
"bowser": ">=2.14.1 <3",
|
|
238
261
|
"buffer": ">=6.0.3 <7",
|
|
239
262
|
"chalk": ">=5.6.2 <6",
|
|
240
263
|
"cosmiconfig": ">=9.0.1 <10",
|
|
241
|
-
"debug": ">=4.4.3 <5",
|
|
264
|
+
"debug": ">=4.4.3 <4.5",
|
|
242
265
|
"ethers": ">=6.16.0 <7",
|
|
243
|
-
"
|
|
266
|
+
"fast-deep-equal": ">=3.1.3 <3.2",
|
|
267
|
+
"hash-wasm": ">=4.12.0 <4.13",
|
|
244
268
|
"idb": ">=8.0.3 <9",
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"
|
|
269
|
+
"js-cookie": ">=3.0.5 <3.1",
|
|
270
|
+
"lru-cache": ">=11.3.6 <12",
|
|
271
|
+
"mapbox-gl": ">=3.23.1 <4",
|
|
272
|
+
"md5": ">=2.3.0 <2.4",
|
|
273
|
+
"mixpanel-browser": ">=2.78.0 <2.79",
|
|
274
|
+
"observable-fns": ">=0.6.1 <0.7",
|
|
248
275
|
"pako": ">=2.1.0 <3",
|
|
276
|
+
"prop-types": ">=15.8.1 <16",
|
|
277
|
+
"query-string": ">=9.3.1 <9.4",
|
|
249
278
|
"react": ">=19.2.5 <20",
|
|
250
279
|
"react-dom": ">=19.2.5 <20",
|
|
251
|
-
"react-icons": ">=5.6.0 <
|
|
252
|
-
"react-
|
|
280
|
+
"react-icons": ">=5.6.0 <5.7",
|
|
281
|
+
"react-is": ">=19.2.5 <19.3",
|
|
282
|
+
"react-router-dom": ">=7.15.0 <8",
|
|
283
|
+
"recharts": ">=3.8.1 <3.9",
|
|
253
284
|
"rollbar": ">=3.1.0 <4",
|
|
254
|
-
"shallowequal": ">=1.1.0 <2",
|
|
255
|
-
"
|
|
256
|
-
"
|
|
257
|
-
"
|
|
258
|
-
"uuid": ">=14.0.0 <
|
|
285
|
+
"shallowequal": ">=1.1.0 <1.2",
|
|
286
|
+
"spark-md5": ">=3.0.2 <3.1",
|
|
287
|
+
"store2": ">=2.14.4 <2.15",
|
|
288
|
+
"storybook": ">=10.3.6 <11",
|
|
289
|
+
"uuid": ">=14.0.0 <14.1",
|
|
259
290
|
"vite": ">=8.0.10 <9",
|
|
260
|
-
"wasm-feature-detect": ">=1.8.0 <
|
|
261
|
-
"
|
|
291
|
+
"wasm-feature-detect": ">=1.8.0 <1.9",
|
|
292
|
+
"webextension-polyfill": ">=0.12.0 <1",
|
|
293
|
+
"zod": ">=4.4.3 <4.5"
|
|
262
294
|
},
|
|
263
295
|
"engines": {
|
|
264
296
|
"node": ">=24"
|