Skip to content
/ core Public

This monorepo is a collection of packages used across multiple MetaMask clients

Notifications You must be signed in to change notification settings

MetaMask/core

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 11, 2025
8d9e877 · Feb 11, 2025
Jan 13, 2025
Sep 16, 2024
Nov 30, 2024
Jan 13, 2025
Feb 11, 2025
Jan 10, 2025
Sep 3, 2024
Oct 10, 2024
Jan 9, 2025
Oct 13, 2022
Jun 24, 2022
Oct 7, 2024
May 31, 2024
Dec 12, 2023
Jun 27, 2024
Jan 13, 2025
Dec 12, 2023
Jan 9, 2025
Jun 24, 2024
Jul 11, 2024
Jan 13, 2025
Nov 11, 2022
Jan 13, 2025
Jan 13, 2025
Dec 19, 2024
Mar 7, 2024
Jul 22, 2024
Dec 12, 2023
Oct 24, 2024
Feb 11, 2025

Repository files navigation

Core Monorepo

This monorepo is a collection of packages used across multiple MetaMask clients (e.g. metamask-extension, metamask-mobile).

Contributing

See the Contributor Guide for help on:

  • Setting up your development environment
  • Working with the monorepo
  • Testing changes in clients
  • Issuing new releases
  • Creating a new package

Installation/Usage

Each package in this repository has its own README where you can find installation and usage instructions. See packages/ for more.

Packages

Loading
%%{ init: { 'flowchart': { 'curve': 'bumpX' } } }%%
graph LR;
linkStyle default opacity:0.5
  accounts_controller(["@metamask/accounts-controller"]);
  address_book_controller(["@metamask/address-book-controller"]);
  announcement_controller(["@metamask/announcement-controller"]);
  approval_controller(["@metamask/approval-controller"]);
  assets_controllers(["@metamask/assets-controllers"]);
  base_controller(["@metamask/base-controller"]);
  build_utils(["@metamask/build-utils"]);
  composable_controller(["@metamask/composable-controller"]);
  controller_utils(["@metamask/controller-utils"]);
  ens_controller(["@metamask/ens-controller"]);
  eth_json_rpc_provider(["@metamask/eth-json-rpc-provider"]);
  gas_fee_controller(["@metamask/gas-fee-controller"]);
  json_rpc_engine(["@metamask/json-rpc-engine"]);
  json_rpc_middleware_stream(["@metamask/json-rpc-middleware-stream"]);
  keyring_controller(["@metamask/keyring-controller"]);
  logging_controller(["@metamask/logging-controller"]);
  message_manager(["@metamask/message-manager"]);
  multichain(["@metamask/multichain"]);
  name_controller(["@metamask/name-controller"]);
  network_controller(["@metamask/network-controller"]);
  notification_services_controller(["@metamask/notification-services-controller"]);
  permission_controller(["@metamask/permission-controller"]);
  permission_log_controller(["@metamask/permission-log-controller"]);
  phishing_controller(["@metamask/phishing-controller"]);
  polling_controller(["@metamask/polling-controller"]);
  preferences_controller(["@metamask/preferences-controller"]);
  profile_sync_controller(["@metamask/profile-sync-controller"]);
  queued_request_controller(["@metamask/queued-request-controller"]);
  rate_limit_controller(["@metamask/rate-limit-controller"]);
  selected_network_controller(["@metamask/selected-network-controller"]);
  signature_controller(["@metamask/signature-controller"]);
  transaction_controller(["@metamask/transaction-controller"]);
  user_operation_controller(["@metamask/user-operation-controller"]);
  accounts_controller --> base_controller;
  accounts_controller --> keyring_controller;
  address_book_controller --> base_controller;
  address_book_controller --> controller_utils;
  announcement_controller --> base_controller;
  approval_controller --> base_controller;
  assets_controllers --> base_controller;
  assets_controllers --> controller_utils;
  assets_controllers --> polling_controller;
  assets_controllers --> accounts_controller;
  assets_controllers --> approval_controller;
  assets_controllers --> keyring_controller;
  assets_controllers --> network_controller;
  assets_controllers --> preferences_controller;
  base_controller --> json_rpc_engine;
  composable_controller --> base_controller;
  composable_controller --> json_rpc_engine;
  ens_controller --> base_controller;
  ens_controller --> controller_utils;
  ens_controller --> network_controller;
  eth_json_rpc_provider --> json_rpc_engine;
  gas_fee_controller --> base_controller;
  gas_fee_controller --> controller_utils;
  gas_fee_controller --> polling_controller;
  gas_fee_controller --> network_controller;
  json_rpc_middleware_stream --> json_rpc_engine;
  keyring_controller --> base_controller;
  keyring_controller --> message_manager;
  logging_controller --> base_controller;
  logging_controller --> controller_utils;
  message_manager --> base_controller;
  message_manager --> controller_utils;
  multichain --> controller_utils;
  multichain --> network_controller;
  multichain --> permission_controller;
  name_controller --> base_controller;
  name_controller --> controller_utils;
  network_controller --> base_controller;
  network_controller --> controller_utils;
  network_controller --> eth_json_rpc_provider;
  network_controller --> json_rpc_engine;
  notification_services_controller --> base_controller;
  notification_services_controller --> controller_utils;
  notification_services_controller --> keyring_controller;
  notification_services_controller --> profile_sync_controller;
  permission_controller --> base_controller;
  permission_controller --> controller_utils;
  permission_controller --> json_rpc_engine;
  permission_controller --> approval_controller;
  permission_log_controller --> base_controller;
  permission_log_controller --> json_rpc_engine;
  phishing_controller --> base_controller;
  phishing_controller --> controller_utils;
  polling_controller --> base_controller;
  polling_controller --> controller_utils;
  polling_controller --> network_controller;
  preferences_controller --> base_controller;
  preferences_controller --> controller_utils;
  preferences_controller --> keyring_controller;
  profile_sync_controller --> base_controller;
  profile_sync_controller --> keyring_controller;
  profile_sync_controller --> network_controller;
  profile_sync_controller --> accounts_controller;
  queued_request_controller --> base_controller;
  queued_request_controller --> controller_utils;
  queued_request_controller --> json_rpc_engine;
  queued_request_controller --> network_controller;
  queued_request_controller --> selected_network_controller;
  rate_limit_controller --> base_controller;
  selected_network_controller --> base_controller;
  selected_network_controller --> json_rpc_engine;
  selected_network_controller --> network_controller;
  selected_network_controller --> permission_controller;
  signature_controller --> base_controller;
  signature_controller --> controller_utils;
  signature_controller --> approval_controller;
  signature_controller --> keyring_controller;
  signature_controller --> logging_controller;
  signature_controller --> network_controller;
  transaction_controller --> base_controller;
  transaction_controller --> controller_utils;
  transaction_controller --> accounts_controller;
  transaction_controller --> approval_controller;
  transaction_controller --> eth_json_rpc_provider;
  transaction_controller --> gas_fee_controller;
  transaction_controller --> network_controller;
  user_operation_controller --> base_controller;
  user_operation_controller --> controller_utils;
  user_operation_controller --> polling_controller;
  user_operation_controller --> approval_controller;
  user_operation_controller --> gas_fee_controller;
  user_operation_controller --> keyring_controller;
  user_operation_controller --> network_controller;
  user_operation_controller --> transaction_controller;

(This section may be regenerated at any time by running yarn update-readme-content.)