@metamask/eth-simple-keyring
Version:
A simple standard interface for a series of Ethereum private keys.
37 lines • 1.71 kB
text/typescript
import { TypedTransaction } from "@ethereumjs/tx";
import { EIP7702Authorization, SignTypedDataVersion } from "@metamask/eth-sig-util";
import { Keyring } from "@metamask/keyring-utils";
import { Eip1024EncryptedData, Hex } from "@metamask/utils";
type KeyringOpt = {
withAppKeyOrigin?: string;
version?: SignTypedDataVersion | string;
};
export default class SimpleKeyring implements Keyring {
#private;
readonly type: string;
static type: string;
constructor(privateKeys?: string[]);
serialize(): Promise<string[]>;
deserialize(privateKeys: string[]): Promise<void>;
addAccounts(numAccounts?: number): Promise<Hex[]>;
getAccounts(): Promise<Hex[]>;
signTransaction(address: Hex, transaction: TypedTransaction, opts?: KeyringOpt): Promise<TypedTransaction>;
signEip7702Authorization(address: Hex, authorization: EIP7702Authorization, opts?: KeyringOpt): Promise<string>;
signMessage(address: Hex, data: string, opts?: {
withAppKeyOrigin: string;
validateMessage: boolean;
}): Promise<string>;
signPersonalMessage(address: Hex, msgHex: Hex, opts?: {
withAppKeyOrigin: string;
}): Promise<string>;
decryptMessage(withAccount: Hex, encryptedData: Eip1024EncryptedData): Promise<string>;
signTypedData(address: Hex, typedData: any, opts?: KeyringOpt): Promise<string>;
getEncryptionPublicKey(withAccount: Hex, opts?: KeyringOpt): Promise<string>;
getAppKeyAddress(address: Hex, origin: string): Promise<Hex>;
exportAccount(address: Hex, opts?: {
withAppKeyOrigin: string;
}): Promise<string>;
removeAccount(address: string): void;
}
export {};
//# sourceMappingURL=simple-keyring.d.mts.map