@xyo-network/react-chain-blockchain 1.16.15 → 1.16.17
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/components/account/hooks/index.d.ts +2 -0
- package/dist/browser/components/account/hooks/index.d.ts.map +1 -0
- package/dist/browser/components/account/hooks/usePagedAccountBalanceHistory.d.ts +11 -0
- package/dist/browser/components/account/hooks/usePagedAccountBalanceHistory.d.ts.map +1 -0
- package/dist/browser/components/account/index.d.ts +1 -0
- package/dist/browser/components/account/index.d.ts.map +1 -1
- package/dist/browser/components/account/table/BalanceHistoryTableEx.stories.d.ts +2 -1
- package/dist/browser/components/account/table/BalanceHistoryTableEx.stories.d.ts.map +1 -1
- package/dist/browser/index.mjs +85 -38
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +17 -13
- package/src/components/account/hooks/index.ts +1 -0
- package/src/components/account/hooks/usePagedAccountBalanceHistory.ts +44 -0
- package/src/components/account/index.ts +1 -0
- package/src/components/account/table/BalanceHistoryTableEx.stories.tsx +39 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/account/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Address } from '@xylabs/sdk-js';
|
|
2
|
+
import type { AccountBalanceHistoryItemFormatted } from '@xyo-network/react-chain-provider';
|
|
3
|
+
import type { XyoViewer } from '@xyo-network/xl1-protocol-sdk';
|
|
4
|
+
export declare const usePagedAccountBalanceHistory: (address?: Address, viewer?: XyoViewer, maxPage?: number) => {
|
|
5
|
+
pagedHistory: AccountBalanceHistoryItemFormatted[] | undefined;
|
|
6
|
+
historyComplete: boolean;
|
|
7
|
+
updateRange: () => void;
|
|
8
|
+
error: Error | undefined;
|
|
9
|
+
loading: import("@xylabs/react-promise").UsePromiseState | undefined;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=usePagedAccountBalanceHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePagedAccountBalanceHistory.d.ts","sourceRoot":"","sources":["../../../../../src/components/account/hooks/usePagedAccountBalanceHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAA;AAG3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAK9D,eAAO,MAAM,6BAA6B,GAAI,UAAU,OAAO,EAAE,SAAS,SAAS,EAAE,gBAAW;;;;;;CAiC/F,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/account/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/account/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
|
@@ -3,5 +3,6 @@ declare const _default: Meta;
|
|
|
3
3
|
export default _default;
|
|
4
4
|
declare const Default: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./BalanceHistoryTableEx.tsx").AccountBalanceHistoryTableExProps>;
|
|
5
5
|
declare const WithLinked: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./BalanceHistoryTableEx.tsx").AccountBalanceHistoryTableExProps>;
|
|
6
|
-
|
|
6
|
+
declare const WithPaged: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./BalanceHistoryTableEx.tsx").AccountBalanceHistoryTableExProps>;
|
|
7
|
+
export { Default, WithLinked, WithPaged, };
|
|
7
8
|
//# sourceMappingURL=BalanceHistoryTableEx.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BalanceHistoryTableEx.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/account/table/BalanceHistoryTableEx.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BalanceHistoryTableEx.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/account/table/BalanceHistoryTableEx.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAA;wBAiBrD,IAAI;AAHT,wBAGS;AA0ET,QAAA,MAAM,OAAO,sKAAoB,CAAA;AAGjC,QAAA,MAAM,UAAU,sKAA0B,CAAA;AAG1C,QAAA,MAAM,SAAS,sKAAyB,CAAA;AAGxC,OAAO,EACL,OAAO,EAAE,UAAU,EAAE,SAAS,GAC/B,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1575,6 +1575,52 @@ var AccountBalanceHistoryFlexBox = /* @__PURE__ */ __name(({ address, refresh, v
|
|
|
1575
1575
|
})) : null;
|
|
1576
1576
|
}, "AccountBalanceHistoryFlexBox");
|
|
1577
1577
|
|
|
1578
|
+
// src/components/account/hooks/usePagedAccountBalanceHistory.ts
|
|
1579
|
+
import { isDefined as isDefined8 } from "@xylabs/sdk-js";
|
|
1580
|
+
import { useAccountBalanceHistory as useAccountBalanceHistory2 } from "@xyo-network/react-chain-provider";
|
|
1581
|
+
import { useCallback as useCallback2, useMemo as useMemo11, useState as useState12 } from "react";
|
|
1582
|
+
var usePagedAccountBalanceHistory = /* @__PURE__ */ __name((address, viewer, maxPage = 1) => {
|
|
1583
|
+
const [updatedBlockRange, setUpdatedBlockRange] = useState12();
|
|
1584
|
+
const [pagedHistory, setPagedHistory] = useState12();
|
|
1585
|
+
const [results, error, loading] = useAccountBalanceHistory2(address, viewer, maxPage, updatedBlockRange);
|
|
1586
|
+
const { history, truncated } = results || {};
|
|
1587
|
+
useMemo11(() => {
|
|
1588
|
+
if (isDefined8(history)) {
|
|
1589
|
+
setPagedHistory((pagedHistory2) => {
|
|
1590
|
+
return [
|
|
1591
|
+
...pagedHistory2 ?? [],
|
|
1592
|
+
...history
|
|
1593
|
+
];
|
|
1594
|
+
});
|
|
1595
|
+
}
|
|
1596
|
+
}, [
|
|
1597
|
+
history
|
|
1598
|
+
]);
|
|
1599
|
+
const firstBlock = isDefined8(history) ? history.at(0)?.blockNumber : void 0;
|
|
1600
|
+
const lastBlock = isDefined8(history) ? history.at(-1)?.blockNumber : void 0;
|
|
1601
|
+
const historyComplete = isDefined8(history) && history.length === 0;
|
|
1602
|
+
const updateRange = useCallback2(() => {
|
|
1603
|
+
if (isDefined8(lastBlock) && lastBlock > 0 && truncated) {
|
|
1604
|
+
const newEndBlock = lastBlock - 1;
|
|
1605
|
+
setUpdatedBlockRange([
|
|
1606
|
+
0,
|
|
1607
|
+
newEndBlock
|
|
1608
|
+
]);
|
|
1609
|
+
}
|
|
1610
|
+
}, [
|
|
1611
|
+
firstBlock,
|
|
1612
|
+
lastBlock,
|
|
1613
|
+
truncated
|
|
1614
|
+
]);
|
|
1615
|
+
return {
|
|
1616
|
+
pagedHistory,
|
|
1617
|
+
historyComplete,
|
|
1618
|
+
updateRange,
|
|
1619
|
+
error,
|
|
1620
|
+
loading
|
|
1621
|
+
};
|
|
1622
|
+
}, "usePagedAccountBalanceHistory");
|
|
1623
|
+
|
|
1578
1624
|
// src/components/chain/controls/PollingControlsFlexbox.tsx
|
|
1579
1625
|
import { Autorenew, Pause } from "@mui/icons-material";
|
|
1580
1626
|
import { Alert as Alert3, AlertTitle as AlertTitle2, Grow, Icon as Icon2, IconButton as IconButton4, Tooltip as Tooltip11 } from "@mui/material";
|
|
@@ -1584,14 +1630,14 @@ import React33, { memo } from "react";
|
|
|
1584
1630
|
// src/components/chain/stats/Dialog.tsx
|
|
1585
1631
|
import { QueryStats } from "@mui/icons-material";
|
|
1586
1632
|
import { Dialog as Dialog3, DialogContent as DialogContent3, DialogTitle as DialogTitle3, IconButton as IconButton3 } from "@mui/material";
|
|
1587
|
-
import React31, { useState as
|
|
1633
|
+
import React31, { useState as useState13 } from "react";
|
|
1588
1634
|
|
|
1589
1635
|
// src/components/chain/stats/producer/ProducerFlexbox.tsx
|
|
1590
1636
|
import { ListItem, styled, Typography as Typography8 } from "@mui/material";
|
|
1591
1637
|
import { ErrorRender as ErrorRender4 } from "@xylabs/react-error";
|
|
1592
1638
|
import { FlexCol as FlexCol4 } from "@xylabs/react-flexbox";
|
|
1593
1639
|
import { isChainSummaryProducers } from "@xyo-network/chain-analyze";
|
|
1594
|
-
import React30, { useMemo as
|
|
1640
|
+
import React30, { useMemo as useMemo12 } from "react";
|
|
1595
1641
|
|
|
1596
1642
|
// src/components/chain/stats/producer/Table.tsx
|
|
1597
1643
|
import { Table, TableBody as TableBody3, TableCell as TableCell15, TableHead as TableHead3, TableRow as TableRow5, useTheme as useTheme2 } from "@mui/material";
|
|
@@ -1614,7 +1660,7 @@ var ChainProducerStatsTable = /* @__PURE__ */ __name(({ producers, ...props }) =
|
|
|
1614
1660
|
|
|
1615
1661
|
// src/components/chain/stats/producer/ProducerFlexbox.tsx
|
|
1616
1662
|
var BlockProducerStatsFlexbox = /* @__PURE__ */ __name(({ payload, ...props }) => {
|
|
1617
|
-
const [producer, producerError] =
|
|
1663
|
+
const [producer, producerError] = useMemo12(() => {
|
|
1618
1664
|
if (payload) {
|
|
1619
1665
|
return isChainSummaryProducers(payload) ? [
|
|
1620
1666
|
payload
|
|
@@ -1628,7 +1674,7 @@ var BlockProducerStatsFlexbox = /* @__PURE__ */ __name(({ payload, ...props }) =
|
|
|
1628
1674
|
}, [
|
|
1629
1675
|
payload
|
|
1630
1676
|
]);
|
|
1631
|
-
const producersArray =
|
|
1677
|
+
const producersArray = useMemo12(() => Object.values(producer?.producers ?? {}), [
|
|
1632
1678
|
producer
|
|
1633
1679
|
]);
|
|
1634
1680
|
return /* @__PURE__ */ React30.createElement(FlexCol4, {
|
|
@@ -1659,7 +1705,7 @@ var ChainAnalyzerStatsDialog = /* @__PURE__ */ __name((props) => {
|
|
|
1659
1705
|
}) : null)) : null));
|
|
1660
1706
|
}, "ChainAnalyzerStatsDialog");
|
|
1661
1707
|
var ChainAnalyzerStatsDialogFromContext = /* @__PURE__ */ __name((props) => {
|
|
1662
|
-
const [open, setOpen] =
|
|
1708
|
+
const [open, setOpen] = useState13(false);
|
|
1663
1709
|
const handleClose = /* @__PURE__ */ __name(() => setOpen(false), "handleClose");
|
|
1664
1710
|
return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(IconButton3, {
|
|
1665
1711
|
onClick: /* @__PURE__ */ __name(() => setOpen(true), "onClick")
|
|
@@ -1841,10 +1887,10 @@ var BlockChainPagination = /* @__PURE__ */ __name(({ count = 0, onPageChange, pa
|
|
|
1841
1887
|
}, "BlockChainPagination");
|
|
1842
1888
|
|
|
1843
1889
|
// src/components/chain/pagination/hooks/usePagination.tsx
|
|
1844
|
-
import { useMemo as
|
|
1890
|
+
import { useMemo as useMemo13, useState as useState14 } from "react";
|
|
1845
1891
|
var useChainPagination = /* @__PURE__ */ __name((pageSize, blockComponents) => {
|
|
1846
|
-
const [page, setPage] =
|
|
1847
|
-
const paginatedBlockComponents =
|
|
1892
|
+
const [page, setPage] = useState14(0);
|
|
1893
|
+
const paginatedBlockComponents = useMemo13(() => {
|
|
1848
1894
|
const startIndex = page * pageSize;
|
|
1849
1895
|
const endIndex = startIndex + pageSize;
|
|
1850
1896
|
return blockComponents?.slice(startIndex, endIndex);
|
|
@@ -1902,12 +1948,12 @@ var BlockListAnimated = /* @__PURE__ */ __name(({ blockChainRenderComponents })
|
|
|
1902
1948
|
|
|
1903
1949
|
// src/components/chain/render/static/hooks/useStaticBlockRenderComponents.ts
|
|
1904
1950
|
import { exists } from "@xylabs/sdk-js";
|
|
1905
|
-
import { useMemo as
|
|
1951
|
+
import { useMemo as useMemo14 } from "react";
|
|
1906
1952
|
var DEFAULT_PAGE_SIZE = 25;
|
|
1907
1953
|
var useStaticBlockRenderComponents = /* @__PURE__ */ __name((BlockComponent, blockChainRenderProps) => {
|
|
1908
1954
|
const { maxBlocks } = blockChainRenderProps ?? {};
|
|
1909
1955
|
const pageSize = blockChainRenderProps?.pageSize ?? DEFAULT_PAGE_SIZE;
|
|
1910
|
-
const chainIteratorParams =
|
|
1956
|
+
const chainIteratorParams = useMemo14(() => blockChainRenderProps ?? {
|
|
1911
1957
|
name: "unknown"
|
|
1912
1958
|
}, [
|
|
1913
1959
|
blockChainRenderProps
|
|
@@ -1958,10 +2004,10 @@ var StaticListBase = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }
|
|
|
1958
2004
|
// src/components/chain/render/static/flexbox/variants/WithAnalysis.tsx
|
|
1959
2005
|
import { isAddress } from "@xylabs/sdk-js";
|
|
1960
2006
|
import { ChainProducersAnalyzer } from "@xyo-network/chain-analyze";
|
|
1961
|
-
import React38, { useMemo as
|
|
2007
|
+
import React38, { useMemo as useMemo15 } from "react";
|
|
1962
2008
|
var WithAnalysis = /* @__PURE__ */ __name(({ blockChainRenderProps, ...props }) => {
|
|
1963
2009
|
const { chainId } = blockChainRenderProps ?? {};
|
|
1964
|
-
const analyzers =
|
|
2010
|
+
const analyzers = useMemo15(() => {
|
|
1965
2011
|
if (isAddress(chainId)) {
|
|
1966
2012
|
return {
|
|
1967
2013
|
producers: new ChainProducersAnalyzer()
|
|
@@ -1987,9 +2033,9 @@ var StaticBlockchainRenderFlexBox = {
|
|
|
1987
2033
|
// src/components/payload/builder/Flexbox.tsx
|
|
1988
2034
|
import { FlexCol as FlexCol7 } from "@xylabs/react-flexbox";
|
|
1989
2035
|
import { JsonViewerEx as JsonViewerEx2 } from "@xyo-network/react-payload-raw-info";
|
|
1990
|
-
import React39, { useState as
|
|
2036
|
+
import React39, { useState as useState15 } from "react";
|
|
1991
2037
|
var PayloadBuilderFlexbox = /* @__PURE__ */ __name(({ BuilderComponent, onBuild, ...props }) => {
|
|
1992
|
-
const [payload, setPayload] =
|
|
2038
|
+
const [payload, setPayload] = useState15();
|
|
1993
2039
|
const onBuildLocal = /* @__PURE__ */ __name((payload2) => {
|
|
1994
2040
|
onBuild?.(payload2);
|
|
1995
2041
|
setPayload(payload2);
|
|
@@ -2007,13 +2053,13 @@ var PayloadBuilderFlexbox = /* @__PURE__ */ __name(({ BuilderComponent, onBuild,
|
|
|
2007
2053
|
// src/components/payload/builder/producer-intent/Form.tsx
|
|
2008
2054
|
import { Button as Button5, FormControl as FormControl5 } from "@mui/material";
|
|
2009
2055
|
import { createProducerChainStakeIntent } from "@xyo-network/chain-protocol";
|
|
2010
|
-
import React42, { useMemo as
|
|
2056
|
+
import React42, { useMemo as useMemo17, useState as useState18 } from "react";
|
|
2011
2057
|
|
|
2012
2058
|
// src/components/payload/fields/BlockNumberTextField.tsx
|
|
2013
2059
|
import { FormControl as FormControl3, FormHelperText as FormHelperText2, TextField as TextField3 } from "@mui/material";
|
|
2014
|
-
import React40, { useState as
|
|
2060
|
+
import React40, { useState as useState16 } from "react";
|
|
2015
2061
|
var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumberChanged, onChange, ...props }) => {
|
|
2016
|
-
const [blockNumber, setBlockNumber] =
|
|
2062
|
+
const [blockNumber, setBlockNumber] = useState16();
|
|
2017
2063
|
const handleChange = /* @__PURE__ */ __name((e) => {
|
|
2018
2064
|
const value = e.target.value.replaceAll(/\D/g, "");
|
|
2019
2065
|
setBlockNumber(value.length > 0 ? Number(value) : void 0);
|
|
@@ -2039,11 +2085,11 @@ var BlockNumberTextField = /* @__PURE__ */ __name(({ errorMessage, onBlockNumber
|
|
|
2039
2085
|
// src/components/payload/fields/XyoAddressTextField.tsx
|
|
2040
2086
|
import { FormControl as FormControl4, FormHelperText as FormHelperText3, TextField as TextField4 } from "@mui/material";
|
|
2041
2087
|
import { asAddress, isAddress as isAddress2 } from "@xylabs/sdk-js";
|
|
2042
|
-
import React41, { useMemo as
|
|
2088
|
+
import React41, { useMemo as useMemo16, useState as useState17 } from "react";
|
|
2043
2089
|
var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange, resetValue, ...props }) => {
|
|
2044
|
-
const [address, setAddress] =
|
|
2045
|
-
const [addressError, setAddressError] =
|
|
2046
|
-
|
|
2090
|
+
const [address, setAddress] = useState17("");
|
|
2091
|
+
const [addressError, setAddressError] = useState17();
|
|
2092
|
+
useMemo16(() => setAddress(""), [
|
|
2047
2093
|
resetValue
|
|
2048
2094
|
]);
|
|
2049
2095
|
const handleChange = /* @__PURE__ */ __name((event) => {
|
|
@@ -2080,11 +2126,11 @@ var XyoAddressTextField = /* @__PURE__ */ __name(({ onAddressChanged, onChange,
|
|
|
2080
2126
|
|
|
2081
2127
|
// src/components/payload/builder/producer-intent/Form.tsx
|
|
2082
2128
|
var ProducerIntentBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
2083
|
-
const [delegate, setDelegate] =
|
|
2084
|
-
const [exp, setExp] =
|
|
2085
|
-
const [nbf, setNbf] =
|
|
2086
|
-
const [blockRangeError, setBlockRangeError] =
|
|
2087
|
-
const intentPayload =
|
|
2129
|
+
const [delegate, setDelegate] = useState18();
|
|
2130
|
+
const [exp, setExp] = useState18();
|
|
2131
|
+
const [nbf, setNbf] = useState18();
|
|
2132
|
+
const [blockRangeError, setBlockRangeError] = useState18();
|
|
2133
|
+
const intentPayload = useMemo17(() => {
|
|
2088
2134
|
if (exp !== void 0 && nbf !== void 0) {
|
|
2089
2135
|
if (exp <= nbf) {
|
|
2090
2136
|
setBlockRangeError(new Error("Expires must be greater than Not Before"));
|
|
@@ -2144,7 +2190,7 @@ import React45 from "react";
|
|
|
2144
2190
|
import { Button as Button6, FormControl as FormControl7 } from "@mui/material";
|
|
2145
2191
|
import { isAddress as isAddress4 } from "@xylabs/sdk-js";
|
|
2146
2192
|
import { TransferSchema } from "@xyo-network/xl1-protocol";
|
|
2147
|
-
import React44, { useMemo as
|
|
2193
|
+
import React44, { useMemo as useMemo19, useState as useState20 } from "react";
|
|
2148
2194
|
|
|
2149
2195
|
// src/components/payload/builder/transfer/builder/SingleFlexbox.tsx
|
|
2150
2196
|
import { RemoveCircle } from "@mui/icons-material";
|
|
@@ -2152,11 +2198,11 @@ import { FormControl as FormControl6, Icon as Icon3, IconButton as IconButton5 }
|
|
|
2152
2198
|
import { FlexRow as FlexRow7 } from "@xylabs/react-flexbox";
|
|
2153
2199
|
import { isAddress as isAddress3, toHex as toHex4 } from "@xylabs/sdk-js";
|
|
2154
2200
|
import { BigIntInput } from "@xyo-network/react-shared";
|
|
2155
|
-
import React43, { useEffect as useEffect3, useMemo as
|
|
2201
|
+
import React43, { useEffect as useEffect3, useMemo as useMemo18, useState as useState19 } from "react";
|
|
2156
2202
|
var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated, onRemoveTransfer, singleTransfer, ...props }) => {
|
|
2157
|
-
const [toAddress3, setToAddress] =
|
|
2158
|
-
const [amount, setAmount] =
|
|
2159
|
-
const transferAmount =
|
|
2203
|
+
const [toAddress3, setToAddress] = useState19();
|
|
2204
|
+
const [amount, setAmount] = useState19();
|
|
2205
|
+
const transferAmount = useMemo18(() => {
|
|
2160
2206
|
if (isAddress3(toAddress3) && amount !== void 0) {
|
|
2161
2207
|
return {
|
|
2162
2208
|
...singleTransfer,
|
|
@@ -2200,9 +2246,9 @@ var SingleTransferBuilderFlexbox = /* @__PURE__ */ __name(({ onTransferUpdated,
|
|
|
2200
2246
|
|
|
2201
2247
|
// src/components/payload/builder/transfer/Form.tsx
|
|
2202
2248
|
var TransferBuilderForm = /* @__PURE__ */ __name(({ onBuild }) => {
|
|
2203
|
-
const [fromAddress, setFromAddress] =
|
|
2204
|
-
const [transfers, setTransfers] =
|
|
2205
|
-
const transferPayload =
|
|
2249
|
+
const [fromAddress, setFromAddress] = useState20();
|
|
2250
|
+
const [transfers, setTransfers] = useState20([]);
|
|
2251
|
+
const transferPayload = useMemo19(() => {
|
|
2206
2252
|
if (isAddress4(fromAddress) && transfers.length > 0) {
|
|
2207
2253
|
const transfersRecord = {};
|
|
2208
2254
|
for (const transfer of transfers) {
|
|
@@ -2367,10 +2413,10 @@ import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memo
|
|
|
2367
2413
|
import { ArchivistConfigSchema as ArchivistConfigSchema2 } from "@xyo-network/archivist-model";
|
|
2368
2414
|
import { buildRandomBlockChain as buildRandomBlockChain2 } from "@xyo-network/react-chain-shared";
|
|
2369
2415
|
import { flattenHydratedBlock } from "@xyo-network/xl1-protocol-sdk";
|
|
2370
|
-
import React47, { useEffect as useEffect5, useState as
|
|
2416
|
+
import React47, { useEffect as useEffect5, useState as useState21 } from "react";
|
|
2371
2417
|
var chainArchivistRef;
|
|
2372
2418
|
var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
2373
|
-
const [firstBlock, setFirstBlock] =
|
|
2419
|
+
const [firstBlock, setFirstBlock] = useState21();
|
|
2374
2420
|
const [randomBlockChain] = usePromise6(async () => await buildRandomBlockChain2(), []);
|
|
2375
2421
|
const [chainArchivist] = usePromise6(async () => {
|
|
2376
2422
|
if (chainArchivistRef) {
|
|
@@ -2431,7 +2477,7 @@ var ChainArchivistDelayedInsertDecorator = /* @__PURE__ */ __name((Story, contex
|
|
|
2431
2477
|
|
|
2432
2478
|
// src/stories/ChainInfoContextDecorator.tsx
|
|
2433
2479
|
import { usePromise as usePromise7 } from "@xylabs/react-promise";
|
|
2434
|
-
import { assertEx as assertEx5, isDefined as
|
|
2480
|
+
import { assertEx as assertEx5, isDefined as isDefined9 } from "@xylabs/sdk-js";
|
|
2435
2481
|
import { ChainBlockNumberIterationService as ChainBlockNumberIterationService3 } from "@xyo-network/chain-services";
|
|
2436
2482
|
import { findFirstMatching } from "@xyo-network/chain-utils";
|
|
2437
2483
|
import { isBlockBoundWitness as isBlockBoundWitness3 } from "@xyo-network/xl1-protocol";
|
|
@@ -2450,7 +2496,7 @@ var ChainInfoContextDecorator = /* @__PURE__ */ __name((Story, context) => {
|
|
|
2450
2496
|
return await getChainArchivistFromBridge(archivistConfig);
|
|
2451
2497
|
}, []);
|
|
2452
2498
|
const [chainIterator] = usePromise7(async () => {
|
|
2453
|
-
if (
|
|
2499
|
+
if (isDefined9(chainArchivist) && isDefined9(chainId)) {
|
|
2454
2500
|
const firstMatch = assertEx5(await findFirstMatching(chainArchivist), () => `No head found in archivist: ${chainArchivist.id} `);
|
|
2455
2501
|
const head = assertEx5(isBlockBoundWitness3(firstMatch) ? firstMatch : void 0, () => `Expected a block bound witness: ${JSON.stringify(firstMatch)}`);
|
|
2456
2502
|
const chainMap = readPayloadMapFromStore(chainArchivist);
|
|
@@ -2534,6 +2580,7 @@ export {
|
|
|
2534
2580
|
useDynamicBlockComponents,
|
|
2535
2581
|
useIterateChain,
|
|
2536
2582
|
useOnBlock,
|
|
2583
|
+
usePagedAccountBalanceHistory,
|
|
2537
2584
|
usePayloadCountsFromBlock,
|
|
2538
2585
|
useStaticBlockComponents,
|
|
2539
2586
|
useTxsFromBlock
|