UNPKG

@cosmos-kit/ninji-extension

Version:
42 lines (41 loc) 1.88 kB
import { AminoSignResponse, OfflineAminoSigner, StdSignDoc } from '@cosmjs/amino'; import { OfflineDirectSigner, OfflineSigner } from '@cosmjs/proto-signing'; import { DirectSignResponse } from '@cosmjs/proto-signing'; import { BroadcastMode } from '@cosmos-kit/core'; import type { ChainInfo } from '@keplr-wallet/types'; export interface Key { readonly name: string; readonly algo: string; readonly pubKey: Uint8Array; readonly address: Uint8Array; readonly bech32Address: string; readonly isNanoLedger: boolean; } export interface NinjiSignOptions { readonly preferNoSetFee?: boolean; readonly preferNoSetMemo?: boolean; readonly disableBalanceCheck?: boolean; } export interface Ninji { disconnect(): Promise<void>; enable(chainIds: string | string[]): Promise<void>; suggestToken(chainId: string, contractAddress: string): Promise<void>; mode: 'extension'; getKey(chainId: string): Promise<Key>; getOfflineSigner(chainId: string): OfflineAminoSigner & OfflineDirectSigner; getOfflineSignerOnlyAmino(chainId: string): OfflineAminoSigner; getOfflineSignerAuto(chainId: string): Promise<OfflineSigner>; signAmino(chainId: string, signer: string, signDoc: StdSignDoc, signOptions?: NinjiSignOptions): Promise<AminoSignResponse>; signDirect(chainId: string, signer: string, signDoc: { /** SignDoc bodyBytes */ bodyBytes?: Uint8Array | null; /** SignDoc authInfoBytes */ authInfoBytes?: Uint8Array | null; /** SignDoc chainId */ chainId?: string | null; /** SignDoc accountNumber */ accountNumber?: Long | null; }, signOptions?: NinjiSignOptions): Promise<DirectSignResponse>; sendTx(chainId: string, tx: Uint8Array, mode: BroadcastMode): Promise<Uint8Array>; experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>; }