UNPKG

@gear-js/api

Version:

A JavaScript library that provides functionality to connect GEAR Component APIs.

78 lines (77 loc) 2.75 kB
import { AnyNumber, AnyTuple } from '@polkadot/types/types'; import { BlockHash, BlockNumber, Header, SignedBlock } from '@polkadot/types/interfaces'; import { Compact, GenericExtrinsic, u64, Vec } from '@polkadot/types'; import { FrameSystemEventRecord } from '@polkadot/types/lookup'; import { HeaderExtended } from '@polkadot/api-derive/types'; import { HexString } from '@polkadot/util/types'; import { Observable } from 'rxjs'; import { PromiseResult } from '@polkadot/api/types'; import { GearApi } from '../GearApi'; export declare class GearBlock { private api; subscribeNewHeads: PromiseResult<() => Observable<HeaderExtended>>; constructor(api: GearApi); /** * Get data of particular block by blockHash * @param hash * @returns */ get(hash: HexString | Uint8Array): Promise<SignedBlock>; /** * Get data of particular block by blockNumber * @param number * @returns */ get(number: number): Promise<SignedBlock>; /** * Get data of particular block by blockNumber or blockHash * @param hashOrNumber * @returns */ get(hashOrNumber: string | Uint8Array | number): Promise<SignedBlock>; /** * Get blockHash by number * @param number number of block * @returns blockHash */ getBlockHash(number: AnyNumber | BlockNumber): Promise<BlockHash>; /** * Get block number * @param hash * @returns Compact<BlockNumber> */ getBlockNumber(hash: string | Uint8Array): Promise<Compact<BlockNumber>>; /** * ### Get block's timestamp * @param block */ getBlockTimestamp(block: SignedBlock): Promise<Compact<u64>>; /** * ### Get block's timestamp by blockHash * @param hash */ getBlockTimestamp(hash: HexString | Uint8Array): Promise<Compact<u64>>; /** * ### Get block's timestamp by blockNumber * @param number */ getBlockTimestamp(number: number): Promise<Compact<u64>>; /** * Get all extrinsic of particular block * @param blockHash hash of particular block * @returns Vec of extrinsics */ getExtrinsics(blockHash: `0x${string}` | Uint8Array): Promise<Vec<GenericExtrinsic<AnyTuple>>>; /** * Get all events of particular block * @param blockHash hash of particular block * @returns Vec of events */ getEvents(blockHash: `0x${string}` | Uint8Array): Promise<Vec<FrameSystemEventRecord>>; /** * Get hash of last finalized block * @returns Hash of finalized head */ getFinalizedHead(): Promise<BlockHash>; subscribeToHeadsFrom(from: number | HexString, cb: (header: Header) => Promise<void> | void, blocks?: 'finalized' | 'latest'): Promise<() => void>; }