Nomos Client

Our implementation of the CosmWasmClient

CosmWasmClient is a cosmos provider that doesn't have a signer. It doesn't needs to make transactions or sign messages, it only needs to read blockchain data.

We implemented our version of the CosmWasmClient so that any read action in third party apps is forwarded and handled by our application. Our provider has the same exact functions as the CosmWasmClient.

Interface

We can find the exact same functions in of the CosmWasmClient in our provider.

export declare class NomosClient extends CosmWasmClient {
    readonly communicator: Communicator;
    protected constructor(tmClient: TendermintClient | undefined);
    static connect(endpoint: string | HttpEndpoint): Promise<NomosClient>;
    static create(cometClient: TendermintClient): Promise<NomosClient>;
    getChainId(): Promise<string>;
    getHeight(): Promise<number>;
    getAccount(address?: string): Promise<Account | null>;
    getSequence(address: string): Promise<SequenceResponse>;
    getBlock(height?: number): Promise<Block>;
    getBalance(address: string, searchDenom: string): Promise<Coin>;
    getTx(id: string): Promise<IndexedTx | null>;
    searchTx(query: SearchTxQuery): Promise<IndexedTx[]>;
    broadcastTx(tx: Uint8Array, timeoutMs?: number, pollIntervalMs?: number): Promise<DeliverTxResponse>;
    broadcastTxSync(tx: Uint8Array): Promise<string>;
    getCodes(): Promise<readonly Code[]>;
    getCodeDetails(codeId: number): Promise<CodeDetails>;
    getContracts(codeId: number): Promise<readonly string[]>;
    getContractsByCreator(creator: string): Promise<string[]>;
    getContract(address: string): Promise<Contract>;
    getContractCodeHistory(address: string): Promise<readonly ContractCodeHistoryEntry[]>;
    queryContractRaw(address: string, key: Uint8Array): Promise<Uint8Array | null>;
    queryContractSmart(address: string, queryMsg: JsonObject): Promise<JsonObject>;
}

Last updated