MetaMask / MetaMask/core

Migrate libraries into core monorepo

Open
#1,079 4 comments 0 reactions 0 assignees View on GitHub
enhancement Epic team-wallet-framework wf-epics
Dominant language
TypeScript
Stars
413
Forks
308
Avg merge
1d 4h
Merged PRs (30d)
253

Description

We would like to migrate most MetaMask libraries into this monorepo to make them easier to maintain. We may want to exclude libraries that are:

* Experimental
* Deprecated, or not encouraged to be used in our codebase anymore
* Not used directly in a MetaMask client
* Intended primarily for external developers integrating with MetaMask
* Specific to extensions or React Native
* Too noisy/high-volume
* Deployed both as a website and an npm package
* Controllers (these are represented by https://github.com/MetaMask/core/issues/700)
* Conceptually distinct in some way (this one is subjective)

Here is the list of libraries that seem like a good fit today:

- [ ] https://github.com/MetaMask/abi-utils
- [ ] https://github.com/MetaMask/eth-block-tracker
- [ ] https://github.com/MetaMask/eth-hd-keyring
- [ ] https://github.com/MetaMask/eth-json-rpc-filters
- [ ] https://github.com/MetaMask/eth-json-rpc-infura
- [ ] https://github.com/MetaMask/eth-json-rpc-middleware
- [x] https://github.com/MetaMask/eth-json-rpc-provider
- [ ] https://github.com/MetaMask/eth-ledger-bridge-keyring
- [ ] https://github.com/MetaMask/eth-method-registry
- [x] https://github.com/MetaMask/eth-phishing-detect (but just the detector, not the config)
- [ ] https://github.com/MetaMask/eth-rpc-errors
- [ ] https://github.com/MetaMask/eth-sig-util
- [ ] https://github.com/MetaMask/eth-simple-keyring
- [ ] https://github.com/MetaMask/eth-token-tracker
- [ ] https://github.com/MetaMask/eth-trezor-keyring
- [ ] https://github.com/MetaMask/etherscan-link
- [x] https://github.com/MetaMask/json-rpc-engine
- [x] https://github.com/MetaMask/json-rpc-middleware-stream
- [ ] https://github.com/MetaMask/key-tree ? (check in with Snaps team first)
- [ ] https://github.com/MetaMask/metamask-eth-abis
- [ ] https://github.com/MetaMask/nonce-tracker
- [ ] https://github.com/MetaMask/providers
- [ ] https://github.com/MetaMask/rpc-errors
- [ ] ~https://github.com/MetaMask/scure-bip39~ This is a fork, so we might not want to do this
- [x] https://github.com/MetaMask/utils

See https://github.com/MetaMask/core/issues/1079#issuecomment-1700126302 for instructions on accomplishing this.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the instructions in the linked issue comment and reviewing the unchecked library list in this issue. Confirm which libraries meet the stated inclusion criteria and which exclusions apply. Done means the selected libraries have been migrated into the monorepo and the checklist reflects their status.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
build-system, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.