@kyve/sdk
Version:
<p align="center"> <a href="https://kyve.network"> <img src="https://user-images.githubusercontent.com/62398724/137493477-63868209-a19b-4efa-9413-f06d41197d6d.png" style="border-radius: 50%" height="96"> </a> <h3 align="center"><code>@kyve/sdk</
47 lines (43 loc) • 1.54 kB
text/typescript
import {
defaultRegistryTypes,
GasPrice,
SigningStargateClient,
} from "@cosmjs/stargate";
import { OfflineSigner, Registry } from "@cosmjs/proto-signing";
import * as KyveRegistryTx from "../registry/tx.registry";
import KyveClient from "./rpc-client/client";
import KyveWebClient from "./rpc-client/web.client";
import { OfflineAminoSigner } from "@cosmjs/amino/build/signer";
export async function getSigningKyveClient(
rpcEndpoint: string,
signer: OfflineSigner,
aminoSigner: OfflineAminoSigner | null,
walletName?: undefined,
defaultTypes?: undefined
): Promise<KyveClient>;
export async function getSigningKyveClient(
rpcEndpoint: string,
signer: OfflineSigner,
aminoSigner: OfflineAminoSigner | null,
walletName?: string,
defaultTypes?: undefined
): Promise<KyveWebClient>;
export async function getSigningKyveClient(
rpcEndpoint: string,
signer: OfflineSigner,
aminoSigner: OfflineAminoSigner | null,
walletName?: string,
defaultTypes = defaultRegistryTypes
): Promise<KyveWebClient | KyveClient> {
const registry = new Registry([...defaultTypes, ...KyveRegistryTx.registry]);
const gasPrice = GasPrice.fromString("0tkyve");
const client: SigningStargateClient =
await SigningStargateClient.connectWithSigner(rpcEndpoint, signer, {
registry,
gasPrice,
});
const [account] = await signer.getAccounts();
if (typeof walletName === "string")
return new KyveWebClient(client, account, aminoSigner, walletName);
return new KyveClient(client, account, aminoSigner);
}