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,
},
};
}