@metamask/keyring-api
Version:
MetaMask Keyring API
77 lines • 2.79 kB
text/typescript
import { type Infer } from "@metamask/superstruct";
/**
* Supported encoding formats for private keys.
*/
export declare enum PrivateKeyEncoding {
/**
* Hexadecimal encoding format.
*/
Hexadecimal = "hexadecimal",
/**
* Base58 encoding format.
*/
Base58 = "base58"
}
/**
* Struct for {@link PrivateKeyEncoding}.
*/
export declare const PrivateKeyEncodingStruct: import("@metamask/superstruct").Struct<"hexadecimal" | "base58", {
hexadecimal: "hexadecimal";
base58: "base58";
}>;
/**
* Struct for {@link ImportPrivateKeyFormat}.
*/
export declare const ImportPrivateKeyFormatStruct: import("@metamask/superstruct").Struct<{
encoding: "hexadecimal" | "base58";
type?: "eip155:eoa" | "eip155:erc4337" | "bip122:p2pkh" | "bip122:p2sh" | "bip122:p2wpkh" | "bip122:p2tr" | "solana:data-account" | "tron:eoa" | "any:account";
}, {
/**
* Format used to encode the private key as a string.
*/
encoding: import("@metamask/superstruct").Struct<"hexadecimal" | "base58", {
hexadecimal: "hexadecimal";
base58: "base58";
}>;
/**
* Type of the account to be created.
*
* This field is necessary when there is ambiguity about the type of account
* to be created from the private key. For example, in Bitcoin, a private key
* can be used to create multiple types of accounts, such as P2WPKH, or P2TR.
*/
type: import("@metamask/superstruct").ExactOptionalStruct<"eip155:eoa" | "eip155:erc4337" | "bip122:p2pkh" | "bip122:p2sh" | "bip122:p2wpkh" | "bip122:p2tr" | "solana:data-account" | "tron:eoa" | "any:account", {
"eip155:eoa": "eip155:eoa";
"eip155:erc4337": "eip155:erc4337";
"bip122:p2pkh": "bip122:p2pkh";
"bip122:p2sh": "bip122:p2sh";
"bip122:p2wpkh": "bip122:p2wpkh";
"bip122:p2tr": "bip122:p2tr";
"solana:data-account": "solana:data-account";
"tron:eoa": "tron:eoa";
"any:account": "any:account";
}>;
}>;
/**
* Represents the format for importing a private key into a keyring.
*/
export type ImportPrivateKeyFormat = Infer<typeof ImportPrivateKeyFormatStruct>;
/**
* Struct for {@link ExportPrivateKeyFormat}.
*/
export declare const ExportPrivateKeyFormatStruct: import("@metamask/superstruct").Struct<{
encoding: "hexadecimal" | "base58";
}, {
/**
* Format used to encode the private key as a string.
*/
encoding: import("@metamask/superstruct").Struct<"hexadecimal" | "base58", {
hexadecimal: "hexadecimal";
base58: "base58";
}>;
}>;
/**
* Represents the format for exporting a private key from a keyring.
*/
export type ExportPrivateKeyFormat = Infer<typeof ExportPrivateKeyFormatStruct>;
//# sourceMappingURL=private-key.d.cts.map