@bandprotocol/bandchain.js
Version:
TypeScript library for Cosmos SDK and BandChain
39 lines (38 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSigningClient = exports.getSigningClientOptions = void 0;
const proto_signing_1 = require("@cosmjs/proto-signing");
const stargate_1 = require("@cosmjs/stargate");
const codegen_1 = require("../codegen");
const protoRegistry = [
...codegen_1.cosmosProtoRegistry,
...codegen_1.ibcProtoRegistry,
...codegen_1.bandProtoRegistry,
];
const aminoConverters = {
...codegen_1.cosmosAminoConverters,
...codegen_1.ibcAminoConverters,
...codegen_1.bandAminoConverters,
};
const getSigningClientOptions = ({ defaultTypes = [], } = {}) => {
const registry = new proto_signing_1.Registry([...defaultTypes, ...protoRegistry]);
const aminoTypes = new stargate_1.AminoTypes({
...aminoConverters,
});
return {
registry,
aminoTypes,
};
};
exports.getSigningClientOptions = getSigningClientOptions;
const getSigningClient = async ({ rpcEndpoint, signer, defaultTypes = [], }) => {
const { registry, aminoTypes } = (0, exports.getSigningClientOptions)({
defaultTypes,
});
const client = await stargate_1.SigningStargateClient.connectWithSigner(rpcEndpoint, signer, {
registry: registry,
aminoTypes,
});
return client;
};
exports.getSigningClient = getSigningClient;