Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@metamask/keyring-controller

Package Overview
Dependencies
Maintainers
3
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask/keyring-controller - npm Package Compare versions

Comparing version
25.2.0
to
25.3.0
+7
dist/KeyringController-method-action-types.cjs
"use strict";
/**
* This file is auto generated.
* Do not edit manually.
*/
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=KeyringController-method-action-types.cjs.map
{"version":3,"file":"KeyringController-method-action-types.cjs","sourceRoot":"","sources":["../src/KeyringController-method-action-types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { KeyringController } from './KeyringController';\n\n/**\n * Adds a new account to the default (first) HD seed phrase keyring.\n *\n * @param accountCount - Number of accounts before adding a new one, used to\n * make the method idempotent.\n * @returns Promise resolving to the added account address.\n */\nexport type KeyringControllerAddNewAccountAction = {\n type: `KeyringController:addNewAccount`;\n handler: KeyringController['addNewAccount'];\n};\n\n/**\n * Effectively the same as creating a new keychain then populating it\n * using the given seed phrase.\n *\n * @param password - Password to unlock keychain.\n * @param seed - A BIP39-compliant seed phrase as Uint8Array,\n * either as a string or an array of UTF-8 bytes that represent the string.\n * @returns Promise resolving when the operation ends successfully.\n */\nexport type KeyringControllerCreateNewVaultAndRestoreAction = {\n type: `KeyringController:createNewVaultAndRestore`;\n handler: KeyringController['createNewVaultAndRestore'];\n};\n\n/**\n * Create a new vault and primary keyring.\n *\n * This only works if keyrings are empty. If there is a pre-existing unlocked vault, calling this will have no effect.\n * If there is a pre-existing locked vault, it will be replaced.\n *\n * @param password - Password to unlock the new vault.\n * @returns Promise resolving when the operation ends successfully.\n */\nexport type KeyringControllerCreateNewVaultAndKeychainAction = {\n type: `KeyringController:createNewVaultAndKeychain`;\n handler: KeyringController['createNewVaultAndKeychain'];\n};\n\n/**\n * Adds a new keyring of the given `type`.\n *\n * @param type - Keyring type name.\n * @param opts - Keyring options.\n * @throws If a builder for the given `type` does not exist.\n * @returns Promise resolving to the new keyring metadata.\n */\nexport type KeyringControllerAddNewKeyringAction = {\n type: `KeyringController:addNewKeyring`;\n handler: KeyringController['addNewKeyring'];\n};\n\n/**\n * Returns the status of the vault.\n *\n * @returns Boolean returning true if the vault is unlocked.\n */\nexport type KeyringControllerIsUnlockedAction = {\n type: `KeyringController:isUnlocked`;\n handler: KeyringController['isUnlocked'];\n};\n\n/**\n * Gets the seed phrase of the HD keyring.\n *\n * @param password - Password of the keyring.\n * @param keyringId - The id of the keyring.\n * @returns Promise resolving to the seed phrase.\n */\nexport type KeyringControllerExportSeedPhraseAction = {\n type: `KeyringController:exportSeedPhrase`;\n handler: KeyringController['exportSeedPhrase'];\n};\n\n/**\n * Returns the public addresses of all accounts from every keyring.\n *\n * @returns A promise resolving to an array of addresses.\n */\nexport type KeyringControllerGetAccountsAction = {\n type: `KeyringController:getAccounts`;\n handler: KeyringController['getAccounts'];\n};\n\n/**\n * Get encryption public key.\n *\n * @param account - An account address.\n * @param opts - Additional encryption options.\n * @throws If the `account` does not exist or does not support the `getEncryptionPublicKey` method\n * @returns Promise resolving to encyption public key of the `account` if one exists.\n */\nexport type KeyringControllerGetEncryptionPublicKeyAction = {\n type: `KeyringController:getEncryptionPublicKey`;\n handler: KeyringController['getEncryptionPublicKey'];\n};\n\n/**\n * Attempts to decrypt the provided message parameters.\n *\n * @param messageParams - The decryption message parameters.\n * @param messageParams.from - The address of the account you want to use to decrypt the message.\n * @param messageParams.data - The encrypted data that you want to decrypt.\n * @returns The raw decryption result.\n */\nexport type KeyringControllerDecryptMessageAction = {\n type: `KeyringController:decryptMessage`;\n handler: KeyringController['decryptMessage'];\n};\n\n/**\n * Returns the currently initialized keyring that manages\n * the specified `address` if one exists.\n *\n * @deprecated Use of this method is discouraged as actions executed directly on\n * keyrings are not being reflected in the KeyringController state and not\n * persisted in the vault. Use `withKeyring` instead.\n * @param account - An account address.\n * @returns Promise resolving to keyring of the `account` if one exists.\n */\nexport type KeyringControllerGetKeyringForAccountAction = {\n type: `KeyringController:getKeyringForAccount`;\n handler: KeyringController['getKeyringForAccount'];\n};\n\n/**\n * Returns all keyrings of the given type.\n *\n * @deprecated Use of this method is discouraged as actions executed directly on\n * keyrings are not being reflected in the KeyringController state and not\n * persisted in the vault. Use `withKeyring` instead.\n * @param type - Keyring type name.\n * @returns An array of keyrings of the given type.\n */\nexport type KeyringControllerGetKeyringsByTypeAction = {\n type: `KeyringController:getKeyringsByType`;\n handler: KeyringController['getKeyringsByType'];\n};\n\n/**\n * Persist all serialized keyrings in the vault.\n *\n * @deprecated This method is being phased out in favor of `withKeyring`.\n * @returns Promise resolving with `true` value when the\n * operation completes.\n */\nexport type KeyringControllerPersistAllKeyringsAction = {\n type: `KeyringController:persistAllKeyrings`;\n handler: KeyringController['persistAllKeyrings'];\n};\n\n/**\n * Removes an account from keyring state.\n *\n * @param address - Address of the account to remove.\n * @fires KeyringController:accountRemoved\n * @returns Promise resolving when the account is removed.\n */\nexport type KeyringControllerRemoveAccountAction = {\n type: `KeyringController:removeAccount`;\n handler: KeyringController['removeAccount'];\n};\n\n/**\n * Signs message by calling down into a specific keyring.\n *\n * @param messageParams - PersonalMessageParams object to sign.\n * @returns Promise resolving to a signed message string.\n */\nexport type KeyringControllerSignMessageAction = {\n type: `KeyringController:signMessage`;\n handler: KeyringController['signMessage'];\n};\n\n/**\n * Signs EIP-7702 Authorization message by calling down into a specific keyring.\n *\n * @param params - EIP7702AuthorizationParams object to sign.\n * @returns Promise resolving to an EIP-7702 Authorization signature.\n * @throws Will throw UnsupportedSignEIP7702Authorization if the keyring does not support signing EIP-7702 Authorization messages.\n */\nexport type KeyringControllerSignEip7702AuthorizationAction = {\n type: `KeyringController:signEip7702Authorization`;\n handler: KeyringController['signEip7702Authorization'];\n};\n\n/**\n * Signs personal message by calling down into a specific keyring.\n *\n * @param messageParams - PersonalMessageParams object to sign.\n * @returns Promise resolving to a signed message string.\n */\nexport type KeyringControllerSignPersonalMessageAction = {\n type: `KeyringController:signPersonalMessage`;\n handler: KeyringController['signPersonalMessage'];\n};\n\n/**\n * Signs typed message by calling down into a specific keyring.\n *\n * @param messageParams - TypedMessageParams object to sign.\n * @param version - Compatibility version EIP712.\n * @throws Will throw when passed an unrecognized version.\n * @returns Promise resolving to a signed message string or an error if any.\n */\nexport type KeyringControllerSignTypedMessageAction = {\n type: `KeyringController:signTypedMessage`;\n handler: KeyringController['signTypedMessage'];\n};\n\n/**\n * Signs a transaction by calling down into a specific keyring.\n *\n * @param transaction - Transaction object to sign. Must be a `ethereumjs-tx` transaction instance.\n * @param from - Address to sign from, should be in keychain.\n * @param opts - An optional options object.\n * @returns Promise resolving to a signed transaction string.\n */\nexport type KeyringControllerSignTransactionAction = {\n type: `KeyringController:signTransaction`;\n handler: KeyringController['signTransaction'];\n};\n\n/**\n * Convert a base transaction to a base UserOperation.\n *\n * @param from - Address of the sender.\n * @param transactions - Base transactions to include in the UserOperation.\n * @param executionContext - The execution context to use for the UserOperation.\n * @returns A pseudo-UserOperation that can be used to construct a real.\n */\nexport type KeyringControllerPrepareUserOperationAction = {\n type: `KeyringController:prepareUserOperation`;\n handler: KeyringController['prepareUserOperation'];\n};\n\n/**\n * Patches properties of a UserOperation. Currently, only the\n * `paymasterAndData` can be patched.\n *\n * @param from - Address of the sender.\n * @param userOp - UserOperation to patch.\n * @param executionContext - The execution context to use for the UserOperation.\n * @returns A patch to apply to the UserOperation.\n */\nexport type KeyringControllerPatchUserOperationAction = {\n type: `KeyringController:patchUserOperation`;\n handler: KeyringController['patchUserOperation'];\n};\n\n/**\n * Signs an UserOperation.\n *\n * @param from - Address of the sender.\n * @param userOp - UserOperation to sign.\n * @param executionContext - The execution context to use for the UserOperation.\n * @returns The signature of the UserOperation.\n */\nexport type KeyringControllerSignUserOperationAction = {\n type: `KeyringController:signUserOperation`;\n handler: KeyringController['signUserOperation'];\n};\n\n/**\n * Select a keyring and execute the given operation with\n * the selected keyring, as a mutually exclusive atomic\n * operation.\n *\n * The method automatically persists changes at the end of the\n * function execution, or rolls back the changes if an error\n * is thrown.\n *\n * @param selector - Keyring selector object.\n * @param operation - Function to execute with the selected keyring.\n * @param options - Additional options.\n * @param options.createIfMissing - Whether to create a new keyring if the selected one is missing.\n * @param options.createWithData - Optional data to use when creating a new keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template SelectedKeyring - The type of the selected keyring.\n * @template CallbackResult - The type of the value resolved by the callback function.\n * @deprecated This method overload is deprecated. Use `withKeyring` without options instead.\n */\nexport type KeyringControllerWithKeyringAction = {\n type: `KeyringController:withKeyring`;\n handler: KeyringController['withKeyring'];\n};\n\n/**\n * Select a keyring and execute the given operation with the selected\n * keyring, **without** acquiring the controller's mutual exclusion lock.\n *\n * ## When to use this method\n *\n * This method is an escape hatch for read-only access to keyring data that\n * is immutable once the keyring is initialized. A typical safe use case is\n * reading the `mnemonic` from an `HdKeyring`: the mnemonic is set during\n * `deserialize()` and never mutated afterwards, so it can safely be read\n * without holding the lock.\n *\n * ## Why it is \"unsafe\"\n *\n * The \"unsafe\" designation mirrors the semantics of `unsafe { }` blocks in\n * Rust: the method itself does not enforce thread-safety guarantees. By\n * calling this method the **caller** explicitly takes responsibility for\n * ensuring that:\n *\n * - The operation is **read-only** — no state is mutated.\n * - The data being read is **immutable** after the keyring is initialized,\n * so concurrent locked operations cannot alter it while this callback\n * runs.\n *\n * Do **not** use this method to:\n * - Mutate keyring state (add accounts, sign, etc.) — use `withKeyring`.\n * - Read mutable fields that could change during concurrent operations.\n *\n * @param selector - Keyring selector object.\n * @param operation - Read-only function to execute with the selected keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template SelectedKeyring - The type of the selected keyring.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithKeyringUnsafeAction = {\n type: `KeyringController:withKeyringUnsafe`;\n handler: KeyringController['withKeyringUnsafe'];\n};\n\n/**\n * Select a keyring using its `KeyringV2` adapter, and execute\n * the given operation with the wrapped keyring as a mutually\n * exclusive atomic operation.\n *\n * The cached `KeyringV2` adapter is retrieved from the keyring\n * entry.\n *\n * A `KeyringV2Builder` for the selected keyring's type must exist\n * (either as a default or registered via the `keyringV2Builders`\n * constructor option); otherwise an error is thrown.\n *\n * The method automatically persists changes at the end of the\n * function execution, or rolls back the changes if an error\n * is thrown.\n *\n * @param selector - Keyring selector object.\n * @param operation - Function to execute with the wrapped V2 keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithKeyringV2Action = {\n type: `KeyringController:withKeyringV2`;\n handler: KeyringController['withKeyringV2'];\n};\n\n/**\n * Select a keyring, wrap it in a `KeyringV2` adapter, and execute\n * the given read-only operation **without** acquiring the controller's\n * mutual exclusion lock.\n *\n * ## When to use this method\n *\n * This method is an escape hatch for read-only access to keyring data that\n * is immutable once the keyring is initialized. A typical safe use case is\n * reading immutable fields from a `KeyringV2` adapter: data that is set\n * during initialization and never mutated afterwards.\n *\n * ## Why it is \"unsafe\"\n *\n * The \"unsafe\" designation mirrors the semantics of `unsafe { }` blocks in\n * Rust: the method itself does not enforce thread-safety guarantees. By\n * calling this method the **caller** explicitly takes responsibility for\n * ensuring that:\n *\n * - The operation is **read-only** — no state is mutated.\n * - The data being read is **immutable** after the keyring is initialized,\n * so concurrent locked operations cannot alter it while this callback\n * runs.\n *\n * Do **not** use this method to:\n * - Mutate keyring state (add accounts, sign, etc.) — use `withKeyringV2`.\n * - Read mutable fields that could change during concurrent operations.\n *\n * @param selector - Keyring selector object.\n * @param operation - Read-only function to execute with the wrapped V2 keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template SelectedKeyring - The type of the selected V2 keyring.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithKeyringV2UnsafeAction = {\n type: `KeyringController:withKeyringV2Unsafe`;\n handler: KeyringController['withKeyringV2Unsafe'];\n};\n\n/**\n * Execute an operation against all keyrings as a mutually exclusive atomic\n * operation. The operation receives a {@link RestrictedController} instance\n * that exposes a read-only live view of all keyrings as well as\n * `addNewKeyring` and `removeKeyring` methods to stage mutations.\n *\n * The method automatically persists changes at the end of the function\n * execution, or rolls back the changes if an error is thrown.\n *\n * @param operation - Function to execute with the restricted controller.\n * @returns Promise resolving to the result of the function execution.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithControllerAction = {\n type: `KeyringController:withController`;\n handler: KeyringController['withController'];\n};\n\n/**\n * Union of all KeyringController action types.\n */\nexport type KeyringControllerMethodActions =\n | KeyringControllerAddNewAccountAction\n | KeyringControllerCreateNewVaultAndRestoreAction\n | KeyringControllerCreateNewVaultAndKeychainAction\n | KeyringControllerAddNewKeyringAction\n | KeyringControllerIsUnlockedAction\n | KeyringControllerExportSeedPhraseAction\n | KeyringControllerGetAccountsAction\n | KeyringControllerGetEncryptionPublicKeyAction\n | KeyringControllerDecryptMessageAction\n | KeyringControllerGetKeyringForAccountAction\n | KeyringControllerGetKeyringsByTypeAction\n | KeyringControllerPersistAllKeyringsAction\n | KeyringControllerRemoveAccountAction\n | KeyringControllerSignMessageAction\n | KeyringControllerSignEip7702AuthorizationAction\n | KeyringControllerSignPersonalMessageAction\n | KeyringControllerSignTypedMessageAction\n | KeyringControllerSignTransactionAction\n | KeyringControllerPrepareUserOperationAction\n | KeyringControllerPatchUserOperationAction\n | KeyringControllerSignUserOperationAction\n | KeyringControllerWithKeyringAction\n | KeyringControllerWithKeyringUnsafeAction\n | KeyringControllerWithKeyringV2Action\n | KeyringControllerWithKeyringV2UnsafeAction\n | KeyringControllerWithControllerAction;\n"]}
/**
* This file is auto generated.
* Do not edit manually.
*/
import type { KeyringController } from "./KeyringController.cjs";
/**
* Adds a new account to the default (first) HD seed phrase keyring.
*
* @param accountCount - Number of accounts before adding a new one, used to
* make the method idempotent.
* @returns Promise resolving to the added account address.
*/
export type KeyringControllerAddNewAccountAction = {
type: `KeyringController:addNewAccount`;
handler: KeyringController['addNewAccount'];
};
/**
* Effectively the same as creating a new keychain then populating it
* using the given seed phrase.
*
* @param password - Password to unlock keychain.
* @param seed - A BIP39-compliant seed phrase as Uint8Array,
* either as a string or an array of UTF-8 bytes that represent the string.
* @returns Promise resolving when the operation ends successfully.
*/
export type KeyringControllerCreateNewVaultAndRestoreAction = {
type: `KeyringController:createNewVaultAndRestore`;
handler: KeyringController['createNewVaultAndRestore'];
};
/**
* Create a new vault and primary keyring.
*
* This only works if keyrings are empty. If there is a pre-existing unlocked vault, calling this will have no effect.
* If there is a pre-existing locked vault, it will be replaced.
*
* @param password - Password to unlock the new vault.
* @returns Promise resolving when the operation ends successfully.
*/
export type KeyringControllerCreateNewVaultAndKeychainAction = {
type: `KeyringController:createNewVaultAndKeychain`;
handler: KeyringController['createNewVaultAndKeychain'];
};
/**
* Adds a new keyring of the given `type`.
*
* @param type - Keyring type name.
* @param opts - Keyring options.
* @throws If a builder for the given `type` does not exist.
* @returns Promise resolving to the new keyring metadata.
*/
export type KeyringControllerAddNewKeyringAction = {
type: `KeyringController:addNewKeyring`;
handler: KeyringController['addNewKeyring'];
};
/**
* Returns the status of the vault.
*
* @returns Boolean returning true if the vault is unlocked.
*/
export type KeyringControllerIsUnlockedAction = {
type: `KeyringController:isUnlocked`;
handler: KeyringController['isUnlocked'];
};
/**
* Gets the seed phrase of the HD keyring.
*
* @param password - Password of the keyring.
* @param keyringId - The id of the keyring.
* @returns Promise resolving to the seed phrase.
*/
export type KeyringControllerExportSeedPhraseAction = {
type: `KeyringController:exportSeedPhrase`;
handler: KeyringController['exportSeedPhrase'];
};
/**
* Returns the public addresses of all accounts from every keyring.
*
* @returns A promise resolving to an array of addresses.
*/
export type KeyringControllerGetAccountsAction = {
type: `KeyringController:getAccounts`;
handler: KeyringController['getAccounts'];
};
/**
* Get encryption public key.
*
* @param account - An account address.
* @param opts - Additional encryption options.
* @throws If the `account` does not exist or does not support the `getEncryptionPublicKey` method
* @returns Promise resolving to encyption public key of the `account` if one exists.
*/
export type KeyringControllerGetEncryptionPublicKeyAction = {
type: `KeyringController:getEncryptionPublicKey`;
handler: KeyringController['getEncryptionPublicKey'];
};
/**
* Attempts to decrypt the provided message parameters.
*
* @param messageParams - The decryption message parameters.
* @param messageParams.from - The address of the account you want to use to decrypt the message.
* @param messageParams.data - The encrypted data that you want to decrypt.
* @returns The raw decryption result.
*/
export type KeyringControllerDecryptMessageAction = {
type: `KeyringController:decryptMessage`;
handler: KeyringController['decryptMessage'];
};
/**
* Returns the currently initialized keyring that manages
* the specified `address` if one exists.
*
* @deprecated Use of this method is discouraged as actions executed directly on
* keyrings are not being reflected in the KeyringController state and not
* persisted in the vault. Use `withKeyring` instead.
* @param account - An account address.
* @returns Promise resolving to keyring of the `account` if one exists.
*/
export type KeyringControllerGetKeyringForAccountAction = {
type: `KeyringController:getKeyringForAccount`;
handler: KeyringController['getKeyringForAccount'];
};
/**
* Returns all keyrings of the given type.
*
* @deprecated Use of this method is discouraged as actions executed directly on
* keyrings are not being reflected in the KeyringController state and not
* persisted in the vault. Use `withKeyring` instead.
* @param type - Keyring type name.
* @returns An array of keyrings of the given type.
*/
export type KeyringControllerGetKeyringsByTypeAction = {
type: `KeyringController:getKeyringsByType`;
handler: KeyringController['getKeyringsByType'];
};
/**
* Persist all serialized keyrings in the vault.
*
* @deprecated This method is being phased out in favor of `withKeyring`.
* @returns Promise resolving with `true` value when the
* operation completes.
*/
export type KeyringControllerPersistAllKeyringsAction = {
type: `KeyringController:persistAllKeyrings`;
handler: KeyringController['persistAllKeyrings'];
};
/**
* Removes an account from keyring state.
*
* @param address - Address of the account to remove.
* @fires KeyringController:accountRemoved
* @returns Promise resolving when the account is removed.
*/
export type KeyringControllerRemoveAccountAction = {
type: `KeyringController:removeAccount`;
handler: KeyringController['removeAccount'];
};
/**
* Signs message by calling down into a specific keyring.
*
* @param messageParams - PersonalMessageParams object to sign.
* @returns Promise resolving to a signed message string.
*/
export type KeyringControllerSignMessageAction = {
type: `KeyringController:signMessage`;
handler: KeyringController['signMessage'];
};
/**
* Signs EIP-7702 Authorization message by calling down into a specific keyring.
*
* @param params - EIP7702AuthorizationParams object to sign.
* @returns Promise resolving to an EIP-7702 Authorization signature.
* @throws Will throw UnsupportedSignEIP7702Authorization if the keyring does not support signing EIP-7702 Authorization messages.
*/
export type KeyringControllerSignEip7702AuthorizationAction = {
type: `KeyringController:signEip7702Authorization`;
handler: KeyringController['signEip7702Authorization'];
};
/**
* Signs personal message by calling down into a specific keyring.
*
* @param messageParams - PersonalMessageParams object to sign.
* @returns Promise resolving to a signed message string.
*/
export type KeyringControllerSignPersonalMessageAction = {
type: `KeyringController:signPersonalMessage`;
handler: KeyringController['signPersonalMessage'];
};
/**
* Signs typed message by calling down into a specific keyring.
*
* @param messageParams - TypedMessageParams object to sign.
* @param version - Compatibility version EIP712.
* @throws Will throw when passed an unrecognized version.
* @returns Promise resolving to a signed message string or an error if any.
*/
export type KeyringControllerSignTypedMessageAction = {
type: `KeyringController:signTypedMessage`;
handler: KeyringController['signTypedMessage'];
};
/**
* Signs a transaction by calling down into a specific keyring.
*
* @param transaction - Transaction object to sign. Must be a `ethereumjs-tx` transaction instance.
* @param from - Address to sign from, should be in keychain.
* @param opts - An optional options object.
* @returns Promise resolving to a signed transaction string.
*/
export type KeyringControllerSignTransactionAction = {
type: `KeyringController:signTransaction`;
handler: KeyringController['signTransaction'];
};
/**
* Convert a base transaction to a base UserOperation.
*
* @param from - Address of the sender.
* @param transactions - Base transactions to include in the UserOperation.
* @param executionContext - The execution context to use for the UserOperation.
* @returns A pseudo-UserOperation that can be used to construct a real.
*/
export type KeyringControllerPrepareUserOperationAction = {
type: `KeyringController:prepareUserOperation`;
handler: KeyringController['prepareUserOperation'];
};
/**
* Patches properties of a UserOperation. Currently, only the
* `paymasterAndData` can be patched.
*
* @param from - Address of the sender.
* @param userOp - UserOperation to patch.
* @param executionContext - The execution context to use for the UserOperation.
* @returns A patch to apply to the UserOperation.
*/
export type KeyringControllerPatchUserOperationAction = {
type: `KeyringController:patchUserOperation`;
handler: KeyringController['patchUserOperation'];
};
/**
* Signs an UserOperation.
*
* @param from - Address of the sender.
* @param userOp - UserOperation to sign.
* @param executionContext - The execution context to use for the UserOperation.
* @returns The signature of the UserOperation.
*/
export type KeyringControllerSignUserOperationAction = {
type: `KeyringController:signUserOperation`;
handler: KeyringController['signUserOperation'];
};
/**
* Select a keyring and execute the given operation with
* the selected keyring, as a mutually exclusive atomic
* operation.
*
* The method automatically persists changes at the end of the
* function execution, or rolls back the changes if an error
* is thrown.
*
* @param selector - Keyring selector object.
* @param operation - Function to execute with the selected keyring.
* @param options - Additional options.
* @param options.createIfMissing - Whether to create a new keyring if the selected one is missing.
* @param options.createWithData - Optional data to use when creating a new keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
* @deprecated This method overload is deprecated. Use `withKeyring` without options instead.
*/
export type KeyringControllerWithKeyringAction = {
type: `KeyringController:withKeyring`;
handler: KeyringController['withKeyring'];
};
/**
* Select a keyring and execute the given operation with the selected
* keyring, **without** acquiring the controller's mutual exclusion lock.
*
* ## When to use this method
*
* This method is an escape hatch for read-only access to keyring data that
* is immutable once the keyring is initialized. A typical safe use case is
* reading the `mnemonic` from an `HdKeyring`: the mnemonic is set during
* `deserialize()` and never mutated afterwards, so it can safely be read
* without holding the lock.
*
* ## Why it is "unsafe"
*
* The "unsafe" designation mirrors the semantics of `unsafe { }` blocks in
* Rust: the method itself does not enforce thread-safety guarantees. By
* calling this method the **caller** explicitly takes responsibility for
* ensuring that:
*
* - The operation is **read-only** — no state is mutated.
* - The data being read is **immutable** after the keyring is initialized,
* so concurrent locked operations cannot alter it while this callback
* runs.
*
* Do **not** use this method to:
* - Mutate keyring state (add accounts, sign, etc.) — use `withKeyring`.
* - Read mutable fields that could change during concurrent operations.
*
* @param selector - Keyring selector object.
* @param operation - Read-only function to execute with the selected keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithKeyringUnsafeAction = {
type: `KeyringController:withKeyringUnsafe`;
handler: KeyringController['withKeyringUnsafe'];
};
/**
* Select a keyring using its `KeyringV2` adapter, and execute
* the given operation with the wrapped keyring as a mutually
* exclusive atomic operation.
*
* The cached `KeyringV2` adapter is retrieved from the keyring
* entry.
*
* A `KeyringV2Builder` for the selected keyring's type must exist
* (either as a default or registered via the `keyringV2Builders`
* constructor option); otherwise an error is thrown.
*
* The method automatically persists changes at the end of the
* function execution, or rolls back the changes if an error
* is thrown.
*
* @param selector - Keyring selector object.
* @param operation - Function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithKeyringV2Action = {
type: `KeyringController:withKeyringV2`;
handler: KeyringController['withKeyringV2'];
};
/**
* Select a keyring, wrap it in a `KeyringV2` adapter, and execute
* the given read-only operation **without** acquiring the controller's
* mutual exclusion lock.
*
* ## When to use this method
*
* This method is an escape hatch for read-only access to keyring data that
* is immutable once the keyring is initialized. A typical safe use case is
* reading immutable fields from a `KeyringV2` adapter: data that is set
* during initialization and never mutated afterwards.
*
* ## Why it is "unsafe"
*
* The "unsafe" designation mirrors the semantics of `unsafe { }` blocks in
* Rust: the method itself does not enforce thread-safety guarantees. By
* calling this method the **caller** explicitly takes responsibility for
* ensuring that:
*
* - The operation is **read-only** — no state is mutated.
* - The data being read is **immutable** after the keyring is initialized,
* so concurrent locked operations cannot alter it while this callback
* runs.
*
* Do **not** use this method to:
* - Mutate keyring state (add accounts, sign, etc.) — use `withKeyringV2`.
* - Read mutable fields that could change during concurrent operations.
*
* @param selector - Keyring selector object.
* @param operation - Read-only function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected V2 keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithKeyringV2UnsafeAction = {
type: `KeyringController:withKeyringV2Unsafe`;
handler: KeyringController['withKeyringV2Unsafe'];
};
/**
* Execute an operation against all keyrings as a mutually exclusive atomic
* operation. The operation receives a {@link RestrictedController} instance
* that exposes a read-only live view of all keyrings as well as
* `addNewKeyring` and `removeKeyring` methods to stage mutations.
*
* The method automatically persists changes at the end of the function
* execution, or rolls back the changes if an error is thrown.
*
* @param operation - Function to execute with the restricted controller.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithControllerAction = {
type: `KeyringController:withController`;
handler: KeyringController['withController'];
};
/**
* Union of all KeyringController action types.
*/
export type KeyringControllerMethodActions = KeyringControllerAddNewAccountAction | KeyringControllerCreateNewVaultAndRestoreAction | KeyringControllerCreateNewVaultAndKeychainAction | KeyringControllerAddNewKeyringAction | KeyringControllerIsUnlockedAction | KeyringControllerExportSeedPhraseAction | KeyringControllerGetAccountsAction | KeyringControllerGetEncryptionPublicKeyAction | KeyringControllerDecryptMessageAction | KeyringControllerGetKeyringForAccountAction | KeyringControllerGetKeyringsByTypeAction | KeyringControllerPersistAllKeyringsAction | KeyringControllerRemoveAccountAction | KeyringControllerSignMessageAction | KeyringControllerSignEip7702AuthorizationAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerSignTransactionAction | KeyringControllerPrepareUserOperationAction | KeyringControllerPatchUserOperationAction | KeyringControllerSignUserOperationAction | KeyringControllerWithKeyringAction | KeyringControllerWithKeyringUnsafeAction | KeyringControllerWithKeyringV2Action | KeyringControllerWithKeyringV2UnsafeAction | KeyringControllerWithControllerAction;
//# sourceMappingURL=KeyringController-method-action-types.d.cts.map
{"version":3,"file":"KeyringController-method-action-types.d.cts","sourceRoot":"","sources":["../src/KeyringController-method-action-types.ts"],"names":[],"mappings":"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"}
/**
* This file is auto generated.
* Do not edit manually.
*/
import type { KeyringController } from "./KeyringController.mjs";
/**
* Adds a new account to the default (first) HD seed phrase keyring.
*
* @param accountCount - Number of accounts before adding a new one, used to
* make the method idempotent.
* @returns Promise resolving to the added account address.
*/
export type KeyringControllerAddNewAccountAction = {
type: `KeyringController:addNewAccount`;
handler: KeyringController['addNewAccount'];
};
/**
* Effectively the same as creating a new keychain then populating it
* using the given seed phrase.
*
* @param password - Password to unlock keychain.
* @param seed - A BIP39-compliant seed phrase as Uint8Array,
* either as a string or an array of UTF-8 bytes that represent the string.
* @returns Promise resolving when the operation ends successfully.
*/
export type KeyringControllerCreateNewVaultAndRestoreAction = {
type: `KeyringController:createNewVaultAndRestore`;
handler: KeyringController['createNewVaultAndRestore'];
};
/**
* Create a new vault and primary keyring.
*
* This only works if keyrings are empty. If there is a pre-existing unlocked vault, calling this will have no effect.
* If there is a pre-existing locked vault, it will be replaced.
*
* @param password - Password to unlock the new vault.
* @returns Promise resolving when the operation ends successfully.
*/
export type KeyringControllerCreateNewVaultAndKeychainAction = {
type: `KeyringController:createNewVaultAndKeychain`;
handler: KeyringController['createNewVaultAndKeychain'];
};
/**
* Adds a new keyring of the given `type`.
*
* @param type - Keyring type name.
* @param opts - Keyring options.
* @throws If a builder for the given `type` does not exist.
* @returns Promise resolving to the new keyring metadata.
*/
export type KeyringControllerAddNewKeyringAction = {
type: `KeyringController:addNewKeyring`;
handler: KeyringController['addNewKeyring'];
};
/**
* Returns the status of the vault.
*
* @returns Boolean returning true if the vault is unlocked.
*/
export type KeyringControllerIsUnlockedAction = {
type: `KeyringController:isUnlocked`;
handler: KeyringController['isUnlocked'];
};
/**
* Gets the seed phrase of the HD keyring.
*
* @param password - Password of the keyring.
* @param keyringId - The id of the keyring.
* @returns Promise resolving to the seed phrase.
*/
export type KeyringControllerExportSeedPhraseAction = {
type: `KeyringController:exportSeedPhrase`;
handler: KeyringController['exportSeedPhrase'];
};
/**
* Returns the public addresses of all accounts from every keyring.
*
* @returns A promise resolving to an array of addresses.
*/
export type KeyringControllerGetAccountsAction = {
type: `KeyringController:getAccounts`;
handler: KeyringController['getAccounts'];
};
/**
* Get encryption public key.
*
* @param account - An account address.
* @param opts - Additional encryption options.
* @throws If the `account` does not exist or does not support the `getEncryptionPublicKey` method
* @returns Promise resolving to encyption public key of the `account` if one exists.
*/
export type KeyringControllerGetEncryptionPublicKeyAction = {
type: `KeyringController:getEncryptionPublicKey`;
handler: KeyringController['getEncryptionPublicKey'];
};
/**
* Attempts to decrypt the provided message parameters.
*
* @param messageParams - The decryption message parameters.
* @param messageParams.from - The address of the account you want to use to decrypt the message.
* @param messageParams.data - The encrypted data that you want to decrypt.
* @returns The raw decryption result.
*/
export type KeyringControllerDecryptMessageAction = {
type: `KeyringController:decryptMessage`;
handler: KeyringController['decryptMessage'];
};
/**
* Returns the currently initialized keyring that manages
* the specified `address` if one exists.
*
* @deprecated Use of this method is discouraged as actions executed directly on
* keyrings are not being reflected in the KeyringController state and not
* persisted in the vault. Use `withKeyring` instead.
* @param account - An account address.
* @returns Promise resolving to keyring of the `account` if one exists.
*/
export type KeyringControllerGetKeyringForAccountAction = {
type: `KeyringController:getKeyringForAccount`;
handler: KeyringController['getKeyringForAccount'];
};
/**
* Returns all keyrings of the given type.
*
* @deprecated Use of this method is discouraged as actions executed directly on
* keyrings are not being reflected in the KeyringController state and not
* persisted in the vault. Use `withKeyring` instead.
* @param type - Keyring type name.
* @returns An array of keyrings of the given type.
*/
export type KeyringControllerGetKeyringsByTypeAction = {
type: `KeyringController:getKeyringsByType`;
handler: KeyringController['getKeyringsByType'];
};
/**
* Persist all serialized keyrings in the vault.
*
* @deprecated This method is being phased out in favor of `withKeyring`.
* @returns Promise resolving with `true` value when the
* operation completes.
*/
export type KeyringControllerPersistAllKeyringsAction = {
type: `KeyringController:persistAllKeyrings`;
handler: KeyringController['persistAllKeyrings'];
};
/**
* Removes an account from keyring state.
*
* @param address - Address of the account to remove.
* @fires KeyringController:accountRemoved
* @returns Promise resolving when the account is removed.
*/
export type KeyringControllerRemoveAccountAction = {
type: `KeyringController:removeAccount`;
handler: KeyringController['removeAccount'];
};
/**
* Signs message by calling down into a specific keyring.
*
* @param messageParams - PersonalMessageParams object to sign.
* @returns Promise resolving to a signed message string.
*/
export type KeyringControllerSignMessageAction = {
type: `KeyringController:signMessage`;
handler: KeyringController['signMessage'];
};
/**
* Signs EIP-7702 Authorization message by calling down into a specific keyring.
*
* @param params - EIP7702AuthorizationParams object to sign.
* @returns Promise resolving to an EIP-7702 Authorization signature.
* @throws Will throw UnsupportedSignEIP7702Authorization if the keyring does not support signing EIP-7702 Authorization messages.
*/
export type KeyringControllerSignEip7702AuthorizationAction = {
type: `KeyringController:signEip7702Authorization`;
handler: KeyringController['signEip7702Authorization'];
};
/**
* Signs personal message by calling down into a specific keyring.
*
* @param messageParams - PersonalMessageParams object to sign.
* @returns Promise resolving to a signed message string.
*/
export type KeyringControllerSignPersonalMessageAction = {
type: `KeyringController:signPersonalMessage`;
handler: KeyringController['signPersonalMessage'];
};
/**
* Signs typed message by calling down into a specific keyring.
*
* @param messageParams - TypedMessageParams object to sign.
* @param version - Compatibility version EIP712.
* @throws Will throw when passed an unrecognized version.
* @returns Promise resolving to a signed message string or an error if any.
*/
export type KeyringControllerSignTypedMessageAction = {
type: `KeyringController:signTypedMessage`;
handler: KeyringController['signTypedMessage'];
};
/**
* Signs a transaction by calling down into a specific keyring.
*
* @param transaction - Transaction object to sign. Must be a `ethereumjs-tx` transaction instance.
* @param from - Address to sign from, should be in keychain.
* @param opts - An optional options object.
* @returns Promise resolving to a signed transaction string.
*/
export type KeyringControllerSignTransactionAction = {
type: `KeyringController:signTransaction`;
handler: KeyringController['signTransaction'];
};
/**
* Convert a base transaction to a base UserOperation.
*
* @param from - Address of the sender.
* @param transactions - Base transactions to include in the UserOperation.
* @param executionContext - The execution context to use for the UserOperation.
* @returns A pseudo-UserOperation that can be used to construct a real.
*/
export type KeyringControllerPrepareUserOperationAction = {
type: `KeyringController:prepareUserOperation`;
handler: KeyringController['prepareUserOperation'];
};
/**
* Patches properties of a UserOperation. Currently, only the
* `paymasterAndData` can be patched.
*
* @param from - Address of the sender.
* @param userOp - UserOperation to patch.
* @param executionContext - The execution context to use for the UserOperation.
* @returns A patch to apply to the UserOperation.
*/
export type KeyringControllerPatchUserOperationAction = {
type: `KeyringController:patchUserOperation`;
handler: KeyringController['patchUserOperation'];
};
/**
* Signs an UserOperation.
*
* @param from - Address of the sender.
* @param userOp - UserOperation to sign.
* @param executionContext - The execution context to use for the UserOperation.
* @returns The signature of the UserOperation.
*/
export type KeyringControllerSignUserOperationAction = {
type: `KeyringController:signUserOperation`;
handler: KeyringController['signUserOperation'];
};
/**
* Select a keyring and execute the given operation with
* the selected keyring, as a mutually exclusive atomic
* operation.
*
* The method automatically persists changes at the end of the
* function execution, or rolls back the changes if an error
* is thrown.
*
* @param selector - Keyring selector object.
* @param operation - Function to execute with the selected keyring.
* @param options - Additional options.
* @param options.createIfMissing - Whether to create a new keyring if the selected one is missing.
* @param options.createWithData - Optional data to use when creating a new keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
* @deprecated This method overload is deprecated. Use `withKeyring` without options instead.
*/
export type KeyringControllerWithKeyringAction = {
type: `KeyringController:withKeyring`;
handler: KeyringController['withKeyring'];
};
/**
* Select a keyring and execute the given operation with the selected
* keyring, **without** acquiring the controller's mutual exclusion lock.
*
* ## When to use this method
*
* This method is an escape hatch for read-only access to keyring data that
* is immutable once the keyring is initialized. A typical safe use case is
* reading the `mnemonic` from an `HdKeyring`: the mnemonic is set during
* `deserialize()` and never mutated afterwards, so it can safely be read
* without holding the lock.
*
* ## Why it is "unsafe"
*
* The "unsafe" designation mirrors the semantics of `unsafe { }` blocks in
* Rust: the method itself does not enforce thread-safety guarantees. By
* calling this method the **caller** explicitly takes responsibility for
* ensuring that:
*
* - The operation is **read-only** — no state is mutated.
* - The data being read is **immutable** after the keyring is initialized,
* so concurrent locked operations cannot alter it while this callback
* runs.
*
* Do **not** use this method to:
* - Mutate keyring state (add accounts, sign, etc.) — use `withKeyring`.
* - Read mutable fields that could change during concurrent operations.
*
* @param selector - Keyring selector object.
* @param operation - Read-only function to execute with the selected keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithKeyringUnsafeAction = {
type: `KeyringController:withKeyringUnsafe`;
handler: KeyringController['withKeyringUnsafe'];
};
/**
* Select a keyring using its `KeyringV2` adapter, and execute
* the given operation with the wrapped keyring as a mutually
* exclusive atomic operation.
*
* The cached `KeyringV2` adapter is retrieved from the keyring
* entry.
*
* A `KeyringV2Builder` for the selected keyring's type must exist
* (either as a default or registered via the `keyringV2Builders`
* constructor option); otherwise an error is thrown.
*
* The method automatically persists changes at the end of the
* function execution, or rolls back the changes if an error
* is thrown.
*
* @param selector - Keyring selector object.
* @param operation - Function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithKeyringV2Action = {
type: `KeyringController:withKeyringV2`;
handler: KeyringController['withKeyringV2'];
};
/**
* Select a keyring, wrap it in a `KeyringV2` adapter, and execute
* the given read-only operation **without** acquiring the controller's
* mutual exclusion lock.
*
* ## When to use this method
*
* This method is an escape hatch for read-only access to keyring data that
* is immutable once the keyring is initialized. A typical safe use case is
* reading immutable fields from a `KeyringV2` adapter: data that is set
* during initialization and never mutated afterwards.
*
* ## Why it is "unsafe"
*
* The "unsafe" designation mirrors the semantics of `unsafe { }` blocks in
* Rust: the method itself does not enforce thread-safety guarantees. By
* calling this method the **caller** explicitly takes responsibility for
* ensuring that:
*
* - The operation is **read-only** — no state is mutated.
* - The data being read is **immutable** after the keyring is initialized,
* so concurrent locked operations cannot alter it while this callback
* runs.
*
* Do **not** use this method to:
* - Mutate keyring state (add accounts, sign, etc.) — use `withKeyringV2`.
* - Read mutable fields that could change during concurrent operations.
*
* @param selector - Keyring selector object.
* @param operation - Read-only function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected V2 keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithKeyringV2UnsafeAction = {
type: `KeyringController:withKeyringV2Unsafe`;
handler: KeyringController['withKeyringV2Unsafe'];
};
/**
* Execute an operation against all keyrings as a mutually exclusive atomic
* operation. The operation receives a {@link RestrictedController} instance
* that exposes a read-only live view of all keyrings as well as
* `addNewKeyring` and `removeKeyring` methods to stage mutations.
*
* The method automatically persists changes at the end of the function
* execution, or rolls back the changes if an error is thrown.
*
* @param operation - Function to execute with the restricted controller.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
export type KeyringControllerWithControllerAction = {
type: `KeyringController:withController`;
handler: KeyringController['withController'];
};
/**
* Union of all KeyringController action types.
*/
export type KeyringControllerMethodActions = KeyringControllerAddNewAccountAction | KeyringControllerCreateNewVaultAndRestoreAction | KeyringControllerCreateNewVaultAndKeychainAction | KeyringControllerAddNewKeyringAction | KeyringControllerIsUnlockedAction | KeyringControllerExportSeedPhraseAction | KeyringControllerGetAccountsAction | KeyringControllerGetEncryptionPublicKeyAction | KeyringControllerDecryptMessageAction | KeyringControllerGetKeyringForAccountAction | KeyringControllerGetKeyringsByTypeAction | KeyringControllerPersistAllKeyringsAction | KeyringControllerRemoveAccountAction | KeyringControllerSignMessageAction | KeyringControllerSignEip7702AuthorizationAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerSignTransactionAction | KeyringControllerPrepareUserOperationAction | KeyringControllerPatchUserOperationAction | KeyringControllerSignUserOperationAction | KeyringControllerWithKeyringAction | KeyringControllerWithKeyringUnsafeAction | KeyringControllerWithKeyringV2Action | KeyringControllerWithKeyringV2UnsafeAction | KeyringControllerWithControllerAction;
//# sourceMappingURL=KeyringController-method-action-types.d.mts.map
{"version":3,"file":"KeyringController-method-action-types.d.mts","sourceRoot":"","sources":["../src/KeyringController-method-action-types.ts"],"names":[],"mappings":"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"}
/**
* This file is auto generated.
* Do not edit manually.
*/
export {};
//# sourceMappingURL=KeyringController-method-action-types.mjs.map
{"version":3,"file":"KeyringController-method-action-types.mjs","sourceRoot":"","sources":["../src/KeyringController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { KeyringController } from './KeyringController';\n\n/**\n * Adds a new account to the default (first) HD seed phrase keyring.\n *\n * @param accountCount - Number of accounts before adding a new one, used to\n * make the method idempotent.\n * @returns Promise resolving to the added account address.\n */\nexport type KeyringControllerAddNewAccountAction = {\n type: `KeyringController:addNewAccount`;\n handler: KeyringController['addNewAccount'];\n};\n\n/**\n * Effectively the same as creating a new keychain then populating it\n * using the given seed phrase.\n *\n * @param password - Password to unlock keychain.\n * @param seed - A BIP39-compliant seed phrase as Uint8Array,\n * either as a string or an array of UTF-8 bytes that represent the string.\n * @returns Promise resolving when the operation ends successfully.\n */\nexport type KeyringControllerCreateNewVaultAndRestoreAction = {\n type: `KeyringController:createNewVaultAndRestore`;\n handler: KeyringController['createNewVaultAndRestore'];\n};\n\n/**\n * Create a new vault and primary keyring.\n *\n * This only works if keyrings are empty. If there is a pre-existing unlocked vault, calling this will have no effect.\n * If there is a pre-existing locked vault, it will be replaced.\n *\n * @param password - Password to unlock the new vault.\n * @returns Promise resolving when the operation ends successfully.\n */\nexport type KeyringControllerCreateNewVaultAndKeychainAction = {\n type: `KeyringController:createNewVaultAndKeychain`;\n handler: KeyringController['createNewVaultAndKeychain'];\n};\n\n/**\n * Adds a new keyring of the given `type`.\n *\n * @param type - Keyring type name.\n * @param opts - Keyring options.\n * @throws If a builder for the given `type` does not exist.\n * @returns Promise resolving to the new keyring metadata.\n */\nexport type KeyringControllerAddNewKeyringAction = {\n type: `KeyringController:addNewKeyring`;\n handler: KeyringController['addNewKeyring'];\n};\n\n/**\n * Returns the status of the vault.\n *\n * @returns Boolean returning true if the vault is unlocked.\n */\nexport type KeyringControllerIsUnlockedAction = {\n type: `KeyringController:isUnlocked`;\n handler: KeyringController['isUnlocked'];\n};\n\n/**\n * Gets the seed phrase of the HD keyring.\n *\n * @param password - Password of the keyring.\n * @param keyringId - The id of the keyring.\n * @returns Promise resolving to the seed phrase.\n */\nexport type KeyringControllerExportSeedPhraseAction = {\n type: `KeyringController:exportSeedPhrase`;\n handler: KeyringController['exportSeedPhrase'];\n};\n\n/**\n * Returns the public addresses of all accounts from every keyring.\n *\n * @returns A promise resolving to an array of addresses.\n */\nexport type KeyringControllerGetAccountsAction = {\n type: `KeyringController:getAccounts`;\n handler: KeyringController['getAccounts'];\n};\n\n/**\n * Get encryption public key.\n *\n * @param account - An account address.\n * @param opts - Additional encryption options.\n * @throws If the `account` does not exist or does not support the `getEncryptionPublicKey` method\n * @returns Promise resolving to encyption public key of the `account` if one exists.\n */\nexport type KeyringControllerGetEncryptionPublicKeyAction = {\n type: `KeyringController:getEncryptionPublicKey`;\n handler: KeyringController['getEncryptionPublicKey'];\n};\n\n/**\n * Attempts to decrypt the provided message parameters.\n *\n * @param messageParams - The decryption message parameters.\n * @param messageParams.from - The address of the account you want to use to decrypt the message.\n * @param messageParams.data - The encrypted data that you want to decrypt.\n * @returns The raw decryption result.\n */\nexport type KeyringControllerDecryptMessageAction = {\n type: `KeyringController:decryptMessage`;\n handler: KeyringController['decryptMessage'];\n};\n\n/**\n * Returns the currently initialized keyring that manages\n * the specified `address` if one exists.\n *\n * @deprecated Use of this method is discouraged as actions executed directly on\n * keyrings are not being reflected in the KeyringController state and not\n * persisted in the vault. Use `withKeyring` instead.\n * @param account - An account address.\n * @returns Promise resolving to keyring of the `account` if one exists.\n */\nexport type KeyringControllerGetKeyringForAccountAction = {\n type: `KeyringController:getKeyringForAccount`;\n handler: KeyringController['getKeyringForAccount'];\n};\n\n/**\n * Returns all keyrings of the given type.\n *\n * @deprecated Use of this method is discouraged as actions executed directly on\n * keyrings are not being reflected in the KeyringController state and not\n * persisted in the vault. Use `withKeyring` instead.\n * @param type - Keyring type name.\n * @returns An array of keyrings of the given type.\n */\nexport type KeyringControllerGetKeyringsByTypeAction = {\n type: `KeyringController:getKeyringsByType`;\n handler: KeyringController['getKeyringsByType'];\n};\n\n/**\n * Persist all serialized keyrings in the vault.\n *\n * @deprecated This method is being phased out in favor of `withKeyring`.\n * @returns Promise resolving with `true` value when the\n * operation completes.\n */\nexport type KeyringControllerPersistAllKeyringsAction = {\n type: `KeyringController:persistAllKeyrings`;\n handler: KeyringController['persistAllKeyrings'];\n};\n\n/**\n * Removes an account from keyring state.\n *\n * @param address - Address of the account to remove.\n * @fires KeyringController:accountRemoved\n * @returns Promise resolving when the account is removed.\n */\nexport type KeyringControllerRemoveAccountAction = {\n type: `KeyringController:removeAccount`;\n handler: KeyringController['removeAccount'];\n};\n\n/**\n * Signs message by calling down into a specific keyring.\n *\n * @param messageParams - PersonalMessageParams object to sign.\n * @returns Promise resolving to a signed message string.\n */\nexport type KeyringControllerSignMessageAction = {\n type: `KeyringController:signMessage`;\n handler: KeyringController['signMessage'];\n};\n\n/**\n * Signs EIP-7702 Authorization message by calling down into a specific keyring.\n *\n * @param params - EIP7702AuthorizationParams object to sign.\n * @returns Promise resolving to an EIP-7702 Authorization signature.\n * @throws Will throw UnsupportedSignEIP7702Authorization if the keyring does not support signing EIP-7702 Authorization messages.\n */\nexport type KeyringControllerSignEip7702AuthorizationAction = {\n type: `KeyringController:signEip7702Authorization`;\n handler: KeyringController['signEip7702Authorization'];\n};\n\n/**\n * Signs personal message by calling down into a specific keyring.\n *\n * @param messageParams - PersonalMessageParams object to sign.\n * @returns Promise resolving to a signed message string.\n */\nexport type KeyringControllerSignPersonalMessageAction = {\n type: `KeyringController:signPersonalMessage`;\n handler: KeyringController['signPersonalMessage'];\n};\n\n/**\n * Signs typed message by calling down into a specific keyring.\n *\n * @param messageParams - TypedMessageParams object to sign.\n * @param version - Compatibility version EIP712.\n * @throws Will throw when passed an unrecognized version.\n * @returns Promise resolving to a signed message string or an error if any.\n */\nexport type KeyringControllerSignTypedMessageAction = {\n type: `KeyringController:signTypedMessage`;\n handler: KeyringController['signTypedMessage'];\n};\n\n/**\n * Signs a transaction by calling down into a specific keyring.\n *\n * @param transaction - Transaction object to sign. Must be a `ethereumjs-tx` transaction instance.\n * @param from - Address to sign from, should be in keychain.\n * @param opts - An optional options object.\n * @returns Promise resolving to a signed transaction string.\n */\nexport type KeyringControllerSignTransactionAction = {\n type: `KeyringController:signTransaction`;\n handler: KeyringController['signTransaction'];\n};\n\n/**\n * Convert a base transaction to a base UserOperation.\n *\n * @param from - Address of the sender.\n * @param transactions - Base transactions to include in the UserOperation.\n * @param executionContext - The execution context to use for the UserOperation.\n * @returns A pseudo-UserOperation that can be used to construct a real.\n */\nexport type KeyringControllerPrepareUserOperationAction = {\n type: `KeyringController:prepareUserOperation`;\n handler: KeyringController['prepareUserOperation'];\n};\n\n/**\n * Patches properties of a UserOperation. Currently, only the\n * `paymasterAndData` can be patched.\n *\n * @param from - Address of the sender.\n * @param userOp - UserOperation to patch.\n * @param executionContext - The execution context to use for the UserOperation.\n * @returns A patch to apply to the UserOperation.\n */\nexport type KeyringControllerPatchUserOperationAction = {\n type: `KeyringController:patchUserOperation`;\n handler: KeyringController['patchUserOperation'];\n};\n\n/**\n * Signs an UserOperation.\n *\n * @param from - Address of the sender.\n * @param userOp - UserOperation to sign.\n * @param executionContext - The execution context to use for the UserOperation.\n * @returns The signature of the UserOperation.\n */\nexport type KeyringControllerSignUserOperationAction = {\n type: `KeyringController:signUserOperation`;\n handler: KeyringController['signUserOperation'];\n};\n\n/**\n * Select a keyring and execute the given operation with\n * the selected keyring, as a mutually exclusive atomic\n * operation.\n *\n * The method automatically persists changes at the end of the\n * function execution, or rolls back the changes if an error\n * is thrown.\n *\n * @param selector - Keyring selector object.\n * @param operation - Function to execute with the selected keyring.\n * @param options - Additional options.\n * @param options.createIfMissing - Whether to create a new keyring if the selected one is missing.\n * @param options.createWithData - Optional data to use when creating a new keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template SelectedKeyring - The type of the selected keyring.\n * @template CallbackResult - The type of the value resolved by the callback function.\n * @deprecated This method overload is deprecated. Use `withKeyring` without options instead.\n */\nexport type KeyringControllerWithKeyringAction = {\n type: `KeyringController:withKeyring`;\n handler: KeyringController['withKeyring'];\n};\n\n/**\n * Select a keyring and execute the given operation with the selected\n * keyring, **without** acquiring the controller's mutual exclusion lock.\n *\n * ## When to use this method\n *\n * This method is an escape hatch for read-only access to keyring data that\n * is immutable once the keyring is initialized. A typical safe use case is\n * reading the `mnemonic` from an `HdKeyring`: the mnemonic is set during\n * `deserialize()` and never mutated afterwards, so it can safely be read\n * without holding the lock.\n *\n * ## Why it is \"unsafe\"\n *\n * The \"unsafe\" designation mirrors the semantics of `unsafe { }` blocks in\n * Rust: the method itself does not enforce thread-safety guarantees. By\n * calling this method the **caller** explicitly takes responsibility for\n * ensuring that:\n *\n * - The operation is **read-only** — no state is mutated.\n * - The data being read is **immutable** after the keyring is initialized,\n * so concurrent locked operations cannot alter it while this callback\n * runs.\n *\n * Do **not** use this method to:\n * - Mutate keyring state (add accounts, sign, etc.) — use `withKeyring`.\n * - Read mutable fields that could change during concurrent operations.\n *\n * @param selector - Keyring selector object.\n * @param operation - Read-only function to execute with the selected keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template SelectedKeyring - The type of the selected keyring.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithKeyringUnsafeAction = {\n type: `KeyringController:withKeyringUnsafe`;\n handler: KeyringController['withKeyringUnsafe'];\n};\n\n/**\n * Select a keyring using its `KeyringV2` adapter, and execute\n * the given operation with the wrapped keyring as a mutually\n * exclusive atomic operation.\n *\n * The cached `KeyringV2` adapter is retrieved from the keyring\n * entry.\n *\n * A `KeyringV2Builder` for the selected keyring's type must exist\n * (either as a default or registered via the `keyringV2Builders`\n * constructor option); otherwise an error is thrown.\n *\n * The method automatically persists changes at the end of the\n * function execution, or rolls back the changes if an error\n * is thrown.\n *\n * @param selector - Keyring selector object.\n * @param operation - Function to execute with the wrapped V2 keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithKeyringV2Action = {\n type: `KeyringController:withKeyringV2`;\n handler: KeyringController['withKeyringV2'];\n};\n\n/**\n * Select a keyring, wrap it in a `KeyringV2` adapter, and execute\n * the given read-only operation **without** acquiring the controller's\n * mutual exclusion lock.\n *\n * ## When to use this method\n *\n * This method is an escape hatch for read-only access to keyring data that\n * is immutable once the keyring is initialized. A typical safe use case is\n * reading immutable fields from a `KeyringV2` adapter: data that is set\n * during initialization and never mutated afterwards.\n *\n * ## Why it is \"unsafe\"\n *\n * The \"unsafe\" designation mirrors the semantics of `unsafe { }` blocks in\n * Rust: the method itself does not enforce thread-safety guarantees. By\n * calling this method the **caller** explicitly takes responsibility for\n * ensuring that:\n *\n * - The operation is **read-only** — no state is mutated.\n * - The data being read is **immutable** after the keyring is initialized,\n * so concurrent locked operations cannot alter it while this callback\n * runs.\n *\n * Do **not** use this method to:\n * - Mutate keyring state (add accounts, sign, etc.) — use `withKeyringV2`.\n * - Read mutable fields that could change during concurrent operations.\n *\n * @param selector - Keyring selector object.\n * @param operation - Read-only function to execute with the wrapped V2 keyring.\n * @returns Promise resolving to the result of the function execution.\n * @template SelectedKeyring - The type of the selected V2 keyring.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithKeyringV2UnsafeAction = {\n type: `KeyringController:withKeyringV2Unsafe`;\n handler: KeyringController['withKeyringV2Unsafe'];\n};\n\n/**\n * Execute an operation against all keyrings as a mutually exclusive atomic\n * operation. The operation receives a {@link RestrictedController} instance\n * that exposes a read-only live view of all keyrings as well as\n * `addNewKeyring` and `removeKeyring` methods to stage mutations.\n *\n * The method automatically persists changes at the end of the function\n * execution, or rolls back the changes if an error is thrown.\n *\n * @param operation - Function to execute with the restricted controller.\n * @returns Promise resolving to the result of the function execution.\n * @template CallbackResult - The type of the value resolved by the callback function.\n */\nexport type KeyringControllerWithControllerAction = {\n type: `KeyringController:withController`;\n handler: KeyringController['withController'];\n};\n\n/**\n * Union of all KeyringController action types.\n */\nexport type KeyringControllerMethodActions =\n | KeyringControllerAddNewAccountAction\n | KeyringControllerCreateNewVaultAndRestoreAction\n | KeyringControllerCreateNewVaultAndKeychainAction\n | KeyringControllerAddNewKeyringAction\n | KeyringControllerIsUnlockedAction\n | KeyringControllerExportSeedPhraseAction\n | KeyringControllerGetAccountsAction\n | KeyringControllerGetEncryptionPublicKeyAction\n | KeyringControllerDecryptMessageAction\n | KeyringControllerGetKeyringForAccountAction\n | KeyringControllerGetKeyringsByTypeAction\n | KeyringControllerPersistAllKeyringsAction\n | KeyringControllerRemoveAccountAction\n | KeyringControllerSignMessageAction\n | KeyringControllerSignEip7702AuthorizationAction\n | KeyringControllerSignPersonalMessageAction\n | KeyringControllerSignTypedMessageAction\n | KeyringControllerSignTransactionAction\n | KeyringControllerPrepareUserOperationAction\n | KeyringControllerPatchUserOperationAction\n | KeyringControllerSignUserOperationAction\n | KeyringControllerWithKeyringAction\n | KeyringControllerWithKeyringUnsafeAction\n | KeyringControllerWithKeyringV2Action\n | KeyringControllerWithKeyringV2UnsafeAction\n | KeyringControllerWithControllerAction;\n"]}
+44
-13

