@metamask/permission-controller 4.1.1
Mediates access to JSON-RPC methods, used to interact with pieces of the MetaMask stack, via middleware for json-rpc-engine
@metamask/permission-controller@4.1.1 was published on 2023-08-28. Its manifest declares 10 runtime dependencies and 1 peer requirement. Type declarations are bundled according to the package metadata. The declared Node.js requirement is >=16.0.0.
All @metamask/permission-controller versions · Permanent reference to 4.1.1 · Latest release
Package specifications
| Version | 4.1.1 |
|---|---|
| License declaration | MIT |
| Published | 2023-08-28T19:07:16.168Z |
| Node.js requirement | >=16.0.0 |
| Type declarations | Bundled declarations |
| Runtime dependency count | 10 |
| Peer requirement count | 1 |
| Optional dependency count | 0 |
| Minified size | Measurement not available yet |
| Minified + gzip | Measurement not available yet |
| Unpacked distribution size | 391.91 KiB |
| Published file count | 48 |
| Package type | Not declared |
| ES module entry | Not declared |
| Default entry | ./dist/index.js |
| Side effects declaration | Not declared |
| Direct advisories | 0 |
| Resolved graph dependencies | 136 |
| Repository stars | 420 |
| Repository forks | 312 |
Install @metamask/permission-controller 4.1.1
npm install @metamask/permission-controller@4.1.1 pnpm add @metamask/permission-controller@4.1.1 yarn add @metamask/permission-controller@4.1.1
Runtime dependencies
- immer ^9.0.6
- nanoid ^3.1.31
- eth-rpc-errors ^4.0.2
- @metamask/utils ^6.2.0
- json-rpc-engine ^6.1.0
- deep-freeze-strict ^1.1.1
- @metamask/base-controller ^3.2.1
- @types/deep-freeze-strict ^1.1.0
- @metamask/controller-utils ^4.3.2
- @metamask/approval-controller ^3.5.1
Peer requirements
Optional dependencies
- None declared
Resolved dependency graph
This deps.dev graph describes a generic 64-bit Linux environment, not your application lockfile.
- @metamask/approval-controller@3.5.2 — direct
- @metamask/base-controller@3.2.3 — direct
- @metamask/controller-utils@4.3.2 — direct
- @metamask/utils@6.2.0 — direct
- @types/deep-freeze-strict@1.1.2 — direct
- deep-freeze-strict@1.1.1 — direct
- eth-rpc-errors@4.0.3 — direct
- immer@9.0.21 — direct
- json-rpc-engine@6.1.0 — direct
- nanoid@3.3.20 — direct
- @metamask/utils@8.5.0 — indirect
- @metamask/eth-query@3.0.1 — indirect
- @spruceid/siwe-parser@1.1.3 — indirect
- eth-ens-namehash@2.0.8 — indirect
- ethereumjs-util@7.1.5 — indirect
- ethjs-unit@0.1.6 — indirect
- fast-deep-equal@3.1.3 — indirect
- @ethereumjs/tx@4.2.0 — indirect
- @noble/hashes@1.8.0 — indirect
- @types/debug@4.1.13 — indirect
- debug@4.4.3 — indirect
- semver@7.8.5 — indirect
- superstruct@1.0.4 — indirect
- fast-safe-stringify@2.1.1 — indirect
- @metamask/safe-event-emitter@2.0.0 — indirect
- @metamask/superstruct@3.4.1 — indirect
- @scure/base@1.2.6 — indirect
- pony-cause@2.1.11 — indirect
- uuid@9.0.1 — indirect
- json-rpc-random-id@1.0.1 — indirect
- xtend@4.0.2 — indirect
- apg-js@4.4.0 — indirect
- idna-uts46-hx@2.3.1 — indirect
- js-sha3@0.5.7 — indirect
- @types/bn.js@5.2.0 — indirect
- bn.js@5.2.5 — indirect
- create-hash@1.2.0 — indirect
- ethereum-cryptography@0.1.3 — indirect
- rlp@2.2.7 — indirect
- bn.js@4.11.6 — indirect
- number-to-bn@1.7.0 — indirect
- @ethereumjs/common@3.2.0 — indirect
- @ethereumjs/rlp@4.0.1 — indirect
- @ethereumjs/util@8.1.0 — indirect
- ethereum-cryptography@2.2.1 — indirect
- @types/ms@2.1.0 — indirect
- ms@2.1.3 — indirect
- punycode@2.1.0 — indirect
- @types/node@26.6.6 — indirect
- cipher-base@1.0.7 — indirect
- inherits@2.0.4 — indirect
- md5.js@1.3.5 — indirect
- ripemd160@2.0.3 — indirect
- sha.js@2.4.12 — indirect
- @types/pbkdf2@3.1.2 — indirect
- @types/secp256k1@4.0.7 — indirect
- blakejs@1.2.1 — indirect
- browserify-aes@1.2.0 — indirect
- bs58check@2.1.2 — indirect
- create-hmac@1.1.7 — indirect
- hash.js@1.1.7 — indirect
- keccak@3.0.4 — indirect
- pbkdf2@3.1.7 — indirect
- randombytes@2.1.0 — indirect
- safe-buffer@5.2.1 — indirect
- scrypt-js@3.0.1 — indirect
- secp256k1@4.0.5 — indirect
- setimmediate@1.0.5 — indirect
- bn.js@4.11.6 — indirect
- strip-hex-prefix@1.0.0 — indirect
- crc-32@1.2.2 — indirect
- micro-ftch@0.3.1 — indirect
- @noble/curves@1.4.2 — indirect
- @noble/hashes@1.4.0 — indirect
- @scure/bip32@1.4.0 — indirect
- @scure/bip39@1.3.0 — indirect
- undici-types@8.9.0 — indirect
- to-buffer@1.2.2 — indirect
- hash-base@3.1.2 — indirect
- buffer-xor@1.0.3 — indirect
- evp_bytestokey@1.0.3 — indirect
- bs58@4.0.1 — indirect
- minimalistic-assert@1.0.1 — indirect
- node-addon-api@2.0.2 — indirect
- node-gyp-build@4.8.4 — indirect
- readable-stream@3.6.2 — indirect
- elliptic@6.6.1 — indirect
- node-addon-api@5.1.0 — indirect
- is-hex-prefixed@1.0.0 — indirect
- @noble/hashes@1.4.0 — indirect
- @noble/hashes@1.4.0 — indirect
- @scure/base@1.1.9 — indirect
- @noble/hashes@1.4.0 — indirect
- @scure/base@1.1.9 — indirect
- isarray@2.0.5 — indirect
- typed-array-buffer@1.0.3 — indirect
- readable-stream@2.3.8 — indirect
- base-x@3.0.11 — indirect
- string_decoder@1.1.1 — indirect
- util-deprecate@1.0.2 — indirect
- bn.js@4.12.5 — indirect
- brorand@1.1.0 — indirect
- hmac-drbg@1.0.1 — indirect
- minimalistic-crypto-utils@1.0.1 — indirect
- call-bound@1.0.4 — indirect
- es-errors@1.3.0 — indirect
- is-typed-array@1.1.15 — indirect
- core-util-is@1.0.3 — indirect
- isarray@1.0.0 — indirect
- process-nextick-args@2.0.1 — indirect
- safe-buffer@5.1.2 — indirect
- safe-buffer@5.1.2 — indirect
- call-bind-apply-helpers@1.0.2 — indirect
- get-intrinsic@1.3.1 — indirect
- which-typed-array@1.1.24 — indirect
- function-bind@1.1.2 — indirect
- async-function@1.0.0 — indirect
- async-generator-function@1.0.0 — indirect
- es-define-property@1.0.1 — indirect
- es-object-atoms@1.1.2 — indirect
- generator-function@2.0.1 — indirect
- get-proto@1.0.1 — indirect
- gopd@1.2.0 — indirect
- has-symbols@1.1.0 — indirect
- hasown@2.0.4 — indirect
- math-intrinsics@1.1.0 — indirect
- available-typed-arrays@1.0.7 — indirect
- call-bind@1.0.9 — indirect
- for-each@0.3.5 — indirect
- has-tostringtag@1.0.2 — indirect
- dunder-proto@1.0.1 — indirect
- possible-typed-array-names@1.1.0 — indirect
- set-function-length@1.2.2 — indirect
- is-callable@1.2.7 — indirect
- define-data-property@1.1.4 — indirect
- has-property-descriptors@1.0.2 — indirect
How to interpret the specifications
Bundlephobia measurements use its standard package build and may exclude peer dependencies. Unpacked npm distribution size includes shipped files and is a different measurement. Module declarations do not prove tree-shaking or runtime compatibility.
Advisories apply to this package version directly; transitive dependencies need separate inspection. Repository signals describe the whole repository and are current observations, including on historical-version pages.
Evidence and freshness
- https://registry.npmjs.org/%40metamask%2Fpermission-controller/4.1.1 — retrieved 2026-10-30T15:12:03.488Z
- https://api.deps.dev/v3/systems/npm/packages/%40metamask%2Fpermission-controller/versions/4.1.1 — retrieved 2026-10-30T15:12:04.015Z
- https://api.deps.dev/v3/systems/npm/packages/%40metamask%2Fpermission-controller/versions/4.1.1:dependencies — retrieved 2026-10-30T15:12:04.046Z
- https://api.deps.dev/v3/projects/github.com%2FMetaMask%2Fcore — retrieved 2026-10-30T14:44:09.044Z