@thorwallet/xchain-ethereum
Version:
Ethereum client for XChainJS
33 lines (32 loc) • 2.09 kB
TypeScript
import { Provider, TransactionRequest } from '@ethersproject/abstract-provider';
import { ExternallyOwnedAccount, Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from '@ethersproject/abstract-signer';
import { Bytes, BytesLike, SignatureLike } from '@ethersproject/bytes';
import { SigningKey } from '@ethersproject/signing-key';
import { ProgressCallback } from '@ethersproject/json-wallets';
import { Wordlist } from '@ethersproject/wordlists';
import { Mnemonic } from '../hdnode/hdnode';
export declare class Wallet extends Signer implements ExternallyOwnedAccount, TypedDataSigner {
readonly address: string;
readonly provider: Provider;
readonly _signingKey: () => SigningKey;
readonly _mnemonic: () => Mnemonic;
constructor(privateKey: BytesLike | ExternallyOwnedAccount | SigningKey, provider?: Provider);
get mnemonic(): Mnemonic;
get privateKey(): string;
get publicKey(): string;
getAddress(): Promise<string>;
connect(provider: Provider): Wallet;
signTransaction(transaction: TransactionRequest): Promise<string>;
signMessage(message: Bytes | string): Promise<string>;
_signTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, unknown>): Promise<string>;
encrypt(password: Bytes | string, options?: any, progressCallback?: ProgressCallback): Promise<string>;
/**
* Static methods to create Wallet instances.
*/
static createRandom(options?: any): Promise<Wallet>;
static fromEncryptedJson(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise<Wallet>;
static fromEncryptedJsonSync(json: string, password: Bytes | string): Wallet;
static fromMnemonic(mnemonic: string, path?: string, wordlist?: Wordlist): Promise<Wallet>;
}
export declare function verifyMessage(message: Bytes | string, signature: SignatureLike): string;
export declare function verifyTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>, signature: SignatureLike): string;