ghost-portal/packages/react-hooks/src/useBestNumber.ts
Arjun Porwal 5630635d4c
Refactor: Move Relay and Asset Hub API Connections to Context (#11891)
* feat: add StakingAsync context and hooks for improved staking API integration

* refactor: rename isStakingAsyncPage to isStakingAsync for consistency across components

* feat: introduce useBestNumberRelay hook for enhanced best number retrieval based on staking async state

* feat: add 'Kusama Asset Hub' link to Polkassembly and Subsquare configurations
2025-10-09 09:47:24 +05:30

26 lines
940 B
TypeScript

// Copyright 2017-2025 @polkadot/react-hooks authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { BlockNumber } from '@polkadot/types/interfaces';
import { createNamedHook } from './createNamedHook.js';
import { useApi } from './useApi.js';
import { useCall } from './useCall.js';
import { useStakingAsyncApis } from './useStakingAsyncApis.js';
function useBestNumberImpl (): BlockNumber | undefined {
const { api } = useApi();
return useCall<BlockNumber>(api.derive.chain.bestNumber);
}
function useBestNumberRelayImpl (): BlockNumber | undefined {
const { api } = useApi();
const { isStakingAsync, rcApi } = useStakingAsyncApis();
return useCall<BlockNumber>((isStakingAsync ? rcApi : api)?.derive.chain.bestNumber);
}
export const useBestNumber = createNamedHook('useBestNumber', useBestNumberImpl);
export const useBestNumberRelay = createNamedHook('useBestNumberRelay', useBestNumberRelayImpl);