UNPKG

@cosmos-kit/imtoken-extension

Version:
52 lines (51 loc) 2.5 kB
/// <reference types="long" /> 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 SignOptions { readonly preferNoSetFee?: boolean; readonly preferNoSetMemo?: boolean; readonly disableBalanceCheck?: boolean; } export interface IMToken { defaultOptions: { sign?: SignOptions; }; 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' | 'mobile-web'; 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?: SignOptions): 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?: SignOptions): 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>; }