import { Coin } from "@cosmjs/amino"; import { toBase64, toUtf8 } from "@cosmjs/encoding"; // types auto-generated by wasm.glass and cleaned up manually export type HandleMsg = | { reflectmsg: { msgs: ( | { send: { amount: Coin[]; from_address: string; to_address: string; }; } | { contract: { contract_addr: string; // this had to be changed - is Base64 encoded string msg: string; send: Coin[] | null; }; } | { opaque: { // this had to be changed - is Base64 encoded string data: string; }; } )[]; }; } | { changeowner: { owner: string; }; }; export interface InitMsg {} export interface OwnerResponse { owner: string; } export type QueryMsg = { owner: {}; }; export interface State { // base64 encoded CanonicalAddress owner: string; } /*** END auto-gen ****/ const base64Msg = (msg: object): string => toBase64(toUtf8(JSON.stringify(msg))); const sendMsg = (from_address: string, to_address: string, amount: Coin[]) => { return { send: { from_address, to_address, amount, }, }; }; const contractMsg = (contract_addr: string, msg: object, amount?: Coin[]) => { return { contract: { contract_addr, msg: base64Msg(msg), send: amount || null, }, }; }; const opaqueMsg = (data: object) => { return { opaque: { data: base64Msg(data), }, }; };