UNPKG

@bandprotocol/bandchain.js

Version:

TypeScript library for Cosmos SDK and BandChain

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