/// /// /// import EventEmitter from 'events'; import { Account, AccountKey, Balance, Timestamp, Hash, BlockNumber, Log, AuthMapItem } from "../../../types/web3"; import type { CallContractParams, Contract, CallContractArgType } from "../../contract"; export interface ProviderInfo { username?: string; } export type RequestParams = any; export interface RequestArguments { method: string; params?: RequestParams; } export interface CreateAccountParams { newAccountName: Account; authKey: AccountKey; recoveryKey: AccountKey; } export interface CreateAccountResponse { txHash: Hash; } export type QueryAccountParams = { account: Account; }; export interface QueryAccountResponse { address: string; balance: Balance; encryptionKey: AccountKey; recoveryKey: AccountKey; recoveryTime: Timestamp; authMap: AuthMapItem[]; status: number; version: number; } export interface UpdateAuthMapParams { account: Account; authMap: AuthMapItem[]; } export interface UpdateAuthMapResponse { txHash: Hash; } export interface QueryBlockHeaderParams { blockNumber?: BlockNumber; hash?: Hash; } export interface QueryBlockHeaderResponse { gasUsed: number; hash: Hash; logBloom: string; number: number; parentHash: string; receiptRoot: string; stateRoot: string; timestamp: number; transactionRoot: string; version: number; } export type QueryLastBlockResponse = QueryBlockHeaderResponse; export interface QueryBlockParams { blockNumber?: BlockNumber; hash?: Hash; } export interface QueryBlockResponse { gasUsed: number; hash: Hash; logBloom: string; number: number; parentHash: string; receiptRoot: string; stateRoot: string; timestamp: number; transactionRoot: string; version: number; consensusProof: string; receiptList: any[]; transactionList: any[]; } export interface QueryTransactionParams { hash: Hash; tee?: boolean; } export interface QueryTransactionResponse { blockNumber: BlockNumber; hash: Hash; data: string; from: string; to: string; } export interface QueryTransactionReceiptParams { hash: Hash; tee?: boolean; } export interface QueryTransactionReceiptResponse { blockNumber: BlockNumber; gasUsed: number; output: string; code: number; logs: Log[]; } export interface DeployContractParams { code?: Buffer; gas?: number; tee?: boolean; local?: boolean; args?: CallContractArgType[]; } export interface DeployContractResponse { txHash: string; teeSecret?: string; gasUsed: number; } export type ProviderCallContractParams = CallContractParams; export type CallContractResponse = { returnValue: T; notParseReturn?: boolean; teeSecret?: string; txHash: string; receiptCode: number; gasUsed: number; }; export interface QueryContractParams { contractName: string; } export interface QueryContractResponse { code: string; authMap?: AuthMapItem[]; } export interface SignParams { payload: string; } export interface SignResponse { timestamp?: Timestamp; signature: string; } export declare const maxQueryTransactionReceiptRetryInterval = 30000; export declare const queryTransactionReceiptRetryInterval: number[]; export interface TransferBalanceParams { from?: Account; to: Account; value: number; } export interface TransferBalanceResponse { txHash: Hash; } export interface SetRecoverkeyParams { account?: Account; recoverKey: AccountKey; } export interface SetRecoverkeyResponse { txHash: Hash; } export interface PreResetPubKeyParams { account?: Account; } export interface PreResetPubKeyResponse { txHash: Hash; } export interface ResetPubKeyParams { account?: Account; authKey: AccountKey; } export interface ResetPubKeyResponse { txHash: Hash; } export interface FreezeAccountParams { } export interface FreezeAccountResponse { } export interface FreezeContractParams { } export interface FreezeContractResponse { } export interface NativeDepositDataParams { to?: Account; data?: string; } export interface NativeDepositDataResponse { txHash: Hash; } export interface QueryLastBlockHeaderResponse { gasUsed: number; hash: Hash; logBloom: string; number: number; parentHash: string; receiptRoot: string; stateRoot: string; timestamp: number; transactionRoot: string; version: number; } export interface QueryTransactionListParams { } export interface QueryTransactionListResponse { } export interface QueryTransactionAndReceiptParams { } export interface QueryTransactionAndReceiptResponse { } export interface QueryTimestampParams { } export interface QueryTimestampResponse { } export interface QueryP2PStatusParams { } export interface QueryP2PStatusResponse { } export interface QueryConsensusStatusParams { } export interface QueryConsensusStatusResponse { } export interface QueryCommonConsensusStatusParams { } export interface QueryCommonConsensusStatusResponse { } export interface QuerySyncStatusParams { } export interface QuerySyncStatusResponse { } export interface QueryTransactionCacheStatus { } export interface QueryBlockCacheStatusParams { } export interface QueryBlockCacheStatusResponse { } export interface QueryContractNodesStatusParams { } export interface QueryContractNodesStatusResponse { } export interface QueryContractConfigStatusParams { } export interface QueryContractConfigStatusResponse { } export interface QueryLogLevelParams { } export interface QueryLogLevelResponse { } export interface UpdateBlackListParams { } export interface UpdateBlackListResponse { } export interface QueryBlockProofParams { } export interface QueryBlockProofResponse { } export interface QueryBlockHeaderProofParams { } export interface QueryBlockHeaderProofResponse { } export interface QueryStateProofParams { } export interface QueryStateProofResponse { } export interface QueryTransactionProofParams { } export interface QueryTransactionProofResponse { } export interface QueryReceiptProofParams { } export interface QueryReceiptProofResponse { } export interface QueryBlockHeaderInfosParams { } export interface QueryBlockHeaderInfosResponse { } export interface QueryBlockReceiptInfosParams { } export interface QueryBlockReceiptInfosResponse { } export interface QueryBlockBodyInfosParams { } export interface QueryBlockBodyInfosReponse { } export interface WatchContractEventParams { } export interface WatchContractEventCallbackData { } export type WatchContractEventCallback = (data: WatchContractEventCallbackData) => void; export declare abstract class BaseProvider extends EventEmitter { abstract majorVersion: number; abstract watchContractEvent(contract: Contract, params: WatchContractEventParams, callback: WatchContractEventCallback): void; abstract createAccount(params: CreateAccountParams): Promise; abstract transferBalance(params: TransferBalanceParams): Promise; abstract queryAccount(params: QueryAccountParams): Promise; abstract setRecoverkey(params: SetRecoverkeyParams): Promise; abstract preResetPubKey(params: PreResetPubKeyParams): Promise; abstract resetPubKey(params: ResetPubKeyParams): Promise; abstract freezeAccount(params: FreezeAccountParams): Promise; abstract freezeContract(params: FreezeContractParams): Promise; abstract nativeDepositData(params: NativeDepositDataParams): Promise; abstract queryLastBlockHeader(): Promise; abstract queryTransactionList(params: QueryTransactionListParams): Promise; abstract queryTransactionAndReceipt(params: QueryTransactionAndReceiptParams): Promise; abstract queryTimestamp(params: QueryTimestampParams): Promise; abstract queryP2PStatus(params: QueryP2PStatusParams): Promise; abstract queryConsensusStatus(params: QueryConsensusStatusParams): Promise; abstract queryCommonConsensusStatus(params: QueryCommonConsensusStatusParams): Promise; abstract querySyncStatus(params: QuerySyncStatusParams): Promise; abstract queryTransactionCacheStatus(params: QueryTransactionCacheStatus): Promise; abstract queryBlockCacheStatus(params: QueryBlockCacheStatusParams): Promise; abstract queryContractNodesStatus(params: QueryContractNodesStatusParams): Promise; abstract queryContractConfigStatus(params: QueryContractConfigStatusParams): Promise; abstract queryLogLevel(params: QueryLogLevelParams): Promise; abstract updateBlackList(params: UpdateBlackListParams): Promise; abstract queryBlockProof(params: QueryBlockProofParams): Promise; abstract queryBlockHeaderProof(params: QueryBlockHeaderProofParams): Promise; abstract queryStateProof(params: QueryStateProofParams): Promise; abstract queryTransactionProof(params: QueryTransactionProofParams): Promise; abstract queryReceiptProof(params: QueryReceiptProofParams): Promise; abstract queryBlockHeaderInfos(params: QueryBlockHeaderInfosParams): Promise; abstract queryBlockReceiptInfos(params: QueryBlockReceiptInfosParams): Promise; abstract queryBlockBodyInfos(params: QueryBlockBodyInfosParams): Promise; abstract updateAuthMap(params: UpdateAuthMapParams): Promise; abstract queryBlockHeader(params: QueryBlockHeaderParams): Promise; abstract queryBlock(params: QueryBlockParams): Promise; abstract queryLastBlock(): Promise; abstract queryTransaction(params: QueryTransactionParams): Promise; abstract queryTransactionReceipt(params: QueryTransactionReceiptParams): Promise; abstract deployContract(contract: Contract, params: DeployContractParams): Promise; abstract updateContract(contract: Contract, params: DeployContractParams): Promise; abstract callContract(contract: Contract, params: ProviderCallContractParams): Promise>; abstract queryContract(params?: QueryContractParams): Promise; abstract sign(params: SignParams): Promise; queryTransactionReceiptWithRetry(params: QueryTransactionReceiptParams, stopTime?: number, // 结束请求的时间,用于设定超时 leftTimes?: number): Promise; }