@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
30 lines (29 loc) • 1.1 kB
JavaScript
//@ts-nocheck
import { Registry } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import * as oracleV1TxRegistry from "./v1/tx.registry";
import * as oracleV1TxAmino from "./v1/tx.amino";
export const oracleAminoConverters = {
...oracleV1TxAmino.AminoConverter
};
export const oracleProtoRegistry = [...oracleV1TxRegistry.registry];
export const getSigningOracleClientOptions = ({ defaultTypes = defaultRegistryTypes } = {}) => {
const registry = new Registry([...defaultTypes, ...oracleProtoRegistry]);
const aminoTypes = new AminoTypes({
...oracleAminoConverters
});
return {
registry,
aminoTypes
};
};
export const getSigningOracleClient = async ({ rpcEndpoint, signer, defaultTypes = defaultRegistryTypes }) => {
const { registry, aminoTypes } = getSigningOracleClientOptions({
defaultTypes
});
const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, signer, {
registry: registry,
aminoTypes
});
return client;
};