@xyo-network/react-chain-blockchain 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/browser/index.mjs +224 -215
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/types/components/block/ProducerChip.d.ts +1 -0
  4. package/dist/types/components/block/ProducerChip.d.ts.map +1 -1
  5. package/dist/types/components/block/helpers/buildBlockChainRenderComponent.d.ts.map +1 -1
  6. package/dist/types/components/block/menu/Expanded.d.ts +1 -0
  7. package/dist/types/components/block/menu/Expanded.d.ts.map +1 -1
  8. package/dist/types/components/block/table/Ex.d.ts +7 -1
  9. package/dist/types/components/block/table/Ex.d.ts.map +1 -1
  10. package/dist/types/components/block/table/cell/hooks/useLinkedBlockItem.d.ts +2 -2
  11. package/dist/types/components/block/table/cell/hooks/useLinkedBlockItem.d.ts.map +1 -1
  12. package/dist/types/components/block/table/row/TableRow.d.ts +1 -0
  13. package/dist/types/components/block/table/row/TableRow.d.ts.map +1 -1
  14. package/dist/types/components/chain/list/Animated.d.ts +1 -0
  15. package/dist/types/components/chain/list/Animated.d.ts.map +1 -1
  16. package/dist/types/components/chain/stats/Dialog.d.ts +1 -0
  17. package/dist/types/components/chain/stats/Dialog.d.ts.map +1 -1
  18. package/dist/types/components/chain/stats/producer/ProducerFlexbox.d.ts +2 -1
  19. package/dist/types/components/chain/stats/producer/ProducerFlexbox.d.ts.map +1 -1
  20. package/dist/types/components/payload/builder/Flexbox.d.ts +1 -0
  21. package/dist/types/components/payload/builder/Flexbox.d.ts.map +1 -1
  22. package/dist/types/components/payload/builder/producer-intent/Flexbox.d.ts +1 -0
  23. package/dist/types/components/payload/builder/producer-intent/Flexbox.d.ts.map +1 -1
  24. package/dist/types/components/payload/builder/transfer/Flexbox.d.ts +1 -0
  25. package/dist/types/components/payload/builder/transfer/Flexbox.d.ts.map +1 -1
  26. package/dist/types/components/payload/builder/transfer/builder/SingleFlexbox.d.ts +1 -0
  27. package/dist/types/components/payload/builder/transfer/builder/SingleFlexbox.d.ts.map +1 -1
  28. package/dist/types/components/transactions/TransactionCountChip.d.ts +1 -0
  29. package/dist/types/components/transactions/TransactionCountChip.d.ts.map +1 -1
  30. package/dist/types/context/analyzer/Provider.d.ts +1 -0
  31. package/dist/types/context/analyzer/Provider.d.ts.map +1 -1
  32. package/dist/types/context/chain/Provider.d.ts.map +1 -1
  33. package/dist/types/context/polling/Provider.d.ts +1 -0
  34. package/dist/types/context/polling/Provider.d.ts.map +1 -1
  35. package/dist/types/stories/ChainInfoContextDecorator.d.ts.map +1 -1
  36. package/package.json +8 -8
  37. package/src/components/block/ProducerChip.tsx +1 -1
  38. package/src/components/block/helpers/buildBlockChainRenderComponent.tsx +1 -0
  39. package/src/components/block/menu/Expanded.tsx +1 -0
  40. package/src/components/block/table/Ex.tsx +5 -3
  41. package/src/components/block/table/cell/hooks/useLinkedBlockItem.tsx +2 -2
  42. package/src/components/block/table/row/TableRow.tsx +1 -1
  43. package/src/components/chain/list/Animated.tsx +1 -0
  44. package/src/components/chain/render/dynamic/flexbox/Flexbox.stories.tsx +1 -0
  45. package/src/components/chain/render/dynamic/flexbox/Remote.stories.tsx +1 -0
  46. package/src/components/chain/render/static/flexbox/Flexbox.stories.tsx +1 -0
  47. package/src/components/chain/render/static/table/Ex.stories.tsx +1 -0
  48. package/src/components/chain/stats/Dialog.tsx +1 -1
  49. package/src/components/chain/stats/producer/ProducerFlexbox.tsx +1 -1
  50. package/src/components/payload/builder/Flexbox.tsx +1 -1
  51. package/src/components/payload/builder/producer-intent/Flexbox.stories.tsx +1 -0
  52. package/src/components/payload/builder/producer-intent/Flexbox.tsx +2 -0
  53. package/src/components/payload/builder/transfer/Flexbox.stories.tsx +1 -0
  54. package/src/components/payload/builder/transfer/Flexbox.tsx +2 -0
  55. package/src/components/payload/builder/transfer/builder/SingleFlexbox.tsx +1 -1
  56. package/src/components/transactions/TransactionCountChip.tsx +1 -1
  57. package/src/context/analyzer/Provider.tsx +2 -2
  58. package/src/context/chain/Provider.tsx +6 -8
  59. package/src/context/polling/Provider.tsx +2 -2
  60. package/src/stories/ChainArchivistDecorator.tsx +1 -1
  61. package/src/stories/ChainArchivistDelayedInsertDecorator.tsx +1 -1
  62. package/src/stories/ChainInfoContextDecorator.tsx +1 -0
  63. package/eslint.config.mjs +0 -1
