UNPKG

@cosmos-kit/leap-extension

Version:
51 lines (50 loc) 2.47 kB
import { AminoSignResponse, OfflineAminoSigner, StdSignature, 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 LeapSignOptions { readonly preferNoSetFee?: boolean; readonly preferNoSetMemo?: boolean; readonly disableBalanceCheck?: boolean; } export interface Leap { defaultOptions: { sign?: LeapSignOptions; }; disconnect(): Promise<void>; enable(chainIds: string | string[]): Promise<void>; suggestToken(chainId: string, contractAddress: string): Promise<void>; suggestCW20Token(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?: LeapSignOptions): 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?: LeapSignOptions): Promise<DirectSignResponse>; signArbitrary(chainId: string, signer: string, data: string | Uint8Array): Promise<StdSignature>; getEnigmaPubKey(chainId: string): Promise<Uint8Array>; getEnigmaTxEncryptionKey(chainId: string, nonce: Uint8Array): Promise<Uint8Array>; enigmaEncrypt(chainId: string, contractCodeHash: string, msg: object): Promise<Uint8Array>; enigmaDecrypt(chainId: string, ciphertext: Uint8Array, nonce: Uint8Array): Promise<Uint8Array>; sendTx(chainId: string, tx: Uint8Array, mode: BroadcastMode): Promise<Uint8Array>; experimentalSuggestChain(chainInfo: ChainInfo): Promise<void>; }