Cosmos Provider

Using Cosmos wallet provider

Cosmos wallet provider api is as below:

import { TomoCosmosInjected, WalletProvider } from from '@tomo-inc/tomo-wallet-provider';
import { AminoSignResponse, BroadcastMode, KeplrSignOptions, StdSignature, StdSignDoc } from '@keplr-wallet/types';
import { OfflineAminoSigner, OfflineDirectSigner } from '@keplr-wallet/types/src/cosmjs';
import { SigningStargateClient } from '@cosmjs/stargate';

export declare class CosmosProvider extends WalletProvider {
    provider: TomoCosmosInjected;
    offlineSigner?: OfflineAminoSigner & OfflineDirectSigner;
    clientPromise?: Promise<SigningStargateClient>;
    constructor(chains: any[], provider: TomoCosmosInjected);
    connectWallet(): Promise<this>;
    /**
     * get @cosmjs/stargate SigningStargateClient
     */
    getSigningStargateClient(): Promise<SigningStargateClient>;
    getBalance(searchDenom: string): Promise<bigint>;
    /**
     * Gets the bech32Address of the connected wallet.
     * @returns A promise that resolves to the address of the connected wallet.
     */
    getAddress(): Promise<string>;
    /**
     * get the chainId of the connected wallet
     */
    getNetwork(): Promise<string>;
    signAmino(signerAddress: string, signDoc: StdSignDoc, signOptions?: KeplrSignOptions): Promise<AminoSignResponse>;
    signArbitrary(signer: string, data: string | Uint8Array): Promise<StdSignature>;
    sendTx(tx: Uint8Array, mode: BroadcastMode): Promise<Uint8Array>;
    getOfflineSigner(): Promise<OfflineAminoSigner & OfflineDirectSigner>;
    getPublicKeyHex(): Promise<string>
}

And after connected to wallet, cosmos wallet provider could be used as follows:

Using customized SigningStargateClient

Last updated