//@ts-nocheck import { GeneratedType, Registry, OfflineSigner } from "@cosmjs/proto-signing"; import { defaultRegistryTypes, AminoTypes, SigningStargateClient } from "@cosmjs/stargate"; import { HttpEndpoint } from "@cosmjs/tendermint-rpc"; import * as zetachainZetacoreAuthorityTxRegistry from "./zetacore/authority/tx.registry"; import * as zetachainZetacoreCrosschainTxRegistry from "./zetacore/crosschain/tx.registry"; import * as zetachainZetacoreEmissionsTxRegistry from "./zetacore/emissions/tx.registry"; import * as zetachainZetacoreFungibleTxRegistry from "./zetacore/fungible/tx.registry"; import * as zetachainZetacoreLightclientTxRegistry from "./zetacore/lightclient/tx.registry"; import * as zetachainZetacoreObserverTxRegistry from "./zetacore/observer/tx.registry"; import * as zetachainZetacoreAuthorityTxAmino from "./zetacore/authority/tx.amino"; import * as zetachainZetacoreCrosschainTxAmino from "./zetacore/crosschain/tx.amino"; import * as zetachainZetacoreEmissionsTxAmino from "./zetacore/emissions/tx.amino"; import * as zetachainZetacoreFungibleTxAmino from "./zetacore/fungible/tx.amino"; import * as zetachainZetacoreLightclientTxAmino from "./zetacore/lightclient/tx.amino"; import * as zetachainZetacoreObserverTxAmino from "./zetacore/observer/tx.amino"; export const zetachainAminoConverters = { ...zetachainZetacoreAuthorityTxAmino.AminoConverter, ...zetachainZetacoreCrosschainTxAmino.AminoConverter, ...zetachainZetacoreEmissionsTxAmino.AminoConverter, ...zetachainZetacoreFungibleTxAmino.AminoConverter, ...zetachainZetacoreLightclientTxAmino.AminoConverter, ...zetachainZetacoreObserverTxAmino.AminoConverter }; export const zetachainProtoRegistry: ReadonlyArray<[string, GeneratedType]> = [...zetachainZetacoreAuthorityTxRegistry.registry, ...zetachainZetacoreCrosschainTxRegistry.registry, ...zetachainZetacoreEmissionsTxRegistry.registry, ...zetachainZetacoreFungibleTxRegistry.registry, ...zetachainZetacoreLightclientTxRegistry.registry, ...zetachainZetacoreObserverTxRegistry.registry]; export const getSigningZetachainClientOptions = ({ defaultTypes = defaultRegistryTypes }: { defaultTypes?: ReadonlyArray<[string, GeneratedType]>; } = {}): { registry: Registry; aminoTypes: AminoTypes; } => { const registry = new Registry([...defaultTypes, ...zetachainProtoRegistry]); const aminoTypes = new AminoTypes({ ...zetachainAminoConverters }); return { registry, aminoTypes }; }; export const getSigningZetachainClient = async ({ rpcEndpoint, signer, defaultTypes = defaultRegistryTypes }: { rpcEndpoint: string | HttpEndpoint; signer: OfflineSigner; defaultTypes?: ReadonlyArray<[string, GeneratedType]>; }) => { const { registry, aminoTypes } = getSigningZetachainClientOptions({ defaultTypes }); const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, signer, { registry: registry as any, aminoTypes }); return client; };