/** * Cosmos/IBC Chain Adapter * * Builds Cosmos SDK transactions, attaches secp256k1 ECDSA signatures * from the FROST threshold signing network, and broadcasts via * Tendermint RPC. Supports any IBC-compatible chain (Cosmos Hub, * Osmosis, Celestia, Injective, dYdX, etc.). * * Requires: npm install @cosmjs/stargate @cosmjs/proto-signing */ import { ChainAdapter, CosmosTransaction } from '../core/types'; export declare class CosmosAdapter implements ChainAdapter { private rpcUrl; private chainName; private cosmjs; private protoSigning; constructor(chainName?: string, rpcUrl?: string); getRpcUrl(): string; /** * Build an unsigned Cosmos transaction. * * Returns hex-encoded JSON containing the signing bytes and TX metadata. * The signing payload is SHA-256 of the Protobuf-serialized SignDoc. */ buildTransaction(tx: CosmosTransaction, fromAddress: string): Promise; getSigningPayload(unsignedTx: string): string; /** * Attach a secp256k1 ECDSA signature to the Cosmos transaction */ attachSignature(unsignedTx: string, signature: string): Promise; /** * Broadcast a signed Cosmos transaction */ broadcast(signedTx: string): Promise; /** * Build the AuthInfo protobuf bytes manually. * * AuthInfo structure: * message AuthInfo { * repeated SignerInfo signer_infos = 1; * Fee fee = 2; * } * message SignerInfo { * google.protobuf.Any public_key = 1; * ModeInfo mode_info = 2; * uint64 sequence = 3; * } * message Fee { * repeated Coin amount = 1; * uint64 gas_limit = 2; * } * * We encode this manually using protobuf wire format to avoid * importing heavy cosmos-proto dependencies. */ private buildAuthInfoBytes; /** * Get native token balance */ getBalance(address: string): Promise; } export declare function createCosmosAdapter(rpcUrl?: string): CosmosAdapter; export declare function createOsmosisAdapter(rpcUrl?: string): CosmosAdapter; //# sourceMappingURL=cosmos.d.ts.map