Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert @metamask/keyring-api to monorepo #240

Open
gantunesr opened this issue Jan 18, 2024 · 4 comments
Open

Convert @metamask/keyring-api to monorepo #240

gantunesr opened this issue Jan 18, 2024 · 4 comments
Labels
Stale team-accounts This should be handled by the Accounts Team

Comments

@gantunesr
Copy link
Member

gantunesr commented Jan 18, 2024

Description

In order to improve the maintainability of this package and its consumers we should convert it into a monorepo that contains two main packages,

  • @metamask/keyring-snap-sdk
  • @metamask/keyring-api

Notes

  • @danroc will help define the code split between both packages
@gantunesr gantunesr added team-accounts This should be handled by the Accounts Team team-shared-libraries labels Jan 18, 2024
@Gudahtt
Copy link
Member

Gudahtt commented Jan 18, 2024

Could we consider moving the keyring API to the core monorepo instead, leaving the SDK here? That might be simpler than setting up a monorepo, and we wanted all of the keyring packages used by extension/mobile to be in core eventually anyway

@danroc
Copy link
Contributor

danroc commented Jan 18, 2024

I'd prefer to move to a monorepo, but I'm OK with moving the API to the core monorepo until we have the capacity to work on it.

A breakdown could be as follows:

Files Package
eth/ keyring-internal-api
internal/ keyring-internal-api
api.ts keyring-api
events.ts keyring-snap-sdk
JsonRpcRequest.ts keyring-snap-sdk
KeyringClient.ts keyring-snap-client
KeyringSnapControllerClient.ts keyring-snap-client
KeyringSnapRpcClient.ts keyring-snap-client
rpc-handler.ts keyring-snap-sdk
snap-utils.ts keyring-snap-sdk
superstruct.ts keyring-utils
utils.ts keyring-utils

And, pending verification, the dependencies would be:

graph TD
  keyring-api --> keyring-utils
  keyring-internal-api --> keyring-api
  keyring-internal-api --> keyring-utils
  keyring-snap-sdk --> keyring-api
  keyring-snap-sdk --> keyring-utils
  keyring-snap-client --> keyring-api
  keyring-snap-client --> keyring-utils
Loading

Copy link
Contributor

github-actions bot commented Jun 5, 2024

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label Jun 5, 2024
@danroc danroc removed the Stale label Jun 5, 2024
Copy link
Contributor

github-actions bot commented Jul 6, 2024

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label Jul 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale team-accounts This should be handled by the Accounts Team
Projects
None yet
Development

No branches or pull requests

4 participants