import { RpcMethod, ProtocolVersion, ProtocolCapabilities } from '../types/protocol'; import { AbciInfoResponse } from '../types/responses/common/abci/abci-info-response'; import { AbciQueryResponse } from '../types/responses/common/abci/abci-query-response'; import { CommitResponse } from '../types/responses/common/commit'; import { HealthResponse } from '../types/responses/common/health'; import { NumUnconfirmedTxsResponse } from '../types/responses/common/num-unconfirmed-txs'; import { StatusResponse } from '../types/responses/common/status'; import { NetInfoResponse } from '../types/responses/common/net-info'; import { GenesisChunkedResponse } from '../types/responses/common/genesis-chunked'; import { GenesisResponse } from '../types/responses/common/genesis'; import { HeaderResponse } from '../types/responses/common/header'; import { ConsensusParamsResponse } from '../types/responses/common/consensus-params'; import { ConsensusStateResponse } from '../types/responses/common/consensus-state'; import { ConsensusStateDumpResponse } from '../types/responses/common/consensus'; import { ValidatorsResponse } from '../types/responses/common/validators'; import { BlockResponse, BlockchainResponse, BlockResultsResponse } from '../types/responses/common/block'; import { AbciQueryParams, EncodedAbciQueryParams } from '../types/requests/common/abci'; import { CommitParams, EncodedCommitParams } from '../types/requests/common/commit'; import { GenesisChunkedParams, EncodedGenesisChunkedParams } from '../types/requests/common/genesis-chunked'; import { BlockParams, EncodedBlockParams, BlockByHashParams, EncodedBlockByHashParams, BlockResultsParams, EncodedBlockResultsParams, BlockSearchParams, EncodedBlockSearchParams, HeaderParams, EncodedHeaderParams, HeaderByHashParams, EncodedHeaderByHashParams } from '../types/requests/common/block'; import { BlockchainParams, EncodedBlockchainParams } from '../types/requests/common/blockchain'; import { TxResponse } from '../types/responses/common/tx'; import { TxSearchResponse } from '../types/responses/common/tx-search'; import { UnconfirmedTxsResponse } from '../types/responses/common/unconfirmed-txs'; import { BlockSearchResponse } from '../types/responses/common/block-search'; import { BroadcastTxSyncResponse } from '../types/responses/common/broadcast-tx-sync'; import { BroadcastTxAsyncResponse } from '../types/responses/common/broadcast-tx-async'; import { BroadcastTxCommitResponse } from '../types/responses/common/broadcast-tx-commit'; import { CheckTxResponse } from '../types/responses/common/tx'; import { ValidatorsParams, EncodedValidatorsParams } from '../types/requests/common/validators'; import { ConsensusParamsParams, EncodedConsensusParamsParams } from '../types/requests/common/consensus'; import { ConsensusStateParams, EncodedConsensusStateParams } from '../types/requests/common/consensus-state'; import { CheckTxParams, EncodedCheckTxParams, TxParams, EncodedTxParams, TxSearchParams, EncodedTxSearchParams, UnconfirmedTxsParams, EncodedUnconfirmedTxsParams } from '../types/requests/common/tx'; import { BroadcastTxParams, EncodedBroadcastTxParams } from '../types/requests/common/tx'; export interface RequestEncoder { encodeAbciQuery(params: AbciQueryParams): EncodedAbciQueryParams; encodeCommit(params: CommitParams): EncodedCommitParams; encodeBlock(params: BlockParams): EncodedBlockParams; encodeBlockByHash(params: BlockByHashParams): EncodedBlockByHashParams; encodeBlockResults(params: BlockResultsParams): EncodedBlockResultsParams; encodeBlockchain(params: BlockchainParams): EncodedBlockchainParams; encodeConsensusParams(params: ConsensusParamsParams): EncodedConsensusParamsParams; encodeConsensusState(params: ConsensusStateParams): EncodedConsensusStateParams; encodeGenesisChunked(params: GenesisChunkedParams): EncodedGenesisChunkedParams; encodeHeader(params: HeaderParams): EncodedHeaderParams; encodeHeaderByHash(params: HeaderByHashParams): EncodedHeaderByHashParams; encodeUnconfirmedTxs(params: UnconfirmedTxsParams): EncodedUnconfirmedTxsParams; encodeValidators(params: ValidatorsParams): EncodedValidatorsParams; encodeTx(params: TxParams): EncodedTxParams; encodeTxSearch(params: TxSearchParams): EncodedTxSearchParams; encodeBlockSearch(params: BlockSearchParams): EncodedBlockSearchParams; encodeBroadcastTxSync(params: BroadcastTxParams): EncodedBroadcastTxParams; encodeBroadcastTxAsync(params: BroadcastTxParams): EncodedBroadcastTxParams; encodeBroadcastTxCommit(params: BroadcastTxParams): EncodedBroadcastTxParams; encodeCheckTx(params: CheckTxParams): EncodedCheckTxParams; } export interface ResponseDecoder { decodeAbciInfo(response: unknown): T; decodeAbciQuery(response: unknown): T; decodeBlock(response: unknown): T; decodeBlockResults(response: unknown): T; decodeBlockSearch(response: unknown): T; decodeBlockchain(response: unknown): T; decodeBroadcastTxSync(response: unknown): T; decodeBroadcastTxAsync(response: unknown): T; decodeBroadcastTxCommit(response: unknown): T; decodeCommit(response: unknown): T; decodeConsensusParams(response: unknown): T; decodeConsensusState(response: unknown): T; decodeDumpConsensusState(response: unknown): T; decodeGenesis(response: unknown): T; decodeGenesisChunked(response: unknown): T; decodeHeader(response: unknown): T; decodeHealth(response: unknown): T; decodeNetInfo(response: unknown): T; decodeNumUnconfirmedTxs(response: unknown): T; decodeStatus(response: unknown): T; decodeTx(response: unknown): T; decodeTxSearch(response: unknown): T; decodeUnconfirmedTxs(response: unknown): T; decodeValidators(response: unknown): T; decodeCheckTx(response: unknown): T; } export interface IProtocolAdapter { getVersion(): ProtocolVersion; getSupportedMethods(): Set; getCapabilities(): ProtocolCapabilities; } export interface ICosmosProtocolAdapter extends IProtocolAdapter, RequestEncoder, ResponseDecoder { } export declare abstract class BaseAdapter implements RequestEncoder, ResponseDecoder, ICosmosProtocolAdapter { protected version: ProtocolVersion; constructor(version: ProtocolVersion); protected transformKeys(obj: any): any; protected apiToNumber(value: string | undefined | null): number; protected apiToBigInt(value: string | undefined | null): bigint; protected maybeFromBase64(value: string | undefined | null): Uint8Array | undefined; protected safeFromBase64(value: string): Uint8Array; protected maybeFromHex(value: string | undefined | null): Uint8Array | undefined; protected decodeTime(timestamp: string): Date; protected decodeEvent(event: any): any; protected decodeEventAttribute(value: string): Uint8Array; protected decodeEvents(events: any[]): any[]; getVersion(): ProtocolVersion; getSupportedMethods(): Set; getCapabilities(): ProtocolCapabilities; private supportsBlockByHash; private supportsHeaderQueries; private supportsConsensusQueries; decodeAbciInfo(response: unknown): T; decodeAbciQuery(response: unknown): T; encodeAbciQuery(params: AbciQueryParams): EncodedAbciQueryParams; encodeCommit(params: CommitParams): EncodedCommitParams; encodeBlock(params: BlockParams): EncodedBlockParams; encodeBlockByHash(params: BlockByHashParams): EncodedBlockByHashParams; encodeBlockResults(params: BlockResultsParams): EncodedBlockResultsParams; encodeBlockchain(params: BlockchainParams): any; encodeConsensusParams(params: ConsensusParamsParams): EncodedConsensusParamsParams; encodeConsensusState(params: ConsensusStateParams): EncodedConsensusStateParams; encodeGenesisChunked(params: GenesisChunkedParams): EncodedGenesisChunkedParams; encodeHeader(params: HeaderParams): EncodedHeaderParams; encodeHeaderByHash(params: HeaderByHashParams): EncodedHeaderByHashParams; encodeUnconfirmedTxs(params: UnconfirmedTxsParams): EncodedUnconfirmedTxsParams; /** * Encode validators query parameters * @param params - Parameters including optional height, page, and perPage * @returns Encoded parameters with numbers converted to strings */ encodeValidators(params: ValidatorsParams): EncodedValidatorsParams; encodeTx(params: TxParams): EncodedTxParams; encodeTxSearch(params: TxSearchParams): EncodedTxSearchParams; encodeBlockSearch(params: BlockSearchParams): EncodedBlockSearchParams; encodeBroadcastTxSync(params: BroadcastTxParams): EncodedBroadcastTxParams; encodeBroadcastTxAsync(params: BroadcastTxParams): EncodedBroadcastTxParams; encodeBroadcastTxCommit(params: BroadcastTxParams): EncodedBroadcastTxParams; encodeCheckTx(params: CheckTxParams): EncodedCheckTxParams; decodeBlock(response: unknown): T; decodeBlockResults(response: unknown): T; decodeBlockSearch(response: unknown): T; decodeBlockchain(response: unknown): T; decodeCommit(response: unknown): T; decodeConsensusParams(response: unknown): T; decodeConsensusState(response: unknown): T; decodeDumpConsensusState(response: unknown): T; decodeGenesis(response: unknown): T; decodeGenesisChunked(response: unknown): T; decodeHeader(response: unknown): T; decodeHealth(response: unknown): T; decodeNetInfo(response: unknown): T; decodeNumUnconfirmedTxs(response: unknown): T; decodeStatus(response: unknown): T; decodeTx(response: unknown): T; decodeTxSearch(response: unknown): T; decodeUnconfirmedTxs(response: unknown): T; decodeBroadcastTxSync(response: unknown): T; decodeBroadcastTxAsync(response: unknown): T; decodeBroadcastTxCommit(response: unknown): T; decodeCheckTx(response: unknown): T; /** * Decode validators response from RPC * @param response - Raw RPC response * @returns Decoded validators response with proper type conversions */ decodeValidators(response: unknown): T; }