BaseChainClient

JsonToArray

Helper function to convert JSON to Uint8Array.

const JsonToArray = function (json: Record<string, any>) {
  var str = JSON.stringify(json, null, 0);
  var ret = new Uint8Array(str.length);
  for (var i = 0; i < str.length; i++) {
    ret[i] = str.charCodeAt(i);
  }
  return ret;

Class

A base class that extends the other clients.

export default class BaseChainClient implements Partial<ChainClient> {
  public signingClient?: ChainClient["signingClient"];
  public queryClient?: ChainClient["queryClient"];
  public signer = "";

Methods

encodeExecuteMsg

Converts an execute message to an EncodeObject for signing or simulating.

encodeExecuteMsg(
    address: string,
    msg: Msg,
    funds: Coin[]
  ): MsgExecuteContractEncodeObject {
    return {
      typeUrl: "/cosmwasm.wasm.v1.MsgExecuteContract",
      value: {
        sender: this.signer,
        contract: address,
        msg: JsonToArray(msg),
        funds,
      },
    };
  }

Msg

export type Msg = Record<string, unknown>;

encodeInstantiateMsg

Converts an instantiate message to an EncodeObject for signing or simulating.

encodeInstantiateMsg(
    codeId: number,
    msg: Msg,
    label: string
  ): MsgInstantiateContractEncodeObject {
    return {
      typeUrl: "/cosmwasm.wasm.v1.MsgInstantiateContract",
      value: {
        sender: this.signer,
        codeId: Long.fromInt(codeId),
        msg: JsonToArray(msg),
        label,
      },
    };
  }

encodeUploadMessage

Converts an upload message to an EncodeObject for signing or simulating.

encodeUploadMessage(wasmByteCode: Uint8Array): MsgStoreCodeEncodeObject {
    return {
      typeUrl: "/cosmwasm.wasm.v1.MsgStoreCode",
      value: {
        sender: this.signer,
        wasmByteCode,
      },
    };
  }

encodeMigrateMessage

Converts a migrate message to an EncodeObject for signing or simulating.

encodeMigrateMessage(
    address: string,
    codeId: number,
    msg: Msg
  ): MsgMigrateContractEncodeObject {
    return {
      typeUrl: "/cosmwasm.wasm.v1.MsgMigrateContract",
      value: {
        sender: this.signer,
        codeId: Long.fromNumber(codeId),
        contract: address,
        msg: JsonToArray(msg),
      },
    };
  }

encodeSendMessage

Converts a Send message to an EncodeObject for signing or simulating.

encodeSendMessage(
    receivingAddress: string,
    amount: Coin[]
  ): MsgSendEncodeObject {
    return {
      typeUrl: "/cosmos.bank.v1beta1.MsgSend",
      value: {
        fromAddress: this.signer,
        toAddress: receivingAddress,
        amount,
      },
    };
  }

Last updated