@xyo-network/react-chain-blockchain 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.mjs +270 -171
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/components/block/helpers/index.d.ts +1 -0
- package/dist/types/components/block/helpers/index.d.ts.map +1 -1
- package/dist/types/components/block/helpers/payloadCountsFromBlock.d.ts +3 -0
- package/dist/types/components/block/helpers/payloadCountsFromBlock.d.ts.map +1 -0
- package/dist/types/components/block/helpers/tsxFromBlock.d.ts +2 -2
- package/dist/types/components/block/helpers/tsxFromBlock.d.ts.map +1 -1
- package/dist/types/components/block/hooks/index.d.ts +1 -0
- package/dist/types/components/block/hooks/index.d.ts.map +1 -1
- package/dist/types/components/block/hooks/useBlockHeadingEvents.d.ts +1 -1
- package/dist/types/components/block/hooks/useBlockHeadingEvents.d.ts.map +1 -1
- package/dist/types/components/block/hooks/usePayloadCountsFromBlock.d.ts +3 -0
- package/dist/types/components/block/hooks/usePayloadCountsFromBlock.d.ts.map +1 -0
- package/dist/types/components/block/hooks/useTxsFromBlock.d.ts +1 -1
- package/dist/types/components/block/table/cell/JsonView.d.ts.map +1 -1
- package/dist/types/components/block/table/cell/PayloadCounts.d.ts +6 -0
- package/dist/types/components/block/table/cell/PayloadCounts.d.ts.map +1 -0
- package/dist/types/components/block/table/cell/index.d.ts +1 -0
- package/dist/types/components/block/table/cell/index.d.ts.map +1 -1
- package/dist/types/components/block/table/head/TableHead.d.ts.map +1 -1
- package/dist/types/components/block/table/row/TableRow.d.ts.map +1 -1
- package/package.json +24 -24
- package/src/components/block/helpers/index.ts +1 -0
- package/src/components/block/helpers/payloadCountsFromBlock.ts +12 -0
- package/src/components/block/helpers/tsxFromBlock.ts +2 -3
- package/src/components/block/hooks/index.ts +1 -0
- package/src/components/block/hooks/useBlockHeadingEvents.ts +1 -1
- package/src/components/block/hooks/usePayloadCountsFromBlock.ts +13 -0
- package/src/components/block/table/cell/Hash.tsx +2 -2
- package/src/components/block/table/cell/JsonView.tsx +4 -6
- package/src/components/block/table/cell/PayloadCounts.tsx +34 -0
- package/src/components/block/table/cell/index.ts +1 -0
- package/src/components/block/table/head/TableHead.tsx +28 -6
- package/src/components/block/table/row/TableRow.tsx +4 -3
package/dist/browser/index.mjs
CHANGED
|
@@ -443,10 +443,10 @@ var blockProducer = /* @__PURE__ */ __name((block) => {
|
|
|
443
443
|
import React9 from "react";
|
|
444
444
|
|
|
445
445
|
// src/components/block/helpers/tsxFromBlock.ts
|
|
446
|
-
import { isBoundWitness } from "@xyo-network/boundwitness-model";
|
|
447
446
|
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
447
|
+
import { isTransactionBoundWitness } from "@xyo-network/xl1-model";
|
|
448
448
|
var txsFromBlock = /* @__PURE__ */ __name(async (block) => {
|
|
449
|
-
const transactionPayloads = block[1].filter((payload) =>
|
|
449
|
+
const transactionPayloads = block[1].filter((payload) => isTransactionBoundWitness(payload));
|
|
450
450
|
return await PayloadBuilder2.hashPairs(transactionPayloads);
|
|
451
451
|
}, "txsFromBlock");
|
|
452
452
|
|
|
@@ -470,6 +470,22 @@ var buildBlockHeadingComponent = /* @__PURE__ */ __name(async (blockComponentPro
|
|
|
470
470
|
return await buildBlockChainRenderComponent(BlockHeadingFlexbox, blockComponentProps);
|
|
471
471
|
}, "buildBlockHeadingComponent");
|
|
472
472
|
|
|
473
|
+
// src/components/block/helpers/payloadCountsFromBlock.ts
|
|
474
|
+
import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
|
|
475
|
+
import { isTransactionBoundWitness as isTransactionBoundWitness2 } from "@xyo-network/xl1-model";
|
|
476
|
+
var payloadCountsFromBlock = /* @__PURE__ */ __name(([block, payloads]) => {
|
|
477
|
+
const privPayloads = block.payload_schemas.filter((schema) => schema !== BoundWitnessSchema);
|
|
478
|
+
const transactionPayloads = payloads.filter((payload) => isTransactionBoundWitness2(payload));
|
|
479
|
+
let privPayloadsCount = 0;
|
|
480
|
+
for (let tx of transactionPayloads) {
|
|
481
|
+
privPayloadsCount += tx.payload_hashes.length - tx.$opCodes.filter((opCode) => !opCode.startsWith("elevate|")).length;
|
|
482
|
+
}
|
|
483
|
+
return [
|
|
484
|
+
privPayloads.length,
|
|
485
|
+
privPayloadsCount
|
|
486
|
+
];
|
|
487
|
+
}, "payloadCountsFromBlock");
|
|
488
|
+
|
|
473
489
|
// src/components/block/hooks/useDynamicBlockComponents.ts
|
|
474
490
|
var useDynamicBlockComponents = /* @__PURE__ */ __name((BlockComponent, params, maxBlocks) => {
|
|
475
491
|
const { chainArchivist } = params ?? {};
|
|
@@ -501,6 +517,26 @@ var useDynamicBlockComponents = /* @__PURE__ */ __name((BlockComponent, params,
|
|
|
501
517
|
};
|
|
502
518
|
}, "useDynamicBlockComponents");
|
|
503
519
|
|
|
520
|
+
// src/components/block/hooks/usePayloadCountsFromBlock.ts
|
|
521
|
+
import { useMemo as useMemo7 } from "react";
|
|
522
|
+
var usePayloadCountsFromBlock = /* @__PURE__ */ __name((block) => {
|
|
523
|
+
return useMemo7(() => {
|
|
524
|
+
if (block) {
|
|
525
|
+
return [
|
|
526
|
+
...payloadCountsFromBlock(block),
|
|
527
|
+
void 0
|
|
528
|
+
];
|
|
529
|
+
}
|
|
530
|
+
return [
|
|
531
|
+
void 0,
|
|
532
|
+
void 0,
|
|
533
|
+
void 0
|
|
534
|
+
];
|
|
535
|
+
}, [
|
|
536
|
+
block
|
|
537
|
+
]);
|
|
538
|
+
}, "usePayloadCountsFromBlock");
|
|
539
|
+
|
|
504
540
|
// src/components/block/hooks/useStaticBlockComponents.ts
|
|
505
541
|
import { usePromise } from "@xylabs/react-promise";
|
|
506
542
|
var useStaticBlockComponents = /* @__PURE__ */ __name((BlockComponent, params, blocks) => {
|
|
@@ -602,11 +638,11 @@ var BlockMenuExpanded = /* @__PURE__ */ __name(({ block }) => {
|
|
|
602
638
|
import { Chip as Chip2 } from "@mui/material";
|
|
603
639
|
import { EthAddress } from "@xylabs/eth-address";
|
|
604
640
|
import { BlockiesAvatar } from "@xyo-network/react-chain-blockies";
|
|
605
|
-
import React12, { useMemo as
|
|
641
|
+
import React12, { useMemo as useMemo8 } from "react";
|
|
606
642
|
var BlockProducerChip = /* @__PURE__ */ __name(({ block, ...props }) => {
|
|
607
643
|
const blockProducer2 = block?.[0].addresses[0];
|
|
608
644
|
const shortedBlockProducer = blockProducer2 ? EthAddress.parse(blockProducer2)?.toShortString(3) : null;
|
|
609
|
-
const avatar =
|
|
645
|
+
const avatar = useMemo8(() => blockProducer2 === "" ? void 0 : /* @__PURE__ */ React12.createElement(BlockiesAvatar, {
|
|
610
646
|
blockiesOptions: {
|
|
611
647
|
seed: blockProducer2
|
|
612
648
|
}
|
|
@@ -715,7 +751,7 @@ var BlockNumberTableCell = /* @__PURE__ */ __name(({ block, linked, ...props })
|
|
|
715
751
|
// src/components/block/table/cell/Hash.tsx
|
|
716
752
|
import { Avatar, Chip as Chip3, TableCell as TableCell2, Tooltip as Tooltip2 } from "@mui/material";
|
|
717
753
|
import { Identicon } from "@xylabs/react-identicon";
|
|
718
|
-
import {
|
|
754
|
+
import { usePayloadRootHash } from "@xyo-network/react-shared";
|
|
719
755
|
import React16 from "react";
|
|
720
756
|
|
|
721
757
|
// src/components/FeatureNotAvailable.tsx
|
|
@@ -727,7 +763,7 @@ var FeatureNotAvailable = /* @__PURE__ */ __name(({ featureName = "Feature", ...
|
|
|
727
763
|
|
|
728
764
|
// src/components/block/table/cell/Hash.tsx
|
|
729
765
|
var BlockHashTableCell = /* @__PURE__ */ __name(({ block, identiconProps, notAvailableDialog, linked, ...props }) => {
|
|
730
|
-
const hash =
|
|
766
|
+
const hash = usePayloadRootHash(block?.[0]);
|
|
731
767
|
const [ref, handleClick] = useLinkedBlockItem("block-hash", hash);
|
|
732
768
|
const [notAvailable, setNotAvailable] = React16.useState(false);
|
|
733
769
|
const shortenedHash = hash ? `${hash.slice(0, 4)}...${hash.slice(-5, -1)}` : "";
|
|
@@ -759,19 +795,17 @@ var BlockHashTableCell = /* @__PURE__ */ __name(({ block, identiconProps, notAva
|
|
|
759
795
|
}, "BlockHashTableCell");
|
|
760
796
|
|
|
761
797
|
// src/components/block/table/cell/JsonView.tsx
|
|
762
|
-
import {
|
|
798
|
+
import { DataObject } from "@mui/icons-material";
|
|
763
799
|
import { Button as Button3, Dialog as Dialog2, DialogActions as DialogActions2, DialogContent as DialogContent2, DialogTitle as DialogTitle2, IconButton as IconButton2, TableCell as TableCell3 } from "@mui/material";
|
|
764
800
|
import { ellipsize } from "@xylabs/eth-address";
|
|
765
801
|
import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
|
|
766
|
-
import { useIsDark } from "@xylabs/react-theme";
|
|
767
802
|
import { JsonViewerEx } from "@xyo-network/react-payload-raw-info";
|
|
768
|
-
import {
|
|
803
|
+
import { usePayloadRootHash as usePayloadRootHash2 } from "@xyo-network/react-shared";
|
|
769
804
|
import React17, { useState as useState9 } from "react";
|
|
770
805
|
var BlockJsonViewTableCell = /* @__PURE__ */ __name(({ block, ...props }) => {
|
|
771
806
|
const [open, setOpen] = useState9(false);
|
|
772
807
|
const onClose = /* @__PURE__ */ __name(() => setOpen(false), "onClose");
|
|
773
|
-
const
|
|
774
|
-
const hash = usePayloadHash3(block?.[0]);
|
|
808
|
+
const hash = usePayloadRootHash2(block?.[0]);
|
|
775
809
|
const title = hash ? `JSON for ${ellipsize(hash, 5)}` : "JSON";
|
|
776
810
|
return /* @__PURE__ */ React17.createElement(TableCell3, props, /* @__PURE__ */ React17.createElement(FlexRow3, {
|
|
777
811
|
sx: {
|
|
@@ -779,7 +813,7 @@ var BlockJsonViewTableCell = /* @__PURE__ */ __name(({ block, ...props }) => {
|
|
|
779
813
|
}
|
|
780
814
|
}, /* @__PURE__ */ React17.createElement(IconButton2, {
|
|
781
815
|
onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
|
|
782
|
-
}, /* @__PURE__ */ React17.createElement(
|
|
816
|
+
}, /* @__PURE__ */ React17.createElement(DataObject, null))), /* @__PURE__ */ React17.createElement(Dialog2, {
|
|
783
817
|
open,
|
|
784
818
|
onClose
|
|
785
819
|
}, /* @__PURE__ */ React17.createElement(DialogTitle2, null, title), /* @__PURE__ */ React17.createElement(DialogContent2, null, /* @__PURE__ */ React17.createElement(JsonViewerEx, {
|
|
@@ -796,31 +830,54 @@ var BlockJsonViewTableCell = /* @__PURE__ */ __name(({ block, ...props }) => {
|
|
|
796
830
|
}, "Close"))));
|
|
797
831
|
}, "BlockJsonViewTableCell");
|
|
798
832
|
|
|
833
|
+
// src/components/block/table/cell/PayloadCounts.tsx
|
|
834
|
+
import { Error as Error2 } from "@mui/icons-material";
|
|
835
|
+
import { Link as Link2, TableCell as TableCell4, Tooltip as Tooltip3 } from "@mui/material";
|
|
836
|
+
import React18 from "react";
|
|
837
|
+
var BlockPayloadCountsTableCell = /* @__PURE__ */ __name(({ block, linked, ...props }) => {
|
|
838
|
+
const [pubPayloads, privPayloads, error] = usePayloadCountsFromBlock(block);
|
|
839
|
+
const data = `${pubPayloads}/${privPayloads}`;
|
|
840
|
+
const [ref, handleClick] = useLinkedBlockItem("payload-counts", data);
|
|
841
|
+
return /* @__PURE__ */ React18.createElement(TableCell4, {
|
|
842
|
+
ref,
|
|
843
|
+
...props
|
|
844
|
+
}, /* @__PURE__ */ React18.createElement("span", null, error ? /* @__PURE__ */ React18.createElement(Tooltip3, {
|
|
845
|
+
title: error.message
|
|
846
|
+
}, /* @__PURE__ */ React18.createElement(Error2, {
|
|
847
|
+
color: "error"
|
|
848
|
+
})) : null, linked ? /* @__PURE__ */ React18.createElement(Link2, {
|
|
849
|
+
onClick: handleClick,
|
|
850
|
+
sx: {
|
|
851
|
+
cursor: "pointer"
|
|
852
|
+
}
|
|
853
|
+
}, data ?? "--/--") : data ?? "--/--"));
|
|
854
|
+
}, "BlockPayloadCountsTableCell");
|
|
855
|
+
|
|
799
856
|
// src/components/block/table/cell/Producer.tsx
|
|
800
|
-
import { TableCell as
|
|
857
|
+
import { TableCell as TableCell5, Tooltip as Tooltip4 } from "@mui/material";
|
|
801
858
|
import { FlexRow as FlexRow4 } from "@xylabs/react-flexbox";
|
|
802
|
-
import
|
|
859
|
+
import React19 from "react";
|
|
803
860
|
var BlockProducerTableCell = /* @__PURE__ */ __name(({ block, linked, notAvailableDialog, producerChipProps, ...props }) => {
|
|
804
861
|
const [ref, handleClick] = useLinkedBlockItem("block-producer", JSON.stringify(block));
|
|
805
862
|
const producer = useBlockProducer(block);
|
|
806
|
-
const [notAvailable, setNotAvailable] =
|
|
807
|
-
return /* @__PURE__ */
|
|
863
|
+
const [notAvailable, setNotAvailable] = React19.useState(false);
|
|
864
|
+
return /* @__PURE__ */ React19.createElement(TableCell5, {
|
|
808
865
|
ref,
|
|
809
866
|
...props
|
|
810
|
-
}, /* @__PURE__ */
|
|
867
|
+
}, /* @__PURE__ */ React19.createElement(Tooltip4, {
|
|
811
868
|
title: `Block Producer: ${producer}`
|
|
812
|
-
}, /* @__PURE__ */
|
|
869
|
+
}, /* @__PURE__ */ React19.createElement(FlexRow4, {
|
|
813
870
|
sx: {
|
|
814
871
|
width: "100%"
|
|
815
872
|
}
|
|
816
|
-
}, /* @__PURE__ */
|
|
873
|
+
}, /* @__PURE__ */ React19.createElement(BlockProducerChip, {
|
|
817
874
|
sx: {
|
|
818
875
|
cursor: "pointer"
|
|
819
876
|
},
|
|
820
877
|
onClick: linked ? handleClick : () => setNotAvailable(true),
|
|
821
878
|
block,
|
|
822
879
|
...producerChipProps
|
|
823
|
-
}))), notAvailableDialog && notAvailable ? /* @__PURE__ */
|
|
880
|
+
}))), notAvailableDialog && notAvailable ? /* @__PURE__ */ React19.createElement(FeatureNotAvailable, {
|
|
824
881
|
featureName: "Producer Details",
|
|
825
882
|
open: notAvailable,
|
|
826
883
|
onClick: /* @__PURE__ */ __name(() => setNotAvailable(false), "onClick")
|
|
@@ -828,20 +885,20 @@ var BlockProducerTableCell = /* @__PURE__ */ __name(({ block, linked, notAvailab
|
|
|
828
885
|
}, "BlockProducerTableCell");
|
|
829
886
|
|
|
830
887
|
// src/components/block/table/cell/TransactionCount.tsx
|
|
831
|
-
import { Error as
|
|
832
|
-
import { Link as
|
|
833
|
-
import
|
|
888
|
+
import { Error as Error3 } from "@mui/icons-material";
|
|
889
|
+
import { Link as Link3, TableCell as TableCell6, Tooltip as Tooltip5 } from "@mui/material";
|
|
890
|
+
import React20 from "react";
|
|
834
891
|
var BlockTransactionCountTableCell = /* @__PURE__ */ __name(({ block, linked, ...props }) => {
|
|
835
892
|
const [txs, error] = useTxsFromBlock(block);
|
|
836
893
|
const [ref, handleClick] = useLinkedBlockItem("transaction-count", JSON.stringify(txs ?? null));
|
|
837
|
-
return /* @__PURE__ */
|
|
894
|
+
return /* @__PURE__ */ React20.createElement(TableCell6, {
|
|
838
895
|
ref,
|
|
839
896
|
...props
|
|
840
|
-
}, /* @__PURE__ */
|
|
897
|
+
}, /* @__PURE__ */ React20.createElement("span", null, error ? /* @__PURE__ */ React20.createElement(Tooltip5, {
|
|
841
898
|
title: error.message
|
|
842
|
-
}, /* @__PURE__ */
|
|
899
|
+
}, /* @__PURE__ */ React20.createElement(Error3, {
|
|
843
900
|
color: "error"
|
|
844
|
-
})) : null, linked ? /* @__PURE__ */
|
|
901
|
+
})) : null, linked ? /* @__PURE__ */ React20.createElement(Link3, {
|
|
845
902
|
onClick: handleClick,
|
|
846
903
|
sx: {
|
|
847
904
|
cursor: "pointer"
|
|
@@ -850,20 +907,20 @@ var BlockTransactionCountTableCell = /* @__PURE__ */ __name(({ block, linked, ..
|
|
|
850
907
|
}, "BlockTransactionCountTableCell");
|
|
851
908
|
|
|
852
909
|
// src/components/block/table/cell/Verification.tsx
|
|
853
|
-
import { TableCell as
|
|
910
|
+
import { TableCell as TableCell7 } from "@mui/material";
|
|
854
911
|
import { FlexRow as FlexRow5 } from "@xylabs/react-flexbox";
|
|
855
912
|
import { BWVerification as BWVerification2 } from "@xyo-network/react-chain-boundwitness";
|
|
856
|
-
import
|
|
913
|
+
import React21 from "react";
|
|
857
914
|
var BlockVerificationTableCell = /* @__PURE__ */ __name(({ block, linked, ...props }) => {
|
|
858
915
|
const [ref, handleClick] = useLinkedBlockItem("block-verification", block?.[0].block.toString());
|
|
859
|
-
return /* @__PURE__ */
|
|
916
|
+
return /* @__PURE__ */ React21.createElement(TableCell7, {
|
|
860
917
|
ref,
|
|
861
918
|
...props
|
|
862
|
-
}, /* @__PURE__ */
|
|
919
|
+
}, /* @__PURE__ */ React21.createElement(FlexRow5, {
|
|
863
920
|
sx: {
|
|
864
921
|
width: "100%"
|
|
865
922
|
}
|
|
866
|
-
}, /* @__PURE__ */
|
|
923
|
+
}, /* @__PURE__ */ React21.createElement(BWVerification2, {
|
|
867
924
|
onClick: linked ? handleClick : void 0,
|
|
868
925
|
iconColors: true,
|
|
869
926
|
boundwitness: block?.[0]
|
|
@@ -873,82 +930,121 @@ var BlockVerificationTableCell = /* @__PURE__ */ __name(({ block, linked, ...pro
|
|
|
873
930
|
// src/components/block/table/Ex.tsx
|
|
874
931
|
import { TableBody } from "@mui/material";
|
|
875
932
|
import { TableEx } from "@xyo-network/react-table";
|
|
876
|
-
import
|
|
933
|
+
import React23 from "react";
|
|
877
934
|
|
|
878
935
|
// src/components/block/table/head/TableHead.tsx
|
|
879
|
-
import {
|
|
880
|
-
import
|
|
936
|
+
import { InfoOutline } from "@mui/icons-material";
|
|
937
|
+
import { TableCell as TableCell8, TableHead, TableRow, Tooltip as Tooltip6, Typography as Typography3 } from "@mui/material";
|
|
938
|
+
import { FlexRow as FlexRow6 } from "@xylabs/react-flexbox";
|
|
939
|
+
import React22 from "react";
|
|
940
|
+
var ToolTipTableCell = /* @__PURE__ */ __name(({ children, align, title, ...props }) => {
|
|
941
|
+
return /* @__PURE__ */ React22.createElement(TableCell8, {
|
|
942
|
+
title,
|
|
943
|
+
...props
|
|
944
|
+
}, /* @__PURE__ */ React22.createElement(Tooltip6, {
|
|
945
|
+
title
|
|
946
|
+
}, /* @__PURE__ */ React22.createElement(FlexRow6, {
|
|
947
|
+
justifyContent: align
|
|
948
|
+
}, /* @__PURE__ */ React22.createElement(Typography3, {
|
|
949
|
+
variant: "body2"
|
|
950
|
+
}, children), "\xA0", /* @__PURE__ */ React22.createElement(InfoOutline, {
|
|
951
|
+
fontSize: "small"
|
|
952
|
+
}))));
|
|
953
|
+
}, "ToolTipTableCell");
|
|
881
954
|
var BlockchainTableHead = /* @__PURE__ */ __name(() => {
|
|
882
|
-
return /* @__PURE__ */
|
|
883
|
-
|
|
884
|
-
}, "Block
|
|
885
|
-
align: "center"
|
|
886
|
-
|
|
887
|
-
|
|
955
|
+
return /* @__PURE__ */ React22.createElement(TableHead, null, /* @__PURE__ */ React22.createElement(TableRow, null, /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
956
|
+
title: "The hash of the block"
|
|
957
|
+
}, "Block Hash"), /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
958
|
+
align: "center",
|
|
959
|
+
title: "The block number that is included in the block"
|
|
960
|
+
}, "Block Number"), /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
961
|
+
align: "center",
|
|
962
|
+
title: "Count of transactions that are included in the block"
|
|
963
|
+
}, "Transactions"), /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
964
|
+
align: "center",
|
|
965
|
+
title: "Count of public and private payload counts for the block"
|
|
966
|
+
}, "Payloads"), /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
967
|
+
align: "center",
|
|
968
|
+
title: "The address of the block producer that produced the block"
|
|
969
|
+
}, "Block Producer"), /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
970
|
+
align: "center",
|
|
971
|
+
title: "The result of the local validation check for the block"
|
|
972
|
+
}, "Valid"), /* @__PURE__ */ React22.createElement(ToolTipTableCell, {
|
|
973
|
+
align: "center",
|
|
974
|
+
title: "Link to display the raw JSON of the block"
|
|
888
975
|
}, "JSON")));
|
|
889
976
|
}, "BlockchainTableHead");
|
|
890
977
|
|
|
891
978
|
// src/components/block/table/Ex.tsx
|
|
892
979
|
var BlockchainTableEx = /* @__PURE__ */ __name(({ ref, children, ...props }) => {
|
|
893
|
-
return /* @__PURE__ */
|
|
980
|
+
return /* @__PURE__ */ React23.createElement(TableEx, {
|
|
894
981
|
ref,
|
|
895
982
|
...props
|
|
896
|
-
}, /* @__PURE__ */
|
|
983
|
+
}, /* @__PURE__ */ React23.createElement(BlockchainTableHead, null), /* @__PURE__ */ React23.createElement(TableBody, null, children));
|
|
897
984
|
}, "BlockchainTableEx");
|
|
898
985
|
BlockchainTableEx.displayName = "BlockchainTableEx";
|
|
899
986
|
|
|
900
987
|
// src/components/block/table/row/TableRow.tsx
|
|
901
988
|
import { TableRow as TableRow2 } from "@mui/material";
|
|
902
|
-
import
|
|
989
|
+
import React24, { useMemo as useMemo9 } from "react";
|
|
903
990
|
var BlockChainTableRow = /* @__PURE__ */ __name(({ block, defaultExpanded, linked, sx, ...props }) => {
|
|
904
|
-
const linkedTableCellProps =
|
|
991
|
+
const linkedTableCellProps = useMemo9(() => ({
|
|
905
992
|
block,
|
|
906
993
|
linked
|
|
907
994
|
}), [
|
|
908
995
|
block,
|
|
909
996
|
linked
|
|
910
997
|
]);
|
|
911
|
-
const defaultTableCellProps =
|
|
998
|
+
const defaultTableCellProps = useMemo9(() => ({
|
|
912
999
|
block
|
|
913
1000
|
}), [
|
|
914
1001
|
block
|
|
915
1002
|
]);
|
|
916
|
-
return /* @__PURE__ */
|
|
1003
|
+
return /* @__PURE__ */ React24.createElement(TableRow2, {
|
|
917
1004
|
sx: {
|
|
918
1005
|
overflowY: "scroll",
|
|
919
1006
|
...sx
|
|
920
1007
|
},
|
|
921
1008
|
...props
|
|
922
|
-
}, /* @__PURE__ */
|
|
1009
|
+
}, /* @__PURE__ */ React24.createElement(BlockHashTableCell, linkedTableCellProps), /* @__PURE__ */ React24.createElement(BlockNumberTableCell, {
|
|
1010
|
+
align: "center",
|
|
1011
|
+
...linkedTableCellProps
|
|
1012
|
+
}), /* @__PURE__ */ React24.createElement(BlockTransactionCountTableCell, {
|
|
1013
|
+
align: "center",
|
|
1014
|
+
...linkedTableCellProps
|
|
1015
|
+
}), /* @__PURE__ */ React24.createElement(BlockPayloadCountsTableCell, {
|
|
1016
|
+
align: "center",
|
|
1017
|
+
...linkedTableCellProps
|
|
1018
|
+
}), /* @__PURE__ */ React24.createElement(BlockProducerTableCell, linkedTableCellProps), /* @__PURE__ */ React24.createElement(BlockVerificationTableCell, defaultTableCellProps), /* @__PURE__ */ React24.createElement(BlockJsonViewTableCell, defaultTableCellProps));
|
|
923
1019
|
}, "BlockChainTableRow");
|
|
924
1020
|
|
|
925
1021
|
// src/components/chain/controls/PollingControlsFlexbox.tsx
|
|
926
1022
|
import { Autorenew, Pause } from "@mui/icons-material";
|
|
927
|
-
import { Alert as Alert3, AlertTitle as AlertTitle2, Grow, Icon as Icon2, IconButton as IconButton4, Tooltip as
|
|
928
|
-
import { FlexRow as
|
|
929
|
-
import
|
|
1023
|
+
import { Alert as Alert3, AlertTitle as AlertTitle2, Grow, Icon as Icon2, IconButton as IconButton4, Tooltip as Tooltip7 } from "@mui/material";
|
|
1024
|
+
import { FlexRow as FlexRow7 } from "@xylabs/react-flexbox";
|
|
1025
|
+
import React29, { memo } from "react";
|
|
930
1026
|
|
|
931
1027
|
// src/components/chain/stats/Dialog.tsx
|
|
932
1028
|
import { QueryStats } from "@mui/icons-material";
|
|
933
1029
|
import { Dialog as Dialog3, DialogContent as DialogContent3, DialogTitle as DialogTitle3, IconButton as IconButton3 } from "@mui/material";
|
|
934
|
-
import
|
|
1030
|
+
import React27, { useState as useState10 } from "react";
|
|
935
1031
|
|
|
936
1032
|
// src/components/chain/stats/producer/ProducerFlexbox.tsx
|
|
937
|
-
import { ListItem, styled, Typography as
|
|
1033
|
+
import { ListItem, styled, Typography as Typography4 } from "@mui/material";
|
|
938
1034
|
import { ErrorRender as ErrorRender3 } from "@xylabs/react-error";
|
|
939
1035
|
import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
|
|
940
1036
|
import { isChainSummaryProducers } from "@xyo-network/chain-protocol";
|
|
941
|
-
import
|
|
1037
|
+
import React26, { useMemo as useMemo10 } from "react";
|
|
942
1038
|
|
|
943
1039
|
// src/components/chain/stats/producer/Table.tsx
|
|
944
|
-
import { Table, TableBody as TableBody2, TableCell as
|
|
1040
|
+
import { Table, TableBody as TableBody2, TableCell as TableCell9, TableHead as TableHead2, TableRow as TableRow3, useTheme } from "@mui/material";
|
|
945
1041
|
import { BlockiesAvatar as BlockiesAvatar2 } from "@xyo-network/react-chain-blockies";
|
|
946
|
-
import
|
|
1042
|
+
import React25 from "react";
|
|
947
1043
|
var ChainProducerStatsTable = /* @__PURE__ */ __name(({ producers, ...props }) => {
|
|
948
1044
|
const theme = useTheme();
|
|
949
|
-
return /* @__PURE__ */
|
|
1045
|
+
return /* @__PURE__ */ React25.createElement(Table, props, /* @__PURE__ */ React25.createElement(TableHead2, null, /* @__PURE__ */ React25.createElement(TableRow3, null, /* @__PURE__ */ React25.createElement(TableCell9, null, "Address"), /* @__PURE__ */ React25.createElement(TableCell9, null, "Blocks Produced"), /* @__PURE__ */ React25.createElement(TableCell9, null, "Rewards Earned Produced"))), /* @__PURE__ */ React25.createElement(TableBody2, null, producers?.map((producer) => /* @__PURE__ */ React25.createElement(TableRow3, {
|
|
950
1046
|
key: producer.address
|
|
951
|
-
}, /* @__PURE__ */
|
|
1047
|
+
}, /* @__PURE__ */ React25.createElement(TableCell9, null, /* @__PURE__ */ React25.createElement(BlockiesAvatar2, {
|
|
952
1048
|
blockiesOptions: {
|
|
953
1049
|
seed: producer.address
|
|
954
1050
|
},
|
|
@@ -956,12 +1052,12 @@ var ChainProducerStatsTable = /* @__PURE__ */ __name(({ producers, ...props }) =
|
|
|
956
1052
|
height: theme.spacing(2.75),
|
|
957
1053
|
width: theme.spacing(2.75)
|
|
958
1054
|
}
|
|
959
|
-
})), /* @__PURE__ */
|
|
1055
|
+
})), /* @__PURE__ */ React25.createElement(TableCell9, null, producer.blocksProduced.toString()), /* @__PURE__ */ React25.createElement(TableCell9, null, producer.rewardsEarned.toString())))));
|
|
960
1056
|
}, "ChainProducerStatsTable");
|
|
961
1057
|
|
|
962
1058
|
// src/components/chain/stats/producer/ProducerFlexbox.tsx
|
|
963
1059
|
var BlockProducerStatsFlexbox = /* @__PURE__ */ __name(({ payload, ...props }) => {
|
|
964
|
-
const [producer, producerError] =
|
|
1060
|
+
const [producer, producerError] = useMemo10(() => {
|
|
965
1061
|
if (payload) {
|
|
966
1062
|
return isChainSummaryProducers(payload) ? [
|
|
967
1063
|
payload
|
|
@@ -975,19 +1071,19 @@ var BlockProducerStatsFlexbox = /* @__PURE__ */ __name(({ payload, ...props }) =
|
|
|
975
1071
|
}, [
|
|
976
1072
|
payload
|
|
977
1073
|
]);
|
|
978
|
-
const producersArray =
|
|
1074
|
+
const producersArray = useMemo10(() => Object.values(producer?.producers ?? {}), [
|
|
979
1075
|
producer
|
|
980
1076
|
]);
|
|
981
|
-
return /* @__PURE__ */
|
|
1077
|
+
return /* @__PURE__ */ React26.createElement(FlexCol3, {
|
|
982
1078
|
alignItems: "start",
|
|
983
1079
|
gap: 1,
|
|
984
1080
|
...props
|
|
985
|
-
}, /* @__PURE__ */
|
|
1081
|
+
}, /* @__PURE__ */ React26.createElement(ErrorRender3, {
|
|
986
1082
|
error: producerError,
|
|
987
1083
|
scope: "BlockProducerStatsFlexbox"
|
|
988
|
-
}), /* @__PURE__ */
|
|
1084
|
+
}), /* @__PURE__ */ React26.createElement(Typography4, {
|
|
989
1085
|
fontSize: "1rem"
|
|
990
|
-
}, "Block Producers"), /* @__PURE__ */
|
|
1086
|
+
}, "Block Producers"), /* @__PURE__ */ React26.createElement(ChainProducerStatsTable, {
|
|
991
1087
|
producers: producersArray
|
|
992
1088
|
}));
|
|
993
1089
|
}, "BlockProducerStatsFlexbox");
|
|
@@ -999,18 +1095,18 @@ var StyledListItem = styled(ListItem)(() => ({
|
|
|
999
1095
|
// src/components/chain/stats/Dialog.tsx
|
|
1000
1096
|
var ChainAnalyzerStatsDialog = /* @__PURE__ */ __name((props) => {
|
|
1001
1097
|
const { analyzers, statsUpdated } = useChainAnalyzersContext();
|
|
1002
|
-
return /* @__PURE__ */
|
|
1098
|
+
return /* @__PURE__ */ React27.createElement(Dialog3, props, /* @__PURE__ */ React27.createElement(DialogTitle3, null, "Chain Analysis"), /* @__PURE__ */ React27.createElement(DialogContent3, null, !!statsUpdated && Object.entries(analyzers).map(([id2, analyzer]) => /* @__PURE__ */ React27.createElement("div", {
|
|
1003
1099
|
key: id2
|
|
1004
|
-
}, id2 === "producers" && /* @__PURE__ */
|
|
1100
|
+
}, id2 === "producers" && /* @__PURE__ */ React27.createElement(BlockProducerStatsFlexbox, {
|
|
1005
1101
|
payload: analyzer.result()
|
|
1006
1102
|
})))));
|
|
1007
1103
|
}, "ChainAnalyzerStatsDialog");
|
|
1008
1104
|
var ChainAnalyzerStatsDialogFromContext = /* @__PURE__ */ __name((props) => {
|
|
1009
1105
|
const [open, setOpen] = useState10(false);
|
|
1010
1106
|
const handleClose = /* @__PURE__ */ __name(() => setOpen(false), "handleClose");
|
|
1011
|
-
return /* @__PURE__ */
|
|
1107
|
+
return /* @__PURE__ */ React27.createElement(React27.Fragment, null, /* @__PURE__ */ React27.createElement(IconButton3, {
|
|
1012
1108
|
onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
|
|
1013
|
-
}, /* @__PURE__ */
|
|
1109
|
+
}, /* @__PURE__ */ React27.createElement(QueryStats, null)), /* @__PURE__ */ React27.createElement(ChainAnalyzerStatsDialog, {
|
|
1014
1110
|
onClose: handleClose,
|
|
1015
1111
|
open,
|
|
1016
1112
|
...props
|
|
@@ -1019,19 +1115,19 @@ var ChainAnalyzerStatsDialogFromContext = /* @__PURE__ */ __name((props) => {
|
|
|
1019
1115
|
|
|
1020
1116
|
// src/components/chain/controls/PulseSvgIcon.tsx
|
|
1021
1117
|
import { alpha, createSvgIcon, keyframes, styled as styled2 } from "@mui/material";
|
|
1022
|
-
import
|
|
1023
|
-
var PulseSvgIcon = createSvgIcon(/* @__PURE__ */
|
|
1118
|
+
import React28 from "react";
|
|
1119
|
+
var PulseSvgIcon = createSvgIcon(/* @__PURE__ */ React28.createElement("svg", {
|
|
1024
1120
|
viewBox: "0 0 80 80",
|
|
1025
1121
|
version: "1.1",
|
|
1026
1122
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1027
|
-
}, /* @__PURE__ */
|
|
1123
|
+
}, /* @__PURE__ */ React28.createElement("g", {
|
|
1028
1124
|
transform: "translate(34,34)"
|
|
1029
|
-
}, /* @__PURE__ */
|
|
1125
|
+
}, /* @__PURE__ */ React28.createElement("circle", {
|
|
1030
1126
|
className: "core",
|
|
1031
1127
|
cx: "0",
|
|
1032
1128
|
cy: "0",
|
|
1033
1129
|
r: "6"
|
|
1034
|
-
}), /* @__PURE__ */
|
|
1130
|
+
}), /* @__PURE__ */ React28.createElement("circle", {
|
|
1035
1131
|
className: "radar",
|
|
1036
1132
|
cx: "0",
|
|
1037
1133
|
cy: "0",
|
|
@@ -1095,24 +1191,24 @@ var StyledPulseSvgIcon = styled2(PulseSvgIcon)(({ theme }) => {
|
|
|
1095
1191
|
var PollingControlsFlexbox = /* @__PURE__ */ __name(({ blocksBehind, pollingState, setPollingState }) => {
|
|
1096
1192
|
const paused = pollingState === "paused";
|
|
1097
1193
|
const running = pollingState === "running";
|
|
1098
|
-
return /* @__PURE__ */
|
|
1194
|
+
return /* @__PURE__ */ React29.createElement(FlexRow7, {
|
|
1099
1195
|
justifyContent: "space-between",
|
|
1100
1196
|
width: "100%"
|
|
1101
|
-
}, /* @__PURE__ */
|
|
1197
|
+
}, /* @__PURE__ */ React29.createElement(FlexRow7, {
|
|
1102
1198
|
gap: 2
|
|
1103
|
-
}, running && /* @__PURE__ */
|
|
1199
|
+
}, running && /* @__PURE__ */ React29.createElement(IconButton4, {
|
|
1104
1200
|
onClick: /* @__PURE__ */ __name(() => setPollingState?.("paused"), "onClick"),
|
|
1105
1201
|
title: "Pause Block Stream"
|
|
1106
|
-
}, /* @__PURE__ */
|
|
1202
|
+
}, /* @__PURE__ */ React29.createElement(Pause, null)), paused && /* @__PURE__ */ React29.createElement(IconButton4, {
|
|
1107
1203
|
onClick: /* @__PURE__ */ __name(() => setPollingState?.("running"), "onClick"),
|
|
1108
1204
|
title: "Re-Sync Block Stream"
|
|
1109
|
-
}, /* @__PURE__ */
|
|
1205
|
+
}, /* @__PURE__ */ React29.createElement(Autorenew, null)), /* @__PURE__ */ React29.createElement(ChainAnalyzerStatsDialogFromContext, null)), /* @__PURE__ */ React29.createElement(FlexRow7, {
|
|
1110
1206
|
gap: 2
|
|
1111
|
-
}, /* @__PURE__ */
|
|
1207
|
+
}, /* @__PURE__ */ React29.createElement(Grow, {
|
|
1112
1208
|
in: (blocksBehind ?? 0) > 0
|
|
1113
|
-
}, /* @__PURE__ */
|
|
1209
|
+
}, /* @__PURE__ */ React29.createElement(Tooltip7, {
|
|
1114
1210
|
title: "Click to Re-Sync"
|
|
1115
|
-
}, /* @__PURE__ */
|
|
1211
|
+
}, /* @__PURE__ */ React29.createElement(Alert3, {
|
|
1116
1212
|
sx: {
|
|
1117
1213
|
py: 0,
|
|
1118
1214
|
px: 1,
|
|
@@ -1120,11 +1216,11 @@ var PollingControlsFlexbox = /* @__PURE__ */ __name(({ blocksBehind, pollingStat
|
|
|
1120
1216
|
},
|
|
1121
1217
|
severity: "warning",
|
|
1122
1218
|
onClick: /* @__PURE__ */ __name(() => setPollingState?.("running"), "onClick")
|
|
1123
|
-
}, /* @__PURE__ */
|
|
1219
|
+
}, /* @__PURE__ */ React29.createElement(AlertTitle2, {
|
|
1124
1220
|
sx: {
|
|
1125
1221
|
mb: 0
|
|
1126
1222
|
}
|
|
1127
|
-
}, "Behind:", " ", blocksBehind)))), /* @__PURE__ */
|
|
1223
|
+
}, "Behind:", " ", blocksBehind)))), /* @__PURE__ */ React29.createElement(Icon2, null, /* @__PURE__ */ React29.createElement(StyledPulseSvgIcon, {
|
|
1128
1224
|
className: running ? "" : "paused"
|
|
1129
1225
|
}))));
|
|
1130
1226
|
}, "PollingControlsFlexbox");
|
|
@@ -1132,9 +1228,9 @@ var MemoizedPollingControlsFlexbox = /* @__PURE__ */ memo(PollingControlsFlexbox
|
|
|
1132
1228
|
|
|
1133
1229
|
// src/components/chain/dialog/Dialog.tsx
|
|
1134
1230
|
import { Button as Button4, Dialog as Dialog4, DialogActions as DialogActions3, DialogContent as DialogContent4 } from "@mui/material";
|
|
1135
|
-
import
|
|
1231
|
+
import React30 from "react";
|
|
1136
1232
|
var TransactionsDialog = /* @__PURE__ */ __name((props) => {
|
|
1137
|
-
return /* @__PURE__ */
|
|
1233
|
+
return /* @__PURE__ */ React30.createElement(Dialog4, props, /* @__PURE__ */ React30.createElement(DialogContent4, null, "Transactions Dialog"), /* @__PURE__ */ React30.createElement(DialogActions3, null, /* @__PURE__ */ React30.createElement(Button4, {
|
|
1138
1234
|
variant: "outlined",
|
|
1139
1235
|
onClick: /* @__PURE__ */ __name((e) => props?.onClose?.(e, "escapeKeyDown"), "onClick")
|
|
1140
1236
|
}, "Close")));
|
|
@@ -1174,9 +1270,9 @@ var useOnBlock = /* @__PURE__ */ __name((initialHeadNumber, onAddBlock, liveHead
|
|
|
1174
1270
|
|
|
1175
1271
|
// src/components/chain/pagination/BlockChainPagination.tsx
|
|
1176
1272
|
import { TablePaginationActions } from "@xyo-network/react-payload-table";
|
|
1177
|
-
import
|
|
1273
|
+
import React31 from "react";
|
|
1178
1274
|
var BlockChainPagination = /* @__PURE__ */ __name(({ count = 0, onPageChange, page, rowsPerPage = 10 }) => {
|
|
1179
|
-
return /* @__PURE__ */
|
|
1275
|
+
return /* @__PURE__ */ React31.createElement(TablePaginationActions, {
|
|
1180
1276
|
count,
|
|
1181
1277
|
onPageChange,
|
|
1182
1278
|
page,
|
|
@@ -1185,10 +1281,10 @@ var BlockChainPagination = /* @__PURE__ */ __name(({ count = 0, onPageChange, pa
|
|
|
1185
1281
|
}, "BlockChainPagination");
|
|
1186
1282
|
|
|
1187
1283
|
// src/components/chain/pagination/hooks/usePagination.tsx
|
|
1188
|
-
import { useMemo as
|
|
1284
|
+
import { useMemo as useMemo11, useState as useState11 } from "react";
|
|
1189
1285
|
var useChainPagination = /* @__PURE__ */ __name((pageSize, blockComponents) => {
|
|
1190
1286
|
const [page, setPage] = useState11(0);
|
|
1191
|
-
const paginatedBlockComponents =
|
|
1287
|
+
const paginatedBlockComponents = useMemo11(() => {
|
|
1192
1288
|
const startIndex = page * pageSize;
|
|
1193
1289
|
const endIndex = startIndex + pageSize;
|
|
1194
1290
|
return blockComponents?.slice(startIndex, endIndex);
|
|
@@ -1210,11 +1306,11 @@ var useChainPagination = /* @__PURE__ */ __name((pageSize, blockComponents) => {
|
|
|
1210
1306
|
// src/components/chain/render/dynamic/flexbox/variants/Base.tsx
|
|
1211
1307
|
import { ErrorRender as ErrorRender4 } from "@xylabs/react-error";
|
|
1212
1308
|
import { FlexCol as FlexCol5 } from "@xylabs/react-flexbox";
|
|
1213
|
-
import
|
|
1309
|
+
import React33 from "react";
|
|
1214
1310
|
|
|
1215
1311
|
// src/components/chain/list/Animated.tsx
|
|
1216
1312
|
import { AnimatedList } from "@xylabs/react-animation";
|
|
1217
|
-
import
|
|
1313
|
+
import React32 from "react";
|
|
1218
1314
|
|
|
1219
1315
|
// src/components/chain/styled/BlockListWrapperFlexbox.tsx
|
|
1220
1316
|
import { styled as styled3 } from "@mui/material";
|
|
@@ -1235,17 +1331,17 @@ var BlockListWrapperFlexBox = styled3(FlexCol4, {
|
|
|
1235
1331
|
|
|
1236
1332
|
// src/components/chain/list/Animated.tsx
|
|
1237
1333
|
var BlockListAnimated = /* @__PURE__ */ __name(({ blockChainRenderComponents }) => {
|
|
1238
|
-
return /* @__PURE__ */
|
|
1334
|
+
return /* @__PURE__ */ React32.createElement(BlockListWrapperFlexBox, {
|
|
1239
1335
|
alignItems: "stretch",
|
|
1240
1336
|
width: "100%"
|
|
1241
|
-
}, /* @__PURE__ */
|
|
1337
|
+
}, /* @__PURE__ */ React32.createElement(AnimatedList, {
|
|
1242
1338
|
fullWidth: true,
|
|
1243
1339
|
items: blockChainRenderComponents
|
|
1244
1340
|
}));
|
|
1245
1341
|
}, "BlockListAnimated");
|
|
1246
1342
|
|
|
1247
1343
|
// src/components/chain/render/dynamic/hooks/useDynamicBlockRenderComponents.ts
|
|
1248
|
-
import { useMemo as
|
|
1344
|
+
import { useMemo as useMemo13 } from "react";
|
|
1249
1345
|
|
|
1250
1346
|
// src/hooks/chain-iterator/ChainIteratorStore.ts
|
|
1251
1347
|
import { assertEx } from "@xylabs/assert";
|
|
@@ -1350,7 +1446,7 @@ var useChainIteratorParams = /* @__PURE__ */ __name(({ chainArchivist, chainInfo
|
|
|
1350
1446
|
|
|
1351
1447
|
// src/hooks/chain-iterator/useChainIteratorStore.ts
|
|
1352
1448
|
import { usePromise as usePromise4 } from "@xylabs/react-promise";
|
|
1353
|
-
import { useEffect as useEffect3, useMemo as
|
|
1449
|
+
import { useEffect as useEffect3, useMemo as useMemo12, useRef as useRef3, useSyncExternalStore } from "react";
|
|
1354
1450
|
|
|
1355
1451
|
// src/hooks/chain-iterator/useChainIteratorUpdatingHead.ts
|
|
1356
1452
|
import { toHex as toHex2 } from "@xylabs/hex";
|
|
@@ -1417,7 +1513,7 @@ var useChainIteratorStore = /* @__PURE__ */ __name((chainIteratorParams) => {
|
|
|
1417
1513
|
chainIteratorStore
|
|
1418
1514
|
]);
|
|
1419
1515
|
const cachedSnapshot = useRef3({});
|
|
1420
|
-
const { getSnapShot, subscribe } =
|
|
1516
|
+
const { getSnapShot, subscribe } = useMemo12(() => {
|
|
1421
1517
|
if (chainIteratorStore) {
|
|
1422
1518
|
return {
|
|
1423
1519
|
getSnapShot: /* @__PURE__ */ __name(() => {
|
|
@@ -1499,7 +1595,7 @@ var useIterateChain = /* @__PURE__ */ __name((chainIteratorParams, maxDepth) =>
|
|
|
1499
1595
|
// src/components/chain/render/dynamic/hooks/useDynamicBlockRenderComponents.ts
|
|
1500
1596
|
var useDynamicBlockRenderComponents = /* @__PURE__ */ __name((BlockComponent, blockChainRenderProps) => {
|
|
1501
1597
|
const { maxBlocks } = blockChainRenderProps ?? {};
|
|
1502
|
-
const chainIteratorParams =
|
|
1598
|
+
const chainIteratorParams = useMemo13(() => blockChainRenderProps ?? {}, [
|
|
1503
1599
|
blockChainRenderProps
|
|
1504
1600
|
]);
|
|
1505
1601
|
const [params, paramsError] = useChainIteratorParams(chainIteratorParams);
|
|
@@ -1520,7 +1616,7 @@ var useDynamicBlockRenderComponents = /* @__PURE__ */ __name((BlockComponent, bl
|
|
|
1520
1616
|
|
|
1521
1617
|
// src/components/chain/render/dynamic/hooks/useRemoteBlockChainRenderProps.ts
|
|
1522
1618
|
import { usePromise as usePromise6 } from "@xylabs/react-promise";
|
|
1523
|
-
import { useMemo as
|
|
1619
|
+
import { useMemo as useMemo14 } from "react";
|
|
1524
1620
|
|
|
1525
1621
|
// src/lib/getChainArchivist.ts
|
|
1526
1622
|
import { assertEx as assertEx4 } from "@xylabs/assert";
|
|
@@ -1564,7 +1660,7 @@ var useRemoteBlockChainRenderProps = /* @__PURE__ */ __name((chainArchivistModul
|
|
|
1564
1660
|
url,
|
|
1565
1661
|
chainArchivistModuleId
|
|
1566
1662
|
]);
|
|
1567
|
-
const blockChainRenderProps =
|
|
1663
|
+
const blockChainRenderProps = useMemo14(() => ({
|
|
1568
1664
|
...blockChainRenderPropsArg,
|
|
1569
1665
|
chainArchivist
|
|
1570
1666
|
}), [
|
|
@@ -1580,28 +1676,28 @@ var useRemoteBlockChainRenderProps = /* @__PURE__ */ __name((chainArchivistModul
|
|
|
1580
1676
|
// src/components/chain/render/dynamic/flexbox/variants/Base.tsx
|
|
1581
1677
|
var DynamicListBase = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
|
|
1582
1678
|
const { errors, blockChainRenderComponents, blocksWhilePaused, pollingState, updatePollingState } = useDynamicBlockRenderComponents(BlockHeadingFlexbox, blockChainRenderProps);
|
|
1583
|
-
return /* @__PURE__ */
|
|
1679
|
+
return /* @__PURE__ */ React33.createElement(FlexCol5, {
|
|
1584
1680
|
alignItems: "start",
|
|
1585
1681
|
...props
|
|
1586
|
-
}, errors?.map((error) => /* @__PURE__ */
|
|
1682
|
+
}, errors?.map((error) => /* @__PURE__ */ React33.createElement(ErrorRender4, {
|
|
1587
1683
|
error,
|
|
1588
1684
|
key: error?.name,
|
|
1589
1685
|
scope: "DynamicBlockchainRenderFlexboxInner"
|
|
1590
|
-
})), /* @__PURE__ */
|
|
1686
|
+
})), /* @__PURE__ */ React33.createElement(MemoizedPollingControlsFlexbox, {
|
|
1591
1687
|
blocksBehind: blocksWhilePaused?.length,
|
|
1592
1688
|
pollingState,
|
|
1593
1689
|
setPollingState: updatePollingState
|
|
1594
|
-
}), /* @__PURE__ */
|
|
1690
|
+
}), /* @__PURE__ */ React33.createElement(BlockListAnimated, {
|
|
1595
1691
|
blockChainRenderComponents
|
|
1596
1692
|
}));
|
|
1597
1693
|
}, "DynamicListBase");
|
|
1598
1694
|
|
|
1599
1695
|
// src/components/chain/render/dynamic/flexbox/variants/WithAnalysis.tsx
|
|
1600
1696
|
import { ChainProducersAnalyzer } from "@xyo-network/chain-protocol";
|
|
1601
|
-
import
|
|
1697
|
+
import React34, { useMemo as useMemo15 } from "react";
|
|
1602
1698
|
var WithAnalysis = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
|
|
1603
1699
|
const { chainInformation } = blockChainRenderProps ?? {};
|
|
1604
|
-
const analyzers =
|
|
1700
|
+
const analyzers = useMemo15(() => {
|
|
1605
1701
|
if (chainInformation) {
|
|
1606
1702
|
return {
|
|
1607
1703
|
producers: new ChainProducersAnalyzer()
|
|
@@ -1610,9 +1706,9 @@ var WithAnalysis = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props })
|
|
|
1610
1706
|
}, [
|
|
1611
1707
|
chainInformation
|
|
1612
1708
|
]);
|
|
1613
|
-
return /* @__PURE__ */
|
|
1709
|
+
return /* @__PURE__ */ React34.createElement(ChainAnalyzersProvider, {
|
|
1614
1710
|
analyzers
|
|
1615
|
-
}, /* @__PURE__ */
|
|
1711
|
+
}, /* @__PURE__ */ React34.createElement(ChainPollingProvider, null, /* @__PURE__ */ React34.createElement(DynamicListBase, {
|
|
1616
1712
|
blockChainRenderProps,
|
|
1617
1713
|
...props
|
|
1618
1714
|
})));
|
|
@@ -1620,13 +1716,13 @@ var WithAnalysis = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props })
|
|
|
1620
1716
|
|
|
1621
1717
|
// src/components/chain/render/dynamic/flexbox/variants/WithRemote.tsx
|
|
1622
1718
|
import { ErrorRender as ErrorRender5 } from "@xylabs/react-error";
|
|
1623
|
-
import
|
|
1719
|
+
import React35 from "react";
|
|
1624
1720
|
var WithRemote = /* @__PURE__ */ __name(({ url, chainArchivistModuleId, blockChainRenderProps: blockChainRenderPropsArg, ...props }) => {
|
|
1625
1721
|
const { error, blockChainRenderProps } = useRemoteBlockChainRenderProps(chainArchivistModuleId, url, blockChainRenderPropsArg);
|
|
1626
|
-
return /* @__PURE__ */
|
|
1722
|
+
return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(ErrorRender5, {
|
|
1627
1723
|
error,
|
|
1628
1724
|
scope: "RemoteChainProviderFlexbox"
|
|
1629
|
-
}), /* @__PURE__ */
|
|
1725
|
+
}), /* @__PURE__ */ React35.createElement(WithAnalysis, {
|
|
1630
1726
|
blockChainRenderProps,
|
|
1631
1727
|
...props
|
|
1632
1728
|
}));
|
|
@@ -1642,16 +1738,16 @@ var DynamicBlockchainRenderFlexbox = {
|
|
|
1642
1738
|
// src/components/chain/render/static/flexbox/variants/Base.tsx
|
|
1643
1739
|
import { ErrorRender as ErrorRender6 } from "@xylabs/react-error";
|
|
1644
1740
|
import { FlexCol as FlexCol6, FlexGrowRow as FlexGrowRow2 } from "@xylabs/react-flexbox";
|
|
1645
|
-
import
|
|
1741
|
+
import React36 from "react";
|
|
1646
1742
|
|
|
1647
1743
|
// src/components/chain/render/static/hooks/useStaticBlockRenderComponents.ts
|
|
1648
1744
|
import { exists } from "@xylabs/exists";
|
|
1649
|
-
import { useMemo as
|
|
1745
|
+
import { useMemo as useMemo16 } from "react";
|
|
1650
1746
|
var DEFAULT_PAGE_SIZE = 25;
|
|
1651
1747
|
var useStaticBlockRenderComponents = /* @__PURE__ */ __name((BlockComponent, blockChainRenderProps) => {
|
|
1652
1748
|
const { maxBlocks } = blockChainRenderProps ?? {};
|
|
1653
1749
|
const pageSize = blockChainRenderProps?.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
1654
|
-
const chainIteratorParams =
|
|
1750
|
+
const chainIteratorParams = useMemo16(() => blockChainRenderProps ?? {}, [
|
|
1655
1751
|
blockChainRenderProps
|
|
1656
1752
|
]);
|
|
1657
1753
|
const [params, paramsError] = useChainIteratorParams(chainIteratorParams);
|
|
@@ -1675,34 +1771,34 @@ var useStaticBlockRenderComponents = /* @__PURE__ */ __name((BlockComponent, blo
|
|
|
1675
1771
|
// src/components/chain/render/static/flexbox/variants/Base.tsx
|
|
1676
1772
|
var StaticListBase = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
|
|
1677
1773
|
const { blockComponents, errors, paginatedBlockComponents, onPageChange, page, pageSize } = useStaticBlockRenderComponents(BlockHeadingFlexbox, blockChainRenderProps);
|
|
1678
|
-
return /* @__PURE__ */
|
|
1774
|
+
return /* @__PURE__ */ React36.createElement(FlexCol6, {
|
|
1679
1775
|
alignItems: "start",
|
|
1680
1776
|
gap: 2,
|
|
1681
1777
|
width: "100%",
|
|
1682
1778
|
...props
|
|
1683
|
-
}, errors?.map((error) => /* @__PURE__ */
|
|
1779
|
+
}, errors?.map((error) => /* @__PURE__ */ React36.createElement(ErrorRender6, {
|
|
1684
1780
|
error,
|
|
1685
1781
|
key: error.name,
|
|
1686
1782
|
scope: "StaticBlockchainFlexboxInner"
|
|
1687
|
-
})), paginatedBlockComponents?.length ? /* @__PURE__ */
|
|
1783
|
+
})), paginatedBlockComponents?.length ? /* @__PURE__ */ React36.createElement(FlexGrowRow2, {
|
|
1688
1784
|
justifyContent: "space-between",
|
|
1689
1785
|
width: "100%"
|
|
1690
|
-
}, /* @__PURE__ */
|
|
1786
|
+
}, /* @__PURE__ */ React36.createElement(ChainAnalyzerStatsDialogFromContext, null), /* @__PURE__ */ React36.createElement(BlockChainPagination, {
|
|
1691
1787
|
count: blockComponents?.length ?? 0,
|
|
1692
1788
|
onPageChange,
|
|
1693
1789
|
page,
|
|
1694
1790
|
rowsPerPage: pageSize
|
|
1695
|
-
})) : null, /* @__PURE__ */
|
|
1791
|
+
})) : null, /* @__PURE__ */ React36.createElement(BlockListAnimated, {
|
|
1696
1792
|
blockChainRenderComponents: paginatedBlockComponents
|
|
1697
1793
|
}));
|
|
1698
1794
|
}, "StaticListBase");
|
|
1699
1795
|
|
|
1700
1796
|
// src/components/chain/render/static/flexbox/variants/WithAnalysis.tsx
|
|
1701
1797
|
import { ChainProducersAnalyzer as ChainProducersAnalyzer2 } from "@xyo-network/chain-protocol";
|
|
1702
|
-
import
|
|
1798
|
+
import React37, { useMemo as useMemo17 } from "react";
|
|
1703
1799
|
var WithAnalysis2 = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
|
|
1704
1800
|
const { chainInformation } = blockChainRenderProps ?? {};
|
|
1705
|
-
const analyzers =
|
|
1801
|
+
const analyzers = useMemo17(() => {
|
|
1706
1802
|
if (chainInformation) {
|
|
1707
1803
|
return {
|
|
1708
1804
|
producers: new ChainProducersAnalyzer2()
|
|
@@ -1711,9 +1807,9 @@ var WithAnalysis2 = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props })
|
|
|
1711
1807
|
}, [
|
|
1712
1808
|
chainInformation
|
|
1713
1809
|
]);
|
|
1714
|
-
return /* @__PURE__ */
|
|
1810
|
+
return /* @__PURE__ */ React37.createElement(ChainAnalyzersProvider, {
|
|
1715
1811
|
analyzers
|
|
1716
|
-
}, /* @__PURE__ */
|
|
1812
|
+
}, /* @__PURE__ */ React37.createElement(StaticListBase, {
|
|
1717
1813
|
blockChainRenderProps,
|
|
1718
1814
|
...props
|
|
1719
1815
|
}));
|
|
@@ -1728,19 +1824,19 @@ var StaticBlockchainRenderFlexBox = {
|
|
|
1728
1824
|
// src/components/payload/builder/Flexbox.tsx
|
|
1729
1825
|
import { FlexCol as FlexCol7 } from "@xylabs/react-flexbox";
|
|
1730
1826
|
import { JsonViewerEx as JsonViewerEx2 } from "@xyo-network/react-payload-raw-info";
|
|
1731
|
-
import
|
|
1827
|
+
import React38, { useState as useState13 } from "react";
|
|
1732
1828
|
var PayloadBuilderFlexbox = /* @__PURE__ */ __name(({ BuilderComponent, onBuild, ...props }) => {
|
|
1733
1829
|
const [payload, setPayload] = useState13();
|
|
1734
1830
|
const onBuildLocal = /* @__PURE__ */ __name((payload2) => {
|
|
1735
1831
|
onBuild?.(payload2);
|
|
1736
1832
|
setPayload(payload2);
|
|
1737
1833
|
}, "onBuildLocal");
|
|
1738
|
-
return /* @__PURE__ */
|
|
1834
|
+
return /* @__PURE__ */ React38.createElement(FlexCol7, {
|
|
1739
1835
|
gap: 2,
|
|
1740
1836
|
...props
|
|
1741
|
-
}, /* @__PURE__ */
|
|
1837
|
+
}, /* @__PURE__ */ React38.createElement(BuilderComponent, {
|
|
1742
1838
|
onBuild: onBuildLocal
|
|
1743
|
-
}), payload && /* @__PURE__ */
|
|
1839
|
+
}), payload && /* @__PURE__ */ React38.createElement(JsonViewerEx2, {
|
|
1744
1840
|
value: payload
|
|
1745
1841
|
}));
|
|
1746
1842
|
}, "PayloadBuilderFlexbox");
|
|
@@ -1748,11 +1844,11 @@ var PayloadBuilderFlexbox = /* @__PURE__ */ __name(({ BuilderComponent, onBuild,
|
|
|
1748
1844
|
// src/components/payload/builder/producer-intent/Form.tsx
|
|
1749
1845
|
import { Button as Button5, FormControl as FormControl5 } from "@mui/material";
|
|
1750
1846
|
import { createProducerChainStakeIntent } from "@xyo-network/chain-ethereum";
|
|
1751
|
-
import
|
|
1847
|
+
import React41, { useMemo as useMemo19, useState as useState16 } from "react";
|
|
1752
1848
|
|
|
1753
1849
|
// src/components/payload/fields/BlockNumberTextField.tsx
|
|
1754
1850
|
import { FormControl as FormControl3, FormHelperText as FormHelperText2, TextField as TextField3 } from "@mui/material";
|
|
1755
|
-
import
|
|
1851
|
+
import React39, { useState as useState14 } from "react";
|
|
1756
1852
|
var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumberChanged, onChange, ...props }) => {
|
|
1757
1853
|
const [blockNumber, setBlockNumber] = useState14();
|
|
1758
1854
|
const handleChange = /* @__PURE__ */ __name((e) => {
|
|
@@ -1761,15 +1857,15 @@ var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumber
|
|
|
1761
1857
|
onBlockNumberChanged?.(Number.parseInt(value));
|
|
1762
1858
|
onChange?.(e);
|
|
1763
1859
|
}, "handleChange");
|
|
1764
|
-
return /* @__PURE__ */
|
|
1860
|
+
return /* @__PURE__ */ React39.createElement(FormControl3, {
|
|
1765
1861
|
fullWidth: true
|
|
1766
|
-
}, /* @__PURE__ */
|
|
1862
|
+
}, /* @__PURE__ */ React39.createElement(TextField3, {
|
|
1767
1863
|
error: !!errorMessage,
|
|
1768
1864
|
onChange: handleChange,
|
|
1769
1865
|
type: "number",
|
|
1770
1866
|
value: blockNumber ?? "",
|
|
1771
1867
|
...props
|
|
1772
|
-
}), errorMessage && /* @__PURE__ */
|
|
1868
|
+
}), errorMessage && /* @__PURE__ */ React39.createElement(FormHelperText2, {
|
|
1773
1869
|
sx: {
|
|
1774
1870
|
color: /* @__PURE__ */ __name((theme) => theme.palette.error.main, "color")
|
|
1775
1871
|
}
|
|
@@ -1779,11 +1875,11 @@ var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumber
|
|
|
1779
1875
|
// src/components/payload/fields/XyoAddressTextField.tsx
|
|
1780
1876
|
import { FormControl as FormControl4, FormHelperText as FormHelperText3, TextField as TextField4 } from "@mui/material";
|
|
1781
1877
|
import { asAddress } from "@xylabs/hex";
|
|
1782
|
-
import
|
|
1878
|
+
import React40, { useMemo as useMemo18, useState as useState15 } from "react";
|
|
1783
1879
|
var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange, resetValue, ...props }) => {
|
|
1784
1880
|
const [address, setAddress] = useState15("");
|
|
1785
1881
|
const [addressError, setAddressError] = useState15();
|
|
1786
|
-
|
|
1882
|
+
useMemo18(() => setAddress(""), [
|
|
1787
1883
|
resetValue
|
|
1788
1884
|
]);
|
|
1789
1885
|
const handleChange = /* @__PURE__ */ __name((event) => {
|
|
@@ -1803,15 +1899,15 @@ var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange,
|
|
|
1803
1899
|
onAddressChanged?.();
|
|
1804
1900
|
}
|
|
1805
1901
|
}, "handleBlur");
|
|
1806
|
-
return /* @__PURE__ */
|
|
1902
|
+
return /* @__PURE__ */ React40.createElement(FormControl4, {
|
|
1807
1903
|
fullWidth: true
|
|
1808
|
-
}, /* @__PURE__ */
|
|
1904
|
+
}, /* @__PURE__ */ React40.createElement(TextField4, {
|
|
1809
1905
|
error: !!addressError,
|
|
1810
1906
|
onBlur: handleBlur,
|
|
1811
1907
|
onChange: handleChange,
|
|
1812
1908
|
value: address,
|
|
1813
1909
|
...props
|
|
1814
|
-
}), addressError && /* @__PURE__ */
|
|
1910
|
+
}), addressError && /* @__PURE__ */ React40.createElement(FormHelperText3, {
|
|
1815
1911
|
sx: {
|
|
1816
1912
|
color: /* @__PURE__ */ __name((theme) => theme.palette.error.main, "color")
|
|
1817
1913
|
}
|
|
@@ -1824,7 +1920,7 @@ var ProducerIntentBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
|
1824
1920
|
const [exp, setExp] = useState16();
|
|
1825
1921
|
const [nbf, setNbf] = useState16();
|
|
1826
1922
|
const [blockRangeError, setBlockRangeError] = useState16();
|
|
1827
|
-
const intentPayload =
|
|
1923
|
+
const intentPayload = useMemo19(() => {
|
|
1828
1924
|
if (exp !== void 0 && nbf !== void 0) {
|
|
1829
1925
|
if (exp <= nbf) {
|
|
1830
1926
|
setBlockRangeError(new Error("Expires must be greater than Not Before"));
|
|
@@ -1844,33 +1940,33 @@ var ProducerIntentBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
|
1844
1940
|
const onBuildLocal = /* @__PURE__ */ __name(() => {
|
|
1845
1941
|
if (onBuild && intentPayload) onBuild?.(intentPayload);
|
|
1846
1942
|
}, "onBuildLocal");
|
|
1847
|
-
return /* @__PURE__ */
|
|
1943
|
+
return /* @__PURE__ */ React41.createElement(React41.Fragment, null, /* @__PURE__ */ React41.createElement(FormControl5, {
|
|
1848
1944
|
fullWidth: true
|
|
1849
|
-
}, /* @__PURE__ */
|
|
1945
|
+
}, /* @__PURE__ */ React41.createElement(XyoAddressTextField, {
|
|
1850
1946
|
label: "Delegate",
|
|
1851
1947
|
name: "delegate",
|
|
1852
1948
|
onAddressChanged: setDelegate,
|
|
1853
1949
|
required: true,
|
|
1854
1950
|
size: "small"
|
|
1855
|
-
})), /* @__PURE__ */
|
|
1951
|
+
})), /* @__PURE__ */ React41.createElement(FormControl5, {
|
|
1856
1952
|
fullWidth: true
|
|
1857
|
-
}, /* @__PURE__ */
|
|
1953
|
+
}, /* @__PURE__ */ React41.createElement(BlockNumberTextField, {
|
|
1858
1954
|
errorMessage: blockRangeError?.message,
|
|
1859
1955
|
label: "Expires",
|
|
1860
1956
|
name: "exp",
|
|
1861
1957
|
onBlockNumberChanged: setExp,
|
|
1862
1958
|
required: true,
|
|
1863
1959
|
size: "small"
|
|
1864
|
-
})), /* @__PURE__ */
|
|
1960
|
+
})), /* @__PURE__ */ React41.createElement(FormControl5, {
|
|
1865
1961
|
fullWidth: true
|
|
1866
|
-
}, /* @__PURE__ */
|
|
1962
|
+
}, /* @__PURE__ */ React41.createElement(BlockNumberTextField, {
|
|
1867
1963
|
errorMessage: blockRangeError?.message,
|
|
1868
1964
|
label: "Not Before",
|
|
1869
1965
|
name: "nbf",
|
|
1870
1966
|
onBlockNumberChanged: setNbf,
|
|
1871
1967
|
required: true,
|
|
1872
1968
|
size: "small"
|
|
1873
|
-
})), /* @__PURE__ */
|
|
1969
|
+
})), /* @__PURE__ */ React41.createElement(Button5, {
|
|
1874
1970
|
disabled: !intentPayload,
|
|
1875
1971
|
variant: "contained",
|
|
1876
1972
|
onClick: onBuildLocal
|
|
@@ -1878,24 +1974,24 @@ var ProducerIntentBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
|
1878
1974
|
}, "ProducerIntentBuilderForm");
|
|
1879
1975
|
|
|
1880
1976
|
// src/components/payload/builder/transfer/Flexbox.tsx
|
|
1881
|
-
import
|
|
1977
|
+
import React44 from "react";
|
|
1882
1978
|
|
|
1883
1979
|
// src/components/payload/builder/transfer/Form.tsx
|
|
1884
1980
|
import { Button as Button6, FormControl as FormControl7 } from "@mui/material";
|
|
1885
1981
|
import { TransferSchema } from "@xyo-network/xl1-model";
|
|
1886
|
-
import
|
|
1982
|
+
import React43, { useMemo as useMemo21, useState as useState18 } from "react";
|
|
1887
1983
|
|
|
1888
1984
|
// src/components/payload/builder/transfer/builder/SingleFlexbox.tsx
|
|
1889
1985
|
import { RemoveCircle } from "@mui/icons-material";
|
|
1890
1986
|
import { FormControl as FormControl6, Icon as Icon3, IconButton as IconButton5 } from "@mui/material";
|
|
1891
1987
|
import { toHex as toHex3 } from "@xylabs/hex";
|
|
1892
|
-
import { FlexRow as
|
|
1988
|
+
import { FlexRow as FlexRow8 } from "@xylabs/react-flexbox";
|
|
1893
1989
|
import { BigIntInput } from "@xyo-network/react-shared";
|
|
1894
|
-
import
|
|
1990
|
+
import React42, { useEffect as useEffect4, useMemo as useMemo20, useState as useState17 } from "react";
|
|
1895
1991
|
var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated, onRemoveTransfer, singleTransfer, ...props }) => {
|
|
1896
1992
|
const [toAddress, setToAddress] = useState17();
|
|
1897
1993
|
const [amount, setAmount] = useState17();
|
|
1898
|
-
const transferAmount =
|
|
1994
|
+
const transferAmount = useMemo20(() => {
|
|
1899
1995
|
if (toAddress && amount) {
|
|
1900
1996
|
return {
|
|
1901
1997
|
...singleTransfer,
|
|
@@ -1912,36 +2008,36 @@ var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated,
|
|
|
1912
2008
|
}, [
|
|
1913
2009
|
transferAmount
|
|
1914
2010
|
]);
|
|
1915
|
-
return /* @__PURE__ */
|
|
2011
|
+
return /* @__PURE__ */ React42.createElement(FlexRow8, {
|
|
1916
2012
|
alignItems: "start",
|
|
1917
2013
|
gap: 1,
|
|
1918
2014
|
...props
|
|
1919
|
-
}, /* @__PURE__ */
|
|
2015
|
+
}, /* @__PURE__ */ React42.createElement(FormControl6, {
|
|
1920
2016
|
fullWidth: true
|
|
1921
|
-
}, /* @__PURE__ */
|
|
2017
|
+
}, /* @__PURE__ */ React42.createElement(XyoAddressTextField, {
|
|
1922
2018
|
label: "To",
|
|
1923
2019
|
name: "to",
|
|
1924
2020
|
onAddressChanged: setToAddress,
|
|
1925
2021
|
required: true,
|
|
1926
2022
|
size: "small"
|
|
1927
|
-
})), /* @__PURE__ */
|
|
2023
|
+
})), /* @__PURE__ */ React42.createElement(FormControl6, {
|
|
1928
2024
|
fullWidth: true
|
|
1929
|
-
}, /* @__PURE__ */
|
|
2025
|
+
}, /* @__PURE__ */ React42.createElement(BigIntInput.TextField, {
|
|
1930
2026
|
label: "Amount",
|
|
1931
2027
|
name: "amount",
|
|
1932
2028
|
onChangeFixedPoint: setAmount,
|
|
1933
2029
|
required: true,
|
|
1934
2030
|
size: "small"
|
|
1935
|
-
})), /* @__PURE__ */
|
|
2031
|
+
})), /* @__PURE__ */ React42.createElement(IconButton5, {
|
|
1936
2032
|
onClick: /* @__PURE__ */ __name(() => onRemoveTransfer?.(singleTransfer.transferId), "onClick")
|
|
1937
|
-
}, /* @__PURE__ */
|
|
2033
|
+
}, /* @__PURE__ */ React42.createElement(Icon3, null, /* @__PURE__ */ React42.createElement(RemoveCircle, null))));
|
|
1938
2034
|
}, "SingleTransferBuilderFlexbox");
|
|
1939
2035
|
|
|
1940
2036
|
// src/components/payload/builder/transfer/Form.tsx
|
|
1941
2037
|
var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
1942
2038
|
const [fromAddress, setFromAddress] = useState18();
|
|
1943
2039
|
const [transfers, setTransfers] = useState18([]);
|
|
1944
|
-
const transferPayload =
|
|
2040
|
+
const transferPayload = useMemo21(() => {
|
|
1945
2041
|
if (fromAddress && transfers.length > 0) {
|
|
1946
2042
|
const transfersRecord = {};
|
|
1947
2043
|
for (const transfer of transfers) {
|
|
@@ -1983,19 +2079,19 @@ var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
|
1983
2079
|
return transfer;
|
|
1984
2080
|
}));
|
|
1985
2081
|
}, "onTransferUpdated");
|
|
1986
|
-
return /* @__PURE__ */
|
|
2082
|
+
return /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(FormControl7, {
|
|
1987
2083
|
fullWidth: true
|
|
1988
|
-
}, /* @__PURE__ */
|
|
2084
|
+
}, /* @__PURE__ */ React43.createElement(XyoAddressTextField, {
|
|
1989
2085
|
label: "From",
|
|
1990
2086
|
name: "from",
|
|
1991
2087
|
onAddressChanged: setFromAddress,
|
|
1992
2088
|
required: true,
|
|
1993
2089
|
size: "small"
|
|
1994
|
-
})), /* @__PURE__ */
|
|
2090
|
+
})), /* @__PURE__ */ React43.createElement(Button6, {
|
|
1995
2091
|
onClick: onTransferAdded,
|
|
1996
2092
|
size: "small",
|
|
1997
2093
|
variant: "contained"
|
|
1998
|
-
}, "Add Transfer"), transfers.map((transfer) => /* @__PURE__ */
|
|
2094
|
+
}, "Add Transfer"), transfers.map((transfer) => /* @__PURE__ */ React43.createElement(SingleTransferBuilderFlexbox, {
|
|
1999
2095
|
key: transfer.transferId,
|
|
2000
2096
|
onTransferUpdated,
|
|
2001
2097
|
onRemoveTransfer: onTransferRemoved,
|
|
@@ -2003,7 +2099,7 @@ var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
|
2003
2099
|
sx: {
|
|
2004
2100
|
width: "100%"
|
|
2005
2101
|
}
|
|
2006
|
-
})), /* @__PURE__ */
|
|
2102
|
+
})), /* @__PURE__ */ React43.createElement(Button6, {
|
|
2007
2103
|
disabled: !transferPayload,
|
|
2008
2104
|
variant: "contained",
|
|
2009
2105
|
onClick: onBuildLocal
|
|
@@ -2011,7 +2107,7 @@ var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
|
2011
2107
|
}, "TransferBuilderForm");
|
|
2012
2108
|
|
|
2013
2109
|
// src/components/payload/builder/transfer/Flexbox.tsx
|
|
2014
|
-
var TransferBuilderFlexbox = /* @__PURE__ */ __name(({ onBuild, ...props }) => /* @__PURE__ */
|
|
2110
|
+
var TransferBuilderFlexbox = /* @__PURE__ */ __name(({ onBuild, ...props }) => /* @__PURE__ */ React44.createElement(PayloadBuilderFlexbox, {
|
|
2015
2111
|
gap: 4,
|
|
2016
2112
|
alignItems: "start",
|
|
2017
2113
|
BuilderComponent: TransferBuilderForm,
|
|
@@ -2038,7 +2134,7 @@ import { usePromise as usePromise7 } from "@xylabs/react-promise";
|
|
|
2038
2134
|
import { MemoryArchivist } from "@xyo-network/archivist-memory";
|
|
2039
2135
|
import { ArchivistConfigSchema } from "@xyo-network/archivist-model";
|
|
2040
2136
|
import { flattenHydratedBlocks } from "@xyo-network/chain-protocol";
|
|
2041
|
-
import
|
|
2137
|
+
import React45, { useEffect as useEffect5 } from "react";
|
|
2042
2138
|
var ChainArchivistDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
2043
2139
|
const [randomBlockChain] = usePromise7(async () => await buildRandomBlockChain(), []);
|
|
2044
2140
|
const [blockChainRenderProps, blockChainRenderPropsError] = usePromise7(async () => {
|
|
@@ -2078,7 +2174,7 @@ var ChainArchivistDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
|
2078
2174
|
}
|
|
2079
2175
|
}
|
|
2080
2176
|
};
|
|
2081
|
-
return blockChainRenderProps?.chainArchivist ? /* @__PURE__ */
|
|
2177
|
+
return blockChainRenderProps?.chainArchivist ? /* @__PURE__ */ React45.createElement(Story, props) : /* @__PURE__ */ React45.createElement(CircularProgress, null);
|
|
2082
2178
|
}, "ChainArchivistDecorator");
|
|
2083
2179
|
|
|
2084
2180
|
// src/stories/ChainArchivistDelayedInsertDecorator.tsx
|
|
@@ -2088,7 +2184,7 @@ import { usePromise as usePromise8 } from "@xylabs/react-promise";
|
|
|
2088
2184
|
import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
|
|
2089
2185
|
import { ArchivistConfigSchema as ArchivistConfigSchema2 } from "@xyo-network/archivist-model";
|
|
2090
2186
|
import { flattenHydratedBlock } from "@xyo-network/chain-protocol";
|
|
2091
|
-
import
|
|
2187
|
+
import React46, { useEffect as useEffect6, useState as useState19 } from "react";
|
|
2092
2188
|
var chainArchivistRef;
|
|
2093
2189
|
var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
2094
2190
|
const [firstBlock, setFirstBlock] = useState19();
|
|
@@ -2146,7 +2242,7 @@ var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, contex
|
|
|
2146
2242
|
}
|
|
2147
2243
|
}
|
|
2148
2244
|
};
|
|
2149
|
-
return firstBlock ? /* @__PURE__ */
|
|
2245
|
+
return firstBlock ? /* @__PURE__ */ React46.createElement(Story, props) : /* @__PURE__ */ React46.createElement(CircularProgress2, null);
|
|
2150
2246
|
}, "ChainArchivistDelayedInsertDecorator");
|
|
2151
2247
|
|
|
2152
2248
|
// src/stories/ChainInfoContextDecorator.tsx
|
|
@@ -2155,7 +2251,7 @@ import { usePromise as usePromise9 } from "@xylabs/react-promise";
|
|
|
2155
2251
|
import { XyoChainBlockNumberIterator as XyoChainBlockNumberIterator3 } from "@xyo-network/chain-services";
|
|
2156
2252
|
import { findFirstMatching } from "@xyo-network/chain-utils";
|
|
2157
2253
|
import { isBlockBoundWitness as isBlockBoundWitness3 } from "@xyo-network/xl1-model";
|
|
2158
|
-
import
|
|
2254
|
+
import React47 from "react";
|
|
2159
2255
|
var archivistConfig = {
|
|
2160
2256
|
url: "http://localhost:8080",
|
|
2161
2257
|
chainArchivistModuleId: "XYOPublic:XYOChain:Chain"
|
|
@@ -2181,11 +2277,11 @@ var ChainInfoContextDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
|
2181
2277
|
chainArchivist,
|
|
2182
2278
|
chainInformation
|
|
2183
2279
|
]);
|
|
2184
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ React47.createElement(ChainInfoProvider, {
|
|
2185
2281
|
chainArchivist,
|
|
2186
2282
|
chainInformation,
|
|
2187
2283
|
chainIterator
|
|
2188
|
-
}, /* @__PURE__ */
|
|
2284
|
+
}, /* @__PURE__ */ React47.createElement(Story, context));
|
|
2189
2285
|
}, "ChainInfoContextDecorator");
|
|
2190
2286
|
export {
|
|
2191
2287
|
BlockChainPagination,
|
|
@@ -2196,6 +2292,7 @@ export {
|
|
|
2196
2292
|
BlockListWrapperFlexBox,
|
|
2197
2293
|
BlockNumberTableCell,
|
|
2198
2294
|
BlockNumberTextField,
|
|
2295
|
+
BlockPayloadCountsTableCell,
|
|
2199
2296
|
BlockProducerChip,
|
|
2200
2297
|
BlockProducerTableCell,
|
|
2201
2298
|
BlockTransactionCountTableCell,
|
|
@@ -2231,6 +2328,7 @@ export {
|
|
|
2231
2328
|
buildBlockHeadingComponent,
|
|
2232
2329
|
buildRandomBlockChain,
|
|
2233
2330
|
buildRandomBlockChainBlocksOnly,
|
|
2331
|
+
payloadCountsFromBlock,
|
|
2234
2332
|
resolveDefinedHead,
|
|
2235
2333
|
txsFromBlock,
|
|
2236
2334
|
useAnchorElement,
|
|
@@ -2243,6 +2341,7 @@ export {
|
|
|
2243
2341
|
useDynamicBlockComponents,
|
|
2244
2342
|
useIterateChain,
|
|
2245
2343
|
useOnBlock,
|
|
2344
|
+
usePayloadCountsFromBlock,
|
|
2246
2345
|
useStaticBlockComponents,
|
|
2247
2346
|
useTxsFromBlock
|
|
2248
2347
|
};
|