@@ -10,2 +10,34 @@ # Changelog

## [25.3.0]
### Added
- Expose `KeyringController:exportSeedPhrase` method through `KeyringController` messenger ([#8587](https://github.com/MetaMask/core/pull/8587))
- Expose `KeyringController:isUnlocked` method through `KeyringController` messenger ([#8573](https://github.com/MetaMask/core/pull/8573))
- Returns `true` when the vault is unlocked, `false` otherwise. Mirrors `state.isUnlocked` and the `isUnlocked()` instance method, allowing consumers to check lock status via the messenger without holding a controller reference.
- Add `withController` action to run atomic operations on multiple keyrings (within a single transaction) ([#8416](https://github.com/MetaMask/core/pull/8416))
- This action uses a `RestrictedController` object that exposes `addNewKeyring` and `removeKeyring` methods to add and remove keyring during the transaction (atomic) call.
- Expose `KeyringController:signTransaction` method through `KeyringController` messenger ([#8408](https://github.com/MetaMask/core/pull/8408))
- Persist vault when keyring state changes during unlock ([#8415](https://github.com/MetaMask/core/pull/8415))
- If a keyring's serialized state differs after deserialization (e.g. a migration ran, or metadata was missing), the vault is now re-persisted so the change is not lost on the next unlock.
- Added `KeyringV2` support ([#8390](https://github.com/MetaMask/core/pull/8390))
- The controller now maintains a list of `KeyringV2` instance in memory alongside previous `Keyring` instance.
- This new keyring interface is more generic and will become the new standard to interact with keyring (creating accounts, executing logic that involves accounts like signing, etc...).
- For now, most `KeyringV2` are wrappers (read adapters) around existing `Keyring` instance.
- Added `withKeyringV2Unsafe` method and `KeyringController:withKeyringV2Unsafe` messenger action for lock-free read-only access to `KeyringV2` adapters ([#8390](https://github.com/MetaMask/core/pull/8390))
- Mirrors `withKeyringUnsafe` semantics: no mutex acquired, no persistence or rollback.
- Caller is responsible for ensuring the operation is read-only and accesses only immutable keyring data.
- Added `withKeyringV2` method and `KeyringController:withKeyringV2` messenger action for atomic operations using the `KeyringV2` API ([#8390](https://github.com/MetaMask/core/pull/8390))
- Accepts a `KeyringSelectorV2` to select keyrings by `type`, `address`, `id`, or `filter`.
- Ships with default V2 builders for HD (`HdKeyringV2`) and Simple (`SimpleKeyringV2`) keyrings; additional builders can be registered via the `keyringV2Builders` constructor option.
### Changed
- Bump `@metamask/messenger` from `^1.0.0` to `^1.2.0` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373), [#8632](https://github.com/MetaMask/core/pull/8632))
- Bump `@metamask/base-controller` from `^9.0.1` to `^9.1.0` ([#8457](https://github.com/MetaMask/core/pull/8457))
- Bump `@metamask/eth-hd-keyring` from `^13.1.1` to `^14.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
- Bump `@metamask/eth-simple-keyring` from `^11.1.2` to `^12.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
- Bump `@metamask/keyring-api` from `^21.6.0` to `^23.0.1` ([#8464](https://github.com/MetaMask/core/pull/8464))
- Bump `@metamask/keyring-internal-api` from `^10.0.0` to `^11.0.0` ([#8464](https://github.com/MetaMask/core/pull/8464), [#8584](https://github.com/MetaMask/core/pull/8584))
## [25.2.0]

@@ -153,4 +185,4 @@

- Bump `@metamask/keyring-api` from `^18.0.0` to `^20.0.0` ([#6146](https://github.com/MetaMask/core/pull/6146)), ([#6248](https://github.com/MetaMask/core/pull/6248))
- Bump `@metamask/keyring-internal-api` from `^6.2.0` to `^8.0.0` ([#6146](https://github.com/MetaMask/core/pull/6146)), ([#6248](https://github.com/MetaMask/core/pull/6248))
- Bump `@metamask/keyring-api` from `^18.0.0` to `^20.0.0` ([#6146](https://github.com/MetaMask/core/pull/6146), [#6248](https://github.com/MetaMask/core/pull/6248))
- Bump `@metamask/keyring-internal-api` from `^6.2.0` to `^8.0.0` ([#6146](https://github.com/MetaMask/core/pull/6146), [#6248](https://github.com/MetaMask/core/pull/6248))
- Bump `@metamask/utils` from `^11.2.0` to `^11.4.2` ([#6054](https://github.com/MetaMask/core/pull/6054))

@@ -279,3 +311,3 @@

- Bump `@metamask/keyring-api"` from `^17.0.0` to `^17.2.0` ([#5366](https://github.com/MetaMask/core/pull/5366))
- Bump `@metamask/keyring-internal-api` from `^4.0.1` to `^4.0.3` ([#5356](https://github.com/MetaMask/core/pull/5356)), ([#5366](https://github.com/MetaMask/core/pull/5366))
- Bump `@metamask/keyring-internal-api` from `^4.0.1` to `^4.0.3` ([#5356](https://github.com/MetaMask/core/pull/5356), [#5366](https://github.com/MetaMask/core/pull/5366))

@@ -323,3 +355,3 @@ ### Fixed

- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190)), ([#5208](https://github.com/MetaMask/core/pull/5208))
- Bump `@metamask/keyring-api` from `^14.0.0` to `^16.1.0` ([#5190](https://github.com/MetaMask/core/pull/5190), [#5208](https://github.com/MetaMask/core/pull/5208))

@@ -338,5 +370,5 @@ ## [19.0.4]

- Bump `@metamask/base-controller` from `^7.0.0` to `^7.1.1` ([#5079](https://github.com/MetaMask/core/pull/5079)), ([#5135](https://github.com/MetaMask/core/pull/5135))
- Bump `@metamask/base-controller` from `^7.0.0` to `^7.1.1`, ([#5079](https://github.com/MetaMask/core/pull/5079), [#5135](https://github.com/MetaMask/core/pull/5135))
- Bump `@metamask/keyring-api` from `^12.0.0` to `^13.0.0` ([#5066](https://github.com/MetaMask/core/pull/5066))
- Bump `@metamask/keyring-internal-api` from `^1.0.0` to `^2.0.0` ([#5066](https://github.com/MetaMask/core/pull/5066)), ([#5136](https://github.com/MetaMask/core/pull/5136))
- Bump `@metamask/keyring-internal-api` from `^1.0.0` to `^2.0.0` ([#5066](https://github.com/MetaMask/core/pull/5066), [#5136](https://github.com/MetaMask/core/pull/5136))
- Bump `@metamask/utils` to `^11.0.1` ([#5080](https://github.com/MetaMask/core/pull/5080))

@@ -410,3 +442,3 @@ - Bump `@metamask/rpc-errors` to `^7.0.2` ([#5080](https://github.com/MetaMask/core/pull/5080))

- Bump accounts related packages ([#4713](https://github.com/MetaMask/core/pull/4713)), ([#4728](https://github.com/MetaMask/core/pull/4728))
- Bump accounts related packages ([#4713](https://github.com/MetaMask/core/pull/4713), [#4728](https://github.com/MetaMask/core/pull/4728))
- Those packages are now built slightly differently and are part of the [accounts monorepo](https://github.com/MetaMask/accounts).

@@ -429,3 +461,3 @@ - Bump `@metamask/keyring-api` from `^8.1.0` to `^8.1.4`

All of the ATTW checks now pass.
- Remove chunk files ([#4648](https://github.com/MetaMask/core/pull/4648)).
- Remove chunk files ([#4648](https://github.com/MetaMask/core/pull/4648))
- Previously, the build tool we used to generate JavaScript files extracted

@@ -876,3 +908,3 @@ common code to "chunk" files. While this was intended to make this package

- Add `cancelQRSynchronization` method ([#1387](https://github.com/MetaMask/core.git/pull/1387))
- Add `cancelQRSynchronization` method ([#1387](https://github.com/MetaMask/core/pull/1387))

@@ -931,3 +963,3 @@ ## [5.0.0]

- **BREAKING:**: Bump eth-keyring-controller version to @metamask/eth-keyring-controller v10 ([#1072](https://github.com/MetaMask/core.git/pull/1072))
- **BREAKING:**: Bump eth-keyring-controller version to @metamask/eth-keyring-controller v10 ([#1072](https://github.com/MetaMask/core/pull/1072))
- `exportSeedPhrase` now returns a `Uint8Array` typed SRP (can be converted to a string using [this approach](https://github.com/MetaMask/eth-hd-keyring/blob/53b0570559595ba5b3fd8c80e900d847cd6dee3d/index.js#L40)). It was previously a Buffer.

@@ -957,5 +989,3 @@ - The HD keyring included with the keyring controller has been updated from v4 to v6. See [the `eth-hd-keyring` changelog entries for v5 and v6](https://github.com/MetaMask/eth-hd-keyring/blob/main/CHANGELOG.md#600) for further details on breaking changes.

- Initial release
- As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely:
- Everything in `src/keyring`

@@ -965,3 +995,4 @@

[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@25.2.0...HEAD
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@25.3.0...HEAD
[25.3.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@25.2.0...@metamask/keyring-controller@25.3.0
[25.2.0]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@25.1.1...@metamask/keyring-controller@25.2.0

@@ -968,0 +999,0 @@ [25.1.1]: https://github.com/MetaMask/core/compare/@metamask/keyring-controller@25.1.0...@metamask/keyring-controller@25.1.1

@@ -45,3 +45,5 @@ "use strict";

KeyringControllerErrorMessage["EncryptionKeyNotSet"] = "KeyringController - Encryption key not set";
KeyringControllerErrorMessage["KeyringV2NotSupported"] = "KeyringController - The selected keyring does not support the KeyringV2 API.";
KeyringControllerErrorMessage["CannotRemovePrimaryKeyring"] = "KeyringController - Cannot remove the primary keyring";
})(KeyringControllerErrorMessage || (exports.KeyringControllerErrorMessage = KeyringControllerErrorMessage = {}));
//# sourceMappingURL=constants.cjs.map

@@ -1,1 +0,1 @@

{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,6BAwCX;AAxCD,WAAY,6BAA6B;IACvC,mFAAkD,CAAA;IAClD,2FAA0D,CAAA;IAC1D,wHAAuF,CAAA;IACvF,2GAA0E,CAAA;IAC1E,sHAAqF,CAAA;IACrF,uGAAsE,CAAA;IACtE,gGAA+D,CAAA;IAC/D,8HAA6F,CAAA;IAC7F,2GAA0E,CAAA;IAC1E,oHAAmF,CAAA;IACnF,6IAA4G,CAAA;IAC5G,kKAAiI,CAAA;IACjI,gKAA+H,CAAA;IAC/H,gKAA+H,CAAA;IAC/H,oKAAmI,CAAA;IACnI,4JAA2H,CAAA;IAC3H,4KAA2I,CAAA;IAC3I,sLAAqJ,CAAA;IACrJ,kLAAiJ,CAAA;IACjJ,kKAAiI,CAAA;IACjI,sKAAqI,CAAA;IACrI,sKAAqI,CAAA;IACrI,kLAAiJ,CAAA;IACjJ,8KAA6I,CAAA;IAC7I,0KAAyI,CAAA;IACzI,wKAAuI,CAAA;IACvI,8IAA6G,CAAA;IAC7G,wKAAuI,CAAA;IACvI,gHAA+E,CAAA;IAC/E,2IAA0G,CAAA;IAC1G,oIAAmG,CAAA;IACnG,wHAAuF,CAAA;IACvF,wHAAuF,CAAA;IACvF,6GAA4E,CAAA;IAC5E,8FAA6D,CAAA;IAC7D,wFAAuD,CAAA;IACvD,iJAAgH,CAAA;IAChH,sIAAqG,CAAA;IACrG,mGAAkE,CAAA;AACpE,CAAC,EAxCW,6BAA6B,6CAA7B,6BAA6B,QAwCxC","sourcesContent":["export enum KeyringControllerErrorMessage {\n NoKeyring = 'KeyringController - No keyring found',\n KeyringNotFound = 'KeyringController - Keyring not found.',\n UnsafeDirectKeyringAccess = 'KeyringController - Returning keyring instances is unsafe',\n WrongPasswordType = 'KeyringController - Password must be of type string.',\n WrongEncryptionKeyType = 'KeyringController - Encryption key must be of type string.',\n InvalidEmptyPassword = 'KeyringController - Password cannot be empty.',\n NoFirstAccount = 'KeyringController - First Account not found.',\n DuplicatedAccount = 'KeyringController - The account you are trying to import is a duplicate',\n VaultError = 'KeyringController - Cannot unlock without a previous vault.',\n VaultDataError = 'KeyringController - The decrypted vault has an unexpected shape.',\n UnsupportedEncryptionKeyExport = 'KeyringController - The encryptor does not support encryption key export.',\n UnsupportedGenerateRandomMnemonic = 'KeyringController - The current keyring does not support the method generateRandomMnemonic.',\n UnsupportedExportAccount = '`KeyringController - The keyring for the current address does not support the method exportAccount',\n UnsupportedRemoveAccount = '`KeyringController - The keyring for the current address does not support the method removeAccount',\n UnsupportedSignTransaction = 'KeyringController - The keyring for the current address does not support the method signTransaction.',\n UnsupportedSignMessage = 'KeyringController - The keyring for the current address does not support the method signMessage.',\n UnsupportedSignPersonalMessage = 'KeyringController - The keyring for the current address does not support the method signPersonalMessage.',\n UnsupportedSignEip7702Authorization = 'KeyringController - The keyring for the current address does not support the method signEip7702Authorization.',\n UnsupportedGetEncryptionPublicKey = 'KeyringController - The keyring for the current address does not support the method getEncryptionPublicKey.',\n UnsupportedDecryptMessage = 'KeyringController - The keyring for the current address does not support the method decryptMessage.',\n UnsupportedSignTypedMessage = 'KeyringController - The keyring for the current address does not support the method signTypedMessage.',\n UnsupportedGetAppKeyAddress = 'KeyringController - The keyring for the current address does not support the method getAppKeyAddress.',\n UnsupportedExportAppKeyForAddress = 'KeyringController - The keyring for the current address does not support the method exportAppKeyForAddress.',\n UnsupportedPrepareUserOperation = 'KeyringController - The keyring for the current address does not support the method prepareUserOperation.',\n UnsupportedPatchUserOperation = 'KeyringController - The keyring for the current address does not support the method patchUserOperation.',\n UnsupportedSignUserOperation = 'KeyringController - The keyring for the current address does not support the method signUserOperation.',\n UnsupportedVerifySeedPhrase = 'KeyringController - The keyring does not support the method verifySeedPhrase.',\n MissingEip7702AuthorizationContractAddress = 'KeyringController - The EIP-7702 Authorization is invalid. No contract address provided.',\n NoAccountOnKeychain = \"KeyringController - The keychain doesn't have accounts.\",\n ControllerLocked = 'KeyringController - The operation cannot be completed while the controller is locked.',\n MissingCredentials = 'KeyringController - Cannot persist vault without password and encryption key',\n MissingVaultData = 'KeyringController - Cannot persist vault without vault information',\n ExpiredCredentials = 'KeyringController - Encryption key and salt provided are expired',\n NoKeyringBuilder = 'KeyringController - No keyringBuilder found for keyring',\n DataType = 'KeyringController - Incorrect data type provided',\n NoHdKeyring = 'KeyringController - No HD Keyring found',\n ControllerLockRequired = 'KeyringController - attempt to update vault during a non mutually exclusive operation',\n LastAccountInPrimaryKeyring = 'KeyringController - Last account in primary keyring cannot be removed',\n EncryptionKeyNotSet = 'KeyringController - Encryption key not set',\n}\n"]}
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,6BA0CX;AA1CD,WAAY,6BAA6B;IACvC,mFAAkD,CAAA;IAClD,2FAA0D,CAAA;IAC1D,wHAAuF,CAAA;IACvF,2GAA0E,CAAA;IAC1E,sHAAqF,CAAA;IACrF,uGAAsE,CAAA;IACtE,gGAA+D,CAAA;IAC/D,8HAA6F,CAAA;IAC7F,2GAA0E,CAAA;IAC1E,oHAAmF,CAAA;IACnF,6IAA4G,CAAA;IAC5G,kKAAiI,CAAA;IACjI,gKAA+H,CAAA;IAC/H,gKAA+H,CAAA;IAC/H,oKAAmI,CAAA;IACnI,4JAA2H,CAAA;IAC3H,4KAA2I,CAAA;IAC3I,sLAAqJ,CAAA;IACrJ,kLAAiJ,CAAA;IACjJ,kKAAiI,CAAA;IACjI,sKAAqI,CAAA;IACrI,sKAAqI,CAAA;IACrI,kLAAiJ,CAAA;IACjJ,8KAA6I,CAAA;IAC7I,0KAAyI,CAAA;IACzI,wKAAuI,CAAA;IACvI,8IAA6G,CAAA;IAC7G,wKAAuI,CAAA;IACvI,gHAA+E,CAAA;IAC/E,2IAA0G,CAAA;IAC1G,oIAAmG,CAAA;IACnG,wHAAuF,CAAA;IACvF,wHAAuF,CAAA;IACvF,6GAA4E,CAAA;IAC5E,8FAA6D,CAAA;IAC7D,wFAAuD,CAAA;IACvD,iJAAgH,CAAA;IAChH,sIAAqG,CAAA;IACrG,mGAAkE,CAAA;IAClE,uIAAsG,CAAA;IACtG,qHAAoF,CAAA;AACtF,CAAC,EA1CW,6BAA6B,6CAA7B,6BAA6B,QA0CxC","sourcesContent":["export enum KeyringControllerErrorMessage {\n NoKeyring = 'KeyringController - No keyring found',\n KeyringNotFound = 'KeyringController - Keyring not found.',\n UnsafeDirectKeyringAccess = 'KeyringController - Returning keyring instances is unsafe',\n WrongPasswordType = 'KeyringController - Password must be of type string.',\n WrongEncryptionKeyType = 'KeyringController - Encryption key must be of type string.',\n InvalidEmptyPassword = 'KeyringController - Password cannot be empty.',\n NoFirstAccount = 'KeyringController - First Account not found.',\n DuplicatedAccount = 'KeyringController - The account you are trying to import is a duplicate',\n VaultError = 'KeyringController - Cannot unlock without a previous vault.',\n VaultDataError = 'KeyringController - The decrypted vault has an unexpected shape.',\n UnsupportedEncryptionKeyExport = 'KeyringController - The encryptor does not support encryption key export.',\n UnsupportedGenerateRandomMnemonic = 'KeyringController - The current keyring does not support the method generateRandomMnemonic.',\n UnsupportedExportAccount = '`KeyringController - The keyring for the current address does not support the method exportAccount',\n UnsupportedRemoveAccount = '`KeyringController - The keyring for the current address does not support the method removeAccount',\n UnsupportedSignTransaction = 'KeyringController - The keyring for the current address does not support the method signTransaction.',\n UnsupportedSignMessage = 'KeyringController - The keyring for the current address does not support the method signMessage.',\n UnsupportedSignPersonalMessage = 'KeyringController - The keyring for the current address does not support the method signPersonalMessage.',\n UnsupportedSignEip7702Authorization = 'KeyringController - The keyring for the current address does not support the method signEip7702Authorization.',\n UnsupportedGetEncryptionPublicKey = 'KeyringController - The keyring for the current address does not support the method getEncryptionPublicKey.',\n UnsupportedDecryptMessage = 'KeyringController - The keyring for the current address does not support the method decryptMessage.',\n UnsupportedSignTypedMessage = 'KeyringController - The keyring for the current address does not support the method signTypedMessage.',\n UnsupportedGetAppKeyAddress = 'KeyringController - The keyring for the current address does not support the method getAppKeyAddress.',\n UnsupportedExportAppKeyForAddress = 'KeyringController - The keyring for the current address does not support the method exportAppKeyForAddress.',\n UnsupportedPrepareUserOperation = 'KeyringController - The keyring for the current address does not support the method prepareUserOperation.',\n UnsupportedPatchUserOperation = 'KeyringController - The keyring for the current address does not support the method patchUserOperation.',\n UnsupportedSignUserOperation = 'KeyringController - The keyring for the current address does not support the method signUserOperation.',\n UnsupportedVerifySeedPhrase = 'KeyringController - The keyring does not support the method verifySeedPhrase.',\n MissingEip7702AuthorizationContractAddress = 'KeyringController - The EIP-7702 Authorization is invalid. No contract address provided.',\n NoAccountOnKeychain = \"KeyringController - The keychain doesn't have accounts.\",\n ControllerLocked = 'KeyringController - The operation cannot be completed while the controller is locked.',\n MissingCredentials = 'KeyringController - Cannot persist vault without password and encryption key',\n MissingVaultData = 'KeyringController - Cannot persist vault without vault information',\n ExpiredCredentials = 'KeyringController - Encryption key and salt provided are expired',\n NoKeyringBuilder = 'KeyringController - No keyringBuilder found for keyring',\n DataType = 'KeyringController - Incorrect data type provided',\n NoHdKeyring = 'KeyringController - No HD Keyring found',\n ControllerLockRequired = 'KeyringController - attempt to update vault during a non mutually exclusive operation',\n LastAccountInPrimaryKeyring = 'KeyringController - Last account in primary keyring cannot be removed',\n EncryptionKeyNotSet = 'KeyringController - Encryption key not set',\n KeyringV2NotSupported = 'KeyringController - The selected keyring does not support the KeyringV2 API.',\n CannotRemovePrimaryKeyring = 'KeyringController - Cannot remove the primary keyring',\n}\n"]}

@@ -40,4 +40,6 @@ export declare enum KeyringControllerErrorMessage {

LastAccountInPrimaryKeyring = "KeyringController - Last account in primary keyring cannot be removed",
EncryptionKeyNotSet = "KeyringController - Encryption key not set"
EncryptionKeyNotSet = "KeyringController - Encryption key not set",
KeyringV2NotSupported = "KeyringController - The selected keyring does not support the KeyringV2 API.",
CannotRemovePrimaryKeyring = "KeyringController - Cannot remove the primary keyring"
}
//# sourceMappingURL=constants.d.cts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,6BAA6B;IACvC,SAAS,yCAAyC;IAClD,eAAe,2CAA2C;IAC1D,yBAAyB,8DAA8D;IACvF,iBAAiB,yDAAyD;IAC1E,sBAAsB,+DAA+D;IACrF,oBAAoB,kDAAkD;IACtE,cAAc,iDAAiD;IAC/D,iBAAiB,4EAA4E;IAC7F,UAAU,gEAAgE;IAC1E,cAAc,qEAAqE;IACnF,8BAA8B,8EAA8E;IAC5G,iCAAiC,gGAAgG;IACjI,wBAAwB,uGAAuG;IAC/H,wBAAwB,uGAAuG;IAC/H,0BAA0B,yGAAyG;IACnI,sBAAsB,qGAAqG;IAC3H,8BAA8B,6GAA6G;IAC3I,mCAAmC,kHAAkH;IACrJ,iCAAiC,gHAAgH;IACjJ,yBAAyB,wGAAwG;IACjI,2BAA2B,0GAA0G;IACrI,2BAA2B,0GAA0G;IACrI,iCAAiC,gHAAgH;IACjJ,+BAA+B,8GAA8G;IAC7I,6BAA6B,4GAA4G;IACzI,4BAA4B,2GAA2G;IACvI,2BAA2B,kFAAkF;IAC7G,0CAA0C,6FAA6F;IACvI,mBAAmB,4DAA4D;IAC/E,gBAAgB,0FAA0F;IAC1G,kBAAkB,iFAAiF;IACnG,gBAAgB,uEAAuE;IACvF,kBAAkB,qEAAqE;IACvF,gBAAgB,4DAA4D;IAC5E,QAAQ,qDAAqD;IAC7D,WAAW,4CAA4C;IACvD,sBAAsB,0FAA0F;IAChH,2BAA2B,0EAA0E;IACrG,mBAAmB,+CAA+C;CACnE"}
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,6BAA6B;IACvC,SAAS,yCAAyC;IAClD,eAAe,2CAA2C;IAC1D,yBAAyB,8DAA8D;IACvF,iBAAiB,yDAAyD;IAC1E,sBAAsB,+DAA+D;IACrF,oBAAoB,kDAAkD;IACtE,cAAc,iDAAiD;IAC/D,iBAAiB,4EAA4E;IAC7F,UAAU,gEAAgE;IAC1E,cAAc,qEAAqE;IACnF,8BAA8B,8EAA8E;IAC5G,iCAAiC,gGAAgG;IACjI,wBAAwB,uGAAuG;IAC/H,wBAAwB,uGAAuG;IAC/H,0BAA0B,yGAAyG;IACnI,sBAAsB,qGAAqG;IAC3H,8BAA8B,6GAA6G;IAC3I,mCAAmC,kHAAkH;IACrJ,iCAAiC,gHAAgH;IACjJ,yBAAyB,wGAAwG;IACjI,2BAA2B,0GAA0G;IACrI,2BAA2B,0GAA0G;IACrI,iCAAiC,gHAAgH;IACjJ,+BAA+B,8GAA8G;IAC7I,6BAA6B,4GAA4G;IACzI,4BAA4B,2GAA2G;IACvI,2BAA2B,kFAAkF;IAC7G,0CAA0C,6FAA6F;IACvI,mBAAmB,4DAA4D;IAC/E,gBAAgB,0FAA0F;IAC1G,kBAAkB,iFAAiF;IACnG,gBAAgB,uEAAuE;IACvF,kBAAkB,qEAAqE;IACvF,gBAAgB,4DAA4D;IAC5E,QAAQ,qDAAqD;IAC7D,WAAW,4CAA4C;IACvD,sBAAsB,0FAA0F;IAChH,2BAA2B,0EAA0E;IACrG,mBAAmB,+CAA+C;IAClE,qBAAqB,iFAAiF;IACtG,0BAA0B,0DAA0D;CACrF"}

@@ -40,4 +40,6 @@ export declare enum KeyringControllerErrorMessage {

LastAccountInPrimaryKeyring = "KeyringController - Last account in primary keyring cannot be removed",
EncryptionKeyNotSet = "KeyringController - Encryption key not set"
EncryptionKeyNotSet = "KeyringController - Encryption key not set",
KeyringV2NotSupported = "KeyringController - The selected keyring does not support the KeyringV2 API.",
CannotRemovePrimaryKeyring = "KeyringController - Cannot remove the primary keyring"
}
//# sourceMappingURL=constants.d.mts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,6BAA6B;IACvC,SAAS,yCAAyC;IAClD,eAAe,2CAA2C;IAC1D,yBAAyB,8DAA8D;IACvF,iBAAiB,yDAAyD;IAC1E,sBAAsB,+DAA+D;IACrF,oBAAoB,kDAAkD;IACtE,cAAc,iDAAiD;IAC/D,iBAAiB,4EAA4E;IAC7F,UAAU,gEAAgE;IAC1E,cAAc,qEAAqE;IACnF,8BAA8B,8EAA8E;IAC5G,iCAAiC,gGAAgG;IACjI,wBAAwB,uGAAuG;IAC/H,wBAAwB,uGAAuG;IAC/H,0BAA0B,yGAAyG;IACnI,sBAAsB,qGAAqG;IAC3H,8BAA8B,6GAA6G;IAC3I,mCAAmC,kHAAkH;IACrJ,iCAAiC,gHAAgH;IACjJ,yBAAyB,wGAAwG;IACjI,2BAA2B,0GAA0G;IACrI,2BAA2B,0GAA0G;IACrI,iCAAiC,gHAAgH;IACjJ,+BAA+B,8GAA8G;IAC7I,6BAA6B,4GAA4G;IACzI,4BAA4B,2GAA2G;IACvI,2BAA2B,kFAAkF;IAC7G,0CAA0C,6FAA6F;IACvI,mBAAmB,4DAA4D;IAC/E,gBAAgB,0FAA0F;IAC1G,kBAAkB,iFAAiF;IACnG,gBAAgB,uEAAuE;IACvF,kBAAkB,qEAAqE;IACvF,gBAAgB,4DAA4D;IAC5E,QAAQ,qDAAqD;IAC7D,WAAW,4CAA4C;IACvD,sBAAsB,0FAA0F;IAChH,2BAA2B,0EAA0E;IACrG,mBAAmB,+CAA+C;CACnE"}
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,6BAA6B;IACvC,SAAS,yCAAyC;IAClD,eAAe,2CAA2C;IAC1D,yBAAyB,8DAA8D;IACvF,iBAAiB,yDAAyD;IAC1E,sBAAsB,+DAA+D;IACrF,oBAAoB,kDAAkD;IACtE,cAAc,iDAAiD;IAC/D,iBAAiB,4EAA4E;IAC7F,UAAU,gEAAgE;IAC1E,cAAc,qEAAqE;IACnF,8BAA8B,8EAA8E;IAC5G,iCAAiC,gGAAgG;IACjI,wBAAwB,uGAAuG;IAC/H,wBAAwB,uGAAuG;IAC/H,0BAA0B,yGAAyG;IACnI,sBAAsB,qGAAqG;IAC3H,8BAA8B,6GAA6G;IAC3I,mCAAmC,kHAAkH;IACrJ,iCAAiC,gHAAgH;IACjJ,yBAAyB,wGAAwG;IACjI,2BAA2B,0GAA0G;IACrI,2BAA2B,0GAA0G;IACrI,iCAAiC,gHAAgH;IACjJ,+BAA+B,8GAA8G;IAC7I,6BAA6B,4GAA4G;IACzI,4BAA4B,2GAA2G;IACvI,2BAA2B,kFAAkF;IAC7G,0CAA0C,6FAA6F;IACvI,mBAAmB,4DAA4D;IAC/E,gBAAgB,0FAA0F;IAC1G,kBAAkB,iFAAiF;IACnG,gBAAgB,uEAAuE;IACvF,kBAAkB,qEAAqE;IACvF,gBAAgB,4DAA4D;IAC5E,QAAQ,qDAAqD;IAC7D,WAAW,4CAA4C;IACvD,sBAAsB,0FAA0F;IAChH,2BAA2B,0EAA0E;IACrG,mBAAmB,+CAA+C;IAClE,qBAAqB,iFAAiF;IACtG,0BAA0B,0DAA0D;CACrF"}

@@ -42,3 +42,5 @@ export var KeyringControllerErrorMessage;

KeyringControllerErrorMessage["EncryptionKeyNotSet"] = "KeyringController - Encryption key not set";
KeyringControllerErrorMessage["KeyringV2NotSupported"] = "KeyringController - The selected keyring does not support the KeyringV2 API.";
KeyringControllerErrorMessage["CannotRemovePrimaryKeyring"] = "KeyringController - Cannot remove the primary keyring";
})(KeyringControllerErrorMessage || (KeyringControllerErrorMessage = {}));
//# sourceMappingURL=constants.mjs.map

@@ -1,1 +0,1 @@

{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,6BAwCX;AAxCD,WAAY,6BAA6B;IACvC,mFAAkD,CAAA;IAClD,2FAA0D,CAAA;IAC1D,wHAAuF,CAAA;IACvF,2GAA0E,CAAA;IAC1E,sHAAqF,CAAA;IACrF,uGAAsE,CAAA;IACtE,gGAA+D,CAAA;IAC/D,8HAA6F,CAAA;IAC7F,2GAA0E,CAAA;IAC1E,oHAAmF,CAAA;IACnF,6IAA4G,CAAA;IAC5G,kKAAiI,CAAA;IACjI,gKAA+H,CAAA;IAC/H,gKAA+H,CAAA;IAC/H,oKAAmI,CAAA;IACnI,4JAA2H,CAAA;IAC3H,4KAA2I,CAAA;IAC3I,sLAAqJ,CAAA;IACrJ,kLAAiJ,CAAA;IACjJ,kKAAiI,CAAA;IACjI,sKAAqI,CAAA;IACrI,sKAAqI,CAAA;IACrI,kLAAiJ,CAAA;IACjJ,8KAA6I,CAAA;IAC7I,0KAAyI,CAAA;IACzI,wKAAuI,CAAA;IACvI,8IAA6G,CAAA;IAC7G,wKAAuI,CAAA;IACvI,gHAA+E,CAAA;IAC/E,2IAA0G,CAAA;IAC1G,oIAAmG,CAAA;IACnG,wHAAuF,CAAA;IACvF,wHAAuF,CAAA;IACvF,6GAA4E,CAAA;IAC5E,8FAA6D,CAAA;IAC7D,wFAAuD,CAAA;IACvD,iJAAgH,CAAA;IAChH,sIAAqG,CAAA;IACrG,mGAAkE,CAAA;AACpE,CAAC,EAxCW,6BAA6B,KAA7B,6BAA6B,QAwCxC","sourcesContent":["export enum KeyringControllerErrorMessage {\n NoKeyring = 'KeyringController - No keyring found',\n KeyringNotFound = 'KeyringController - Keyring not found.',\n UnsafeDirectKeyringAccess = 'KeyringController - Returning keyring instances is unsafe',\n WrongPasswordType = 'KeyringController - Password must be of type string.',\n WrongEncryptionKeyType = 'KeyringController - Encryption key must be of type string.',\n InvalidEmptyPassword = 'KeyringController - Password cannot be empty.',\n NoFirstAccount = 'KeyringController - First Account not found.',\n DuplicatedAccount = 'KeyringController - The account you are trying to import is a duplicate',\n VaultError = 'KeyringController - Cannot unlock without a previous vault.',\n VaultDataError = 'KeyringController - The decrypted vault has an unexpected shape.',\n UnsupportedEncryptionKeyExport = 'KeyringController - The encryptor does not support encryption key export.',\n UnsupportedGenerateRandomMnemonic = 'KeyringController - The current keyring does not support the method generateRandomMnemonic.',\n UnsupportedExportAccount = '`KeyringController - The keyring for the current address does not support the method exportAccount',\n UnsupportedRemoveAccount = '`KeyringController - The keyring for the current address does not support the method removeAccount',\n UnsupportedSignTransaction = 'KeyringController - The keyring for the current address does not support the method signTransaction.',\n UnsupportedSignMessage = 'KeyringController - The keyring for the current address does not support the method signMessage.',\n UnsupportedSignPersonalMessage = 'KeyringController - The keyring for the current address does not support the method signPersonalMessage.',\n UnsupportedSignEip7702Authorization = 'KeyringController - The keyring for the current address does not support the method signEip7702Authorization.',\n UnsupportedGetEncryptionPublicKey = 'KeyringController - The keyring for the current address does not support the method getEncryptionPublicKey.',\n UnsupportedDecryptMessage = 'KeyringController - The keyring for the current address does not support the method decryptMessage.',\n UnsupportedSignTypedMessage = 'KeyringController - The keyring for the current address does not support the method signTypedMessage.',\n UnsupportedGetAppKeyAddress = 'KeyringController - The keyring for the current address does not support the method getAppKeyAddress.',\n UnsupportedExportAppKeyForAddress = 'KeyringController - The keyring for the current address does not support the method exportAppKeyForAddress.',\n UnsupportedPrepareUserOperation = 'KeyringController - The keyring for the current address does not support the method prepareUserOperation.',\n UnsupportedPatchUserOperation = 'KeyringController - The keyring for the current address does not support the method patchUserOperation.',\n UnsupportedSignUserOperation = 'KeyringController - The keyring for the current address does not support the method signUserOperation.',\n UnsupportedVerifySeedPhrase = 'KeyringController - The keyring does not support the method verifySeedPhrase.',\n MissingEip7702AuthorizationContractAddress = 'KeyringController - The EIP-7702 Authorization is invalid. No contract address provided.',\n NoAccountOnKeychain = \"KeyringController - The keychain doesn't have accounts.\",\n ControllerLocked = 'KeyringController - The operation cannot be completed while the controller is locked.',\n MissingCredentials = 'KeyringController - Cannot persist vault without password and encryption key',\n MissingVaultData = 'KeyringController - Cannot persist vault without vault information',\n ExpiredCredentials = 'KeyringController - Encryption key and salt provided are expired',\n NoKeyringBuilder = 'KeyringController - No keyringBuilder found for keyring',\n DataType = 'KeyringController - Incorrect data type provided',\n NoHdKeyring = 'KeyringController - No HD Keyring found',\n ControllerLockRequired = 'KeyringController - attempt to update vault during a non mutually exclusive operation',\n LastAccountInPrimaryKeyring = 'KeyringController - Last account in primary keyring cannot be removed',\n EncryptionKeyNotSet = 'KeyringController - Encryption key not set',\n}\n"]}
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,6BA0CX;AA1CD,WAAY,6BAA6B;IACvC,mFAAkD,CAAA;IAClD,2FAA0D,CAAA;IAC1D,wHAAuF,CAAA;IACvF,2GAA0E,CAAA;IAC1E,sHAAqF,CAAA;IACrF,uGAAsE,CAAA;IACtE,gGAA+D,CAAA;IAC/D,8HAA6F,CAAA;IAC7F,2GAA0E,CAAA;IAC1E,oHAAmF,CAAA;IACnF,6IAA4G,CAAA;IAC5G,kKAAiI,CAAA;IACjI,gKAA+H,CAAA;IAC/H,gKAA+H,CAAA;IAC/H,oKAAmI,CAAA;IACnI,4JAA2H,CAAA;IAC3H,4KAA2I,CAAA;IAC3I,sLAAqJ,CAAA;IACrJ,kLAAiJ,CAAA;IACjJ,kKAAiI,CAAA;IACjI,sKAAqI,CAAA;IACrI,sKAAqI,CAAA;IACrI,kLAAiJ,CAAA;IACjJ,8KAA6I,CAAA;IAC7I,0KAAyI,CAAA;IACzI,wKAAuI,CAAA;IACvI,8IAA6G,CAAA;IAC7G,wKAAuI,CAAA;IACvI,gHAA+E,CAAA;IAC/E,2IAA0G,CAAA;IAC1G,oIAAmG,CAAA;IACnG,wHAAuF,CAAA;IACvF,wHAAuF,CAAA;IACvF,6GAA4E,CAAA;IAC5E,8FAA6D,CAAA;IAC7D,wFAAuD,CAAA;IACvD,iJAAgH,CAAA;IAChH,sIAAqG,CAAA;IACrG,mGAAkE,CAAA;IAClE,uIAAsG,CAAA;IACtG,qHAAoF,CAAA;AACtF,CAAC,EA1CW,6BAA6B,KAA7B,6BAA6B,QA0CxC","sourcesContent":["export enum KeyringControllerErrorMessage {\n NoKeyring = 'KeyringController - No keyring found',\n KeyringNotFound = 'KeyringController - Keyring not found.',\n UnsafeDirectKeyringAccess = 'KeyringController - Returning keyring instances is unsafe',\n WrongPasswordType = 'KeyringController - Password must be of type string.',\n WrongEncryptionKeyType = 'KeyringController - Encryption key must be of type string.',\n InvalidEmptyPassword = 'KeyringController - Password cannot be empty.',\n NoFirstAccount = 'KeyringController - First Account not found.',\n DuplicatedAccount = 'KeyringController - The account you are trying to import is a duplicate',\n VaultError = 'KeyringController - Cannot unlock without a previous vault.',\n VaultDataError = 'KeyringController - The decrypted vault has an unexpected shape.',\n UnsupportedEncryptionKeyExport = 'KeyringController - The encryptor does not support encryption key export.',\n UnsupportedGenerateRandomMnemonic = 'KeyringController - The current keyring does not support the method generateRandomMnemonic.',\n UnsupportedExportAccount = '`KeyringController - The keyring for the current address does not support the method exportAccount',\n UnsupportedRemoveAccount = '`KeyringController - The keyring for the current address does not support the method removeAccount',\n UnsupportedSignTransaction = 'KeyringController - The keyring for the current address does not support the method signTransaction.',\n UnsupportedSignMessage = 'KeyringController - The keyring for the current address does not support the method signMessage.',\n UnsupportedSignPersonalMessage = 'KeyringController - The keyring for the current address does not support the method signPersonalMessage.',\n UnsupportedSignEip7702Authorization = 'KeyringController - The keyring for the current address does not support the method signEip7702Authorization.',\n UnsupportedGetEncryptionPublicKey = 'KeyringController - The keyring for the current address does not support the method getEncryptionPublicKey.',\n UnsupportedDecryptMessage = 'KeyringController - The keyring for the current address does not support the method decryptMessage.',\n UnsupportedSignTypedMessage = 'KeyringController - The keyring for the current address does not support the method signTypedMessage.',\n UnsupportedGetAppKeyAddress = 'KeyringController - The keyring for the current address does not support the method getAppKeyAddress.',\n UnsupportedExportAppKeyForAddress = 'KeyringController - The keyring for the current address does not support the method exportAppKeyForAddress.',\n UnsupportedPrepareUserOperation = 'KeyringController - The keyring for the current address does not support the method prepareUserOperation.',\n UnsupportedPatchUserOperation = 'KeyringController - The keyring for the current address does not support the method patchUserOperation.',\n UnsupportedSignUserOperation = 'KeyringController - The keyring for the current address does not support the method signUserOperation.',\n UnsupportedVerifySeedPhrase = 'KeyringController - The keyring does not support the method verifySeedPhrase.',\n MissingEip7702AuthorizationContractAddress = 'KeyringController - The EIP-7702 Authorization is invalid. No contract address provided.',\n NoAccountOnKeychain = \"KeyringController - The keychain doesn't have accounts.\",\n ControllerLocked = 'KeyringController - The operation cannot be completed while the controller is locked.',\n MissingCredentials = 'KeyringController - Cannot persist vault without password and encryption key',\n MissingVaultData = 'KeyringController - Cannot persist vault without vault information',\n ExpiredCredentials = 'KeyringController - Encryption key and salt provided are expired',\n NoKeyringBuilder = 'KeyringController - No keyringBuilder found for keyring',\n DataType = 'KeyringController - Incorrect data type provided',\n NoHdKeyring = 'KeyringController - No HD Keyring found',\n ControllerLockRequired = 'KeyringController - attempt to update vault during a non mutually exclusive operation',\n LastAccountInPrimaryKeyring = 'KeyringController - Last account in primary keyring cannot be removed',\n EncryptionKeyNotSet = 'KeyringController - Encryption key not set',\n KeyringV2NotSupported = 'KeyringController - The selected keyring does not support the KeyringV2 API.',\n CannotRemovePrimaryKeyring = 'KeyringController - Cannot remove the primary keyring',\n}\n"]}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAAoC;AAEpC,+CAAyB;AACzB,6CAA4D;AAAnD,0HAAA,6BAA6B,OAAA","sourcesContent":["export * from './KeyringController';\nexport type * from './types';\nexport * from './errors';\nexport { KeyringControllerErrorMessage } from './constants';\n"]}
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAAoC;AA8BpC,+CAAyB;AACzB,6CAA4D;AAAnD,0HAAA,6BAA6B,OAAA","sourcesContent":["export * from './KeyringController';\nexport type {\n KeyringControllerAddNewAccountAction,\n KeyringControllerCreateNewVaultAndRestoreAction,\n KeyringControllerCreateNewVaultAndKeychainAction,\n KeyringControllerAddNewKeyringAction,\n KeyringControllerIsUnlockedAction,\n KeyringControllerGetAccountsAction,\n KeyringControllerGetEncryptionPublicKeyAction,\n KeyringControllerDecryptMessageAction,\n KeyringControllerGetKeyringForAccountAction,\n KeyringControllerGetKeyringsByTypeAction,\n KeyringControllerPersistAllKeyringsAction,\n KeyringControllerRemoveAccountAction,\n KeyringControllerSignMessageAction,\n KeyringControllerSignEip7702AuthorizationAction,\n KeyringControllerSignPersonalMessageAction,\n KeyringControllerSignTransactionAction,\n KeyringControllerSignTypedMessageAction,\n KeyringControllerPrepareUserOperationAction,\n KeyringControllerPatchUserOperationAction,\n KeyringControllerSignUserOperationAction,\n KeyringControllerWithControllerAction,\n KeyringControllerWithKeyringAction,\n KeyringControllerWithKeyringUnsafeAction,\n KeyringControllerWithKeyringV2Action,\n KeyringControllerWithKeyringV2UnsafeAction,\n KeyringControllerExportSeedPhraseAction,\n} from './KeyringController-method-action-types';\nexport type * from './types';\nexport * from './errors';\nexport { KeyringControllerErrorMessage } from './constants';\n"]}
export * from "./KeyringController.cjs";
export type { KeyringControllerAddNewAccountAction, KeyringControllerCreateNewVaultAndRestoreAction, KeyringControllerCreateNewVaultAndKeychainAction, KeyringControllerAddNewKeyringAction, KeyringControllerIsUnlockedAction, KeyringControllerGetAccountsAction, KeyringControllerGetEncryptionPublicKeyAction, KeyringControllerDecryptMessageAction, KeyringControllerGetKeyringForAccountAction, KeyringControllerGetKeyringsByTypeAction, KeyringControllerPersistAllKeyringsAction, KeyringControllerRemoveAccountAction, KeyringControllerSignMessageAction, KeyringControllerSignEip7702AuthorizationAction, KeyringControllerSignPersonalMessageAction, KeyringControllerSignTransactionAction, KeyringControllerSignTypedMessageAction, KeyringControllerPrepareUserOperationAction, KeyringControllerPatchUserOperationAction, KeyringControllerSignUserOperationAction, KeyringControllerWithControllerAction, KeyringControllerWithKeyringAction, KeyringControllerWithKeyringUnsafeAction, KeyringControllerWithKeyringV2Action, KeyringControllerWithKeyringV2UnsafeAction, KeyringControllerExportSeedPhraseAction, } from "./KeyringController-method-action-types.cjs";
export type * from "./types.cjs";

@@ -3,0 +4,0 @@ export * from "./errors.cjs";

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAoC;AACpC,iCAA6B;AAC7B,6BAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,wBAAoB"}
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAoC;AACpC,YAAY,EACV,oCAAoC,EACpC,+CAA+C,EAC/C,gDAAgD,EAChD,oCAAoC,EACpC,iCAAiC,EACjC,kCAAkC,EAClC,6CAA6C,EAC7C,qCAAqC,EACrC,2CAA2C,EAC3C,wCAAwC,EACxC,yCAAyC,EACzC,oCAAoC,EACpC,kCAAkC,EAClC,+CAA+C,EAC/C,0CAA0C,EAC1C,sCAAsC,EACtC,uCAAuC,EACvC,2CAA2C,EAC3C,yCAAyC,EACzC,wCAAwC,EACxC,qCAAqC,EACrC,kCAAkC,EAClC,wCAAwC,EACxC,oCAAoC,EACpC,0CAA0C,EAC1C,uCAAuC,GACxC,oDAAgD;AACjD,iCAA6B;AAC7B,6BAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,wBAAoB"}
export * from "./KeyringController.mjs";
export type { KeyringControllerAddNewAccountAction, KeyringControllerCreateNewVaultAndRestoreAction, KeyringControllerCreateNewVaultAndKeychainAction, KeyringControllerAddNewKeyringAction, KeyringControllerIsUnlockedAction, KeyringControllerGetAccountsAction, KeyringControllerGetEncryptionPublicKeyAction, KeyringControllerDecryptMessageAction, KeyringControllerGetKeyringForAccountAction, KeyringControllerGetKeyringsByTypeAction, KeyringControllerPersistAllKeyringsAction, KeyringControllerRemoveAccountAction, KeyringControllerSignMessageAction, KeyringControllerSignEip7702AuthorizationAction, KeyringControllerSignPersonalMessageAction, KeyringControllerSignTransactionAction, KeyringControllerSignTypedMessageAction, KeyringControllerPrepareUserOperationAction, KeyringControllerPatchUserOperationAction, KeyringControllerSignUserOperationAction, KeyringControllerWithControllerAction, KeyringControllerWithKeyringAction, KeyringControllerWithKeyringUnsafeAction, KeyringControllerWithKeyringV2Action, KeyringControllerWithKeyringV2UnsafeAction, KeyringControllerExportSeedPhraseAction, } from "./KeyringController-method-action-types.mjs";
export type * from "./types.mjs";

@@ -3,0 +4,0 @@ export * from "./errors.mjs";

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAoC;AACpC,iCAA6B;AAC7B,6BAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,wBAAoB"}
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAoC;AACpC,YAAY,EACV,oCAAoC,EACpC,+CAA+C,EAC/C,gDAAgD,EAChD,oCAAoC,EACpC,iCAAiC,EACjC,kCAAkC,EAClC,6CAA6C,EAC7C,qCAAqC,EACrC,2CAA2C,EAC3C,wCAAwC,EACxC,yCAAyC,EACzC,oCAAoC,EACpC,kCAAkC,EAClC,+CAA+C,EAC/C,0CAA0C,EAC1C,sCAAsC,EACtC,uCAAuC,EACvC,2CAA2C,EAC3C,yCAAyC,EACzC,wCAAwC,EACxC,qCAAqC,EACrC,kCAAkC,EAClC,wCAAwC,EACxC,oCAAoC,EACpC,0CAA0C,EAC1C,uCAAuC,GACxC,oDAAgD;AACjD,iCAA6B;AAC7B,6BAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,wBAAoB"}

@@ -1,1 +0,1 @@

{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAoC;AAEpC,6BAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,wBAAoB","sourcesContent":["export * from './KeyringController';\nexport type * from './types';\nexport * from './errors';\nexport { KeyringControllerErrorMessage } from './constants';\n"]}
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAoC;AA8BpC,6BAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,wBAAoB","sourcesContent":["export * from './KeyringController';\nexport type {\n KeyringControllerAddNewAccountAction,\n KeyringControllerCreateNewVaultAndRestoreAction,\n KeyringControllerCreateNewVaultAndKeychainAction,\n KeyringControllerAddNewKeyringAction,\n KeyringControllerIsUnlockedAction,\n KeyringControllerGetAccountsAction,\n KeyringControllerGetEncryptionPublicKeyAction,\n KeyringControllerDecryptMessageAction,\n KeyringControllerGetKeyringForAccountAction,\n KeyringControllerGetKeyringsByTypeAction,\n KeyringControllerPersistAllKeyringsAction,\n KeyringControllerRemoveAccountAction,\n KeyringControllerSignMessageAction,\n KeyringControllerSignEip7702AuthorizationAction,\n KeyringControllerSignPersonalMessageAction,\n KeyringControllerSignTransactionAction,\n KeyringControllerSignTypedMessageAction,\n KeyringControllerPrepareUserOperationAction,\n KeyringControllerPatchUserOperationAction,\n KeyringControllerSignUserOperationAction,\n KeyringControllerWithControllerAction,\n KeyringControllerWithKeyringAction,\n KeyringControllerWithKeyringUnsafeAction,\n KeyringControllerWithKeyringV2Action,\n KeyringControllerWithKeyringV2UnsafeAction,\n KeyringControllerExportSeedPhraseAction,\n} from './KeyringController-method-action-types';\nexport type * from './types';\nexport * from './errors';\nexport { KeyringControllerErrorMessage } from './constants';\n"]}
import type { TypedTransaction, TypedTxData } from "@ethereumjs/tx";
import { BaseController } from "@metamask/base-controller";
import type * as encryptorUtils from "@metamask/browser-passworder";
import type { KeyringExecutionContext, EthBaseTransaction, EthBaseUserOperation, EthUserOperation, EthUserOperationPatch } from "@metamask/keyring-api";
import type { KeyringExecutionContext, EthBaseTransaction, EthBaseUserOperation, EthUserOperation, EthUserOperationPatch, KeyringAccount } from "@metamask/keyring-api";
import type { Keyring as KeyringV2 } from "@metamask/keyring-api/v2";
import type { EthKeyring } from "@metamask/keyring-internal-api";

@@ -10,2 +11,3 @@ import type { Keyring, KeyringClass } from "@metamask/keyring-utils";

import type { Patch } from "immer";
import type { KeyringControllerMethodActions } from "./KeyringController-method-action-types.cjs";
import type { Eip7702AuthorizationParams, PersonalMessageParams, TypedMessageParams } from "./types.cjs";

@@ -68,82 +70,2 @@ declare const name = "KeyringController";

};
export type KeyringControllerSignMessageAction = {
type: `${typeof name}:signMessage`;
handler: KeyringController['signMessage'];
};
export type KeyringControllerSignEip7702AuthorizationAction = {
type: `${typeof name}:signEip7702Authorization`;
handler: KeyringController['signEip7702Authorization'];
};
export type KeyringControllerSignPersonalMessageAction = {
type: `${typeof name}:signPersonalMessage`;
handler: KeyringController['signPersonalMessage'];
};
export type KeyringControllerSignTypedMessageAction = {
type: `${typeof name}:signTypedMessage`;
handler: KeyringController['signTypedMessage'];
};
export type KeyringControllerDecryptMessageAction = {
type: `${typeof name}:decryptMessage`;
handler: KeyringController['decryptMessage'];
};
export type KeyringControllerGetEncryptionPublicKeyAction = {
type: `${typeof name}:getEncryptionPublicKey`;
handler: KeyringController['getEncryptionPublicKey'];
};
export type KeyringControllerGetKeyringsByTypeAction = {
type: `${typeof name}:getKeyringsByType`;
handler: KeyringController['getKeyringsByType'];
};
export type KeyringControllerGetKeyringForAccountAction = {
type: `${typeof name}:getKeyringForAccount`;
handler: KeyringController['getKeyringForAccount'];
};
export type KeyringControllerGetAccountsAction = {
type: `${typeof name}:getAccounts`;
handler: KeyringController['getAccounts'];
};
export type KeyringControllerPersistAllKeyringsAction = {
type: `${typeof name}:persistAllKeyrings`;
handler: KeyringController['persistAllKeyrings'];
};
export type KeyringControllerPrepareUserOperationAction = {
type: `${typeof name}:prepareUserOperation`;
handler: KeyringController['prepareUserOperation'];
};
export type KeyringControllerPatchUserOperationAction = {
type: `${typeof name}:patchUserOperation`;
handler: KeyringController['patchUserOperation'];
};
export type KeyringControllerSignUserOperationAction = {
type: `${typeof name}:signUserOperation`;
handler: KeyringController['signUserOperation'];
};
export type KeyringControllerAddNewAccountAction = {
type: `${typeof name}:addNewAccount`;
handler: KeyringController['addNewAccount'];
};
export type KeyringControllerWithKeyringAction = {
type: `${typeof name}:withKeyring`;
handler: KeyringController['withKeyring'];
};
export type KeyringControllerWithKeyringUnsafeAction = {
type: `${typeof name}:withKeyringUnsafe`;
handler: KeyringController['withKeyringUnsafe'];
};
export type KeyringControllerCreateNewVaultAndKeychainAction = {
type: `${typeof name}:createNewVaultAndKeychain`;
handler: KeyringController['createNewVaultAndKeychain'];
};
export type KeyringControllerCreateNewVaultAndRestoreAction = {
type: `${typeof name}:createNewVaultAndRestore`;
handler: KeyringController['createNewVaultAndRestore'];
};
export type KeyringControllerAddNewKeyringAction = {
type: `${typeof name}:addNewKeyring`;
handler: KeyringController['addNewKeyring'];
};
export type KeyringControllerRemoveAccountAction = {
type: `${typeof name}:removeAccount`;
handler: KeyringController['removeAccount'];
};
export type KeyringControllerStateChangeEvent = {

@@ -165,3 +87,3 @@ type: `${typeof name}:stateChange`;

};
export type KeyringControllerActions = KeyringControllerGetStateAction | KeyringControllerSignMessageAction | KeyringControllerSignEip7702AuthorizationAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerDecryptMessageAction | KeyringControllerGetEncryptionPublicKeyAction | KeyringControllerGetAccountsAction | KeyringControllerGetKeyringsByTypeAction | KeyringControllerGetKeyringForAccountAction | KeyringControllerPersistAllKeyringsAction | KeyringControllerPrepareUserOperationAction | KeyringControllerPatchUserOperationAction | KeyringControllerSignUserOperationAction | KeyringControllerAddNewAccountAction | KeyringControllerWithKeyringAction | KeyringControllerWithKeyringUnsafeAction | KeyringControllerAddNewKeyringAction | KeyringControllerCreateNewVaultAndKeychainAction | KeyringControllerCreateNewVaultAndRestoreAction | KeyringControllerRemoveAccountAction;
export type KeyringControllerActions = KeyringControllerGetStateAction | KeyringControllerMethodActions;
export type KeyringControllerEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | KeyringControllerAccountRemovedEvent;

@@ -174,2 +96,3 @@ export type KeyringControllerMessenger = Messenger<typeof name, KeyringControllerActions, KeyringControllerEvents>;

}[];
keyringV2Builders?: KeyringV2Builder[];
messenger: KeyringControllerMessenger;

@@ -213,2 +136,49 @@ state?: {

/**
* A keyring entry, including the keyring instance (+ v2 instance) and its metadata.
*/
export type KeyringEntry = {
/**
* The keyring instance.
*/
keyring: EthKeyring;
/**
* The keyring V2 instance, if available.
*/
keyringV2?: KeyringV2;
/**
* The keyring metadata.
*/
metadata: KeyringMetadata;
};
/**
* A restricted view of the {@link KeyringController} exposed to the callback
* passed to {@link KeyringController.withController}.
*
* It provides a read-only live view of all keyrings and the ability to stage
* keyring additions and removals atomically within a single transaction.
*/
export type RestrictedController = {
/**
* Read-only live view of all keyrings in the current transaction (original
* keyrings plus any added, minus any removed so far in this callback).
*/
readonly keyrings: readonly KeyringEntry[];
/**
* Create a new keyring of the given type and stage it for commit. The new
* entry is immediately visible in {@link RestrictedController.keyrings}.
*
* @param type - The type of keyring to create.
* @param opts - Optional data to pass to the keyring builder.
* @returns The newly created `{ keyring, metadata }` entry.
*/
addNewKeyring(type: string, opts?: unknown): Promise<KeyringEntry>;
/**
* Stage the keyring with the given id for removal. The keyring is
* immediately removed from {@link RestrictedController.keyrings}.
*
* @param id - The id of the keyring to remove.
*/
removeKeyring(id: string): Promise<void>;
};
/**
* A strategy for importing an account

@@ -368,2 +338,16 @@ */

/**
* Keyring selector used for `withKeyringV2` (see {@link KeyringController#withKeyringV2} and {@link KeyringSelector}).
*/
export type KeyringSelectorV2<SelectedKeyring extends KeyringV2 = KeyringV2> = {
type: string;
index?: number;
} | {
address: KeyringAccount['address'];
} | {
id: KeyringMetadata['id'];
} | {
/** Similar to {@link KeyringSelector.filter} but for `KeyringV2` instances. */
filter: ((keyring: KeyringV2, metadata: KeyringMetadata) => boolean) | ((keyring: KeyringV2, metadata: KeyringMetadata) => keyring is SelectedKeyring);
};
/**
* Keyring builder.

@@ -376,2 +360,12 @@ */

/**
* A builder that wraps a legacy `Keyring` into a `KeyringV2` adapter.
*
* The controller calls the builder once when the V1 keyring is created
* or restored; the resulting wrapper is cached for the keyring's lifetime.
*/
export type KeyringV2Builder = {
(keyring: Keyring, metadata: KeyringMetadata): KeyringV2;
type: string;
};
/**
* Get builder function for `Keyring`

@@ -686,6 +680,3 @@ *

*/
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>, options: {
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata }: KeyringEntry) => Promise<CallbackResult>, options: {
createIfMissing?: false;

@@ -711,6 +702,3 @@ } | {

*/
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>): Promise<CallbackResult>;
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata }: KeyringEntry) => Promise<CallbackResult>): Promise<CallbackResult>;
/**

@@ -754,2 +742,79 @@ * Select a keyring and execute the given operation with the selected

}) => Promise<CallbackResult>): Promise<CallbackResult>;
/**
* Select a keyring using its `KeyringV2` adapter, and execute
* the given operation with the wrapped keyring as a mutually
* exclusive atomic operation.
*
* The cached `KeyringV2` adapter is retrieved from the keyring
* entry.
*
* A `KeyringV2Builder` for the selected keyring's type must exist
* (either as a default or registered via the `keyringV2Builders`
* constructor option); otherwise an error is thrown.
*
* The method automatically persists changes at the end of the
* function execution, or rolls back the changes if an error
* is thrown.
*
* @param selector - Keyring selector object.
* @param operation - Function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
withKeyringV2<SelectedKeyring extends KeyringV2 = KeyringV2, CallbackResult = void>(selector: KeyringSelectorV2<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>): Promise<CallbackResult>;
/**
* Select a keyring, wrap it in a `KeyringV2` adapter, and execute
* the given read-only operation **without** acquiring the controller's
* mutual exclusion lock.
*
* ## When to use this method
*
* This method is an escape hatch for read-only access to keyring data that
* is immutable once the keyring is initialized. A typical safe use case is
* reading immutable fields from a `KeyringV2` adapter: data that is set
* during initialization and never mutated afterwards.
*
* ## Why it is "unsafe"
*
* The "unsafe" designation mirrors the semantics of `unsafe { }` blocks in
* Rust: the method itself does not enforce thread-safety guarantees. By
* calling this method the **caller** explicitly takes responsibility for
* ensuring that:
*
* - The operation is **read-only** — no state is mutated.
* - The data being read is **immutable** after the keyring is initialized,
* so concurrent locked operations cannot alter it while this callback
* runs.
*
* Do **not** use this method to:
* - Mutate keyring state (add accounts, sign, etc.) — use `withKeyringV2`.
* - Read mutable fields that could change during concurrent operations.
*
* @param selector - Keyring selector object.
* @param operation - Read-only function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected V2 keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
withKeyringV2Unsafe<SelectedKeyring extends KeyringV2 = KeyringV2, CallbackResult = void>(selector: KeyringSelectorV2<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>): Promise<CallbackResult>;
/**
* Execute an operation against all keyrings as a mutually exclusive atomic
* operation. The operation receives a {@link RestrictedController} instance
* that exposes a read-only live view of all keyrings as well as
* `addNewKeyring` and `removeKeyring` methods to stage mutations.
*
* The method automatically persists changes at the end of the function
* execution, or rolls back the changes if an error is thrown.
*
* @param operation - Function to execute with the restricted controller.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
withController<CallbackResult = void>(operation: (restrictedController: RestrictedController) => Promise<CallbackResult>): Promise<CallbackResult>;
getAccountKeyringType(account: string): Promise<string>;

@@ -756,0 +821,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"KeyringController.d.cts","sourceRoot":"","sources":["../src/KeyringController.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"KeyringController.d.cts","sourceRoot":"","sources":["../src/KeyringController.ts"],"names":[],"mappings":"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"}
import type { TypedTransaction, TypedTxData } from "@ethereumjs/tx";
import { BaseController } from "@metamask/base-controller";
import type * as encryptorUtils from "@metamask/browser-passworder";
import type { KeyringExecutionContext, EthBaseTransaction, EthBaseUserOperation, EthUserOperation, EthUserOperationPatch } from "@metamask/keyring-api";
import type { KeyringExecutionContext, EthBaseTransaction, EthBaseUserOperation, EthUserOperation, EthUserOperationPatch, KeyringAccount } from "@metamask/keyring-api";
import type { Keyring as KeyringV2 } from "@metamask/keyring-api/v2";
import type { EthKeyring } from "@metamask/keyring-internal-api";

@@ -10,2 +11,3 @@ import type { Keyring, KeyringClass } from "@metamask/keyring-utils";

import type { Patch } from "immer";
import type { KeyringControllerMethodActions } from "./KeyringController-method-action-types.mjs";
import type { Eip7702AuthorizationParams, PersonalMessageParams, TypedMessageParams } from "./types.mjs";

@@ -68,82 +70,2 @@ declare const name = "KeyringController";

};
export type KeyringControllerSignMessageAction = {
type: `${typeof name}:signMessage`;
handler: KeyringController['signMessage'];
};
export type KeyringControllerSignEip7702AuthorizationAction = {
type: `${typeof name}:signEip7702Authorization`;
handler: KeyringController['signEip7702Authorization'];
};
export type KeyringControllerSignPersonalMessageAction = {
type: `${typeof name}:signPersonalMessage`;
handler: KeyringController['signPersonalMessage'];
};
export type KeyringControllerSignTypedMessageAction = {
type: `${typeof name}:signTypedMessage`;
handler: KeyringController['signTypedMessage'];
};
export type KeyringControllerDecryptMessageAction = {
type: `${typeof name}:decryptMessage`;
handler: KeyringController['decryptMessage'];
};
export type KeyringControllerGetEncryptionPublicKeyAction = {
type: `${typeof name}:getEncryptionPublicKey`;
handler: KeyringController['getEncryptionPublicKey'];
};
export type KeyringControllerGetKeyringsByTypeAction = {
type: `${typeof name}:getKeyringsByType`;
handler: KeyringController['getKeyringsByType'];
};
export type KeyringControllerGetKeyringForAccountAction = {
type: `${typeof name}:getKeyringForAccount`;
handler: KeyringController['getKeyringForAccount'];
};
export type KeyringControllerGetAccountsAction = {
type: `${typeof name}:getAccounts`;
handler: KeyringController['getAccounts'];
};
export type KeyringControllerPersistAllKeyringsAction = {
type: `${typeof name}:persistAllKeyrings`;
handler: KeyringController['persistAllKeyrings'];
};
export type KeyringControllerPrepareUserOperationAction = {
type: `${typeof name}:prepareUserOperation`;
handler: KeyringController['prepareUserOperation'];
};
export type KeyringControllerPatchUserOperationAction = {
type: `${typeof name}:patchUserOperation`;
handler: KeyringController['patchUserOperation'];
};
export type KeyringControllerSignUserOperationAction = {
type: `${typeof name}:signUserOperation`;
handler: KeyringController['signUserOperation'];
};
export type KeyringControllerAddNewAccountAction = {
type: `${typeof name}:addNewAccount`;
handler: KeyringController['addNewAccount'];
};
export type KeyringControllerWithKeyringAction = {
type: `${typeof name}:withKeyring`;
handler: KeyringController['withKeyring'];
};
export type KeyringControllerWithKeyringUnsafeAction = {
type: `${typeof name}:withKeyringUnsafe`;
handler: KeyringController['withKeyringUnsafe'];
};
export type KeyringControllerCreateNewVaultAndKeychainAction = {
type: `${typeof name}:createNewVaultAndKeychain`;
handler: KeyringController['createNewVaultAndKeychain'];
};
export type KeyringControllerCreateNewVaultAndRestoreAction = {
type: `${typeof name}:createNewVaultAndRestore`;
handler: KeyringController['createNewVaultAndRestore'];
};
export type KeyringControllerAddNewKeyringAction = {
type: `${typeof name}:addNewKeyring`;
handler: KeyringController['addNewKeyring'];
};
export type KeyringControllerRemoveAccountAction = {
type: `${typeof name}:removeAccount`;
handler: KeyringController['removeAccount'];
};
export type KeyringControllerStateChangeEvent = {

@@ -165,3 +87,3 @@ type: `${typeof name}:stateChange`;

};
export type KeyringControllerActions = KeyringControllerGetStateAction | KeyringControllerSignMessageAction | KeyringControllerSignEip7702AuthorizationAction | KeyringControllerSignPersonalMessageAction | KeyringControllerSignTypedMessageAction | KeyringControllerDecryptMessageAction | KeyringControllerGetEncryptionPublicKeyAction | KeyringControllerGetAccountsAction | KeyringControllerGetKeyringsByTypeAction | KeyringControllerGetKeyringForAccountAction | KeyringControllerPersistAllKeyringsAction | KeyringControllerPrepareUserOperationAction | KeyringControllerPatchUserOperationAction | KeyringControllerSignUserOperationAction | KeyringControllerAddNewAccountAction | KeyringControllerWithKeyringAction | KeyringControllerWithKeyringUnsafeAction | KeyringControllerAddNewKeyringAction | KeyringControllerCreateNewVaultAndKeychainAction | KeyringControllerCreateNewVaultAndRestoreAction | KeyringControllerRemoveAccountAction;
export type KeyringControllerActions = KeyringControllerGetStateAction | KeyringControllerMethodActions;
export type KeyringControllerEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | KeyringControllerAccountRemovedEvent;

@@ -174,2 +96,3 @@ export type KeyringControllerMessenger = Messenger<typeof name, KeyringControllerActions, KeyringControllerEvents>;

}[];
keyringV2Builders?: KeyringV2Builder[];
messenger: KeyringControllerMessenger;

@@ -213,2 +136,49 @@ state?: {

/**
* A keyring entry, including the keyring instance (+ v2 instance) and its metadata.
*/
export type KeyringEntry = {
/**
* The keyring instance.
*/
keyring: EthKeyring;
/**
* The keyring V2 instance, if available.
*/
keyringV2?: KeyringV2;
/**
* The keyring metadata.
*/
metadata: KeyringMetadata;
};
/**
* A restricted view of the {@link KeyringController} exposed to the callback
* passed to {@link KeyringController.withController}.
*
* It provides a read-only live view of all keyrings and the ability to stage
* keyring additions and removals atomically within a single transaction.
*/
export type RestrictedController = {
/**
* Read-only live view of all keyrings in the current transaction (original
* keyrings plus any added, minus any removed so far in this callback).
*/
readonly keyrings: readonly KeyringEntry[];
/**
* Create a new keyring of the given type and stage it for commit. The new
* entry is immediately visible in {@link RestrictedController.keyrings}.
*
* @param type - The type of keyring to create.
* @param opts - Optional data to pass to the keyring builder.
* @returns The newly created `{ keyring, metadata }` entry.
*/
addNewKeyring(type: string, opts?: unknown): Promise<KeyringEntry>;
/**
* Stage the keyring with the given id for removal. The keyring is
* immediately removed from {@link RestrictedController.keyrings}.
*
* @param id - The id of the keyring to remove.
*/
removeKeyring(id: string): Promise<void>;
};
/**
* A strategy for importing an account

@@ -368,2 +338,16 @@ */

/**
* Keyring selector used for `withKeyringV2` (see {@link KeyringController#withKeyringV2} and {@link KeyringSelector}).
*/
export type KeyringSelectorV2<SelectedKeyring extends KeyringV2 = KeyringV2> = {
type: string;
index?: number;
} | {
address: KeyringAccount['address'];
} | {
id: KeyringMetadata['id'];
} | {
/** Similar to {@link KeyringSelector.filter} but for `KeyringV2` instances. */
filter: ((keyring: KeyringV2, metadata: KeyringMetadata) => boolean) | ((keyring: KeyringV2, metadata: KeyringMetadata) => keyring is SelectedKeyring);
};
/**
* Keyring builder.

@@ -376,2 +360,12 @@ */

/**
* A builder that wraps a legacy `Keyring` into a `KeyringV2` adapter.
*
* The controller calls the builder once when the V1 keyring is created
* or restored; the resulting wrapper is cached for the keyring's lifetime.
*/
export type KeyringV2Builder = {
(keyring: Keyring, metadata: KeyringMetadata): KeyringV2;
type: string;
};
/**
* Get builder function for `Keyring`

@@ -686,6 +680,3 @@ *

*/
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>, options: {
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata }: KeyringEntry) => Promise<CallbackResult>, options: {
createIfMissing?: false;

@@ -711,6 +702,3 @@ } | {

*/
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>): Promise<CallbackResult>;
withKeyring<SelectedKeyring extends EthKeyring = EthKeyring, CallbackResult = void>(selector: KeyringSelector<SelectedKeyring>, operation: ({ keyring, metadata }: KeyringEntry) => Promise<CallbackResult>): Promise<CallbackResult>;
/**

@@ -754,2 +742,79 @@ * Select a keyring and execute the given operation with the selected

}) => Promise<CallbackResult>): Promise<CallbackResult>;
/**
* Select a keyring using its `KeyringV2` adapter, and execute
* the given operation with the wrapped keyring as a mutually
* exclusive atomic operation.
*
* The cached `KeyringV2` adapter is retrieved from the keyring
* entry.
*
* A `KeyringV2Builder` for the selected keyring's type must exist
* (either as a default or registered via the `keyringV2Builders`
* constructor option); otherwise an error is thrown.
*
* The method automatically persists changes at the end of the
* function execution, or rolls back the changes if an error
* is thrown.
*
* @param selector - Keyring selector object.
* @param operation - Function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
withKeyringV2<SelectedKeyring extends KeyringV2 = KeyringV2, CallbackResult = void>(selector: KeyringSelectorV2<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>): Promise<CallbackResult>;
/**
* Select a keyring, wrap it in a `KeyringV2` adapter, and execute
* the given read-only operation **without** acquiring the controller's
* mutual exclusion lock.
*
* ## When to use this method
*
* This method is an escape hatch for read-only access to keyring data that
* is immutable once the keyring is initialized. A typical safe use case is
* reading immutable fields from a `KeyringV2` adapter: data that is set
* during initialization and never mutated afterwards.
*
* ## Why it is "unsafe"
*
* The "unsafe" designation mirrors the semantics of `unsafe { }` blocks in
* Rust: the method itself does not enforce thread-safety guarantees. By
* calling this method the **caller** explicitly takes responsibility for
* ensuring that:
*
* - The operation is **read-only** — no state is mutated.
* - The data being read is **immutable** after the keyring is initialized,
* so concurrent locked operations cannot alter it while this callback
* runs.
*
* Do **not** use this method to:
* - Mutate keyring state (add accounts, sign, etc.) — use `withKeyringV2`.
* - Read mutable fields that could change during concurrent operations.
*
* @param selector - Keyring selector object.
* @param operation - Read-only function to execute with the wrapped V2 keyring.
* @returns Promise resolving to the result of the function execution.
* @template SelectedKeyring - The type of the selected V2 keyring.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
withKeyringV2Unsafe<SelectedKeyring extends KeyringV2 = KeyringV2, CallbackResult = void>(selector: KeyringSelectorV2<SelectedKeyring>, operation: ({ keyring, metadata, }: {
keyring: SelectedKeyring;
metadata: KeyringMetadata;
}) => Promise<CallbackResult>): Promise<CallbackResult>;
/**
* Execute an operation against all keyrings as a mutually exclusive atomic
* operation. The operation receives a {@link RestrictedController} instance
* that exposes a read-only live view of all keyrings as well as
* `addNewKeyring` and `removeKeyring` methods to stage mutations.
*
* The method automatically persists changes at the end of the function
* execution, or rolls back the changes if an error is thrown.
*
* @param operation - Function to execute with the restricted controller.
* @returns Promise resolving to the result of the function execution.
* @template CallbackResult - The type of the value resolved by the callback function.
*/
withController<CallbackResult = void>(operation: (restrictedController: RestrictedController) => Promise<CallbackResult>): Promise<CallbackResult>;
getAccountKeyringType(account: string): Promise<string>;

@@ -756,0 +821,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"KeyringController.d.mts","sourceRoot":"","sources":["../src/KeyringController.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"KeyringController.d.mts","sourceRoot":"","sources":["../src/KeyringController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,uBAAuB;AAEpE,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,KAAK,cAAc,qCAAqC;AAMpE,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACf,8BAA8B;AAC/B,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,iCAAiC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,uCAAuC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,gCAAgC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAwB;AAgBvE,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc;AAOnC,OAAO,KAAK,EAAE,8BAA8B,EAAE,oDAAgD;AAC9F,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EACnB,oBAAgB;AAEjB,QAAA,MAAM,IAAI,sBAAsB,CAAC;AA+BjC;;GAEG;AACH,oBAAY,YAAY;IAItB,MAAM,oBAAoB;IAC1B,EAAE,gBAAgB;IAClB,EAAE,8BAA8B;IAChC,MAAM,oBAAoB;IAC1B,MAAM,oBAAoB;IAC1B,MAAM,oBAAoB;IAC1B,OAAO,qBAAqB;IAC5B,IAAI,iBAAiB;IACrB,KAAK,kBAAkB;CAExB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,gBAAiB,MAAM,KAAG,OAEtD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,sBAAsB,EACtB,OAAO,GAAG,eAAe,GAAG,gBAAgB,CAC7C,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,GAAG,OAAO,IAAI,WAAW,CAAC;IAChC,OAAO,EAAE,MAAM,sBAAsB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,GAAG,OAAO,IAAI,cAAc,CAAC;IACnC,OAAO,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,GAAG,OAAO,IAAI,iBAAiB,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,GAAG,OAAO,IAAI,OAAO,CAAC;IAC5B,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,GAAG,OAAO,IAAI,SAAS,CAAC;IAC9B,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,+BAA+B,GAC/B,8BAA8B,CAAC;AAEnC,MAAM,MAAM,uBAAuB,GAC/B,iCAAiC,GACjC,0BAA0B,GAC1B,4BAA4B,GAC5B,oCAAoC,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAAG,SAAS,CAChD,OAAO,IAAI,EACX,wBAAwB,EACxB,uBAAuB,CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,aAAa,GAAG,cAAc,CAAC,aAAa,GAAG,SAAS,EACxD,6BAA6B,GAAG,cAAc,CAAC,oBAAoB,EACnE,gBAAgB,SACd,0BAA0B,CAAC,6BAA6B,CAAC,GACzD,uBAAuB,CAAC,6BAA6B,CAAC,IACtD;IACF,eAAe,CAAC,EAAE;QAAE,IAAI,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,SAAS,EAAE,0BAA0B,CAAC;IACtC,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IACjE,SAAS,EAAE,SAAS,CAClB,aAAa,EACb,6BAA6B,EAC7B,gBAAgB,CACjB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE,UAAU,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACnE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC;AAEF;;GAEG;AACH,oBAAY,qBAAqB;IAI/B,UAAU,eAAe;IACzB,IAAI,SAAS;CAEd;AAED;;;;GAIG;AACH,oBAAY,oBAAoB;IAC9B,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAwBF,MAAM,MAAM,0BAA0B,CAAC,oBAAoB,IAAI;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,oBAAoB,IAAI;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,oBAAoB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,CACnB,aAAa,GAAG,cAAc,CAAC,aAAa,GAAG,SAAS,EACxD,4BAA4B,GAAG,cAAc,CAAC,oBAAoB,EAClE,gBAAgB,SACd,0BAA0B,CAAC,4BAA4B,CAAC,GACxD,uBAAuB,CAAC,4BAA4B,CAAC,IACrD;IACF;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,MAAM,EACb,sBAAsB,CAAC,EAAE,cAAc,CAAC,oBAAoB,KACzD,OAAO,CAAC;IACb;;;;;;OAMG;IACH,cAAc,EAAE,CACd,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,IAAI,KACT,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B;;;;;;;;OAQG;IACH,iBAAiB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,IAAI,EACZ,IAAI,CAAC,EAAE,MAAM,KACV,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACtD;;;;;;OAMG;IACH,cAAc,EAAE,CACd,GAAG,EAAE,aAAa,EAClB,eAAe,EAAE,gBAAgB,KAC9B,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;;;;;;;;OASG;IACH,iBAAiB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,KACpB,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACnD;;;;;OAKG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACnD;;;;;OAKG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD;;;;;;;;OAQG;IACH,eAAe,EAAE,CACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,EACpB,oBAAoB,CAAC,EAAE,4BAA4B,KAChD,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B;;OAEG;IACH,YAAY,EAAE,OAAO,cAAc,CAAC,YAAY,CAAC;CAClD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,eAAe,SAAS,UAAU,GAAG,UAAU,IACvE;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,OAAO,EAAE,GAAG,CAAC;CACd,GACD;IACE,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE;;;;;;;;;OASG;IACH,MAAM,EACF,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC,GAI7D,CAAC,CACC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,eAAe,KACtB,OAAO,IAAI,eAAe,CAAC,CAAC;CACtC,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,eAAe,SAAS,SAAS,GAAG,SAAS,IACvE;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;CACpC,GACD;IACE,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;CAC3B,GACD;IACE,+EAA+E;IAC/E,MAAM,EACF,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC,GAC5D,CAAC,CACC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,eAAe,KACtB,OAAO,IAAI,eAAe,CAAC,CAAC;CACtC,CAAC;AAEN;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAcF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,kBAAkB,EAAE,YAAY,GAC/B,cAAc,CAMhB;AA+BD,eAAO,MAAM,sBAAsB,QAAO,sBAKzC,CAAC;AAkIF;;;;;;;;GAQG;AACH,qBAAa,iBAAiB,CAC5B,aAAa,GAAG,cAAc,CAAC,aAAa,GAAG,SAAS,EACxD,6BAA6B,GAAG,cAAc,CAAC,oBAAoB,EACnE,gBAAgB,SACd,0BAA0B,CAAC,6BAA6B,CAAC,GACzD,uBAAuB,CAAC,6BAA6B,CAAC,CACxD,SAAQ,cAAc,CACtB,OAAO,IAAI,EACX,sBAAsB,EACtB,0BAA0B,CAC3B;;IAqBC;;;;;;;;;OASG;gBAED,OAAO,EAAE,wBAAwB,CAC/B,aAAa,EACb,6BAA6B,EAC7B,gBAAgB,CACjB;IA6DH;;;;;;OAMG;IACG,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmC3D;;;;;;OAMG;IACG,uBAAuB,CAC3B,OAAO,EAAE,UAAU,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;IAgCf;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;;;;OAQG;IACG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhE;;;;;;;OAOG;IACG,aAAa,CACjB,IAAI,EAAE,YAAY,GAAG,MAAM,EAC3B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,eAAe,CAAC;IAQ3B;;;;;OAKG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;OAMG;IACG,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC;IAYtB;;;;;;OAMG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAavE;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQtC;;;;;;;OAOG;IACG,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,MAAM,CAAC;IAalB;;;;;;;OAOG;IACG,cAAc,CAAC,aAAa,EAAE;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,oBAAoB,CAAC;KAC5B,GAAG,OAAO,CAAC,MAAM,CAAC;IAanB;;;;;;;;;OASG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C7D;;;;;;;;OAQG;IACH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO,EAAE;IAUzD;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;;;;;OAOG;IACG,yBAAyB,CAC7B,QAAQ,EAAE,qBAAqB,EAG/B,IAAI,EAAE,GAAG,EAAE,GACV,OAAO,CAAC,MAAM,CAAC;IA0DlB;;;;;;OAMG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnD;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBhC;;;;;OAKG;IACG,WAAW,CAAC,aAAa,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxE;;;;;;OAMG;IACG,wBAAwB,CAC5B,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,MAAM,CAAC;IA6BlB;;;;;OAKG;IACG,mBAAmB,CACvB,aAAa,EAAE,qBAAqB,GACnC,OAAO,CAAC,MAAM,CAAC;IAelB;;;;;;;OAOG;IACG,gBAAgB,CACpB,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC;IA8ClB;;;;;;;OAOG;IACG,eAAe,CACnB,WAAW,EAAE,gBAAgB,EAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,WAAW,CAAC;IAavB;;;;;;;OAOG;IACG,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,kBAAkB,EAAE,EAClC,gBAAgB,EAAE,uBAAuB,GACxC,OAAO,CAAC,oBAAoB,CAAC;IAkBhC;;;;;;;;OAQG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,uBAAuB,GACxC,OAAO,CAAC,qBAAqB,CAAC;IAcjC;;;;;;;OAOG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,uBAAuB,GACxC,OAAO,CAAC,MAAM,CAAC;IAclB;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C;;;;;;;;OAQG;IACG,mBAAmB,CACvB,aAAa,EAAE,MAAM,EACrB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAS5C;;;;;;OAMG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD;;;;;OAKG;IACG,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiC/D;;;;;;;;;;;;;;;;;;OAkBG;IACG,WAAW,CACf,eAAe,SAAS,UAAU,GAAG,UAAU,EAC/C,cAAc,GAAG,IAAI,EAErB,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,EAC1C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,cAAc,CAAC,EAE3E,OAAO,EACH;QAAE,eAAe,CAAC,EAAE,KAAK,CAAA;KAAE,GAC3B;QAAE,eAAe,EAAE,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACtD,OAAO,CAAC,cAAc,CAAC;IAE1B;;;;;;;;;;;;;;OAcG;IACG,WAAW,CACf,eAAe,SAAS,UAAU,GAAG,UAAU,EAC/C,cAAc,GAAG,IAAI,EAErB,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,EAC1C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC,cAAc,CAAC,GAC1E,OAAO,CAAC,cAAc,CAAC;IAoD1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,iBAAiB,CACrB,eAAe,SAAS,UAAU,GAAG,UAAU,EAC/C,cAAc,GAAG,IAAI,EAErB,QAAQ,EAAE,eAAe,CAAC,eAAe,CAAC,EAC1C,SAAS,EAAE,CAAC,EACV,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,eAAe,CAAC;KAC3B,KAAK,OAAO,CAAC,cAAc,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC;IAsB1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,aAAa,CACjB,eAAe,SAAS,SAAS,GAAG,SAAS,EAC7C,cAAc,GAAG,IAAI,EAErB,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,EAC5C,SAAS,EAAE,CAAC,EACV,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,eAAe,CAAC;KAC3B,KAAK,OAAO,CAAC,cAAc,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC;IAkC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,mBAAmB,CACvB,eAAe,SAAS,SAAS,GAAG,SAAS,EAC7C,cAAc,GAAG,IAAI,EAErB,QAAQ,EAAE,iBAAiB,CAAC,eAAe,CAAC,EAC5C,SAAS,EAAE,CAAC,EACV,OAAO,EACP,QAAQ,GACT,EAAE;QACD,OAAO,EAAE,eAAe,CAAC;QACzB,QAAQ,EAAE,eAAe,CAAC;KAC3B,KAAK,OAAO,CAAC,cAAc,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC;IA+B1B;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,cAAc,GAAG,IAAI,EACxC,SAAS,EAAE,CACT,oBAAoB,EAAE,oBAAoB,KACvC,OAAO,CAAC,cAAc,CAAC,GAC3B,OAAO,CAAC,cAAc,CAAC;IAmGpB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA67B9D;AAiCD,eAAe,iBAAiB,CAAC"}
{
"name": "@metamask/keyring-controller",
"version": "25.2.0",
"version": "25.3.0",
"description": "Stores identities seen in the wallet and manages interactions such as signing",
"keywords": [
"MetaMask",
"Ethereum"
"Ethereum",
"MetaMask"
],

@@ -13,2 +13,3 @@ "homepage": "https://github.com/MetaMask/core/tree/main/packages/keyring-controller#readme",

},
"license": "MIT",
"repository": {

@@ -18,4 +19,8 @@ "type": "git",

},
"license": "MIT",
"files": [
"dist/"
],
"sideEffects": false,
"main": "./dist/index.cjs",
"types": "./dist/index.d.cts",
"exports": {

@@ -34,7 +39,6 @@ ".": {

},
"main": "./dist/index.cjs",
"types": "./dist/index.d.cts",
"files": [
"dist/"
],
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"scripts": {

@@ -46,2 +50,4 @@ "build": "ts-bridge --project tsconfig.build.json --verbose --clean --no-references",

"changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller",
"messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --formatter oxfmt --check",
"messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --formatter oxfmt --generate",
"since-latest-release": "../../scripts/since-latest-release.sh",

@@ -55,10 +61,10 @@ "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",

"@ethereumjs/util": "^9.1.0",
"@metamask/base-controller": "^9.0.1",
"@metamask/base-controller": "^9.1.0",
"@metamask/browser-passworder": "^6.0.0",
"@metamask/eth-hd-keyring": "^13.0.0",
"@metamask/eth-hd-keyring": "^14.1.0",
"@metamask/eth-sig-util": "^8.2.0",
"@metamask/eth-simple-keyring": "^11.0.0",
"@metamask/keyring-api": "^21.6.0",
"@metamask/keyring-internal-api": "^10.0.0",
"@metamask/messenger": "^1.0.0",
"@metamask/eth-simple-keyring": "^12.0.1",
"@metamask/keyring-api": "^23.0.1",
"@metamask/keyring-internal-api": "^11.0.0",
"@metamask/messenger": "^1.2.0",
"@metamask/utils": "^11.9.0",

@@ -76,3 +82,3 @@ "async-mutex": "^0.5.0",

"@lavamoat/preinstall-always-fail": "^2.1.0",
"@metamask/auto-changelog": "^3.4.4",
"@metamask/auto-changelog": "^6.1.0",
"@metamask/keyring-utils": "^3.1.0",

@@ -86,2 +92,3 @@ "@metamask/scure-bip39": "^2.1.1",

"ts-jest": "^29.2.5",
"tsx": "^4.20.5",
"typedoc": "^0.25.13",

@@ -95,6 +102,2 @@ "typedoc-plugin-missing-exports": "^2.0.0",

},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"lavamoat": {

@@ -101,0 +104,0 @@ "allowScripts": {

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display