core icon indicating copy to clipboard operation
core copied to clipboard

feat: add ChainController

Open ccharly opened this issue 10 months ago • 8 comments

Explanation

This new controller will be responsible of exposing Snaps that implement the newly defined Chain API.

This controller also implements the chain API itself.

Reference: https://github.com/MetaMask/chain-api/

Changelog

@metamask/chain-controller

  • Added: New ChainController: exposes/interacts with chain API providers

Checklist

  • [x] I've updated the test suite for new or updated code as appropriate
  • [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • [x] I've highlighted breaking changes using the "BREAKING" category above as appropriate

ccharly avatar Apr 29 '24 12:04 ccharly

👍 Dependency issues cleared. Learn more about Socket for GitHub ↗︎

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report↗︎

socket-security[bot] avatar Apr 29 '24 12:04 socket-security[bot]

@mcmire I did update the README, but I had to hack the script locally because it was removing the accounts-controller from the README because of the .slice(1) here.

I didn't want to fix this in this PR, cause I'm not sure it's still required or not.

ccharly avatar May 14 '24 15:05 ccharly

I've added the DO-NOT-MERGE label, cause I've added skipLibCheck=true for tsbuild temporarily, otherwise the CI complains (something the jsx-runtime, we faced that in another PR and that might be related to some Snaps dependencies, I'll wait for more info on this before removing it from the PR)

ccharly avatar May 14 '24 15:05 ccharly

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@metamask/[email protected] None +1 229 kB metamaskbot
npm/@metamask/[email protected] None 0 0 B

View full report↗︎

socket-security[bot] avatar May 15 '24 15:05 socket-security[bot]

Removing the DO-NOT-MERGE label for now, to have a successful CI and allow preview builds

ccharly avatar May 16 '24 07:05 ccharly

@metamaskbot publish-preview

ccharly avatar May 16 '24 07:05 ccharly

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/accounts-controller": "14.0.0-preview-699063fc",
  "@metamask-previews/address-book-controller": "4.0.1-preview-699063fc",
  "@metamask-previews/announcement-controller": "6.1.0-preview-699063fc",
  "@metamask-previews/approval-controller": "6.0.2-preview-699063fc",
  "@metamask-previews/assets-controllers": "29.0.0-preview-699063fc",
  "@metamask-previews/base-controller": "5.0.2-preview-699063fc",
  "@metamask-previews/build-utils": "2.0.1-preview-699063fc",
  "@metamask-previews/chain-controller": "0.0.0-preview-699063fc",
  "@metamask-previews/composable-controller": "6.0.1-preview-699063fc",
  "@metamask-previews/controller-utils": "9.1.0-preview-699063fc",
  "@metamask-previews/ens-controller": "10.0.1-preview-699063fc",
  "@metamask-previews/eth-json-rpc-provider": "3.0.2-preview-699063fc",
  "@metamask-previews/gas-fee-controller": "15.1.2-preview-699063fc",
  "@metamask-previews/json-rpc-engine": "8.0.2-preview-699063fc",
  "@metamask-previews/json-rpc-middleware-stream": "7.0.1-preview-699063fc",
  "@metamask-previews/keyring-controller": "16.0.0-preview-699063fc",
  "@metamask-previews/logging-controller": "3.0.1-preview-699063fc",
  "@metamask-previews/message-manager": "8.0.2-preview-699063fc",
  "@metamask-previews/name-controller": "6.0.1-preview-699063fc",
  "@metamask-previews/network-controller": "18.1.0-preview-699063fc",
  "@metamask-previews/notification-controller": "5.0.1-preview-699063fc",
  "@metamask-previews/permission-controller": "9.0.2-preview-699063fc",
  "@metamask-previews/permission-log-controller": "2.0.1-preview-699063fc",
  "@metamask-previews/phishing-controller": "9.0.2-preview-699063fc",
  "@metamask-previews/polling-controller": "6.0.2-preview-699063fc",
  "@metamask-previews/preferences-controller": "11.0.0-preview-699063fc",
  "@metamask-previews/profile-sync-controller": "0.0.0-preview-699063fc",
  "@metamask-previews/queued-request-controller": "0.10.0-preview-699063fc",
  "@metamask-previews/rate-limit-controller": "5.0.1-preview-699063fc",
  "@metamask-previews/selected-network-controller": "13.0.0-preview-699063fc",
  "@metamask-previews/signature-controller": "16.0.0-preview-699063fc",
  "@metamask-previews/transaction-controller": "29.0.0-preview-699063fc",
  "@metamask-previews/user-operation-controller": "10.0.0-preview-699063fc"
}

github-actions[bot] avatar May 16 '24 07:05 github-actions[bot]

@ccharly Thank you for the changes! I agree it looks a lot better. Nothing jumps out at me, so feel free to get approval from your team and continue on with this PR :)

mcmire avatar May 17 '24 16:05 mcmire