UNPKG

@bandprotocol/bandchain.js

Version:

TypeScript library for Cosmos SDK and BandChain

34 lines (33 loc) 1.12 kB
import { Registry } from "@cosmjs/proto-signing"; import { AminoTypes, SigningStargateClient } from "@cosmjs/stargate"; import { bandAminoConverters, bandProtoRegistry, cosmosAminoConverters, cosmosProtoRegistry, ibcAminoConverters, ibcProtoRegistry, } from "../codegen"; const protoRegistry = [ ...cosmosProtoRegistry, ...ibcProtoRegistry, ...bandProtoRegistry, ]; const aminoConverters = { ...cosmosAminoConverters, ...ibcAminoConverters, ...bandAminoConverters, }; export const getSigningClientOptions = ({ defaultTypes = [], } = {}) => { const registry = new Registry([...defaultTypes, ...protoRegistry]); const aminoTypes = new AminoTypes({ ...aminoConverters, }); return { registry, aminoTypes, }; }; export const getSigningClient = async ({ rpcEndpoint, signer, defaultTypes = [], }) => { const { registry, aminoTypes } = getSigningClientOptions({ defaultTypes, }); const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, signer, { registry: registry, aminoTypes, }); return client; };