@xyo-network/react-chain-blockchain 1.0.7 → 1.0.9
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 +210 -201
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/components/block/ProducerChip.d.ts +1 -0
- package/dist/types/components/block/ProducerChip.d.ts.map +1 -1
- package/dist/types/components/block/helpers/buildBlockChainRenderComponent.d.ts.map +1 -1
- package/dist/types/components/block/menu/Expanded.d.ts +1 -0
- package/dist/types/components/block/menu/Expanded.d.ts.map +1 -1
- package/dist/types/components/block/table/Ex.d.ts +7 -1
- package/dist/types/components/block/table/Ex.d.ts.map +1 -1
- package/dist/types/components/block/table/cell/hooks/useLinkedBlockItem.d.ts +2 -2
- package/dist/types/components/block/table/cell/hooks/useLinkedBlockItem.d.ts.map +1 -1
- package/dist/types/components/block/table/row/TableRow.d.ts +1 -0
- package/dist/types/components/block/table/row/TableRow.d.ts.map +1 -1
- package/dist/types/components/chain/list/Animated.d.ts +1 -0
- package/dist/types/components/chain/list/Animated.d.ts.map +1 -1
- package/dist/types/components/chain/stats/Dialog.d.ts +1 -0
- package/dist/types/components/chain/stats/Dialog.d.ts.map +1 -1
- package/dist/types/components/chain/stats/producer/ProducerFlexbox.d.ts +2 -1
- package/dist/types/components/chain/stats/producer/ProducerFlexbox.d.ts.map +1 -1
- package/dist/types/components/payload/builder/Flexbox.d.ts +1 -0
- package/dist/types/components/payload/builder/Flexbox.d.ts.map +1 -1
- package/dist/types/components/payload/builder/producer-intent/Flexbox.d.ts +1 -0
- package/dist/types/components/payload/builder/producer-intent/Flexbox.d.ts.map +1 -1
- package/dist/types/components/payload/builder/transfer/Flexbox.d.ts +1 -0
- package/dist/types/components/payload/builder/transfer/Flexbox.d.ts.map +1 -1
- package/dist/types/components/payload/builder/transfer/builder/SingleFlexbox.d.ts +1 -0
- package/dist/types/components/payload/builder/transfer/builder/SingleFlexbox.d.ts.map +1 -1
- package/dist/types/components/transactions/TransactionCountChip.d.ts +1 -0
- package/dist/types/components/transactions/TransactionCountChip.d.ts.map +1 -1
- package/dist/types/context/analyzer/Provider.d.ts +1 -0
- package/dist/types/context/analyzer/Provider.d.ts.map +1 -1
- package/dist/types/context/polling/Provider.d.ts +1 -0
- package/dist/types/context/polling/Provider.d.ts.map +1 -1
- package/dist/types/stories/ChainInfoContextDecorator.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/components/block/ProducerChip.tsx +1 -1
- package/src/components/block/helpers/buildBlockChainRenderComponent.tsx +1 -0
- package/src/components/block/menu/Expanded.tsx +1 -0
- package/src/components/block/table/Ex.tsx +5 -3
- package/src/components/block/table/cell/hooks/useLinkedBlockItem.tsx +2 -2
- package/src/components/block/table/row/TableRow.tsx +1 -1
- package/src/components/chain/list/Animated.tsx +1 -0
- package/src/components/chain/render/dynamic/flexbox/Flexbox.stories.tsx +1 -0
- package/src/components/chain/render/dynamic/flexbox/Remote.stories.tsx +1 -0
- package/src/components/chain/render/static/flexbox/Flexbox.stories.tsx +1 -0
- package/src/components/chain/render/static/table/Ex.stories.tsx +1 -0
- package/src/components/chain/stats/Dialog.tsx +1 -1
- package/src/components/chain/stats/producer/ProducerFlexbox.tsx +1 -1
- package/src/components/payload/builder/Flexbox.tsx +1 -1
- package/src/components/payload/builder/producer-intent/Flexbox.stories.tsx +1 -0
- package/src/components/payload/builder/producer-intent/Flexbox.tsx +2 -0
- package/src/components/payload/builder/transfer/Flexbox.stories.tsx +1 -0
- package/src/components/payload/builder/transfer/Flexbox.tsx +2 -0
- package/src/components/payload/builder/transfer/builder/SingleFlexbox.tsx +1 -1
- package/src/components/transactions/TransactionCountChip.tsx +1 -1
- package/src/context/analyzer/Provider.tsx +2 -2
- package/src/context/chain/Provider.tsx +2 -2
- package/src/context/polling/Provider.tsx +2 -2
- package/src/stories/ChainArchivistDecorator.tsx +1 -1
- package/src/stories/ChainArchivistDelayedInsertDecorator.tsx +1 -1
- package/src/stories/ChainInfoContextDecorator.tsx +1 -0
- package/eslint.config.mjs +0 -1
package/dist/browser/index.mjs
CHANGED
|
@@ -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
|
|
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
|
|
56
|
+
return /* @__PURE__ */ React.createElement(ChainAnalyzersContext, {
|
|
57
57
|
value
|
|
58
58
|
}, children);
|
|
59
59
|
}, "ChainAnalyzersProvider");
|
|
@@ -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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
170
|
+
}, /* @__PURE__ */ React4.createElement(FlexCol, {
|
|
171
171
|
gap: 2
|
|
172
|
-
}, /* @__PURE__ */
|
|
172
|
+
}, /* @__PURE__ */ React4.createElement(FormControl, {
|
|
173
173
|
fullWidth: true
|
|
174
|
-
}, /* @__PURE__ */
|
|
174
|
+
}, /* @__PURE__ */ React4.createElement(TextField, {
|
|
175
175
|
label: "Chain Address",
|
|
176
176
|
name: "chain",
|
|
177
177
|
required: true
|
|
178
|
-
})), /* @__PURE__ */
|
|
178
|
+
})), /* @__PURE__ */ React4.createElement(FormControl, {
|
|
179
179
|
fullWidth: true
|
|
180
|
-
}, /* @__PURE__ */
|
|
180
|
+
}, /* @__PURE__ */ React4.createElement(TextField, {
|
|
181
181
|
label: "Gas",
|
|
182
182
|
name: "gas",
|
|
183
183
|
required: true
|
|
184
|
-
})), /* @__PURE__ */
|
|
184
|
+
})), /* @__PURE__ */ React4.createElement(FormControl, {
|
|
185
185
|
fullWidth: true
|
|
186
|
-
}, /* @__PURE__ */
|
|
186
|
+
}, /* @__PURE__ */ React4.createElement(TextField, {
|
|
187
187
|
label: "Not Before Block",
|
|
188
188
|
name: "nbf",
|
|
189
189
|
required: true
|
|
190
|
-
})), /* @__PURE__ */
|
|
190
|
+
})), /* @__PURE__ */ React4.createElement(FormControl, {
|
|
191
191
|
fullWidth: true
|
|
192
|
-
}, /* @__PURE__ */
|
|
192
|
+
}, /* @__PURE__ */ React4.createElement(TextField, {
|
|
193
193
|
label: "Not After Block",
|
|
194
194
|
name: "exp",
|
|
195
195
|
required: true
|
|
196
|
-
})), /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
217
|
+
return /* @__PURE__ */ React5.createElement(FormControl2, {
|
|
218
218
|
fullWidth: true
|
|
219
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
276
|
+
return /* @__PURE__ */ React6.createElement(Grid2, {
|
|
277
277
|
container: true
|
|
278
|
-
}, /* @__PURE__ */
|
|
278
|
+
}, /* @__PURE__ */ React6.createElement(Grid2, {
|
|
279
279
|
size: {
|
|
280
280
|
xs: 12,
|
|
281
281
|
sm: 6,
|
|
282
282
|
md: 4
|
|
283
283
|
}
|
|
284
|
-
}, /* @__PURE__ */
|
|
284
|
+
}, /* @__PURE__ */ React6.createElement(FlexGrowCol, {
|
|
285
285
|
alignItems: "start",
|
|
286
286
|
gap: 2
|
|
287
|
-
}, /* @__PURE__ */
|
|
287
|
+
}, /* @__PURE__ */ React6.createElement(ChainTransactionNetwork, {
|
|
288
288
|
network,
|
|
289
289
|
onNetworkChange
|
|
290
|
-
}), network ? /* @__PURE__ */
|
|
290
|
+
}), network ? /* @__PURE__ */ React6.createElement(ChainTransactionBuilder, {
|
|
291
291
|
onSubmitTx
|
|
292
|
-
}) : null, result?.[2].length === 0 ? /* @__PURE__ */
|
|
292
|
+
}) : null, result?.[2].length === 0 ? /* @__PURE__ */ React6.createElement(Alert, {
|
|
293
293
|
severity: "success"
|
|
294
|
-
}, "Success") : null, error ? /* @__PURE__ */
|
|
294
|
+
}, "Success") : null, error ? /* @__PURE__ */ React6.createElement(ErrorRender, {
|
|
295
295
|
error
|
|
296
|
-
}) : null, result?.[2] && result?.[2].length > 0 ? /* @__PURE__ */
|
|
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__ */
|
|
298
|
+
}) : null, result ? /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(Typography, {
|
|
299
299
|
variant: "h6"
|
|
300
|
-
}, "Result:"), /* @__PURE__ */
|
|
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__ */
|
|
315
|
-
avatar: /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
359
|
+
}, transactions?.length === 0 ? null : /* @__PURE__ */ React8.createElement(FlexGrowCol2, {
|
|
360
360
|
gap: 1,
|
|
361
361
|
alignItems: "stretch"
|
|
362
|
-
}, transactions?.map(([transaction, hash]) => /* @__PURE__ */
|
|
362
|
+
}, transactions?.map(([transaction, hash]) => /* @__PURE__ */ React8.createElement(Fragment, {
|
|
363
363
|
key: hash
|
|
364
|
-
}, /* @__PURE__ */
|
|
364
|
+
}, /* @__PURE__ */ React8.createElement(FlexGrowRow, {
|
|
365
365
|
gap: 2,
|
|
366
366
|
justifyContent: "start"
|
|
367
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
378
|
+
}, transaction._hash)), /* @__PURE__ */ React8.createElement(FlexRow, null, /* @__PURE__ */ React8.createElement(Collapse, {
|
|
379
379
|
in: copied,
|
|
380
380
|
unmountOnExit: true
|
|
381
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
546
|
+
import React10 from "react";
|
|
544
547
|
var LinkedDivider = /* @__PURE__ */ __name(() => {
|
|
545
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
579
|
+
}, /* @__PURE__ */ React11.createElement(MoreVert, {
|
|
576
580
|
fontSize: "inherit"
|
|
577
|
-
})), /* @__PURE__ */
|
|
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__ */
|
|
589
|
+
}, /* @__PURE__ */ React11.createElement(BWPreviousHashMenuItem, {
|
|
586
590
|
boundwitness: block,
|
|
587
591
|
dense: true,
|
|
588
592
|
onDialogClose: handleClose
|
|
589
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
655
|
+
AdornmentEnd: /* @__PURE__ */ React13.createElement(FlexRow2, {
|
|
652
656
|
gap: 1
|
|
653
|
-
}, /* @__PURE__ */
|
|
657
|
+
}, /* @__PURE__ */ React13.createElement(BlockProducerChip, {
|
|
654
658
|
block
|
|
655
|
-
}), /* @__PURE__ */
|
|
659
|
+
}), /* @__PURE__ */ React13.createElement(TransactionCountChip, {
|
|
656
660
|
onClick: /* @__PURE__ */ __name((e) => handleTransactionCountClick(e, transactions ?? []), "onClick"),
|
|
657
661
|
transactions
|
|
658
|
-
}), /* @__PURE__ */
|
|
662
|
+
}), /* @__PURE__ */ React13.createElement(BWVerification, {
|
|
659
663
|
iconColors: true,
|
|
660
664
|
boundwitness: block
|
|
661
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
708
|
+
return /* @__PURE__ */ React14.createElement(TableCell, {
|
|
705
709
|
ref,
|
|
706
710
|
...props
|
|
707
|
-
}, /* @__PURE__ */
|
|
711
|
+
}, /* @__PURE__ */ React14.createElement(Tooltip, {
|
|
708
712
|
title: `Block Number: ${blockNumberBigInt}`
|
|
709
|
-
}, /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
731
|
+
return /* @__PURE__ */ React15.createElement(TableCell2, {
|
|
728
732
|
ref,
|
|
729
733
|
...props
|
|
730
|
-
}, hash ? /* @__PURE__ */
|
|
734
|
+
}, hash ? /* @__PURE__ */ React15.createElement(Tooltip2, {
|
|
731
735
|
title: `Block Hash: ${hash}`
|
|
732
|
-
}, /* @__PURE__ */
|
|
733
|
-
avatar: /* @__PURE__ */
|
|
736
|
+
}, /* @__PURE__ */ React15.createElement(Chip3, {
|
|
737
|
+
avatar: /* @__PURE__ */ React15.createElement(Avatar, {
|
|
734
738
|
sx: {
|
|
735
739
|
background: "white"
|
|
736
740
|
}
|
|
737
|
-
}, /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
764
|
+
return /* @__PURE__ */ React16.createElement(TableCell3, props, /* @__PURE__ */ React16.createElement(FlexRow3, {
|
|
761
765
|
sx: {
|
|
762
766
|
width: "100%"
|
|
763
767
|
}
|
|
764
|
-
}, /* @__PURE__ */
|
|
768
|
+
}, /* @__PURE__ */ React16.createElement(IconButton2, {
|
|
765
769
|
onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
|
|
766
|
-
}, /* @__PURE__ */
|
|
770
|
+
}, /* @__PURE__ */ React16.createElement(Code, null))), /* @__PURE__ */ React16.createElement(Dialog, {
|
|
767
771
|
open,
|
|
768
772
|
onClose
|
|
769
|
-
}, /* @__PURE__ */
|
|
773
|
+
}, /* @__PURE__ */ React16.createElement(DialogTitle, null, title), /* @__PURE__ */ React16.createElement(DialogContent, null, /* @__PURE__ */ React16.createElement(JsonViewerEx, {
|
|
770
774
|
value: block
|
|
771
|
-
})), /* @__PURE__ */
|
|
775
|
+
})), /* @__PURE__ */ React16.createElement(DialogActions, {
|
|
772
776
|
sx: {
|
|
773
777
|
display: "flex",
|
|
774
778
|
flexDirection: "row",
|
|
775
779
|
justifyContent: "end"
|
|
776
780
|
}
|
|
777
|
-
}, /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
794
|
+
return /* @__PURE__ */ React17.createElement(TableCell4, {
|
|
791
795
|
ref,
|
|
792
796
|
...props
|
|
793
|
-
}, /* @__PURE__ */
|
|
797
|
+
}, /* @__PURE__ */ React17.createElement(Tooltip3, {
|
|
794
798
|
title: `Block Producer: ${producer}`
|
|
795
|
-
}, /* @__PURE__ */
|
|
799
|
+
}, /* @__PURE__ */ React17.createElement(FlexRow4, {
|
|
796
800
|
sx: {
|
|
797
801
|
width: "100%"
|
|
798
802
|
}
|
|
799
|
-
}, /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
817
|
+
return /* @__PURE__ */ React18.createElement(TableCell5, {
|
|
814
818
|
ref,
|
|
815
819
|
...props
|
|
816
|
-
}, /* @__PURE__ */
|
|
820
|
+
}, /* @__PURE__ */ React18.createElement("span", null, error ? /* @__PURE__ */ React18.createElement(Tooltip4, {
|
|
817
821
|
title: error.message
|
|
818
|
-
}, /* @__PURE__ */
|
|
822
|
+
}, /* @__PURE__ */ React18.createElement(Error2, {
|
|
819
823
|
color: "error"
|
|
820
|
-
})) : null, linked ? /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
839
|
+
return /* @__PURE__ */ React19.createElement(TableCell6, {
|
|
836
840
|
ref,
|
|
837
841
|
...props
|
|
838
|
-
}, /* @__PURE__ */
|
|
842
|
+
}, /* @__PURE__ */ React19.createElement(FlexRow5, {
|
|
839
843
|
sx: {
|
|
840
844
|
width: "100%"
|
|
841
845
|
}
|
|
842
|
-
}, /* @__PURE__ */
|
|
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
|
|
853
|
-
var BlockchainTableEx = /* @__PURE__ */
|
|
854
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
863
|
+
}, "Block Producer"), /* @__PURE__ */ React20.createElement(TableCell7, {
|
|
860
864
|
align: "center"
|
|
861
|
-
}, "Valid"), /* @__PURE__ */
|
|
865
|
+
}, "Valid"), /* @__PURE__ */ React20.createElement(TableCell7, {
|
|
862
866
|
align: "center"
|
|
863
|
-
}, "JSON"))), /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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
|
|
917
|
+
import React22 from "react";
|
|
914
918
|
var ChainProducerStatsTable = /* @__PURE__ */ __name(({ producers, ...props }) => {
|
|
915
919
|
const theme = useTheme();
|
|
916
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
952
|
+
return /* @__PURE__ */ React23.createElement(FlexCol3, {
|
|
949
953
|
alignItems: "start",
|
|
950
954
|
gap: 1,
|
|
951
955
|
...props
|
|
952
|
-
}, /* @__PURE__ */
|
|
956
|
+
}, /* @__PURE__ */ React23.createElement(ErrorRender3, {
|
|
953
957
|
error: producerError,
|
|
954
958
|
scope: "BlockProducerStatsFlexbox"
|
|
955
|
-
}), /* @__PURE__ */
|
|
959
|
+
}), /* @__PURE__ */ React23.createElement(Typography3, {
|
|
956
960
|
fontSize: "1rem"
|
|
957
|
-
}, "Block Producers"), /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
982
|
+
return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(IconButton3, {
|
|
979
983
|
onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
|
|
980
|
-
}, /* @__PURE__ */
|
|
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
|
|
990
|
-
var PulseSvgIcon = createSvgIcon(/* @__PURE__ */
|
|
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__ */
|
|
998
|
+
}, /* @__PURE__ */ React25.createElement("g", {
|
|
995
999
|
transform: "translate(34,34)"
|
|
996
|
-
}, /* @__PURE__ */
|
|
1000
|
+
}, /* @__PURE__ */ React25.createElement("circle", {
|
|
997
1001
|
className: "core",
|
|
998
1002
|
cx: "0",
|
|
999
1003
|
cy: "0",
|
|
1000
1004
|
r: "6"
|
|
1001
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
1069
|
+
return /* @__PURE__ */ React26.createElement(FlexRow6, {
|
|
1066
1070
|
justifyContent: "space-between",
|
|
1067
1071
|
width: "100%"
|
|
1068
|
-
}, /* @__PURE__ */
|
|
1072
|
+
}, /* @__PURE__ */ React26.createElement(FlexRow6, {
|
|
1069
1073
|
gap: 2
|
|
1070
|
-
}, running && /* @__PURE__ */
|
|
1074
|
+
}, running && /* @__PURE__ */ React26.createElement(IconButton4, {
|
|
1071
1075
|
onClick: /* @__PURE__ */ __name(() => setPollingState?.("paused"), "onClick"),
|
|
1072
1076
|
title: "Pause Block Stream"
|
|
1073
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1080
|
+
}, /* @__PURE__ */ React26.createElement(Autorenew, null)), /* @__PURE__ */ React26.createElement(ChainAnalyzerStatsDialogFromContext, null)), /* @__PURE__ */ React26.createElement(FlexRow6, {
|
|
1077
1081
|
gap: 2
|
|
1078
|
-
}, /* @__PURE__ */
|
|
1082
|
+
}, /* @__PURE__ */ React26.createElement(Grow, {
|
|
1079
1083
|
in: (blocksBehind ?? 0) > 0
|
|
1080
|
-
}, /* @__PURE__ */
|
|
1084
|
+
}, /* @__PURE__ */ React26.createElement(Tooltip5, {
|
|
1081
1085
|
title: "Click to Re-Sync"
|
|
1082
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1094
|
+
}, /* @__PURE__ */ React26.createElement(AlertTitle2, {
|
|
1091
1095
|
sx: {
|
|
1092
1096
|
mb: 0
|
|
1093
1097
|
}
|
|
1094
|
-
}, "Behind:", " ", blocksBehind)))), /* @__PURE__ */
|
|
1098
|
+
}, "Behind:", " ", blocksBehind)))), /* @__PURE__ */ React26.createElement(Icon2, null, /* @__PURE__ */ React26.createElement(StyledPulseSvgIcon, {
|
|
1095
1099
|
className: running ? "" : "paused"
|
|
1096
1100
|
}))));
|
|
1097
1101
|
}, "PollingControlsFlexbox");
|
|
@@ -1099,9 +1103,9 @@ 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
|
|
1106
|
+
import React27 from "react";
|
|
1103
1107
|
var TransactionsDialog = /* @__PURE__ */ __name((props) => {
|
|
1104
|
-
return /* @__PURE__ */
|
|
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")));
|
|
@@ -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
|
|
1145
|
+
import React28 from "react";
|
|
1142
1146
|
var BlockChainPagination = /* @__PURE__ */ __name(({ count = 0, onPageChange, page, rowsPerPage = 10 }) => {
|
|
1143
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1207
|
+
return /* @__PURE__ */ React29.createElement(BlockListWrapperFlexBox, {
|
|
1203
1208
|
alignItems: "stretch",
|
|
1204
1209
|
width: "100%"
|
|
1205
|
-
}, /* @__PURE__ */
|
|
1210
|
+
}, /* @__PURE__ */ React29.createElement(AnimatedList, {
|
|
1206
1211
|
fullWidth: true,
|
|
1207
1212
|
items: blockChainRenderComponents
|
|
1208
1213
|
}));
|
|
@@ -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__ */
|
|
1538
|
+
return /* @__PURE__ */ React30.createElement(FlexCol5, {
|
|
1534
1539
|
alignItems: "start",
|
|
1535
1540
|
...props
|
|
1536
|
-
}, errors?.map((error, index) => /* @__PURE__ */
|
|
1541
|
+
}, errors?.map((error, index) => /* @__PURE__ */ React30.createElement(ErrorRender4, {
|
|
1537
1542
|
error,
|
|
1538
1543
|
key: index,
|
|
1539
1544
|
scope: "DynamicBlockchainRenderFlexboxInner"
|
|
1540
|
-
})), /* @__PURE__ */
|
|
1545
|
+
})), /* @__PURE__ */ React30.createElement(MemoizedPollingControlsFlexbox, {
|
|
1541
1546
|
blocksBehind: blocksWhilePaused?.length,
|
|
1542
1547
|
pollingState,
|
|
1543
1548
|
setPollingState: updatePollingState
|
|
1544
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
1564
|
+
return /* @__PURE__ */ React30.createElement(ChainAnalyzersProvider, {
|
|
1560
1565
|
analyzers
|
|
1561
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1573
|
+
return /* @__PURE__ */ React30.createElement(React30.Fragment, null, /* @__PURE__ */ React30.createElement(ErrorRender4, {
|
|
1569
1574
|
error,
|
|
1570
1575
|
scope: "RemoteChainProviderFlexbox"
|
|
1571
|
-
}), /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1629
|
+
}, errors?.map((error, index) => /* @__PURE__ */ React31.createElement(ErrorRender5, {
|
|
1625
1630
|
error,
|
|
1626
1631
|
key: index,
|
|
1627
1632
|
scope: "StaticBlockchainFlexboxInner"
|
|
1628
|
-
})), paginatedBlockComponents?.length ? /* @__PURE__ */
|
|
1633
|
+
})), paginatedBlockComponents?.length ? /* @__PURE__ */ React31.createElement(FlexGrowRow2, {
|
|
1629
1634
|
justifyContent: "space-between",
|
|
1630
1635
|
width: "100%"
|
|
1631
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1656
|
+
return /* @__PURE__ */ React31.createElement(ChainAnalyzersProvider, {
|
|
1652
1657
|
analyzers
|
|
1653
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1678
|
+
return /* @__PURE__ */ React32.createElement(FlexCol7, {
|
|
1674
1679
|
gap: 2,
|
|
1675
1680
|
...props
|
|
1676
|
-
}, /* @__PURE__ */
|
|
1681
|
+
}, /* @__PURE__ */ React32.createElement(BuilderComponent, {
|
|
1677
1682
|
onBuild: onBuildLocal
|
|
1678
|
-
}), payload && /* @__PURE__ */
|
|
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
|
|
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
|
|
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__ */
|
|
1704
|
+
return /* @__PURE__ */ React33.createElement(FormControl3, {
|
|
1700
1705
|
fullWidth: true
|
|
1701
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1712
|
+
}), errorMessage && /* @__PURE__ */ React33.createElement(FormHelperText2, {
|
|
1708
1713
|
sx: {
|
|
1709
1714
|
color: /* @__PURE__ */ __name((theme) => theme.palette.error.main, "color")
|
|
1710
1715
|
}
|
|
@@ -1714,7 +1719,7 @@ 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
|
|
1722
|
+
import React34, { useEffect as useEffect5, 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();
|
|
@@ -1738,15 +1743,15 @@ var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange,
|
|
|
1738
1743
|
onAddressChanged?.();
|
|
1739
1744
|
}
|
|
1740
1745
|
}, "handleBlur");
|
|
1741
|
-
return /* @__PURE__ */
|
|
1746
|
+
return /* @__PURE__ */ React34.createElement(FormControl4, {
|
|
1742
1747
|
fullWidth: true
|
|
1743
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1787
|
+
return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(FormControl5, {
|
|
1783
1788
|
fullWidth: true
|
|
1784
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1795
|
+
})), /* @__PURE__ */ React35.createElement(FormControl5, {
|
|
1791
1796
|
fullWidth: true
|
|
1792
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1804
|
+
})), /* @__PURE__ */ React35.createElement(FormControl5, {
|
|
1800
1805
|
fullWidth: true
|
|
1801
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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 useEffect6, 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();
|
|
@@ -1844,29 +1852,29 @@ var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated,
|
|
|
1844
1852
|
}, [
|
|
1845
1853
|
transferAmount
|
|
1846
1854
|
]);
|
|
1847
|
-
return /* @__PURE__ */
|
|
1855
|
+
return /* @__PURE__ */ React36.createElement(FlexRow7, {
|
|
1848
1856
|
alignItems: "start",
|
|
1849
1857
|
gap: 1,
|
|
1850
1858
|
...props
|
|
1851
|
-
}, /* @__PURE__ */
|
|
1859
|
+
}, /* @__PURE__ */ React36.createElement(FormControl6, {
|
|
1852
1860
|
fullWidth: true
|
|
1853
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1867
|
+
})), /* @__PURE__ */ React36.createElement(FormControl6, {
|
|
1860
1868
|
fullWidth: true
|
|
1861
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1875
|
+
})), /* @__PURE__ */ React36.createElement(IconButton5, {
|
|
1868
1876
|
onClick: /* @__PURE__ */ __name(() => onRemoveTransfer?.(singleTransfer.transferId), "onClick")
|
|
1869
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1925
|
+
return /* @__PURE__ */ React37.createElement(React37.Fragment, null, /* @__PURE__ */ React37.createElement(FormControl7, {
|
|
1918
1926
|
fullWidth: true
|
|
1919
|
-
}, /* @__PURE__ */
|
|
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__ */
|
|
1933
|
+
})), /* @__PURE__ */ React37.createElement(Button5, {
|
|
1926
1934
|
onClick: onTransferAdded,
|
|
1927
1935
|
size: "small",
|
|
1928
1936
|
variant: "contained"
|
|
1929
|
-
}, "Add Transfer"), transfers.map((transfer) => /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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 useEffect7 } 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 () => {
|
|
@@ -2010,7 +2018,7 @@ var ChainArchivistDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
|
2010
2018
|
}
|
|
2011
2019
|
}
|
|
2012
2020
|
};
|
|
2013
|
-
return blockChainRenderProps?.chainArchivist ? /* @__PURE__ */
|
|
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 useEffect8, useState as useState19 } from "react";
|
|
2024
2032
|
var chainArchivistRef;
|
|
2025
2033
|
var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
2026
2034
|
const [firstBlock, setFirstBlock] = useState19();
|
|
@@ -2084,7 +2092,7 @@ var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, contex
|
|
|
2084
2092
|
}
|
|
2085
2093
|
}
|
|
2086
2094
|
};
|
|
2087
|
-
return firstBlock ? /* @__PURE__ */
|
|
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__ */
|
|
2130
|
+
return /* @__PURE__ */ React41.createElement(ChainInfoProvider, {
|
|
2122
2131
|
chainArchivist,
|
|
2123
2132
|
chainInformation,
|
|
2124
2133
|
chainIterator
|
|
2125
|
-
}, /* @__PURE__ */
|
|
2134
|
+
}, /* @__PURE__ */ React41.createElement(Story, context));
|
|
2126
2135
|
}, "ChainInfoContextDecorator");
|
|
2127
2136
|
export {
|
|
2128
2137
|
BlockChainPagination,
|