@@ -5,7 +5,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
5
5
  import { FlexCol as FlexCol2, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
6
6
  import { BWVerification, HashHeadingPaper } from "@xyo-network/react-chain-boundwitness";
7
7
  import { usePayloadHash } from "@xyo-network/react-shared";
8
- import React8 from "react";
8
+ import React13 from "react";
9
9
 
10
10
  // src/context/analyzer/context.ts
11
11
  import { createContextEx } from "@xyo-network/react-shared";
@@ -14,7 +14,7 @@ var ChainAnalyzersContext = createContextEx();
14
14
  // src/context/analyzer/Provider.tsx
15
15
  import { hydrateBlock } from "@xyo-network/chain-protocol";
16
16
  import { PayloadBuilder } from "@xyo-network/payload-builder";
17
- import { useCallback, useMemo, useState } from "react";
17
+ import React, { useCallback, useMemo, useState } from "react";
18
18
  var ChainAnalyzersProvider = /* @__PURE__ */ __name(({ analyzers: analyzersProp, children }) => {
19
19
  const [analyzersState, setAnalyzersState] = useState(analyzersProp ?? {});
20
20
  const [statsUpdated, setStatsUpdated] = useState(Date.now());
@@ -53,7 +53,7 @@ var ChainAnalyzersProvider = /* @__PURE__ */ __name(({ analyzers: analyzersProp,
53
53
  onBlock,
54
54
  statsUpdated
55
55
  ]);
56
- return /* @__PURE__ */ React.createElement(ChainAnalyzersContext.Provider, {
56
+ return /* @__PURE__ */ React.createElement(ChainAnalyzersContext, {
57
57
  value
58
58
  }, children);
59
59
  }, "ChainAnalyzersProvider");
@@ -67,7 +67,7 @@ import { createContextEx as createContextEx2 } from "@xyo-network/react-shared";
67
67
  var ChainInfoContext = createContextEx2();
68
68
 
69
69
  // src/context/chain/Provider.tsx
70
- import React2, { useEffect, useMemo as useMemo2, useState as useState2 } from "react";
70
+ import React2, { useMemo as useMemo2, useState as useState2 } from "react";
71
71
  var ChainInfoProvider = /* @__PURE__ */ __name(({ children, chainArchivist: chainArchivistProp, chainInformation: chainInformationProp, chainIterator: chainIteratorProp }) => {
72
72
  const [chainArchivist, setChainArchivist] = useState2(chainArchivistProp);
73
73
  const [chainInformation, setChainInformation] = useState2(chainInformationProp);
@@ -81,17 +81,17 @@ var ChainInfoProvider = /* @__PURE__ */ __name(({ children, chainArchivist: chai
81
81
  const updateChainIterator = /* @__PURE__ */ __name((chainIterator2) => {
82
82
  setChainIterator(chainIterator2);
83
83
  }, "updateChainIterator");
84
- useEffect(() => {
84
+ useMemo2(() => {
85
85
  updateChainArchivist(chainArchivistProp);
86
86
  }, [
87
87
  chainArchivistProp
88
88
  ]);
89
- useEffect(() => {
89
+ useMemo2(() => {
90
90
  updateChainInformation(chainInformationProp);
91
91
  }, [
92
92
  chainInformationProp
93
93
  ]);
94
- useEffect(() => {
94
+ useMemo2(() => {
95
95
  updateChainIterator(chainIteratorProp);
96
96
  }, [
97
97
  chainIteratorProp
@@ -112,7 +112,7 @@ var ChainInfoProvider = /* @__PURE__ */ __name(({ children, chainArchivist: chai
112
112
  updateChainInformation,
113
113
  updateChainIterator
114
114
  ]);
115
- return /* @__PURE__ */ React2.createElement(ChainInfoContext.Provider, {
115
+ return /* @__PURE__ */ React2.createElement(ChainInfoContext, {
116
116
  value: chainState
117
117
  }, children);
118
118
  }, "ChainInfoProvider");
@@ -122,7 +122,7 @@ import { createContextEx as createContextEx3 } from "@xyo-network/react-shared";
122
122
  var ChainPollingContext = createContextEx3();
123
123
 
124
124
  // src/context/polling/Provider.tsx
125
- import { useCallback as useCallback2, useMemo as useMemo3, useState as useState3 } from "react";
125
+ import React3, { useCallback as useCallback2, useMemo as useMemo3, useState as useState3 } from "react";
126
126
  var ChainPollingProvider = /* @__PURE__ */ __name(({ children, pollingState: pollingStateProp = "running" }) => {
127
127
  const [pollingState, setPollingState] = useState3(pollingStateProp);
128
128
  const updatePollingState = useCallback2((newPollingState) => {
@@ -136,7 +136,7 @@ var ChainPollingProvider = /* @__PURE__ */ __name(({ children, pollingState: pol
136
136
  pollingState,
137
137
  updatePollingState
138
138
  ]);
139
- return /* @__PURE__ */ React.createElement(ChainPollingContext.Provider, {
139
+ return /* @__PURE__ */ React3.createElement(ChainPollingContext, {
140
140
  value
141
141
  }, children);
142
142
  }, "ChainPollingProvider");
@@ -148,7 +148,7 @@ var useChainPollingContext = /* @__PURE__ */ __name((required = false) => useCon
148
148
  // src/components/transactions/submit/Builder.tsx
149
149
  import { Button, FormControl, TextField } from "@mui/material";
150
150
  import { FlexCol } from "@xylabs/react-flexbox";
151
- import React3 from "react";
151
+ import React4 from "react";
152
152
  var ChainTransactionBuilder = /* @__PURE__ */ __name(({ onSubmitTx }) => {
153
153
  const handleSubmit = /* @__PURE__ */ __name(async (event) => {
154
154
  event.preventDefault();
@@ -162,38 +162,38 @@ var ChainTransactionBuilder = /* @__PURE__ */ __name(({ onSubmitTx }) => {
162
162
  };
163
163
  await onSubmitTx?.(chainTx);
164
164
  }, "handleSubmit");
165
- return /* @__PURE__ */ React3.createElement("form", {
165
+ return /* @__PURE__ */ React4.createElement("form", {
166
166
  onSubmit: /* @__PURE__ */ __name((event) => void handleSubmit(event), "onSubmit"),
167
167
  style: {
168
168
  width: "100%"
169
169
  }
170
- }, /* @__PURE__ */ React3.createElement(FlexCol, {
170
+ }, /* @__PURE__ */ React4.createElement(FlexCol, {
171
171
  gap: 2
172
- }, /* @__PURE__ */ React3.createElement(FormControl, {
172
+ }, /* @__PURE__ */ React4.createElement(FormControl, {
173
173
  fullWidth: true
174
- }, /* @__PURE__ */ React3.createElement(TextField, {
174
+ }, /* @__PURE__ */ React4.createElement(TextField, {
175
175
  label: "Chain Address",
176
176
  name: "chain",
177
177
  required: true
178
- })), /* @__PURE__ */ React3.createElement(FormControl, {
178
+ })), /* @__PURE__ */ React4.createElement(FormControl, {
179
179
  fullWidth: true
180
- }, /* @__PURE__ */ React3.createElement(TextField, {
180
+ }, /* @__PURE__ */ React4.createElement(TextField, {
181
181
  label: "Gas",
182
182
  name: "gas",
183
183
  required: true
184
- })), /* @__PURE__ */ React3.createElement(FormControl, {
184
+ })), /* @__PURE__ */ React4.createElement(FormControl, {
185
185
  fullWidth: true
186
- }, /* @__PURE__ */ React3.createElement(TextField, {
186
+ }, /* @__PURE__ */ React4.createElement(TextField, {
187
187
  label: "Not Before Block",
188
188
  name: "nbf",
189
189
  required: true
190
- })), /* @__PURE__ */ React3.createElement(FormControl, {
190
+ })), /* @__PURE__ */ React4.createElement(FormControl, {
191
191
  fullWidth: true
192
- }, /* @__PURE__ */ React3.createElement(TextField, {
192
+ }, /* @__PURE__ */ React4.createElement(TextField, {
193
193
  label: "Not After Block",
194
194
  name: "exp",
195
195
  required: true
196
- })), /* @__PURE__ */ React3.createElement(Button, {
196
+ })), /* @__PURE__ */ React4.createElement(Button, {
197
197
  type: "submit",
198
198
  variant: "contained"
199
199
  }, "Submit")));
@@ -201,7 +201,7 @@ var ChainTransactionBuilder = /* @__PURE__ */ __name(({ onSubmitTx }) => {
201
201
 
202
202
  // src/components/transactions/submit/Network.tsx
203
203
  import { FormControl as FormControl2, FormHelperText, TextField as TextField2 } from "@mui/material";
204
- import React4, { useState as useState4 } from "react";
204
+ import React5, { useState as useState4 } from "react";
205
205
  var ChainTransactionNetwork = /* @__PURE__ */ __name(({ network, onNetworkChange, ...props }) => {
206
206
  const [error, setError] = useState4();
207
207
  const handleChange = /* @__PURE__ */ __name((event) => {
@@ -214,16 +214,16 @@ var ChainTransactionNetwork = /* @__PURE__ */ __name(({ network, onNetworkChange
214
214
  setError(error2);
215
215
  }
216
216
  }, "handleChange");
217
- return /* @__PURE__ */ React4.createElement(FormControl2, {
217
+ return /* @__PURE__ */ React5.createElement(FormControl2, {
218
218
  fullWidth: true
219
- }, /* @__PURE__ */ React4.createElement(TextField2, {
219
+ }, /* @__PURE__ */ React5.createElement(TextField2, {
220
220
  label: "Network",
221
221
  name: "network",
222
222
  onChange: handleChange,
223
223
  required: true,
224
224
  value: network,
225
225
  ...props
226
- }), /* @__PURE__ */ React4.createElement(FormHelperText, {
226
+ }), /* @__PURE__ */ React5.createElement(FormHelperText, {
227
227
  sx: {
228
228
  color: error ? "red" : void 0
229
229
  }
@@ -240,7 +240,7 @@ import { ArchivistInsertQuerySchema } from "@xyo-network/archivist-model";
240
240
  import { QueryBoundWitnessBuilder } from "@xyo-network/boundwitness-builder";
241
241
  import { buildTransaction } from "@xyo-network/chain-protocol";
242
242
  import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
243
- import React5, { useState as useState5 } from "react";
243
+ import React6, { useState as useState5 } from "react";
244
244
  var BETA_PENDING_TRANSACTIONS_ARCHIVIST = "https://beta.api.chain.xyo.network/8050fee682a2762f504d5449d8269a6f17f0b693";
245
245
  var SubmitChainTransaction = /* @__PURE__ */ __name(() => {
246
246
  const [network, setNetwork] = useState5(new URL(BETA_PENDING_TRANSACTIONS_ARCHIVIST));
@@ -273,37 +273,37 @@ var SubmitChainTransaction = /* @__PURE__ */ __name(() => {
273
273
  const onNetworkChange = /* @__PURE__ */ __name((url) => {
274
274
  setNetwork(url);
275
275
  }, "onNetworkChange");
276
- return /* @__PURE__ */ React5.createElement(Grid2, {
276
+ return /* @__PURE__ */ React6.createElement(Grid2, {
277
277
  container: true
278
- }, /* @__PURE__ */ React5.createElement(Grid2, {
278
+ }, /* @__PURE__ */ React6.createElement(Grid2, {
279
279
  size: {
280
280
  xs: 12,
281
281
  sm: 6,
282
282
  md: 4
283
283
  }
284
- }, /* @__PURE__ */ React5.createElement(FlexGrowCol, {
284
+ }, /* @__PURE__ */ React6.createElement(FlexGrowCol, {
285
285
  alignItems: "start",
286
286
  gap: 2
287
- }, /* @__PURE__ */ React5.createElement(ChainTransactionNetwork, {
287
+ }, /* @__PURE__ */ React6.createElement(ChainTransactionNetwork, {
288
288
  network,
289
289
  onNetworkChange
290
- }), network ? /* @__PURE__ */ React5.createElement(ChainTransactionBuilder, {
290
+ }), network ? /* @__PURE__ */ React6.createElement(ChainTransactionBuilder, {
291
291
  onSubmitTx
292
- }) : null, result?.[2].length === 0 ? /* @__PURE__ */ React5.createElement(Alert, {
292
+ }) : null, result?.[2].length === 0 ? /* @__PURE__ */ React6.createElement(Alert, {
293
293
  severity: "success"
294
- }, "Success") : null, error ? /* @__PURE__ */ React5.createElement(ErrorRender, {
294
+ }, "Success") : null, error ? /* @__PURE__ */ React6.createElement(ErrorRender, {
295
295
  error
296
- }) : null, result?.[2] && result?.[2].length > 0 ? /* @__PURE__ */ React5.createElement(ErrorRender, {
296
+ }) : null, result?.[2] && result?.[2].length > 0 ? /* @__PURE__ */ React6.createElement(ErrorRender, {
297
297
  error: new Error("Failed insert...see result below")
298
- }) : null, result ? /* @__PURE__ */ React5.createElement(React5.Fragment, null, /* @__PURE__ */ React5.createElement(Typography, {
298
+ }) : null, result ? /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(Typography, {
299
299
  variant: "h6"
300
- }, "Result:"), /* @__PURE__ */ React5.createElement("pre", null, JSON.stringify(result, null, 2))) : null)));
300
+ }, "Result:"), /* @__PURE__ */ React6.createElement("pre", null, JSON.stringify(result, null, 2))) : null)));
301
301
  }, "SubmitChainTransaction");
302
302
 
303
303
  // src/components/transactions/TransactionCountChip.tsx
304
304
  import { Difference } from "@mui/icons-material";
305
305
  import { Chip, Icon } from "@mui/material";
306
- import { useMemo as useMemo4 } from "react";
306
+ import React7, { useMemo as useMemo4 } from "react";
307
307
  var TransactionCountChip = /* @__PURE__ */ __name(({ transactions, sx, ...props }) => {
308
308
  const label = useMemo4(() => {
309
309
  if (!transactions) return "0";
@@ -311,8 +311,8 @@ var TransactionCountChip = /* @__PURE__ */ __name(({ transactions, sx, ...props
311
311
  }, [
312
312
  transactions
313
313
  ]);
314
- return /* @__PURE__ */ React.createElement(Chip, {
315
- avatar: /* @__PURE__ */ React.createElement(Icon, null, /* @__PURE__ */ React.createElement(Difference, null)),
314
+ return /* @__PURE__ */ React7.createElement(Chip, {
315
+ avatar: /* @__PURE__ */ React7.createElement(Icon, null, /* @__PURE__ */ React7.createElement(Difference, null)),
316
316
  label: `tx: ${label}`,
317
317
  title: transactions ? `Block contains ${transactions.length} transactions` : void 0,
318
318
  sx: {
@@ -331,7 +331,7 @@ import { Alert as Alert2, AlertTitle, Collapse, Snackbar, Typography as Typograp
331
331
  import { ErrorRender as ErrorRender2 } from "@xylabs/react-error";
332
332
  import { FlexGrowCol as FlexGrowCol2, FlexGrowRow, FlexRow } from "@xylabs/react-flexbox";
333
333
  import { QuickTipButton } from "@xylabs/react-quick-tip-button";
334
- import React6, { Fragment, useMemo as useMemo5, useState as useState6 } from "react";
334
+ import React8, { Fragment, useMemo as useMemo5, useState as useState6 } from "react";
335
335
  var TransactionsQuickTipButton = /* @__PURE__ */ __name(({ block, chainArchivist, ...props }) => {
336
336
  const [transactions, transactionsError] = useTxsFromBlock(chainArchivist, block);
337
337
  const [copied, setCopied] = useState6(false);
@@ -346,7 +346,7 @@ var TransactionsQuickTipButton = /* @__PURE__ */ __name(({ block, chainArchivist
346
346
  setCopied(false);
347
347
  }, 5e3);
348
348
  }, "onCopy");
349
- return /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(QuickTipButton, {
349
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(QuickTipButton, {
350
350
  Icon: Paid,
351
351
  disabled: transactions?.length === 0,
352
352
  hoverText: `Transaction Count: ${transactions?.length ?? 0}`,
@@ -356,32 +356,32 @@ var TransactionsQuickTipButton = /* @__PURE__ */ __name(({ block, chainArchivist
356
356
  maxWidth: "md"
357
357
  },
358
358
  ...props
359
- }, transactions?.length === 0 ? null : /* @__PURE__ */ React6.createElement(FlexGrowCol2, {
359
+ }, transactions?.length === 0 ? null : /* @__PURE__ */ React8.createElement(FlexGrowCol2, {
360
360
  gap: 1,
361
361
  alignItems: "stretch"
362
- }, transactions?.map(([transaction, hash]) => /* @__PURE__ */ React6.createElement(Fragment, {
362
+ }, transactions?.map(([transaction, hash]) => /* @__PURE__ */ React8.createElement(Fragment, {
363
363
  key: hash
364
- }, /* @__PURE__ */ React6.createElement(FlexGrowRow, {
364
+ }, /* @__PURE__ */ React8.createElement(FlexGrowRow, {
365
365
  gap: 2,
366
366
  justifyContent: "start"
367
- }, /* @__PURE__ */ React6.createElement(ContentCopyIcon, {
367
+ }, /* @__PURE__ */ React8.createElement(ContentCopyIcon, {
368
368
  sx: {
369
369
  cursor: "pointer"
370
370
  },
371
371
  onClick: /* @__PURE__ */ __name(() => void onCopy(hash), "onClick")
372
- }), /* @__PURE__ */ React6.createElement(Typography2, {
372
+ }), /* @__PURE__ */ React8.createElement(Typography2, {
373
373
  sx: {
374
374
  overflow: "hidden",
375
375
  textOverflow: "ellipsis",
376
376
  whiteSpace: "nowrap"
377
377
  }
378
- }, transaction._hash)), /* @__PURE__ */ React6.createElement(FlexRow, null, /* @__PURE__ */ React6.createElement(Collapse, {
378
+ }, transaction._hash)), /* @__PURE__ */ React8.createElement(FlexRow, null, /* @__PURE__ */ React8.createElement(Collapse, {
379
379
  in: copied,
380
380
  unmountOnExit: true
381
- }, /* @__PURE__ */ React6.createElement(Alert2, null, /* @__PURE__ */ React6.createElement(AlertTitle, null, "Previous hash copied to clipboard")))))))), /* @__PURE__ */ React6.createElement(Snackbar, {
381
+ }, /* @__PURE__ */ React8.createElement(Alert2, null, /* @__PURE__ */ React8.createElement(AlertTitle, null, "Previous hash copied to clipboard")))))))), /* @__PURE__ */ React8.createElement(Snackbar, {
382
382
  open: showError,
383
383
  onClose: /* @__PURE__ */ __name(() => setShowError(false), "onClose")
384
- }, /* @__PURE__ */ React6.createElement(ErrorRender2, {
384
+ }, /* @__PURE__ */ React8.createElement(ErrorRender2, {
385
385
  error: transactionsError,
386
386
  scope: "TransactionsQuickTipButton"
387
387
  })));
@@ -436,6 +436,9 @@ var blockProducer = /* @__PURE__ */ __name((block) => {
436
436
  return block.addresses[0];
437
437
  }, "blockProducer");
438
438
 
439
+ // src/components/block/helpers/buildBlockChainRenderComponent.tsx
440
+ import React9 from "react";
441
+
439
442
  // src/components/block/helpers/tsxFromBlock.ts
440
443
  import { isTransactionBoundWitness } from "@xyo-network/chain-model";
441
444
  import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
@@ -451,7 +454,7 @@ var buildBlockChainRenderComponent = /* @__PURE__ */ __name(async (BlockComponen
451
454
  const blockTxs = await txsFromBlock(chainArchivist, block);
452
455
  const txHashes = blockTxs.map(([_, hash]) => hash);
453
456
  const item = {
454
- child: /* @__PURE__ */ React.createElement(BlockComponent, {
457
+ child: /* @__PURE__ */ React9.createElement(BlockComponent, {
455
458
  block,
456
459
  transactions: txHashes,
457
460
  ...remainingProps
@@ -540,9 +543,9 @@ var useTxsFromBlock = /* @__PURE__ */ __name((chainArchivist, block) => {
540
543
 
541
544
  // src/components/block/LinkedDivider.tsx
542
545
  import { Divider, Stack } from "@mui/material";
543
- import React7 from "react";
546
+ import React10 from "react";
544
547
  var LinkedDivider = /* @__PURE__ */ __name(() => {
545
- return /* @__PURE__ */ React7.createElement(React7.Fragment, null, /* @__PURE__ */ React7.createElement(Stack, {
548
+ return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(Stack, {
546
549
  className: "divider-spacer",
547
550
  justifyContent: "end",
548
551
  sx: {
@@ -550,7 +553,7 @@ var LinkedDivider = /* @__PURE__ */ __name(() => {
550
553
  height: 24,
551
554
  justifyContent: "end"
552
555
  }
553
- }, /* @__PURE__ */ React7.createElement(Divider, {
556
+ }, /* @__PURE__ */ React10.createElement(Divider, {
554
557
  className: "divider",
555
558
  orientation: "vertical",
556
559
  flexItem: true,
@@ -566,15 +569,16 @@ var LinkedDivider = /* @__PURE__ */ __name(() => {
566
569
  import { MoreVert } from "@mui/icons-material";
567
570
  import { IconButton, Menu } from "@mui/material";
568
571
  import { BWJsonMenuItem, BWPreviousHashMenuItem } from "@xyo-network/react-chain-boundwitness";
572
+ import React11 from "react";
569
573
  var BlockMenuExpanded = /* @__PURE__ */ __name(({ block }) => {
570
574
  const { anchorEl, anchorRef, open, handleClick, handleClose } = useAnchorElement();
571
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(IconButton, {
575
+ return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(IconButton, {
572
576
  ref: anchorRef,
573
577
  size: "small",
574
578
  onClick: handleClick
575
- }, /* @__PURE__ */ React.createElement(MoreVert, {
579
+ }, /* @__PURE__ */ React11.createElement(MoreVert, {
576
580
  fontSize: "inherit"
577
- })), /* @__PURE__ */ React.createElement(Menu, {
581
+ })), /* @__PURE__ */ React11.createElement(Menu, {
578
582
  open,
579
583
  anchorEl,
580
584
  anchorOrigin: {
@@ -582,11 +586,11 @@ var BlockMenuExpanded = /* @__PURE__ */ __name(({ block }) => {
582
586
  vertical: "bottom"
583
587
  },
584
588
  onClose: handleClose
585
- }, /* @__PURE__ */ React.createElement(BWPreviousHashMenuItem, {
589
+ }, /* @__PURE__ */ React11.createElement(BWPreviousHashMenuItem, {
586
590
  boundwitness: block,
587
591
  dense: true,
588
592
  onDialogClose: handleClose
589
- }), /* @__PURE__ */ React.createElement(BWJsonMenuItem, {
593
+ }), /* @__PURE__ */ React11.createElement(BWJsonMenuItem, {
590
594
  boundwitness: block,
591
595
  dense: true,
592
596
  onDialogClose: handleClose
@@ -597,7 +601,7 @@ var BlockMenuExpanded = /* @__PURE__ */ __name(({ block }) => {
597
601
  import { Chip as Chip2 } from "@mui/material";
598
602
  import { EthAddress } from "@xylabs/eth-address";
599
603
  import { BlockiesAvatar } from "@xyo-network/react-chain-blockies";
600
- import { useMemo as useMemo7 } from "react";
604
+ import React12, { useMemo as useMemo7 } from "react";
601
605
  var BlockProducerChip = /* @__PURE__ */ __name(({ block, ...props }) => {
602
606
  const sharedAddress = block?.addresses[0];
603
607
  const blockProducer2 = useMemo7(() => {
@@ -609,14 +613,14 @@ var BlockProducerChip = /* @__PURE__ */ __name(({ block, ...props }) => {
609
613
  block
610
614
  ]);
611
615
  const shortedBlockProducer = blockProducer2 ? EthAddress.parse(blockProducer2)?.toShortString(3) : null;
612
- const avatar = useMemo7(() => blockProducer2 === "" ? void 0 : /* @__PURE__ */ React.createElement(BlockiesAvatar, {
616
+ const avatar = useMemo7(() => blockProducer2 === "" ? void 0 : /* @__PURE__ */ React12.createElement(BlockiesAvatar, {
613
617
  blockiesOptions: {
614
618
  seed: blockProducer2
615
619
  }
616
620
  }), [
617
621
  blockProducer2
618
622
  ]);
619
- return /* @__PURE__ */ React.createElement(Chip2, {
623
+ return /* @__PURE__ */ React12.createElement(Chip2, {
620
624
  avatar,
621
625
  label: shortedBlockProducer ? `${shortedBlockProducer}` : null,
622
626
  title: `Block producer: ${blockProducer2}`,
@@ -634,12 +638,12 @@ var BlockHeadingFlexbox = /* @__PURE__ */ __name(({ block, defaultExpanded, tran
634
638
  event.stopPropagation();
635
639
  blockHeadingListener("transaction-count", "click", JSON.stringify(transactions2));
636
640
  }, "handleTransactionCountClick");
637
- return /* @__PURE__ */ React8.createElement(FlexCol2, {
641
+ return /* @__PURE__ */ React13.createElement(FlexCol2, {
638
642
  className: "block-heading-flexbox",
639
643
  alignItems: "stretch",
640
644
  ref: blockHeadingRef,
641
645
  onClick: /* @__PURE__ */ __name(() => blockHeadingListener("block-hash", "click", hash), "onClick")
642
- }, /* @__PURE__ */ React8.createElement(LinkedDivider, null), /* @__PURE__ */ React8.createElement(HashHeadingPaper, {
646
+ }, /* @__PURE__ */ React13.createElement(LinkedDivider, null), /* @__PURE__ */ React13.createElement(HashHeadingPaper, {
643
647
  hash,
644
648
  heading: block?.block === void 0 ? "" : block.block.toString(),
645
649
  paperProps: {
@@ -648,24 +652,24 @@ var BlockHeadingFlexbox = /* @__PURE__ */ __name(({ block, defaultExpanded, tran
648
652
  width: "100%"
649
653
  }
650
654
  },
651
- AdornmentEnd: /* @__PURE__ */ React8.createElement(FlexRow2, {
655
+ AdornmentEnd: /* @__PURE__ */ React13.createElement(FlexRow2, {
652
656
  gap: 1
653
- }, /* @__PURE__ */ React8.createElement(BlockProducerChip, {
657
+ }, /* @__PURE__ */ React13.createElement(BlockProducerChip, {
654
658
  block
655
- }), /* @__PURE__ */ React8.createElement(TransactionCountChip, {
659
+ }), /* @__PURE__ */ React13.createElement(TransactionCountChip, {
656
660
  onClick: /* @__PURE__ */ __name((e) => handleTransactionCountClick(e, transactions ?? []), "onClick"),
657
661
  transactions
658
- }), /* @__PURE__ */ React8.createElement(BWVerification, {
662
+ }), /* @__PURE__ */ React13.createElement(BWVerification, {
659
663
  iconColors: true,
660
664
  boundwitness: block
661
- }), /* @__PURE__ */ React8.createElement("span", {
665
+ }), /* @__PURE__ */ React13.createElement("span", {
662
666
  style: {
663
667
  // maxWidth is required for css animation to work and 28px is the width of the icon button
664
668
  display: "flex",
665
669
  transition: "max-width .5s",
666
670
  maxWidth: expanded ? "28px" : 0
667
671
  }
668
- }, /* @__PURE__ */ React8.createElement(BlockMenuExpanded, {
672
+ }, /* @__PURE__ */ React13.createElement(BlockMenuExpanded, {
669
673
  block
670
674
  }))),
671
675
  identiconProps: {
@@ -677,7 +681,7 @@ var BlockHeadingFlexbox = /* @__PURE__ */ __name(({ block, defaultExpanded, tran
677
681
 
678
682
  // src/components/block/table/cell/BlockNumber.tsx
679
683
  import { Link, TableCell, Tooltip } from "@mui/material";
680
- import React9 from "react";
684
+ import React14 from "react";
681
685
 
682
686
  // src/components/block/table/cell/hooks/useLinkedBlockItem.tsx
683
687
  import { useEvent as useEvent2 } from "@xyo-network/react-event";
@@ -701,12 +705,12 @@ var useLinkedBlockItem = /* @__PURE__ */ __name((noun, data) => {
701
705
  var BlockNumberTableCell = /* @__PURE__ */ __name(({ block, linked, ...props }) => {
702
706
  const [ref, handleClick] = useLinkedBlockItem("block-number", block?.block.toString());
703
707
  const blockNumberBigInt = block ? block.block.toString() : "";
704
- return /* @__PURE__ */ React9.createElement(TableCell, {
708
+ return /* @__PURE__ */ React14.createElement(TableCell, {
705
709
  ref,
706
710
  ...props
707
- }, /* @__PURE__ */ React9.createElement(Tooltip, {
711
+ }, /* @__PURE__ */ React14.createElement(Tooltip, {
708
712
  title: `Block Number: ${blockNumberBigInt}`
709
- }, /* @__PURE__ */ React9.createElement("span", null, linked && block ? /* @__PURE__ */ React9.createElement(Link, {
713
+ }, /* @__PURE__ */ React14.createElement("span", null, linked && block ? /* @__PURE__ */ React14.createElement(Link, {
710
714
  title: block.block.toString(),
711
715
  onClick: handleClick,
712
716
  sx: {
@@ -719,22 +723,22 @@ var BlockNumberTableCell = /* @__PURE__ */ __name(({ block, linked, ...props })
719
723
  import { Avatar, Chip as Chip3, TableCell as TableCell2, Tooltip as Tooltip2 } from "@mui/material";
720
724
  import { Identicon } from "@xylabs/react-identicon";
721
725
  import { usePayloadHash as usePayloadHash2 } from "@xyo-network/react-shared";
722
- import React10 from "react";
726
+ import React15 from "react";
723
727
  var BlockHashTableCell = /* @__PURE__ */ __name(({ block, identiconProps, linked, ...props }) => {
724
728
  const hash = usePayloadHash2(block);
725
729
  const [ref, handleClick] = useLinkedBlockItem("block-hash", hash);
726
730
  const shortenedHash = hash ? `${hash.slice(0, 4)}...${hash.slice(-5, -1)}` : "";
727
- return /* @__PURE__ */ React10.createElement(TableCell2, {
731
+ return /* @__PURE__ */ React15.createElement(TableCell2, {
728
732
  ref,
729
733
  ...props
730
- }, hash ? /* @__PURE__ */ React10.createElement(Tooltip2, {
734
+ }, hash ? /* @__PURE__ */ React15.createElement(Tooltip2, {
731
735
  title: `Block Hash: ${hash}`
732
- }, /* @__PURE__ */ React10.createElement(Chip3, {
733
- avatar: /* @__PURE__ */ React10.createElement(Avatar, {
736
+ }, /* @__PURE__ */ React15.createElement(Chip3, {
737
+ avatar: /* @__PURE__ */ React15.createElement(Avatar, {
734
738
  sx: {
735
739
  background: "white"
736
740
  }
737
- }, /* @__PURE__ */ React10.createElement(Identicon, {
741
+ }, /* @__PURE__ */ React15.createElement(Identicon, {
738
742
  size: 16,
739
743
  value: hash,
740
744
  ...identiconProps
@@ -751,30 +755,30 @@ import { ellipsize } from "@xylabs/eth-address";
751
755
  import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
752
756
  import { JsonViewerEx } from "@xyo-network/react-payload-raw-info";
753
757
  import { usePayloadHash as usePayloadHash3 } from "@xyo-network/react-shared";
754
- import React11, { useState as useState9 } from "react";
758
+ import React16, { useState as useState9 } from "react";
755
759
  var BlockJsonViewTableCell = /* @__PURE__ */ __name(({ block, ...props }) => {
756
760
  const [open, setOpen] = useState9(false);
757
761
  const onClose = /* @__PURE__ */ __name(() => setOpen(false), "onClose");
758
762
  const hash = usePayloadHash3(block);
759
763
  const title = hash ? `JSON for ${ellipsize(hash, 5)}` : "JSON";
760
- return /* @__PURE__ */ React11.createElement(TableCell3, props, /* @__PURE__ */ React11.createElement(FlexRow3, {
764
+ return /* @__PURE__ */ React16.createElement(TableCell3, props, /* @__PURE__ */ React16.createElement(FlexRow3, {
761
765
  sx: {
762
766
  width: "100%"
763
767
  }
764
- }, /* @__PURE__ */ React11.createElement(IconButton2, {
768
+ }, /* @__PURE__ */ React16.createElement(IconButton2, {
765
769
  onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
766
- }, /* @__PURE__ */ React11.createElement(Code, null))), /* @__PURE__ */ React11.createElement(Dialog, {
770
+ }, /* @__PURE__ */ React16.createElement(Code, null))), /* @__PURE__ */ React16.createElement(Dialog, {
767
771
  open,
768
772
  onClose
769
- }, /* @__PURE__ */ React11.createElement(DialogTitle, null, title), /* @__PURE__ */ React11.createElement(DialogContent, null, /* @__PURE__ */ React11.createElement(JsonViewerEx, {
773
+ }, /* @__PURE__ */ React16.createElement(DialogTitle, null, title), /* @__PURE__ */ React16.createElement(DialogContent, null, /* @__PURE__ */ React16.createElement(JsonViewerEx, {
770
774
  value: block
771
- })), /* @__PURE__ */ React11.createElement(DialogActions, {
775
+ })), /* @__PURE__ */ React16.createElement(DialogActions, {
772
776
  sx: {
773
777
  display: "flex",
774
778
  flexDirection: "row",
775
779
  justifyContent: "end"
776
780
  }
777
- }, /* @__PURE__ */ React11.createElement(Button2, {
781
+ }, /* @__PURE__ */ React16.createElement(Button2, {
778
782
  variant: "contained",
779
783
  onClick: onClose
780
784
  }, "Close"))));
@@ -783,20 +787,20 @@ var BlockJsonViewTableCell = /* @__PURE__ */ __name(({ block, ...props }) => {
783
787
  // src/components/block/table/cell/Producer.tsx
784
788
  import { TableCell as TableCell4, Tooltip as Tooltip3 } from "@mui/material";
785
789
  import { FlexRow as FlexRow4 } from "@xylabs/react-flexbox";
786
- import React12 from "react";
790
+ import React17 from "react";
787
791
  var BlockProducerTableCell = /* @__PURE__ */ __name(({ block, linked, producerChipProps, ...props }) => {
788
792
  const [ref, handleClick] = useLinkedBlockItem("block-producer", JSON.stringify(block));
789
793
  const producer = useBlockProducer(block);
790
- return /* @__PURE__ */ React12.createElement(TableCell4, {
794
+ return /* @__PURE__ */ React17.createElement(TableCell4, {
791
795
  ref,
792
796
  ...props
793
- }, /* @__PURE__ */ React12.createElement(Tooltip3, {
797
+ }, /* @__PURE__ */ React17.createElement(Tooltip3, {
794
798
  title: `Block Producer: ${producer}`
795
- }, /* @__PURE__ */ React12.createElement(FlexRow4, {
799
+ }, /* @__PURE__ */ React17.createElement(FlexRow4, {
796
800
  sx: {
797
801
  width: "100%"
798
802
  }
799
- }, /* @__PURE__ */ React12.createElement(BlockProducerChip, {
803
+ }, /* @__PURE__ */ React17.createElement(BlockProducerChip, {
800
804
  onClick: linked ? handleClick : void 0,
801
805
  block,
802
806
  ...producerChipProps
@@ -806,18 +810,18 @@ var BlockProducerTableCell = /* @__PURE__ */ __name(({ block, linked, producerCh
806
810
  // src/components/block/table/cell/TransactionCount.tsx
807
811
  import { Error as Error2 } from "@mui/icons-material";
808
812
  import { Link as Link2, TableCell as TableCell5, Tooltip as Tooltip4 } from "@mui/material";
809
- import React13 from "react";
813
+ import React18 from "react";
810
814
  var BlockTransactionCountTableCell = /* @__PURE__ */ __name(({ block, chainArchivist, linked, ...props }) => {
811
815
  const [txs, error] = useTxsFromBlock(chainArchivist, block);
812
816
  const [ref, handleClick] = useLinkedBlockItem("transaction-count", JSON.stringify(txs ?? null));
813
- return /* @__PURE__ */ React13.createElement(TableCell5, {
817
+ return /* @__PURE__ */ React18.createElement(TableCell5, {
814
818
  ref,
815
819
  ...props
816
- }, /* @__PURE__ */ React13.createElement("span", null, error ? /* @__PURE__ */ React13.createElement(Tooltip4, {
820
+ }, /* @__PURE__ */ React18.createElement("span", null, error ? /* @__PURE__ */ React18.createElement(Tooltip4, {
817
821
  title: error.message
818
- }, /* @__PURE__ */ React13.createElement(Error2, {
822
+ }, /* @__PURE__ */ React18.createElement(Error2, {
819
823
  color: "error"
820
- })) : null, linked ? /* @__PURE__ */ React13.createElement(Link2, {
824
+ })) : null, linked ? /* @__PURE__ */ React18.createElement(Link2, {
821
825
  onClick: handleClick,
822
826
  sx: {
823
827
  cursor: "pointer"
@@ -829,17 +833,17 @@ var BlockTransactionCountTableCell = /* @__PURE__ */ __name(({ block, chainArchi
829
833
  import { TableCell as TableCell6 } from "@mui/material";
830
834
  import { FlexRow as FlexRow5 } from "@xylabs/react-flexbox";
831
835
  import { BWVerification as BWVerification2 } from "@xyo-network/react-chain-boundwitness";
832
- import React14 from "react";
836
+ import React19 from "react";
833
837
  var BlockVerificationTableCell = /* @__PURE__ */ __name(({ block, linked, ...props }) => {
834
838
  const [ref, handleClick] = useLinkedBlockItem("block-verification", block?.block.toString());
835
- return /* @__PURE__ */ React14.createElement(TableCell6, {
839
+ return /* @__PURE__ */ React19.createElement(TableCell6, {
836
840
  ref,
837
841
  ...props
838
- }, /* @__PURE__ */ React14.createElement(FlexRow5, {
842
+ }, /* @__PURE__ */ React19.createElement(FlexRow5, {
839
843
  sx: {
840
844
  width: "100%"
841
845
  }
842
- }, /* @__PURE__ */ React14.createElement(BWVerification2, {
846
+ }, /* @__PURE__ */ React19.createElement(BWVerification2, {
843
847
  onClick: linked ? handleClick : void 0,
844
848
  iconColors: true,
845
849
  boundwitness: block
@@ -849,24 +853,24 @@ var BlockVerificationTableCell = /* @__PURE__ */ __name(({ block, linked, ...pro
849
853
  // src/components/block/table/Ex.tsx
850
854
  import { TableBody, TableCell as TableCell7, TableHead, TableRow } from "@mui/material";
851
855
  import { TableEx } from "@xyo-network/react-table";
852
- import { forwardRef } from "react";
853
- var BlockchainTableEx = /* @__PURE__ */ forwardRef(({ children, ...props }, ref) => {
854
- return /* @__PURE__ */ React.createElement(TableEx, {
856
+ import React20 from "react";
857
+ var BlockchainTableEx = /* @__PURE__ */ __name(({ ref, children, ...props }) => {
858
+ return /* @__PURE__ */ React20.createElement(TableEx, {
855
859
  ref,
856
860
  ...props
857
- }, /* @__PURE__ */ React.createElement(TableHead, null, /* @__PURE__ */ React.createElement(TableRow, null, /* @__PURE__ */ React.createElement(TableCell7, null, "Block Hash"), /* @__PURE__ */ React.createElement(TableCell7, null, "Block Number"), /* @__PURE__ */ React.createElement(TableCell7, null, "Transaction Count"), /* @__PURE__ */ React.createElement(TableCell7, {
861
+ }, /* @__PURE__ */ React20.createElement(TableHead, null, /* @__PURE__ */ React20.createElement(TableRow, null, /* @__PURE__ */ React20.createElement(TableCell7, null, "Block Hash"), /* @__PURE__ */ React20.createElement(TableCell7, null, "Block Number"), /* @__PURE__ */ React20.createElement(TableCell7, null, "Transaction Count"), /* @__PURE__ */ React20.createElement(TableCell7, {
858
862
  align: "center"
859
- }, "Block Producer"), /* @__PURE__ */ React.createElement(TableCell7, {
863
+ }, "Block Producer"), /* @__PURE__ */ React20.createElement(TableCell7, {
860
864
  align: "center"
861
- }, "Valid"), /* @__PURE__ */ React.createElement(TableCell7, {
865
+ }, "Valid"), /* @__PURE__ */ React20.createElement(TableCell7, {
862
866
  align: "center"
863
- }, "JSON"))), /* @__PURE__ */ React.createElement(TableBody, null, children));
864
- });
867
+ }, "JSON"))), /* @__PURE__ */ React20.createElement(TableBody, null, children));
868
+ }, "BlockchainTableEx");
865
869
  BlockchainTableEx.displayName = "BlockchainTableEx";
866
870
 
867
871
  // src/components/block/table/row/TableRow.tsx
868
872
  import { TableRow as TableRow2 } from "@mui/material";
869
- import { useMemo as useMemo8 } from "react";
873
+ import React21, { useMemo as useMemo8 } from "react";
870
874
  var BlockChainTableRow = /* @__PURE__ */ __name(({
871
875
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
872
876
  block,
@@ -886,36 +890,36 @@ var BlockChainTableRow = /* @__PURE__ */ __name(({
886
890
  }), [
887
891
  block
888
892
  ]);
889
- return /* @__PURE__ */ React.createElement(TableRow2, props, /* @__PURE__ */ React.createElement(BlockHashTableCell, defaultTableCellProps), /* @__PURE__ */ React.createElement(BlockNumberTableCell, linkedTableCellProps), /* @__PURE__ */ React.createElement(BlockTransactionCountTableCell, linkedTableCellProps), /* @__PURE__ */ React.createElement(BlockProducerTableCell, defaultTableCellProps), /* @__PURE__ */ React.createElement(BlockVerificationTableCell, defaultTableCellProps), /* @__PURE__ */ React.createElement(BlockJsonViewTableCell, defaultTableCellProps));
893
+ return /* @__PURE__ */ React21.createElement(TableRow2, props, /* @__PURE__ */ React21.createElement(BlockHashTableCell, defaultTableCellProps), /* @__PURE__ */ React21.createElement(BlockNumberTableCell, linkedTableCellProps), /* @__PURE__ */ React21.createElement(BlockTransactionCountTableCell, linkedTableCellProps), /* @__PURE__ */ React21.createElement(BlockProducerTableCell, defaultTableCellProps), /* @__PURE__ */ React21.createElement(BlockVerificationTableCell, defaultTableCellProps), /* @__PURE__ */ React21.createElement(BlockJsonViewTableCell, defaultTableCellProps));
890
894
  }, "BlockChainTableRow");
891
895
 
892
896
  // src/components/chain/controls/PollingControlsFlexbox.tsx
893
897
  import { Autorenew, Pause } from "@mui/icons-material";
894
898
  import { Alert as Alert3, AlertTitle as AlertTitle2, Grow, Icon as Icon2, IconButton as IconButton4, Tooltip as Tooltip5 } from "@mui/material";
895
899
  import { FlexRow as FlexRow6 } from "@xylabs/react-flexbox";
896
- import React17, { memo } from "react";
900
+ import React26, { memo } from "react";
897
901
 
898
902
  // src/components/chain/stats/Dialog.tsx
899
903
  import { QueryStats } from "@mui/icons-material";
900
904
  import { Dialog as Dialog2, DialogContent as DialogContent2, DialogTitle as DialogTitle2, IconButton as IconButton3 } from "@mui/material";
901
- import { useState as useState10 } from "react";
905
+ import React24, { useState as useState10 } from "react";
902
906
 
903
907
  // src/components/chain/stats/producer/ProducerFlexbox.tsx
904
908
  import { ListItem, styled, Typography as Typography3 } from "@mui/material";
905
909
  import { ErrorRender as ErrorRender3 } from "@xylabs/react-error";
906
910
  import { FlexCol as FlexCol3 } from "@xylabs/react-flexbox";
907
911
  import { isChainSummaryProducers } from "@xyo-network/chain-protocol";
908
- import { useMemo as useMemo9 } from "react";
912
+ import React23, { useMemo as useMemo9 } from "react";
909
913
 
910
914
  // src/components/chain/stats/producer/Table.tsx
911
915
  import { Table, TableBody as TableBody2, TableCell as TableCell8, TableHead as TableHead2, TableRow as TableRow3, useTheme } from "@mui/material";
912
916
  import { BlockiesAvatar as BlockiesAvatar2 } from "@xyo-network/react-chain-blockies";
913
- import React15 from "react";
917
+ import React22 from "react";
914
918
  var ChainProducerStatsTable = /* @__PURE__ */ __name(({ producers, ...props }) => {
915
919
  const theme = useTheme();
916
- return /* @__PURE__ */ React15.createElement(Table, props, /* @__PURE__ */ React15.createElement(TableHead2, null, /* @__PURE__ */ React15.createElement(TableRow3, null, /* @__PURE__ */ React15.createElement(TableCell8, null, "Address"), /* @__PURE__ */ React15.createElement(TableCell8, null, "Blocks Produced"), /* @__PURE__ */ React15.createElement(TableCell8, null, "Rewards Earned Produced"))), /* @__PURE__ */ React15.createElement(TableBody2, null, producers?.map((producer) => /* @__PURE__ */ React15.createElement(TableRow3, {
920
+ return /* @__PURE__ */ React22.createElement(Table, props, /* @__PURE__ */ React22.createElement(TableHead2, null, /* @__PURE__ */ React22.createElement(TableRow3, null, /* @__PURE__ */ React22.createElement(TableCell8, null, "Address"), /* @__PURE__ */ React22.createElement(TableCell8, null, "Blocks Produced"), /* @__PURE__ */ React22.createElement(TableCell8, null, "Rewards Earned Produced"))), /* @__PURE__ */ React22.createElement(TableBody2, null, producers?.map((producer) => /* @__PURE__ */ React22.createElement(TableRow3, {
917
921
  key: producer.address
918
- }, /* @__PURE__ */ React15.createElement(TableCell8, null, /* @__PURE__ */ React15.createElement(BlockiesAvatar2, {
922
+ }, /* @__PURE__ */ React22.createElement(TableCell8, null, /* @__PURE__ */ React22.createElement(BlockiesAvatar2, {
919
923
  blockiesOptions: {
920
924
  seed: producer.address
921
925
  },
@@ -923,7 +927,7 @@ var ChainProducerStatsTable = /* @__PURE__ */ __name(({ producers, ...props }) =
923
927
  height: theme.spacing(2.75),
924
928
  width: theme.spacing(2.75)
925
929
  }
926
- })), /* @__PURE__ */ React15.createElement(TableCell8, null, producer.blocksProduced.toString()), /* @__PURE__ */ React15.createElement(TableCell8, null, producer.rewardsEarned.toString())))));
930
+ })), /* @__PURE__ */ React22.createElement(TableCell8, null, producer.blocksProduced.toString()), /* @__PURE__ */ React22.createElement(TableCell8, null, producer.rewardsEarned.toString())))));
927
931
  }, "ChainProducerStatsTable");
928
932
 
929
933
  // src/components/chain/stats/producer/ProducerFlexbox.tsx
@@ -945,16 +949,16 @@ var BlockProducerStatsFlexbox = /* @__PURE__ */ __name(({ payload, ...props }) =
945
949
  const producersArray = useMemo9(() => Object.values(producer?.producers ?? {}), [
946
950
  producer
947
951
  ]);
948
- return /* @__PURE__ */ React.createElement(FlexCol3, {
952
+ return /* @__PURE__ */ React23.createElement(FlexCol3, {
949
953
  alignItems: "start",
950
954
  gap: 1,
951
955
  ...props
952
- }, /* @__PURE__ */ React.createElement(ErrorRender3, {
956
+ }, /* @__PURE__ */ React23.createElement(ErrorRender3, {
953
957
  error: producerError,
954
958
  scope: "BlockProducerStatsFlexbox"
955
- }), /* @__PURE__ */ React.createElement(Typography3, {
959
+ }), /* @__PURE__ */ React23.createElement(Typography3, {
956
960
  fontSize: "1rem"
957
- }, "Block Producers"), /* @__PURE__ */ React.createElement(ChainProducerStatsTable, {
961
+ }, "Block Producers"), /* @__PURE__ */ React23.createElement(ChainProducerStatsTable, {
958
962
  producers: producersArray
959
963
  }));
960
964
  }, "BlockProducerStatsFlexbox");
@@ -966,18 +970,18 @@ var StyledListItem = styled(ListItem)(() => ({
966
970
  // src/components/chain/stats/Dialog.tsx
967
971
  var ChainAnalyzerStatsDialog = /* @__PURE__ */ __name((props) => {
968
972
  const { analyzers, statsUpdated } = useChainAnalyzersContext();
969
- return /* @__PURE__ */ React.createElement(Dialog2, props, /* @__PURE__ */ React.createElement(DialogTitle2, null, "Chain Analysis"), /* @__PURE__ */ React.createElement(DialogContent2, null, !!statsUpdated && Object.entries(analyzers).map(([id2, analyzer]) => /* @__PURE__ */ React.createElement("div", {
973
+ return /* @__PURE__ */ React24.createElement(Dialog2, props, /* @__PURE__ */ React24.createElement(DialogTitle2, null, "Chain Analysis"), /* @__PURE__ */ React24.createElement(DialogContent2, null, !!statsUpdated && Object.entries(analyzers).map(([id2, analyzer]) => /* @__PURE__ */ React24.createElement("div", {
970
974
  key: id2
971
- }, id2 === "producers" && /* @__PURE__ */ React.createElement(BlockProducerStatsFlexbox, {
975
+ }, id2 === "producers" && /* @__PURE__ */ React24.createElement(BlockProducerStatsFlexbox, {
972
976
  payload: analyzer.result()
973
977
  })))));
974
978
  }, "ChainAnalyzerStatsDialog");
975
979
  var ChainAnalyzerStatsDialogFromContext = /* @__PURE__ */ __name((props) => {
976
980
  const [open, setOpen] = useState10(false);
977
981
  const handleClose = /* @__PURE__ */ __name(() => setOpen(false), "handleClose");
978
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(IconButton3, {
982
+ return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(IconButton3, {
979
983
  onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
980
- }, /* @__PURE__ */ React.createElement(QueryStats, null)), /* @__PURE__ */ React.createElement(ChainAnalyzerStatsDialog, {
984
+ }, /* @__PURE__ */ React24.createElement(QueryStats, null)), /* @__PURE__ */ React24.createElement(ChainAnalyzerStatsDialog, {
981
985
  onClose: handleClose,
982
986
  open,
983
987
  ...props
@@ -986,19 +990,19 @@ var ChainAnalyzerStatsDialogFromContext = /* @__PURE__ */ __name((props) => {
986
990
 
987
991
  // src/components/chain/controls/PulseSvgIcon.tsx
988
992
  import { alpha, createSvgIcon, keyframes, styled as styled2 } from "@mui/material";
989
- import React16 from "react";
990
- var PulseSvgIcon = createSvgIcon(/* @__PURE__ */ React16.createElement("svg", {
993
+ import React25 from "react";
994
+ var PulseSvgIcon = createSvgIcon(/* @__PURE__ */ React25.createElement("svg", {
991
995
  viewBox: "0 0 80 80",
992
996
  version: "1.1",
993
997
  xmlns: "http://www.w3.org/2000/svg"
994
- }, /* @__PURE__ */ React16.createElement("g", {
998
+ }, /* @__PURE__ */ React25.createElement("g", {
995
999
  transform: "translate(34,34)"
996
- }, /* @__PURE__ */ React16.createElement("circle", {
1000
+ }, /* @__PURE__ */ React25.createElement("circle", {
997
1001
  className: "core",
998
1002
  cx: "0",
999
1003
  cy: "0",
1000
1004
  r: "6"
1001
- }), /* @__PURE__ */ React16.createElement("circle", {
1005
+ }), /* @__PURE__ */ React25.createElement("circle", {
1002
1006
  className: "radar",
1003
1007
  cx: "0",
1004
1008
  cy: "0",
@@ -1062,24 +1066,24 @@ var StyledPulseSvgIcon = styled2(PulseSvgIcon)(({ theme }) => {
1062
1066
  var PollingControlsFlexbox = /* @__PURE__ */ __name(({ blocksBehind, pollingState, setPollingState }) => {
1063
1067
  const paused = pollingState === "paused";
1064
1068
  const running = pollingState === "running";
1065
- return /* @__PURE__ */ React17.createElement(FlexRow6, {
1069
+ return /* @__PURE__ */ React26.createElement(FlexRow6, {
1066
1070
  justifyContent: "space-between",
1067
1071
  width: "100%"
1068
- }, /* @__PURE__ */ React17.createElement(FlexRow6, {
1072
+ }, /* @__PURE__ */ React26.createElement(FlexRow6, {
1069
1073
  gap: 2
1070
- }, running && /* @__PURE__ */ React17.createElement(IconButton4, {
1074
+ }, running && /* @__PURE__ */ React26.createElement(IconButton4, {
1071
1075
  onClick: /* @__PURE__ */ __name(() => setPollingState?.("paused"), "onClick"),
1072
1076
  title: "Pause Block Stream"
1073
- }, /* @__PURE__ */ React17.createElement(Pause, null)), paused && /* @__PURE__ */ React17.createElement(IconButton4, {
1077
+ }, /* @__PURE__ */ React26.createElement(Pause, null)), paused && /* @__PURE__ */ React26.createElement(IconButton4, {
1074
1078
  onClick: /* @__PURE__ */ __name(() => setPollingState?.("running"), "onClick"),
1075
1079
  title: "Re-Sync Block Stream"
1076
- }, /* @__PURE__ */ React17.createElement(Autorenew, null)), /* @__PURE__ */ React17.createElement(ChainAnalyzerStatsDialogFromContext, null)), /* @__PURE__ */ React17.createElement(FlexRow6, {
1080
+ }, /* @__PURE__ */ React26.createElement(Autorenew, null)), /* @__PURE__ */ React26.createElement(ChainAnalyzerStatsDialogFromContext, null)), /* @__PURE__ */ React26.createElement(FlexRow6, {
1077
1081
  gap: 2
1078
- }, /* @__PURE__ */ React17.createElement(Grow, {
1082
+ }, /* @__PURE__ */ React26.createElement(Grow, {
1079
1083
  in: (blocksBehind ?? 0) > 0
1080
- }, /* @__PURE__ */ React17.createElement(Tooltip5, {
1084
+ }, /* @__PURE__ */ React26.createElement(Tooltip5, {
1081
1085
  title: "Click to Re-Sync"
1082
- }, /* @__PURE__ */ React17.createElement(Alert3, {
1086
+ }, /* @__PURE__ */ React26.createElement(Alert3, {
1083
1087
  sx: {
1084
1088
  py: 0,
1085
1089
  px: 1,
@@ -1087,11 +1091,11 @@ var PollingControlsFlexbox = /* @__PURE__ */ __name(({ blocksBehind, pollingStat
1087
1091
  },
1088
1092
  severity: "warning",
1089
1093
  onClick: /* @__PURE__ */ __name(() => setPollingState?.("running"), "onClick")
1090
- }, /* @__PURE__ */ React17.createElement(AlertTitle2, {
1094
+ }, /* @__PURE__ */ React26.createElement(AlertTitle2, {
1091
1095
  sx: {
1092
1096
  mb: 0
1093
1097
  }
1094
- }, "Behind:", " ", blocksBehind)))), /* @__PURE__ */ React17.createElement(Icon2, null, /* @__PURE__ */ React17.createElement(StyledPulseSvgIcon, {
1098
+ }, "Behind:", " ", blocksBehind)))), /* @__PURE__ */ React26.createElement(Icon2, null, /* @__PURE__ */ React26.createElement(StyledPulseSvgIcon, {
1095
1099
  className: running ? "" : "paused"
1096
1100
  }))));
1097
1101
  }, "PollingControlsFlexbox");
@@ -1099,20 +1103,20 @@ var MemoizedPollingControlsFlexbox = /* @__PURE__ */ memo(PollingControlsFlexbox
1099
1103
 
1100
1104
  // src/components/chain/dialog/Dialog.tsx
1101
1105
  import { Button as Button3, Dialog as Dialog3, DialogActions as DialogActions2, DialogContent as DialogContent3 } from "@mui/material";
1102
- import React18 from "react";
1106
+ import React27 from "react";
1103
1107
  var TransactionsDialog = /* @__PURE__ */ __name((props) => {
1104
- return /* @__PURE__ */ React18.createElement(Dialog3, props, /* @__PURE__ */ React18.createElement(DialogContent3, null, "Transactions Dialog"), /* @__PURE__ */ React18.createElement(DialogActions2, null, /* @__PURE__ */ React18.createElement(Button3, {
1108
+ return /* @__PURE__ */ React27.createElement(Dialog3, props, /* @__PURE__ */ React27.createElement(DialogContent3, null, "Transactions Dialog"), /* @__PURE__ */ React27.createElement(DialogActions2, null, /* @__PURE__ */ React27.createElement(Button3, {
1105
1109
  variant: "outlined",
1106
1110
  onClick: /* @__PURE__ */ __name((e) => props?.onClose?.(e, "escapeKeyDown"), "onClick")
1107
1111
  }, "Close")));
1108
1112
  }, "TransactionsDialog");
1109
1113
 
1110
1114
  // src/components/chain/hooks/useOnBlock.ts
1111
- import { useEffect as useEffect2, useRef as useRef2 } from "react";
1115
+ import { useEffect, useRef as useRef2 } from "react";
1112
1116
  var useOnBlock = /* @__PURE__ */ __name((initialHeadNumber, onAddBlock, liveHead, pollingState) => {
1113
1117
  const blocksWhilePaused = useRef2([]);
1114
1118
  const lastLiveHead = useRef2(liveHead);
1115
- useEffect2(() => {
1119
+ useEffect(() => {
1116
1120
  if (lastLiveHead.current?.block === liveHead?.block) return;
1117
1121
  if (liveHead && onAddBlock) {
1118
1122
  lastLiveHead.current = liveHead;
@@ -1138,9 +1142,9 @@ var useOnBlock = /* @__PURE__ */ __name((initialHeadNumber, onAddBlock, liveHead
1138
1142
 
1139
1143
  // src/components/chain/pagination/BlockChainPagination.tsx
1140
1144
  import { TablePaginationActions } from "@xyo-network/react-payload-table";
1141
- import React19 from "react";
1145
+ import React28 from "react";
1142
1146
  var BlockChainPagination = /* @__PURE__ */ __name(({ count = 0, onPageChange, page, rowsPerPage = 10 }) => {
1143
- return /* @__PURE__ */ React19.createElement(TablePaginationActions, {
1147
+ return /* @__PURE__ */ React28.createElement(TablePaginationActions, {
1144
1148
  count,
1145
1149
  onPageChange,
1146
1150
  page,
@@ -1175,10 +1179,11 @@ var useChainPagination = /* @__PURE__ */ __name((pageSize, blockComponents) => {
1175
1179
  import { ErrorRender as ErrorRender4 } from "@xylabs/react-error";
1176
1180
  import { FlexCol as FlexCol5 } from "@xylabs/react-flexbox";
1177
1181
  import { ChainProducersAnalyzer } from "@xyo-network/chain-protocol";
1178
- import React20, { useMemo as useMemo14 } from "react";
1182
+ import React30, { useMemo as useMemo14 } from "react";
1179
1183
 
1180
1184
  // src/components/chain/list/Animated.tsx
1181
1185
  import { AnimatedList } from "@xylabs/react-animation";
1186
+ import React29 from "react";
1182
1187
 
1183
1188
  // src/components/chain/styled/BlockListWrapperFlexbox.tsx
1184
1189
  import { styled as styled3 } from "@mui/material";
@@ -1199,10 +1204,10 @@ var BlockListWrapperFlexBox = styled3(FlexCol4, {
1199
1204
 
1200
1205
  // src/components/chain/list/Animated.tsx
1201
1206
  var BlockListAnimated = /* @__PURE__ */ __name(({ blockChainRenderComponents }) => {
1202
- return /* @__PURE__ */ React.createElement(BlockListWrapperFlexBox, {
1207
+ return /* @__PURE__ */ React29.createElement(BlockListWrapperFlexBox, {
1203
1208
  alignItems: "stretch",
1204
1209
  width: "100%"
1205
- }, /* @__PURE__ */ React.createElement(AnimatedList, {
1210
+ }, /* @__PURE__ */ React29.createElement(AnimatedList, {
1206
1211
  fullWidth: true,
1207
1212
  items: blockChainRenderComponents
1208
1213
  }));
@@ -1309,15 +1314,15 @@ var useChainIteratorParams = /* @__PURE__ */ __name(({ chainArchivist, chainInfo
1309
1314
 
1310
1315
  // src/hooks/chain-iterator/useChainIteratorStore.ts
1311
1316
  import { usePromise as usePromise4 } from "@xylabs/react-promise";
1312
- import { useEffect as useEffect4, useMemo as useMemo11, useRef as useRef3, useSyncExternalStore } from "react";
1317
+ import { useEffect as useEffect3, useMemo as useMemo11, useRef as useRef3, useSyncExternalStore } from "react";
1313
1318
 
1314
1319
  // src/hooks/chain-iterator/useChainIteratorUpdatingHead.ts
1315
1320
  import { toHex } from "@xylabs/hex";
1316
1321
  import { findMostRecentBlock } from "@xyo-network/chain-protocol";
1317
- import { useEffect as useEffect3, useState as useState12 } from "react";
1322
+ import { useEffect as useEffect2, useState as useState12 } from "react";
1318
1323
  var useChainIteratorUpdatingHead = /* @__PURE__ */ __name(({ chainIterator, interval = 500, maxBlocks, chainArchivist }) => {
1319
1324
  const [error, setError] = useState12();
1320
- useEffect3(() => {
1325
+ useEffect2(() => {
1321
1326
  let pollArchivistTimeout;
1322
1327
  const pollingFunction = /* @__PURE__ */ __name(async () => {
1323
1328
  if (chainIterator && chainArchivist) {
@@ -1366,7 +1371,7 @@ var useChainIteratorStore = /* @__PURE__ */ __name((chainIteratorParams) => {
1366
1371
  chainIterator,
1367
1372
  chainArchivist
1368
1373
  });
1369
- useEffect4(() => {
1374
+ useEffect3(() => {
1370
1375
  return () => {
1371
1376
  if (chainIteratorStore) {
1372
1377
  chainIteratorStore.cleanup();
@@ -1530,18 +1535,18 @@ var useRemoteBlockChainRenderProps = /* @__PURE__ */ __name((chainArchivistModul
1530
1535
  // src/components/chain/render/dynamic/flexbox/Flexbox.tsx
1531
1536
  var Base = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
1532
1537
  const { errors, blockChainRenderComponents, blocksWhilePaused, pollingState, updatePollingState } = useDynamicBlockRenderComponents(BlockHeadingFlexbox, blockChainRenderProps);
1533
- return /* @__PURE__ */ React20.createElement(FlexCol5, {
1538
+ return /* @__PURE__ */ React30.createElement(FlexCol5, {
1534
1539
  alignItems: "start",
1535
1540
  ...props
1536
- }, errors?.map((error, index) => /* @__PURE__ */ React20.createElement(ErrorRender4, {
1541
+ }, errors?.map((error, index) => /* @__PURE__ */ React30.createElement(ErrorRender4, {
1537
1542
  error,
1538
1543
  key: index,
1539
1544
  scope: "DynamicBlockchainRenderFlexboxInner"
1540
- })), /* @__PURE__ */ React20.createElement(MemoizedPollingControlsFlexbox, {
1545
+ })), /* @__PURE__ */ React30.createElement(MemoizedPollingControlsFlexbox, {
1541
1546
  blocksBehind: blocksWhilePaused?.length,
1542
1547
  pollingState,
1543
1548
  setPollingState: updatePollingState
1544
- }), /* @__PURE__ */ React20.createElement(BlockListAnimated, {
1549
+ }), /* @__PURE__ */ React30.createElement(BlockListAnimated, {
1545
1550
  blockChainRenderComponents
1546
1551
  }));
1547
1552
  }, "Base");
@@ -1556,19 +1561,19 @@ var WithAnalysis = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props })
1556
1561
  }, [
1557
1562
  chainInformation
1558
1563
  ]);
1559
- return /* @__PURE__ */ React20.createElement(ChainAnalyzersProvider, {
1564
+ return /* @__PURE__ */ React30.createElement(ChainAnalyzersProvider, {
1560
1565
  analyzers
1561
- }, /* @__PURE__ */ React20.createElement(ChainPollingProvider, null, /* @__PURE__ */ React20.createElement(DynamicBlockchainRenderFlexbox.Base, {
1566
+ }, /* @__PURE__ */ React30.createElement(ChainPollingProvider, null, /* @__PURE__ */ React30.createElement(DynamicBlockchainRenderFlexbox.Base, {
1562
1567
  blockChainRenderProps,
1563
1568
  ...props
1564
1569
  })));
1565
1570
  }, "WithAnalysis");
1566
1571
  var WithRemote = /* @__PURE__ */ __name(({ url, chainArchivistModuleId, blockChainRenderProps: blockChainRenderPropsArg, ...props }) => {
1567
1572
  const { error, blockChainRenderProps } = useRemoteBlockChainRenderProps(chainArchivistModuleId, url, blockChainRenderPropsArg);
1568
- return /* @__PURE__ */ React20.createElement(React20.Fragment, null, /* @__PURE__ */ React20.createElement(ErrorRender4, {
1573
+ return /* @__PURE__ */ React30.createElement(React30.Fragment, null, /* @__PURE__ */ React30.createElement(ErrorRender4, {
1569
1574
  error,
1570
1575
  scope: "RemoteChainProviderFlexbox"
1571
- }), /* @__PURE__ */ React20.createElement(DynamicBlockchainRenderFlexbox.WithAnalysis, {
1576
+ }), /* @__PURE__ */ React30.createElement(DynamicBlockchainRenderFlexbox.WithAnalysis, {
1572
1577
  blockChainRenderProps,
1573
1578
  ...props
1574
1579
  }));
@@ -1583,7 +1588,7 @@ var DynamicBlockchainRenderFlexbox = {
1583
1588
  import { ErrorRender as ErrorRender5 } from "@xylabs/react-error";
1584
1589
  import { FlexCol as FlexCol6, FlexGrowRow as FlexGrowRow2 } from "@xylabs/react-flexbox";
1585
1590
  import { ChainProducersAnalyzer as ChainProducersAnalyzer2 } from "@xyo-network/chain-protocol";
1586
- import React21, { useMemo as useMemo16 } from "react";
1591
+ import React31, { useMemo as useMemo16 } from "react";
1587
1592
 
1588
1593
  // src/components/chain/render/static/hooks/useStaticBlockRenderComponents.ts
1589
1594
  import { exists } from "@xylabs/exists";
@@ -1616,24 +1621,24 @@ var useStaticBlockRenderComponents = /* @__PURE__ */ __name((BlockComponent, blo
1616
1621
  // src/components/chain/render/static/flexbox/Flexbox.tsx
1617
1622
  var Base2 = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
1618
1623
  const { blockComponents, errors, paginatedBlockComponents, onPageChange, page, pageSize } = useStaticBlockRenderComponents(BlockHeadingFlexbox, blockChainRenderProps);
1619
- return /* @__PURE__ */ React21.createElement(FlexCol6, {
1624
+ return /* @__PURE__ */ React31.createElement(FlexCol6, {
1620
1625
  alignItems: "start",
1621
1626
  gap: 2,
1622
1627
  width: "100%",
1623
1628
  ...props
1624
- }, errors?.map((error, index) => /* @__PURE__ */ React21.createElement(ErrorRender5, {
1629
+ }, errors?.map((error, index) => /* @__PURE__ */ React31.createElement(ErrorRender5, {
1625
1630
  error,
1626
1631
  key: index,
1627
1632
  scope: "StaticBlockchainFlexboxInner"
1628
- })), paginatedBlockComponents?.length ? /* @__PURE__ */ React21.createElement(FlexGrowRow2, {
1633
+ })), paginatedBlockComponents?.length ? /* @__PURE__ */ React31.createElement(FlexGrowRow2, {
1629
1634
  justifyContent: "space-between",
1630
1635
  width: "100%"
1631
- }, /* @__PURE__ */ React21.createElement(ChainAnalyzerStatsDialogFromContext, null), /* @__PURE__ */ React21.createElement(BlockChainPagination, {
1636
+ }, /* @__PURE__ */ React31.createElement(ChainAnalyzerStatsDialogFromContext, null), /* @__PURE__ */ React31.createElement(BlockChainPagination, {
1632
1637
  count: blockComponents?.length ?? 0,
1633
1638
  onPageChange,
1634
1639
  page,
1635
1640
  rowsPerPage: pageSize
1636
- })) : null, /* @__PURE__ */ React21.createElement(BlockListAnimated, {
1641
+ })) : null, /* @__PURE__ */ React31.createElement(BlockListAnimated, {
1637
1642
  blockChainRenderComponents: paginatedBlockComponents
1638
1643
  }));
1639
1644
  }, "Base");
@@ -1648,9 +1653,9 @@ var WithAnalysis2 = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props })
1648
1653
  }, [
1649
1654
  chainInformation
1650
1655
  ]);
1651
- return /* @__PURE__ */ React21.createElement(ChainAnalyzersProvider, {
1656
+ return /* @__PURE__ */ React31.createElement(ChainAnalyzersProvider, {
1652
1657
  analyzers
1653
- }, /* @__PURE__ */ React21.createElement(StaticBlockchainRenderFlexBox.Base, {
1658
+ }, /* @__PURE__ */ React31.createElement(StaticBlockchainRenderFlexBox.Base, {
1654
1659
  blockChainRenderProps,
1655
1660
  ...props
1656
1661
  }));
@@ -1663,19 +1668,19 @@ var StaticBlockchainRenderFlexBox = {
1663
1668
  // src/components/payload/builder/Flexbox.tsx
1664
1669
  import { FlexCol as FlexCol7 } from "@xylabs/react-flexbox";
1665
1670
  import { JsonViewerEx as JsonViewerEx2 } from "@xyo-network/react-payload-raw-info";
1666
- import { useState as useState13 } from "react";
1671
+ import React32, { useState as useState13 } from "react";
1667
1672
  var PayloadBuilderFlexbox = /* @__PURE__ */ __name(({ BuilderComponent, onBuild, ...props }) => {
1668
1673
  const [payload, setPayload] = useState13();
1669
1674
  const onBuildLocal = /* @__PURE__ */ __name((payload2) => {
1670
1675
  onBuild?.(payload2);
1671
1676
  setPayload(payload2);
1672
1677
  }, "onBuildLocal");
1673
- return /* @__PURE__ */ React.createElement(FlexCol7, {
1678
+ return /* @__PURE__ */ React32.createElement(FlexCol7, {
1674
1679
  gap: 2,
1675
1680
  ...props
1676
- }, /* @__PURE__ */ React.createElement(BuilderComponent, {
1681
+ }, /* @__PURE__ */ React32.createElement(BuilderComponent, {
1677
1682
  onBuild: onBuildLocal
1678
- }), payload && /* @__PURE__ */ React.createElement(JsonViewerEx2, {
1683
+ }), payload && /* @__PURE__ */ React32.createElement(JsonViewerEx2, {
1679
1684
  value: payload
1680
1685
  }));
1681
1686
  }, "PayloadBuilderFlexbox");
@@ -1683,11 +1688,11 @@ var PayloadBuilderFlexbox = /* @__PURE__ */ __name(({ BuilderComponent, onBuild,
1683
1688
  // src/components/payload/builder/producer-intent/Form.tsx
1684
1689
  import { Button as Button4, FormControl as FormControl5 } from "@mui/material";
1685
1690
  import { createProducerChainStakeIntent } from "@xyo-network/chain-ethereum";
1686
- import React24, { useMemo as useMemo17, useState as useState16 } from "react";
1691
+ import React35, { useMemo as useMemo17, useState as useState16 } from "react";
1687
1692
 
1688
1693
  // src/components/payload/fields/BlockNumberTextField.tsx
1689
1694
  import { FormControl as FormControl3, FormHelperText as FormHelperText2, TextField as TextField3 } from "@mui/material";
1690
- import React22, { useState as useState14 } from "react";
1695
+ import React33, { useState as useState14 } from "react";
1691
1696
  var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumberChanged, onChange, ...props }) => {
1692
1697
  const [blockNumber, setBlockNumber] = useState14();
1693
1698
  const handleChange = /* @__PURE__ */ __name((e) => {
@@ -1696,15 +1701,15 @@ var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumber
1696
1701
  onBlockNumberChanged?.(Number.parseInt(value));
1697
1702
  onChange?.(e);
1698
1703
  }, "handleChange");
1699
- return /* @__PURE__ */ React22.createElement(FormControl3, {
1704
+ return /* @__PURE__ */ React33.createElement(FormControl3, {
1700
1705
  fullWidth: true
1701
- }, /* @__PURE__ */ React22.createElement(TextField3, {
1706
+ }, /* @__PURE__ */ React33.createElement(TextField3, {
1702
1707
  error: !!errorMessage,
1703
1708
  onChange: handleChange,
1704
1709
  type: "number",
1705
1710
  value: blockNumber ?? "",
1706
1711
  ...props
1707
- }), errorMessage && /* @__PURE__ */ React22.createElement(FormHelperText2, {
1712
+ }), errorMessage && /* @__PURE__ */ React33.createElement(FormHelperText2, {
1708
1713
  sx: {
1709
1714
  color: /* @__PURE__ */ __name((theme) => theme.palette.error.main, "color")
1710
1715
  }
@@ -1714,11 +1719,11 @@ var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumber
1714
1719
  // src/components/payload/fields/XyoAddressTextField.tsx
1715
1720
  import { FormControl as FormControl4, FormHelperText as FormHelperText3, TextField as TextField4 } from "@mui/material";
1716
1721
  import { asAddress } from "@xylabs/hex";
1717
- import React23, { useEffect as useEffect5, useState as useState15 } from "react";
1722
+ import React34, { useEffect as useEffect4, useState as useState15 } from "react";
1718
1723
  var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange, resetValue, ...props }) => {
1719
1724
  const [address, setAddress] = useState15("");
1720
1725
  const [addressError, setAddressError] = useState15();
1721
- useEffect5(() => setAddress(""), [
1726
+ useEffect4(() => setAddress(""), [
1722
1727
  resetValue
1723
1728
  ]);
1724
1729
  const handleChange = /* @__PURE__ */ __name((event) => {
@@ -1738,15 +1743,15 @@ var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange,
1738
1743
  onAddressChanged?.();
1739
1744
  }
1740
1745
  }, "handleBlur");
1741
- return /* @__PURE__ */ React23.createElement(FormControl4, {
1746
+ return /* @__PURE__ */ React34.createElement(FormControl4, {
1742
1747
  fullWidth: true
1743
- }, /* @__PURE__ */ React23.createElement(TextField4, {
1748
+ }, /* @__PURE__ */ React34.createElement(TextField4, {
1744
1749
  error: !!addressError,
1745
1750
  onBlur: handleBlur,
1746
1751
  onChange: handleChange,
1747
1752
  value: address,
1748
1753
  ...props
1749
- }), addressError && /* @__PURE__ */ React23.createElement(FormHelperText3, {
1754
+ }), addressError && /* @__PURE__ */ React34.createElement(FormHelperText3, {
1750
1755
  sx: {
1751
1756
  color: /* @__PURE__ */ __name((theme) => theme.palette.error.main, "color")
1752
1757
  }
@@ -1779,43 +1784,46 @@ var ProducerIntentBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
1779
1784
  const onBuildLocal = /* @__PURE__ */ __name(() => {
1780
1785
  if (onBuild && intentPayload) onBuild?.(intentPayload);
1781
1786
  }, "onBuildLocal");
1782
- return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(FormControl5, {
1787
+ return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(FormControl5, {
1783
1788
  fullWidth: true
1784
- }, /* @__PURE__ */ React24.createElement(XyoAddressTextField, {
1789
+ }, /* @__PURE__ */ React35.createElement(XyoAddressTextField, {
1785
1790
  label: "Delegate",
1786
1791
  name: "delegate",
1787
1792
  onAddressChanged: setDelegate,
1788
1793
  required: true,
1789
1794
  size: "small"
1790
- })), /* @__PURE__ */ React24.createElement(FormControl5, {
1795
+ })), /* @__PURE__ */ React35.createElement(FormControl5, {
1791
1796
  fullWidth: true
1792
- }, /* @__PURE__ */ React24.createElement(BlockNumberTextField, {
1797
+ }, /* @__PURE__ */ React35.createElement(BlockNumberTextField, {
1793
1798
  errorMessage: blockRangeError?.message,
1794
1799
  label: "Expires",
1795
1800
  name: "exp",
1796
1801
  onBlockNumberChanged: setExp,
1797
1802
  required: true,
1798
1803
  size: "small"
1799
- })), /* @__PURE__ */ React24.createElement(FormControl5, {
1804
+ })), /* @__PURE__ */ React35.createElement(FormControl5, {
1800
1805
  fullWidth: true
1801
- }, /* @__PURE__ */ React24.createElement(BlockNumberTextField, {
1806
+ }, /* @__PURE__ */ React35.createElement(BlockNumberTextField, {
1802
1807
  errorMessage: blockRangeError?.message,
1803
1808
  label: "Not Before",
1804
1809
  name: "nbf",
1805
1810
  onBlockNumberChanged: setNbf,
1806
1811
  required: true,
1807
1812
  size: "small"
1808
- })), /* @__PURE__ */ React24.createElement(Button4, {
1813
+ })), /* @__PURE__ */ React35.createElement(Button4, {
1809
1814
  disabled: !intentPayload,
1810
1815
  variant: "contained",
1811
1816
  onClick: onBuildLocal
1812
1817
  }, "Build"));
1813
1818
  }, "ProducerIntentBuilderForm");
1814
1819
 
1820
+ // src/components/payload/builder/transfer/Flexbox.tsx
1821
+ import React38 from "react";
1822
+
1815
1823
  // src/components/payload/builder/transfer/Form.tsx
1816
1824
  import { Button as Button5, FormControl as FormControl7 } from "@mui/material";
1817
1825
  import { elevate, TransferSchema } from "@xyo-network/chain-model";
1818
- import React25, { useMemo as useMemo19, useState as useState18 } from "react";
1826
+ import React37, { useMemo as useMemo19, useState as useState18 } from "react";
1819
1827
 
1820
1828
  // src/components/payload/builder/transfer/builder/SingleFlexbox.tsx
1821
1829
  import { RemoveCircle } from "@mui/icons-material";
@@ -1823,7 +1831,7 @@ import { FormControl as FormControl6, Icon as Icon3, IconButton as IconButton5 }
1823
1831
  import { toHex as toHex2 } from "@xylabs/hex";
1824
1832
  import { FlexRow as FlexRow7 } from "@xylabs/react-flexbox";
1825
1833
  import { BigIntInput } from "@xyo-network/react-shared";
1826
- import { useEffect as useEffect6, useMemo as useMemo18, useState as useState17 } from "react";
1834
+ import React36, { useEffect as useEffect5, useMemo as useMemo18, useState as useState17 } from "react";
1827
1835
  var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated, onRemoveTransfer, singleTransfer, ...props }) => {
1828
1836
  const [toAddress, setToAddress] = useState17();
1829
1837
  const [amount, setAmount] = useState17();
@@ -1839,34 +1847,34 @@ var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated,
1839
1847
  toAddress,
1840
1848
  amount
1841
1849
  ]);
1842
- useEffect6(() => {
1850
+ useEffect5(() => {
1843
1851
  if (transferAmount) onTransferUpdated?.(transferAmount);
1844
1852
  }, [
1845
1853
  transferAmount
1846
1854
  ]);
1847
- return /* @__PURE__ */ React.createElement(FlexRow7, {
1855
+ return /* @__PURE__ */ React36.createElement(FlexRow7, {
1848
1856
  alignItems: "start",
1849
1857
  gap: 1,
1850
1858
  ...props
1851
- }, /* @__PURE__ */ React.createElement(FormControl6, {
1859
+ }, /* @__PURE__ */ React36.createElement(FormControl6, {
1852
1860
  fullWidth: true
1853
- }, /* @__PURE__ */ React.createElement(XyoAddressTextField, {
1861
+ }, /* @__PURE__ */ React36.createElement(XyoAddressTextField, {
1854
1862
  label: "To",
1855
1863
  name: "to",
1856
1864
  onAddressChanged: setToAddress,
1857
1865
  required: true,
1858
1866
  size: "small"
1859
- })), /* @__PURE__ */ React.createElement(FormControl6, {
1867
+ })), /* @__PURE__ */ React36.createElement(FormControl6, {
1860
1868
  fullWidth: true
1861
- }, /* @__PURE__ */ React.createElement(BigIntInput.TextField, {
1869
+ }, /* @__PURE__ */ React36.createElement(BigIntInput.TextField, {
1862
1870
  label: "Amount",
1863
1871
  name: "amount",
1864
1872
  onChangeFixedPoint: setAmount,
1865
1873
  required: true,
1866
1874
  size: "small"
1867
- })), /* @__PURE__ */ React.createElement(IconButton5, {
1875
+ })), /* @__PURE__ */ React36.createElement(IconButton5, {
1868
1876
  onClick: /* @__PURE__ */ __name(() => onRemoveTransfer?.(singleTransfer.transferId), "onClick")
1869
- }, /* @__PURE__ */ React.createElement(Icon3, null, /* @__PURE__ */ React.createElement(RemoveCircle, null))));
1877
+ }, /* @__PURE__ */ React36.createElement(Icon3, null, /* @__PURE__ */ React36.createElement(RemoveCircle, null))));
1870
1878
  }, "SingleTransferBuilderFlexbox");
1871
1879
 
1872
1880
  // src/components/payload/builder/transfer/Form.tsx
@@ -1914,19 +1922,19 @@ var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
1914
1922
  return transfer;
1915
1923
  }));
1916
1924
  }, "onTransferUpdated");
1917
- return /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(FormControl7, {
1925
+ return /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(FormControl7, {
1918
1926
  fullWidth: true
1919
- }, /* @__PURE__ */ React25.createElement(XyoAddressTextField, {
1927
+ }, /* @__PURE__ */ React37.createElement(XyoAddressTextField, {
1920
1928
  label: "From",
1921
1929
  name: "from",
1922
1930
  onAddressChanged: setFromAddress,
1923
1931
  required: true,
1924
1932
  size: "small"
1925
- })), /* @__PURE__ */ React25.createElement(Button5, {
1933
+ })), /* @__PURE__ */ React37.createElement(Button5, {
1926
1934
  onClick: onTransferAdded,
1927
1935
  size: "small",
1928
1936
  variant: "contained"
1929
- }, "Add Transfer"), transfers.map((transfer) => /* @__PURE__ */ React25.createElement(SingleTransferBuilderFlexbox, {
1937
+ }, "Add Transfer"), transfers.map((transfer) => /* @__PURE__ */ React37.createElement(SingleTransferBuilderFlexbox, {
1930
1938
  key: transfer.transferId,
1931
1939
  onTransferUpdated,
1932
1940
  onRemoveTransfer: onTransferRemoved,
@@ -1934,7 +1942,7 @@ var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
1934
1942
  sx: {
1935
1943
  width: "100%"
1936
1944
  }
1937
- })), /* @__PURE__ */ React25.createElement(Button5, {
1945
+ })), /* @__PURE__ */ React37.createElement(Button5, {
1938
1946
  disabled: !transferPayload,
1939
1947
  variant: "contained",
1940
1948
  onClick: onBuildLocal
@@ -1942,7 +1950,7 @@ var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
1942
1950
  }, "TransferBuilderForm");
1943
1951
 
1944
1952
  // src/components/payload/builder/transfer/Flexbox.tsx
1945
- var TransferBuilderFlexbox = /* @__PURE__ */ __name(({ onBuild, ...props }) => /* @__PURE__ */ React.createElement(PayloadBuilderFlexbox, {
1953
+ var TransferBuilderFlexbox = /* @__PURE__ */ __name(({ onBuild, ...props }) => /* @__PURE__ */ React38.createElement(PayloadBuilderFlexbox, {
1946
1954
  gap: 4,
1947
1955
  alignItems: "start",
1948
1956
  BuilderComponent: TransferBuilderForm,
@@ -1971,7 +1979,7 @@ import { usePromise as usePromise7 } from "@xylabs/react-promise";
1971
1979
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
1972
1980
  import { ArchivistConfigSchema } from "@xyo-network/archivist-model";
1973
1981
  import { isBlockBoundWitness as isBlockBoundWitness4 } from "@xyo-network/chain-model";
1974
- import { useEffect as useEffect7 } from "react";
1982
+ import React39, { useEffect as useEffect6 } from "react";
1975
1983
  var ChainArchivistDecorator = /* @__PURE__ */ __name((Story, context) => {
1976
1984
  const [randomBlockChain] = usePromise7(async () => await buildRandomBlockChain(), []);
1977
1985
  const [blockChainRenderProps, blockChainRenderPropsError] = usePromise7(async () => {
@@ -1992,7 +2000,7 @@ var ChainArchivistDecorator = /* @__PURE__ */ __name((Story, context) => {
1992
2000
  }, [
1993
2001
  randomBlockChain
1994
2002
  ]);
1995
- useEffect7(() => {
2003
+ useEffect6(() => {
1996
2004
  if (blockChainRenderPropsError) {
1997
2005
  console.error(blockChainRenderPropsError);
1998
2006
  }
@@ -2010,7 +2018,7 @@ var ChainArchivistDecorator = /* @__PURE__ */ __name((Story, context) => {
2010
2018
  }
2011
2019
  }
2012
2020
  };
2013
- return blockChainRenderProps?.chainArchivist ? /* @__PURE__ */ React.createElement(Story, props) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CircularProgress, null));
2021
+ return blockChainRenderProps?.chainArchivist ? /* @__PURE__ */ React39.createElement(Story, props) : /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(CircularProgress, null));
2014
2022
  }, "ChainArchivistDecorator");
2015
2023
 
2016
2024
  // src/stories/ChainArchivistDelayedInsertDecorator.tsx
@@ -2020,7 +2028,7 @@ import { usePromise as usePromise8 } from "@xylabs/react-promise";
2020
2028
  import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
2021
2029
  import { ArchivistConfigSchema as ArchivistConfigSchema2 } from "@xyo-network/archivist-model";
2022
2030
  import { isBlockBoundWitness as isBlockBoundWitness5 } from "@xyo-network/chain-model";
2023
- import { useEffect as useEffect8, useState as useState19 } from "react";
2031
+ import React40, { useEffect as useEffect7, useState as useState19 } from "react";
2024
2032
  var chainArchivistRef;
2025
2033
  var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, context) => {
2026
2034
  const [firstBlock, setFirstBlock] = useState19();
@@ -2057,7 +2065,7 @@ var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, contex
2057
2065
  chainArchivist,
2058
2066
  randomBlockChain
2059
2067
  ]);
2060
- useEffect8(() => {
2068
+ useEffect7(() => {
2061
2069
  if (delayedInsertError) {
2062
2070
  console.error(delayedInsertError);
2063
2071
  }
@@ -2084,7 +2092,7 @@ var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, contex
2084
2092
  }
2085
2093
  }
2086
2094
  };
2087
- return firstBlock ? /* @__PURE__ */ React.createElement(Story, props) : /* @__PURE__ */ React.createElement(CircularProgress2, null);
2095
+ return firstBlock ? /* @__PURE__ */ React40.createElement(Story, props) : /* @__PURE__ */ React40.createElement(CircularProgress2, null);
2088
2096
  }, "ChainArchivistDelayedInsertDecorator");
2089
2097
 
2090
2098
  // src/stories/ChainInfoContextDecorator.tsx
@@ -2093,6 +2101,7 @@ import { usePromise as usePromise9 } from "@xylabs/react-promise";
2093
2101
  import { isBlockBoundWitness as isBlockBoundWitness6 } from "@xyo-network/chain-model";
2094
2102
  import { XyoChainBlockNumberIterator as XyoChainBlockNumberIterator3 } from "@xyo-network/chain-services";
2095
2103
  import { findFirstMatching } from "@xyo-network/chain-utils";
2104
+ import React41 from "react";
2096
2105
  var archivistConfig = {
2097
2106
  url: "http://localhost:8080",
2098
2107
  chainArchivistModuleId: "XYOPublic:XYOChain:Chain"
@@ -2118,11 +2127,11 @@ var ChainInfoContextDecorator = /* @__PURE__ */ __name((Story, context) => {
2118
2127
  chainArchivist,
2119
2128
  chainInformation
2120
2129
  ]);
2121
- return /* @__PURE__ */ React.createElement(ChainInfoProvider, {
2130
+ return /* @__PURE__ */ React41.createElement(ChainInfoProvider, {
2122
2131
  chainArchivist,
2123
2132
  chainInformation,
2124
2133
  chainIterator
2125
- }, /* @__PURE__ */ React.createElement(Story, context));
2134
+ }, /* @__PURE__ */ React41.createElement(Story, context));
2126
2135
  }, "ChainInfoContextDecorator");
2127
2136
  export {
2128
2137
  BlockChainPagination,