@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
48 lines (47 loc) • 2.55 kB
JavaScript
//@ts-nocheck
import { Registry } from "@cosmjs/proto-signing";
import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate";
import * as bandBandtssV1beta1TxRegistry from "./bandtss/v1beta1/tx.registry";
import * as bandFeedsV1beta1TxRegistry from "./feeds/v1beta1/tx.registry";
import * as bandGlobalfeeV1beta1TxRegistry from "./globalfee/v1beta1/tx.registry";
import * as bandOracleV1TxRegistry from "./oracle/v1/tx.registry";
import * as bandRestakeV1beta1TxRegistry from "./restake/v1beta1/tx.registry";
import * as bandTssV1beta1TxRegistry from "./tss/v1beta1/tx.registry";
import * as bandTunnelV1beta1TxRegistry from "./tunnel/v1beta1/tx.registry";
import * as bandBandtssV1beta1TxAmino from "./bandtss/v1beta1/tx.amino";
import * as bandFeedsV1beta1TxAmino from "./feeds/v1beta1/tx.amino";
import * as bandGlobalfeeV1beta1TxAmino from "./globalfee/v1beta1/tx.amino";
import * as bandOracleV1TxAmino from "./oracle/v1/tx.amino";
import * as bandRestakeV1beta1TxAmino from "./restake/v1beta1/tx.amino";
import * as bandTssV1beta1TxAmino from "./tss/v1beta1/tx.amino";
import * as bandTunnelV1beta1TxAmino from "./tunnel/v1beta1/tx.amino";
export const bandAminoConverters = {
...bandBandtssV1beta1TxAmino.AminoConverter,
...bandFeedsV1beta1TxAmino.AminoConverter,
...bandGlobalfeeV1beta1TxAmino.AminoConverter,
...bandOracleV1TxAmino.AminoConverter,
...bandRestakeV1beta1TxAmino.AminoConverter,
...bandTssV1beta1TxAmino.AminoConverter,
...bandTunnelV1beta1TxAmino.AminoConverter
};
export const bandProtoRegistry = [...bandBandtssV1beta1TxRegistry.registry, ...bandFeedsV1beta1TxRegistry.registry, ...bandGlobalfeeV1beta1TxRegistry.registry, ...bandOracleV1TxRegistry.registry, ...bandRestakeV1beta1TxRegistry.registry, ...bandTssV1beta1TxRegistry.registry, ...bandTunnelV1beta1TxRegistry.registry];
export const getSigningBandClientOptions = ({ defaultTypes = defaultRegistryTypes } = {}) => {
const registry = new Registry([...defaultTypes, ...bandProtoRegistry]);
const aminoTypes = new AminoTypes({
...bandAminoConverters
});
return {
registry,
aminoTypes
};
};
export const getSigningBandClient = async ({ rpcEndpoint, signer, defaultTypes = defaultRegistryTypes }) => {
const { registry, aminoTypes } = getSigningBandClientOptions({
defaultTypes
});
const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, signer, {
registry: registry,
aminoTypes
});
return client;
};