UNPKG

@cosmos-kit/fin-extension

Version:
45 lines (44 loc) 2.07 kB
/// <reference types="long" /> 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'; import type { StdSignature } from '@cosmjs/amino'; export interface Key { readonly name: string; readonly algo: string; readonly pubKey: Uint8Array; readonly address: Uint8Array; readonly bech32Address: string; readonly isNanoLedger: boolean; } export interface FinSignOptions { readonly preferNoSetFee?: boolean; readonly preferNoSetMemo?: boolean; readonly disableBalanceCheck?: boolean; } export interface Fin { 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?: FinSignOptions): 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?: FinSignOptions): Promise<DirectSignResponse>; sendTx(chainId: string, tx: Uint8Array, mode: BroadcastMode): Promise<Uint8Array>; signArbitrary(chainId: string, signer: string, data: string | Uint8Array): StdSignature | PromiseLike<StdSignature>; experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>; }