foundry-rpc
Version:
A thin wrapper of Foundry RPC
107 lines (106 loc) • 4.1 kB
TypeScript
import RpcBase from "./base";
import IdGenerator from "./idGenerator";
import { Transaction } from "./transaction";
export declare type Block = {
author: string;
extraData: number[];
hash: string;
number: number;
parentHash: string;
score: string | number;
seal: number[][];
stateRoot: string;
nextValidatorSetHash: string;
timestamp: number;
transactions: Transaction[];
transactionsRoot: string;
};
declare type UnsignedTransaction = Object;
declare type CommonParams = {
[s: string]: string | number | null;
};
export default class Chain extends RpcBase {
constructor(node: string, idGenerator: IdGenerator | null);
getBestBlockNumber(_params?: {}, id?: string | number | null): Promise<number>;
getBestBlockId(_params?: {}, id?: string | number | null): Promise<{
hash: string;
number: number;
}>;
getBlockHash(params: {
blockNumber: number;
}, id?: string | number | null): Promise<string>;
getBlockByNumber(params: {
blockNumber: number;
}, id?: string | number | null): Promise<Block | null>;
getBlockByHash(params: {
blockHash: string;
}, id?: string | number | null): Promise<Block | null>;
getBlockTransactionCountByHash(params: {
blockHash: string;
}, id?: string | number | null): Promise<number | null>;
getTransaction(params: {
transactionHash: string;
}, id?: string | number | null): Promise<Transaction | null>;
getTransactionSigner(params: {
transactionHash: string;
}, id?: string | number | null): Promise<string | null>;
containsTransaction(params: {
transactionHash: string;
}, id?: string | number | null): Promise<boolean>;
getTransactionByTracker(params: {
tracker: string;
}, id?: string | number | null): Promise<Transaction | null>;
getSeq(params: {
address: string;
blockNumber?: number | null;
}, id?: string | number | null): Promise<number | null>;
getBalance(params: {
address: string;
blockNumber?: number | null;
}, id?: string | number | null): Promise<string | number | null>;
getGenesisAccounts(_params?: {}, id?: string | number | null): Promise<string[]>;
getNumberOfShards(params?: {
blockNumber?: number | null;
}, id?: string | number | null): Promise<number | null>;
getShardIdByHash(params: {
transactionHash: string;
blockNumber?: number | null;
}, id?: string | number | null): Promise<number | null>;
getShardRoot(params: {
shardId: number;
blockNumber?: number | null;
}, id?: string | number | null): Promise<string | null>;
getShardOwners(params: {
shardId: number;
blockNumber?: number | null;
}, id?: string | number | null): Promise<string[] | null>;
getShardUsers(params: {
shardId: number;
blockNumber?: number | null;
}, id?: string | number | null): Promise<string[] | null>;
getMiningReward(params: {
blockNumber?: number | null;
}, id?: string | number | null): Promise<string | number | null>;
getMinTransactionFee(params: {
transactionType: string;
blockNumber?: number | null;
}, id?: string | number | null): Promise<number | null>;
getCommonParams(params: {
blockNumber?: number | null;
}, id?: string | number | null): Promise<CommonParams | null>;
getTermMetadata(params: {
blockNumber?: number | null;
}, id?: string | number | null): Promise<[number, number] | null>;
executeTransaction(params: {
transaction: UnsignedTransaction;
sender: string;
}, id?: string | number | null): Promise<string | null>;
getNetworkId(_params?: {}, id?: string | number | null): Promise<string>;
getPossibleAuthors(params: {
blockNumber?: number | null;
}, id?: string | number | null): Promise<string[] | null>;
getMetadataSeq(params: {
blockNumber?: number | null;
}, id?: string | number | null): Promise<number | null>;
}
export {};