@xyo-network/react-chain-blockchain 1.3.17 → 1.3.19
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 +37 -32
- package/dist/browser/index.mjs.map +1 -1
- package/dist/types/components/transactions/TransactionsQuickTipButton.d.ts.map +1 -1
- package/dist/types/components/transactions/submit/SubmitChain.d.ts.map +1 -1
- package/dist/types/context/analyzer/Provider.d.ts.map +1 -1
- package/dist/types/context/analyzer/context.d.ts +22 -2
- package/dist/types/context/analyzer/context.d.ts.map +1 -1
- package/dist/types/context/analyzer/state.d.ts +3 -3
- package/dist/types/context/analyzer/state.d.ts.map +1 -1
- package/dist/types/context/analyzer/use.d.ts +8 -1
- package/dist/types/context/analyzer/use.d.ts.map +1 -1
- package/dist/types/context/chain/Context.d.ts +19 -2
- package/dist/types/context/chain/Context.d.ts.map +1 -1
- package/dist/types/context/chain/State.d.ts +3 -3
- package/dist/types/context/chain/State.d.ts.map +1 -1
- package/dist/types/context/chain/use.d.ts +7 -1
- package/dist/types/context/chain/use.d.ts.map +1 -1
- package/dist/types/context/polling/context.d.ts +16 -2
- package/dist/types/context/polling/context.d.ts.map +1 -1
- package/dist/types/context/polling/state.d.ts +3 -3
- package/dist/types/context/polling/state.d.ts.map +1 -1
- package/dist/types/context/polling/use.d.ts +6 -1
- package/dist/types/context/polling/use.d.ts.map +1 -1
- package/dist/types/helpers/txsFromBlock.d.ts +2 -8
- package/dist/types/helpers/txsFromBlock.d.ts.map +1 -1
- package/dist/types/hooks/chain-iterator/useChainIteratorParams.d.ts +1 -3
- package/dist/types/hooks/chain-iterator/useChainIteratorParams.d.ts.map +1 -1
- package/dist/types/hooks/useTxsFromBlock.d.ts +1 -7
- package/dist/types/hooks/useTxsFromBlock.d.ts.map +1 -1
- package/package.json +45 -44
- package/src/components/block/table/Ex.stories.tsx +2 -2
- package/src/components/transactions/TransactionsQuickTipButton.tsx +2 -1
- package/src/components/transactions/submit/SubmitChain.tsx +23 -21
- package/src/context/analyzer/Provider.tsx +3 -2
- package/src/context/analyzer/context.ts +1 -1
- package/src/context/analyzer/state.ts +3 -3
- package/src/context/analyzer/use.ts +1 -1
- package/src/context/chain/Context.ts +1 -1
- package/src/context/chain/Provider.tsx +1 -1
- package/src/context/chain/State.ts +3 -3
- package/src/context/chain/use.ts +1 -1
- package/src/context/polling/Provider.tsx +1 -1
- package/src/context/polling/context.ts +1 -1
- package/src/context/polling/state.ts +3 -3
- package/src/context/polling/use.ts +1 -1
- package/src/helpers/txsFromBlock.ts +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionsQuickTipButton.d.ts","sourceRoot":"","sources":["../../../../src/components/transactions/TransactionsQuickTipButton.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAEN,MAAM,OAAO,CAAA;AAId,MAAM,WAAW,6CAA8C,SAAQ,mBAAmB;IACxF,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,6CAA6C,
|
|
1
|
+
{"version":3,"file":"TransactionsQuickTipButton.d.ts","sourceRoot":"","sources":["../../../../src/components/transactions/TransactionsQuickTipButton.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAEN,MAAM,OAAO,CAAA;AAId,MAAM,WAAW,6CAA8C,SAAQ,mBAAmB;IACxF,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,6CAA6C,CA0D9F,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubmitChain.d.ts","sourceRoot":"","sources":["../../../../../src/components/transactions/submit/SubmitChain.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"SubmitChain.d.ts","sourceRoot":"","sources":["../../../../../src/components/transactions/submit/SubmitChain.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EA+D1C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/Provider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/Provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAEN,MAAM,OAAO,CAAA;AAGd,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,YAAY,CAAA;AAErE,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,SAAS,CAAC,EAAE,cAAc,CAAA;CAC3B;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA0BxE,CAAA"}
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const ChainAnalyzersContext: import("react").Context<({
|
|
2
|
+
addAnalyzers: (analyzers: import("./state.ts").ChainAnalyzers) => void;
|
|
3
|
+
analyzers: import("./state.ts").ChainAnalyzers;
|
|
4
|
+
onBlock: (block: import("@xyo-network/xl1-protocol").HydratedBlock) => Promise<void>;
|
|
5
|
+
statsUpdated: number;
|
|
6
|
+
} & {
|
|
7
|
+
provided: true;
|
|
8
|
+
}) | (import("@xylabs/react-shared").FixedValues<import("@xylabs/react-shared").ProvidedContextExState<{
|
|
9
|
+
addAnalyzers: (analyzers: import("./state.ts").ChainAnalyzers) => void;
|
|
10
|
+
analyzers: import("./state.ts").ChainAnalyzers;
|
|
11
|
+
onBlock: (block: import("@xyo-network/xl1-protocol").HydratedBlock) => Promise<void>;
|
|
12
|
+
statsUpdated: number;
|
|
13
|
+
}>, never> & {
|
|
14
|
+
provided: false;
|
|
15
|
+
}) | (import("@xylabs/react-shared").FixedValues<import("@xylabs/react-shared").NotProvidedContextExState<{
|
|
16
|
+
addAnalyzers: (analyzers: import("./state.ts").ChainAnalyzers) => void;
|
|
17
|
+
analyzers: import("./state.ts").ChainAnalyzers;
|
|
18
|
+
onBlock: (block: import("@xyo-network/xl1-protocol").HydratedBlock) => Promise<void>;
|
|
19
|
+
statsUpdated: number;
|
|
20
|
+
}>, never> & {
|
|
21
|
+
provided: false;
|
|
22
|
+
})>;
|
|
3
23
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/context.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;GAAyC,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { ContextExState } from '@
|
|
1
|
+
import type { ContextExState } from '@xylabs/react-shared';
|
|
2
2
|
import type { ChainAnalyzer, HydratedBlock } from '@xyo-network/xl1-protocol';
|
|
3
3
|
export type ChainAnalyzerIds = 'producers';
|
|
4
4
|
export type ChainAnalyzers = Record<ChainAnalyzerIds, ChainAnalyzer>;
|
|
5
|
-
export
|
|
5
|
+
export type ChainAnalyzersState = ContextExState<{
|
|
6
6
|
addAnalyzers: (analyzers: ChainAnalyzers) => void;
|
|
7
7
|
analyzers: ChainAnalyzers;
|
|
8
8
|
onBlock: (block: HydratedBlock) => Promise<void>;
|
|
9
9
|
statsUpdated: number;
|
|
10
|
-
}
|
|
10
|
+
}>;
|
|
11
11
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE7E,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAA;AAE1C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAA;AAEpE,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;IAC/C,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,IAAI,CAAA;IACjD,SAAS,EAAE,cAAc,CAAA;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,YAAY,EAAE,MAAM,CAAA;CACrB,CAAC,CAAA"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import type { ChainAnalyzersState } from './state.ts';
|
|
2
|
-
export declare const useChainAnalyzersContext: (required?: boolean) => Omit<
|
|
2
|
+
export declare const useChainAnalyzersContext: (required?: boolean) => Omit<{
|
|
3
|
+
addAnalyzers: (analyzers: import("./state.ts").ChainAnalyzers) => void;
|
|
4
|
+
analyzers: import("./state.ts").ChainAnalyzers;
|
|
5
|
+
onBlock: (block: import("@xyo-network/xl1-protocol").HydratedBlock) => Promise<void>;
|
|
6
|
+
statsUpdated: number;
|
|
7
|
+
} & {
|
|
8
|
+
provided: true;
|
|
9
|
+
}, "provided"> | Omit<import("@xylabs/react-shared").NotProvidedContextExState<ChainAnalyzersState>, "provided">;
|
|
3
10
|
//# sourceMappingURL=use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/use.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD,eAAO,MAAM,wBAAwB,GAAI,kBAAgB,
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/context/analyzer/use.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD,eAAO,MAAM,wBAAwB,GAAI,kBAAgB;;;;;;;gHAAyF,CAAA"}
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const ChainInfoContext: import("react").Context<({
|
|
2
|
+
chainArchivist?: import("@xyo-network/archivist-model").ArchivistInstance;
|
|
3
|
+
chainInformation?: import("@xyo-network/xl1-protocol").ChainInformation;
|
|
4
|
+
chainIterator?: import("@xyo-network/xl1-protocol").ChainBlockNumberIterator;
|
|
5
|
+
} & {
|
|
6
|
+
provided: true;
|
|
7
|
+
}) | (import("@xylabs/react-shared").FixedValues<import("@xylabs/react-shared").ProvidedContextExState<{
|
|
8
|
+
chainArchivist?: import("@xyo-network/archivist-model").ArchivistInstance;
|
|
9
|
+
chainInformation?: import("@xyo-network/xl1-protocol").ChainInformation;
|
|
10
|
+
chainIterator?: import("@xyo-network/xl1-protocol").ChainBlockNumberIterator;
|
|
11
|
+
}>, never> & {
|
|
12
|
+
provided: false;
|
|
13
|
+
}) | (import("@xylabs/react-shared").FixedValues<import("@xylabs/react-shared").NotProvidedContextExState<{
|
|
14
|
+
chainArchivist?: import("@xyo-network/archivist-model").ArchivistInstance;
|
|
15
|
+
chainInformation?: import("@xyo-network/xl1-protocol").ChainInformation;
|
|
16
|
+
chainIterator?: import("@xyo-network/xl1-protocol").ChainBlockNumberIterator;
|
|
17
|
+
}>, never> & {
|
|
18
|
+
provided: false;
|
|
19
|
+
})>;
|
|
3
20
|
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/context/chain/Context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/context/chain/Context.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;GAAoC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { ContextExState } from '@xylabs/react-shared';
|
|
1
2
|
import type { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
2
|
-
import type { ContextExState } from '@xyo-network/react-shared';
|
|
3
3
|
import type { ChainBlockNumberIterator, ChainInformation } from '@xyo-network/xl1-protocol';
|
|
4
|
-
export
|
|
4
|
+
export type ChainInfoState = ContextExState<{
|
|
5
5
|
chainArchivist?: ArchivistInstance;
|
|
6
6
|
chainInformation?: ChainInformation;
|
|
7
7
|
chainIterator?: ChainBlockNumberIterator;
|
|
8
|
-
}
|
|
8
|
+
}>;
|
|
9
9
|
//# sourceMappingURL=State.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/context/chain/State.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/context/chain/State.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE3F,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;IAC1C,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,aAAa,CAAC,EAAE,wBAAwB,CAAA;CACzC,CAAC,CAAA"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { ChainInfoState } from './State.ts';
|
|
2
|
-
export declare const useChainInfo: (required?: boolean) => Omit<
|
|
2
|
+
export declare const useChainInfo: (required?: boolean) => Omit<{
|
|
3
|
+
chainArchivist?: import("@xyo-network/archivist-model").ArchivistInstance;
|
|
4
|
+
chainInformation?: import("@xyo-network/xl1-protocol").ChainInformation;
|
|
5
|
+
chainIterator?: import("@xyo-network/xl1-protocol").ChainBlockNumberIterator;
|
|
6
|
+
} & {
|
|
7
|
+
provided: true;
|
|
8
|
+
}, "provided"> | Omit<import("@xylabs/react-shared").NotProvidedContextExState<ChainInfoState>, "provided">;
|
|
3
9
|
//# sourceMappingURL=use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/context/chain/use.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,eAAO,MAAM,YAAY,GAAI,kBAAgB,
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/context/chain/use.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,eAAO,MAAM,YAAY,GAAI,kBAAgB;;;;;;2GAA2E,CAAA"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const ChainPollingContext: import("react").Context<({
|
|
2
|
+
pollingState?: import("./state.ts").PollingState;
|
|
3
|
+
updatePollingState?: (newState: import("./state.ts").PollingState) => void;
|
|
4
|
+
} & {
|
|
5
|
+
provided: true;
|
|
6
|
+
}) | (import("@xylabs/react-shared").FixedValues<import("@xylabs/react-shared").ProvidedContextExState<{
|
|
7
|
+
pollingState?: import("./state.ts").PollingState;
|
|
8
|
+
updatePollingState?: (newState: import("./state.ts").PollingState) => void;
|
|
9
|
+
}>, never> & {
|
|
10
|
+
provided: false;
|
|
11
|
+
}) | (import("@xylabs/react-shared").FixedValues<import("@xylabs/react-shared").NotProvidedContextExState<{
|
|
12
|
+
pollingState?: import("./state.ts").PollingState;
|
|
13
|
+
updatePollingState?: (newState: import("./state.ts").PollingState) => void;
|
|
14
|
+
}>, never> & {
|
|
15
|
+
provided: false;
|
|
16
|
+
})>;
|
|
3
17
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/context/polling/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/context/polling/context.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;GAAuC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ContextExState } from '@
|
|
1
|
+
import type { ContextExState } from '@xylabs/react-shared';
|
|
2
2
|
export type PollingState = 'paused' | 'running';
|
|
3
|
-
export
|
|
3
|
+
export type ChainPollingState = ContextExState<{
|
|
4
4
|
pollingState?: PollingState;
|
|
5
5
|
updatePollingState?: (newState: PollingState) => void;
|
|
6
|
-
}
|
|
6
|
+
}>;
|
|
7
7
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/context/polling/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/context/polling/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE/C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;CACtD,CAAC,CAAA"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
export declare const useChainPollingContext: (required?: boolean) => Omit<
|
|
1
|
+
export declare const useChainPollingContext: (required?: boolean) => Omit<{
|
|
2
|
+
pollingState?: import("./state.ts").PollingState;
|
|
3
|
+
updatePollingState?: (newState: import("./state.ts").PollingState) => void;
|
|
4
|
+
} & {
|
|
5
|
+
provided: true;
|
|
6
|
+
}, "provided"> | Omit<import("@xylabs/react-shared").NotProvidedContextExState<import("./state.ts").ChainPollingState>, "provided">;
|
|
2
7
|
//# sourceMappingURL=use.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/context/polling/use.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,GAAI,kBAAgB,
|
|
1
|
+
{"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../../../../src/context/polling/use.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,GAAI,kBAAgB;;;;;mIAAgE,CAAA"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export declare const txsFromBlock: (block: HydratedBlock) => Promise<[import("@
|
|
3
|
-
schema: string;
|
|
4
|
-
}> & Partial<import("@xyo-network/payload-model").PayloadMetaFields> & import("@xyo-network/payload-model").StorageMeta & import("@xylabs/object").DeepRestrictToStringKeys<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & import("@xyo-network/xl1-protocol").TransactionBoundWitnessFields & object & Partial<import("@xyo-network/xl1-protocol").ExecutableFields> & import("@xyo-network/xl1-protocol").FromFields & {
|
|
5
|
-
schema: "network.xyo.boundwitness";
|
|
6
|
-
}> & import("@xyo-network/boundwitness-model").BoundWitnessMeta & {
|
|
7
|
-
$signatures: import("@xylabs/hex").Hex[];
|
|
8
|
-
}, Lowercase<string>][]>;
|
|
1
|
+
import { type HydratedBlock } from '@xyo-network/xl1-protocol';
|
|
2
|
+
export declare const txsFromBlock: (block: HydratedBlock) => Promise<[import("@xyo-network/xl1-protocol").TransactionBoundWitness, Lowercase<string>][]>;
|
|
9
3
|
//# sourceMappingURL=txsFromBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"txsFromBlock.d.ts","sourceRoot":"","sources":["../../../src/helpers/txsFromBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"txsFromBlock.d.ts","sourceRoot":"","sources":["../../../src/helpers/txsFromBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,eAAO,MAAM,YAAY,GAAU,OAAO,aAAa,gGAKtD,CAAA"}
|
|
@@ -12,9 +12,7 @@ export declare const useChainIteratorParams: ({ chainArchivist, chainInformation
|
|
|
12
12
|
config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
|
|
13
13
|
ephemeralQueryAccountEnabled?: boolean;
|
|
14
14
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
15
|
-
|
|
16
|
-
publicChildren?: import("@xyo-network/module-model").ModuleInstance[];
|
|
17
|
-
} & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
|
|
15
|
+
} & import("@xyo-network/module-model").ModuleChildrenParams & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload>;
|
|
18
16
|
chainInformation: import("@xyo-network/xl1-protocol").ChainInformation;
|
|
19
17
|
head: import("@xylabs/object").DeepRestrictToStringKeys<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
20
18
|
schema: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChainIteratorParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/chain-iterator/useChainIteratorParams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAU,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAGlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,eAAO,MAAM,kBAAkB,GAAU,MAAM,IAAI,EAAE,gBAAgB,aAAa,iFAajF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,6CAEpC,kBAAkB
|
|
1
|
+
{"version":3,"file":"useChainIteratorParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/chain-iterator/useChainIteratorParams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,IAAI,EAAU,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAGlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,eAAO,MAAM,kBAAkB,GAAU,MAAM,IAAI,EAAE,gBAAgB,aAAa,iFAajF,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,6CAEpC,kBAAkB;;;;;;;;;;;;;;;;;;8FAcpB,CAAA"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
1
|
import { type HydratedBlock } from '@xyo-network/xl1-protocol';
|
|
2
|
-
export declare const useTxsFromBlock: (block?: HydratedBlock) => [[import("@
|
|
3
|
-
schema: string;
|
|
4
|
-
}> & Partial<import("@xyo-network/payload-model").PayloadMetaFields> & import("@xyo-network/payload-model").StorageMeta & import("@xylabs/object").DeepRestrictToStringKeys<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/boundwitness-model").BoundWitnessFields & import("@xyo-network/xl1-protocol").TransactionBoundWitnessFields & object & Partial<import("@xyo-network/xl1-protocol").ExecutableFields> & import("@xyo-network/xl1-protocol").FromFields & {
|
|
5
|
-
schema: "network.xyo.boundwitness";
|
|
6
|
-
}> & import("@xyo-network/boundwitness-model").BoundWitnessMeta & {
|
|
7
|
-
$signatures: import("@xylabs/hex").Hex[];
|
|
8
|
-
}, Lowercase<string>][] | undefined, Error | undefined, import("@xylabs/react-promise").UsePromiseState | undefined];
|
|
2
|
+
export declare const useTxsFromBlock: (block?: HydratedBlock) => [[import("@xyo-network/xl1-protocol").TransactionBoundWitness, Lowercase<string>][] | undefined, Error | undefined, import("@xylabs/react-promise").UsePromiseState | undefined];
|
|
9
3
|
//# sourceMappingURL=useTxsFromBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTxsFromBlock.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTxsFromBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAI9D,eAAO,MAAM,eAAe,GAAI,QAAQ,aAAa
|
|
1
|
+
{"version":3,"file":"useTxsFromBlock.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTxsFromBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAI9D,eAAO,MAAM,eAAe,GAAI,QAAQ,aAAa,qLAMpD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/react-chain-blockchain",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.19",
|
|
5
5
|
"description": "XYO Layer One React SDK Blockchain",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -37,39 +37,40 @@
|
|
|
37
37
|
"package-cycle": "echo Nothing to do"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@xylabs/assert": "^4.9.
|
|
41
|
-
"@xylabs/axios": "^4.9.
|
|
42
|
-
"@xylabs/eth-address": "^4.9.
|
|
43
|
-
"@xylabs/exists": "^4.9.
|
|
44
|
-
"@xylabs/hex": "^4.9.
|
|
45
|
-
"@xylabs/promise": "^4.9.
|
|
46
|
-
"@xylabs/react-animation": "^6.
|
|
47
|
-
"@xylabs/react-error": "^6.
|
|
48
|
-
"@xylabs/react-flexbox": "^6.
|
|
49
|
-
"@xylabs/react-identicon": "^6.
|
|
50
|
-
"@xylabs/react-promise": "^6.
|
|
51
|
-
"@xylabs/react-quick-tip-button": "^6.
|
|
52
|
-
"@xylabs/react-theme": "^6.
|
|
53
|
-
"@xyo-network/account": "^3.
|
|
54
|
-
"@xyo-network/archivist-model": "^3.
|
|
55
|
-
"@xyo-network/boundwitness-builder": "^3.
|
|
56
|
-
"@xyo-network/boundwitness-model": "^3.
|
|
57
|
-
"@xyo-network/bridge-http": "^3.
|
|
58
|
-
"@xyo-network/chain-analyze": "^1.3.
|
|
59
|
-
"@xyo-network/chain-protocol": "^1.3.
|
|
60
|
-
"@xyo-network/chain-services": "^1.3.
|
|
61
|
-
"@xyo-network/
|
|
62
|
-
"@xyo-network/
|
|
63
|
-
"@xyo-network/payload-
|
|
64
|
-
"@xyo-network/
|
|
65
|
-
"@xyo-network/react-
|
|
66
|
-
"@xyo-network/react-
|
|
67
|
-
"@xyo-network/react-
|
|
68
|
-
"@xyo-network/react-payload-
|
|
69
|
-
"@xyo-network/react-
|
|
70
|
-
"@xyo-network/react-
|
|
71
|
-
"@xyo-network/
|
|
72
|
-
"@xyo-network/xl1-protocol
|
|
40
|
+
"@xylabs/assert": "^4.9.15",
|
|
41
|
+
"@xylabs/axios": "^4.9.15",
|
|
42
|
+
"@xylabs/eth-address": "^4.9.15",
|
|
43
|
+
"@xylabs/exists": "^4.9.15",
|
|
44
|
+
"@xylabs/hex": "^4.9.15",
|
|
45
|
+
"@xylabs/promise": "^4.9.15",
|
|
46
|
+
"@xylabs/react-animation": "^6.3.1",
|
|
47
|
+
"@xylabs/react-error": "^6.3.1",
|
|
48
|
+
"@xylabs/react-flexbox": "^6.3.1",
|
|
49
|
+
"@xylabs/react-identicon": "^6.3.1",
|
|
50
|
+
"@xylabs/react-promise": "^6.3.1",
|
|
51
|
+
"@xylabs/react-quick-tip-button": "^6.3.1",
|
|
52
|
+
"@xylabs/react-theme": "^6.3.1",
|
|
53
|
+
"@xyo-network/account": "^3.15.5",
|
|
54
|
+
"@xyo-network/archivist-model": "^3.15.5",
|
|
55
|
+
"@xyo-network/boundwitness-builder": "^3.15.5",
|
|
56
|
+
"@xyo-network/boundwitness-model": "^3.15.5",
|
|
57
|
+
"@xyo-network/bridge-http": "^3.15.5",
|
|
58
|
+
"@xyo-network/chain-analyze": "^1.3.19",
|
|
59
|
+
"@xyo-network/chain-protocol": "^1.3.19",
|
|
60
|
+
"@xyo-network/chain-services": "^1.3.19",
|
|
61
|
+
"@xyo-network/chain-wrappers": "^1.3.19",
|
|
62
|
+
"@xyo-network/module-model": "^3.15.5",
|
|
63
|
+
"@xyo-network/payload-builder": "^3.15.5",
|
|
64
|
+
"@xyo-network/payload-model": "^3.15.5",
|
|
65
|
+
"@xyo-network/react-boundwitness-plugin": "^5.3.2",
|
|
66
|
+
"@xyo-network/react-chain-blockies": "^1.3.19",
|
|
67
|
+
"@xyo-network/react-event": "^5.3.2",
|
|
68
|
+
"@xyo-network/react-payload-raw-info": "^5.3.2",
|
|
69
|
+
"@xyo-network/react-payload-table": "^5.3.2",
|
|
70
|
+
"@xyo-network/react-shared": "^5.3.2",
|
|
71
|
+
"@xyo-network/react-table": "^5.3.2",
|
|
72
|
+
"@xyo-network/xl1-protocol": "^1.3.13",
|
|
73
|
+
"@xyo-network/xl1-protocol-sdk": "^1.3.19"
|
|
73
74
|
},
|
|
74
75
|
"devDependencies": {
|
|
75
76
|
"@emotion/react": "^11.14.0",
|
|
@@ -77,20 +78,20 @@
|
|
|
77
78
|
"@mui/icons-material": "^7.1.0",
|
|
78
79
|
"@mui/material": "^7.1.0",
|
|
79
80
|
"@storybook/react": "^8.6.12",
|
|
80
|
-
"@types/react": "^19.1.
|
|
81
|
-
"@xylabs/delay": "^4.9.
|
|
82
|
-
"@xylabs/hex": "^4.9.
|
|
81
|
+
"@types/react": "^19.1.4",
|
|
82
|
+
"@xylabs/delay": "^4.9.15",
|
|
83
|
+
"@xylabs/hex": "^4.9.15",
|
|
83
84
|
"@xylabs/ts-scripts-yarn3": "^6.5.5",
|
|
84
85
|
"@xylabs/tsconfig-react": "^6.5.5",
|
|
85
|
-
"@xyo-network/api-models": "^3.
|
|
86
|
-
"@xyo-network/archivist-memory": "^3.
|
|
87
|
-
"@xyo-network/chain-ethereum": "^1.3.
|
|
88
|
-
"@xyo-network/chain-utils": "^1.3.
|
|
89
|
-
"@xyo-network/react-chain-shared": "^1.3.
|
|
90
|
-
"knip": "^5.
|
|
86
|
+
"@xyo-network/api-models": "^3.15.5",
|
|
87
|
+
"@xyo-network/archivist-memory": "^3.15.5",
|
|
88
|
+
"@xyo-network/chain-ethereum": "^1.3.19",
|
|
89
|
+
"@xyo-network/chain-utils": "^1.3.19",
|
|
90
|
+
"@xyo-network/react-chain-shared": "^1.3.19",
|
|
91
|
+
"knip": "^5.55.1",
|
|
91
92
|
"react": "^19.1.0",
|
|
92
93
|
"react-dom": "^19.1.0",
|
|
93
|
-
"react-router-dom": "^7.
|
|
94
|
+
"react-router-dom": "^7.6.0",
|
|
94
95
|
"storybook": "^8.6.12",
|
|
95
96
|
"typescript": "^5.8.3"
|
|
96
97
|
},
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from '@mui/material'
|
|
4
4
|
import type { Meta, StoryFn } from '@storybook/react'
|
|
5
5
|
import { buildRandomBlockChain } from '@xyo-network/react-chain-shared'
|
|
6
|
-
import type { Event } from '@xyo-network/react-event'
|
|
6
|
+
import type { Event, EventNoun } from '@xyo-network/react-event'
|
|
7
7
|
import { useEvent } from '@xyo-network/react-event'
|
|
8
8
|
import React, { useState } from 'react'
|
|
9
9
|
|
|
@@ -22,7 +22,7 @@ const Template: StoryFn<typeof BlockchainTableEx> = args => <BlockchainTableEx {
|
|
|
22
22
|
const TemplateLinked: StoryFn<typeof BlockchainTableEx> = (args) => {
|
|
23
23
|
const [event, setEvent] = useState<Event>()
|
|
24
24
|
const [ref] = useEvent<HTMLTableElement>((noun, verb, data) => setEvent({
|
|
25
|
-
noun, verb, data,
|
|
25
|
+
noun: noun as EventNoun, verb, data,
|
|
26
26
|
}))
|
|
27
27
|
return (
|
|
28
28
|
<>
|
|
@@ -49,6 +49,7 @@ export const TransactionsQuickTipButton: React.FC<TransactionsQuickTipButtonQuic
|
|
|
49
49
|
? null
|
|
50
50
|
: (
|
|
51
51
|
<FlexGrowCol gap={1} alignItems="stretch">
|
|
52
|
+
{/* eslint-disable-next-line @typescript-eslint/no-unused-vars */}
|
|
52
53
|
{transactions?.map(([transaction, hash]) => (
|
|
53
54
|
<Fragment key={hash}>
|
|
54
55
|
<FlexGrowRow gap={2} justifyContent="start">
|
|
@@ -57,7 +58,7 @@ export const TransactionsQuickTipButton: React.FC<TransactionsQuickTipButtonQuic
|
|
|
57
58
|
overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap',
|
|
58
59
|
}}
|
|
59
60
|
>
|
|
60
|
-
{
|
|
61
|
+
{hash}
|
|
61
62
|
</Typography>
|
|
62
63
|
</FlexGrowRow>
|
|
63
64
|
<FlexRow>
|
|
@@ -22,33 +22,35 @@ const BETA_PENDING_TRANSACTIONS_ARCHIVIST = 'https://beta.api.chain.xyo.network/
|
|
|
22
22
|
const defaultNetwork = new URL(BETA_PENDING_TRANSACTIONS_ARCHIVIST)
|
|
23
23
|
|
|
24
24
|
export const SubmitChainTransaction: React.FC = () => {
|
|
25
|
-
const [network, setNetwork] = useState<URL>(defaultNetwork)
|
|
25
|
+
const [network, setNetwork] = useState<URL | undefined>(defaultNetwork)
|
|
26
26
|
const [result, setResult] = useState<ModuleQueryResult>()
|
|
27
27
|
const [error, setError] = useState<Error>()
|
|
28
28
|
|
|
29
29
|
const onSubmitTx = async (chainTx: TransactionBoundWitnessFields) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
if (network) {
|
|
31
|
+
const randomAccount = await Account.random()
|
|
32
|
+
const [transactionBoundWitness] = await buildTransaction(
|
|
33
|
+
chainTx.chain,
|
|
34
|
+
[],
|
|
35
|
+
[],
|
|
36
|
+
randomAccount,
|
|
37
|
+
chainTx.nbf,
|
|
38
|
+
chainTx.exp,
|
|
39
|
+
)
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
const insertQuery = new PayloadBuilder({ schema: ArchivistInsertQuerySchema }).build()
|
|
42
|
+
const [queryBoundWitness] = await new QueryBoundWitnessBuilder()
|
|
43
|
+
.payloads([transactionBoundWitness as Payload])
|
|
44
|
+
.query(insertQuery)
|
|
45
|
+
.signer(randomAccount)
|
|
46
|
+
.build()
|
|
46
47
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
const response = await axios.post<ApiEnvelope<ModuleQueryResult>>(network.href, [queryBoundWitness, [insertQuery, transactionBoundWitness, chainTx]])
|
|
49
|
+
if (response.data.errors.length > 0) {
|
|
50
|
+
setError(new Error(response.data.errors.map(e => e.message).join('\n')))
|
|
51
|
+
} else {
|
|
52
|
+
setResult(response.data.data)
|
|
53
|
+
}
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isUndefined } from '@xylabs/typeof'
|
|
1
2
|
import type { HydratedBlock } from '@xyo-network/xl1-protocol'
|
|
2
3
|
import type { PropsWithChildren } from 'react'
|
|
3
4
|
import React, {
|
|
@@ -18,7 +19,7 @@ export const ChainAnalyzersProvider: React.FC<ChainAnalyzersProviderProps> = ({
|
|
|
18
19
|
const analyzers = useMemo(() => ({ ...analyzersProp, ...analyzersState }), [analyzersProp])
|
|
19
20
|
|
|
20
21
|
const addAnalyzers: ChainAnalyzersState['addAnalyzers'] = useCallback((analyzers: ChainAnalyzersState['analyzers']) => {
|
|
21
|
-
if (
|
|
22
|
+
if (isUndefined(analyzers)) return
|
|
22
23
|
setAnalyzersState(prev => ({ ...prev, ...analyzers }))
|
|
23
24
|
}, [])
|
|
24
25
|
|
|
@@ -30,7 +31,7 @@ export const ChainAnalyzersProvider: React.FC<ChainAnalyzersProviderProps> = ({
|
|
|
30
31
|
}
|
|
31
32
|
}, [analyzers])
|
|
32
33
|
|
|
33
|
-
const value = useMemo(() => ({
|
|
34
|
+
const value: ChainAnalyzersState = useMemo(() => ({
|
|
34
35
|
analyzers, addAnalyzers, onBlock, statsUpdated, provided: true,
|
|
35
36
|
}), [analyzers, addAnalyzers, onBlock, statsUpdated])
|
|
36
37
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { ContextExState } from '@
|
|
1
|
+
import type { ContextExState } from '@xylabs/react-shared'
|
|
2
2
|
import type { ChainAnalyzer, HydratedBlock } from '@xyo-network/xl1-protocol'
|
|
3
3
|
|
|
4
4
|
export type ChainAnalyzerIds = 'producers'
|
|
5
5
|
|
|
6
6
|
export type ChainAnalyzers = Record<ChainAnalyzerIds, ChainAnalyzer>
|
|
7
7
|
|
|
8
|
-
export
|
|
8
|
+
export type ChainAnalyzersState = ContextExState<{
|
|
9
9
|
addAnalyzers: (analyzers: ChainAnalyzers) => void
|
|
10
10
|
analyzers: ChainAnalyzers
|
|
11
11
|
onBlock: (block: HydratedBlock) => Promise<void>
|
|
12
12
|
statsUpdated: number
|
|
13
|
-
}
|
|
13
|
+
}>
|
|
@@ -36,7 +36,7 @@ export const ChainInfoProvider: React.FC<ChainInfoProviderProps> = ({
|
|
|
36
36
|
updateChainIterator(chainIteratorProp)
|
|
37
37
|
}, [chainIteratorProp])
|
|
38
38
|
|
|
39
|
-
const chainState = useMemo(() => ({
|
|
39
|
+
const chainState: ChainInfoState = useMemo(() => ({
|
|
40
40
|
chainArchivist,
|
|
41
41
|
chainInformation,
|
|
42
42
|
chainIterator,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import type { ContextExState } from '@xylabs/react-shared'
|
|
1
2
|
import type { ArchivistInstance } from '@xyo-network/archivist-model'
|
|
2
|
-
import type { ContextExState } from '@xyo-network/react-shared'
|
|
3
3
|
import type { ChainBlockNumberIterator, ChainInformation } from '@xyo-network/xl1-protocol'
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export type ChainInfoState = ContextExState<{
|
|
6
6
|
chainArchivist?: ArchivistInstance
|
|
7
7
|
chainInformation?: ChainInformation
|
|
8
8
|
chainIterator?: ChainBlockNumberIterator
|
|
9
|
-
}
|
|
9
|
+
}>
|
package/src/context/chain/use.ts
CHANGED
|
@@ -17,7 +17,7 @@ export const ChainPollingProvider: React.FC<ChainPollingProviderProps> = ({ chil
|
|
|
17
17
|
setPollingState(newPollingState)
|
|
18
18
|
}, [])
|
|
19
19
|
|
|
20
|
-
const value = useMemo
|
|
20
|
+
const value: ChainPollingState = useMemo(() => ({
|
|
21
21
|
pollingState,
|
|
22
22
|
provided: true,
|
|
23
23
|
updatePollingState,
|