Erik Marks

Results 79 issues of Erik Marks

> [!NOTE] > The source of truth for how caveat merging should work has moved to #4222. Due to the introduction of "dynamic" (i.e. "requested / modified at runtime") permissions...

enhancement
PermissionController

Requires: #4239 Following #4239, we should remove all ZCAP-LD-specific properties from the permission controller's state. It's time we admit that our wallet permissions have, in their present form, nothing to...

PermissionController
team-wallet-api-platform
team-wallet-framework

The `data` property of the approved permission request metadata (i.e. the second value in the returned tuple [here](https://github.com/MetaMask/core/blob/df1152f78aeae244fd946264bee9e013aad9bff5/packages/permission-controller/src/PermissionController.ts#L1916-L1924)) is actually only used for permission request side effects, and should be...

enhancement
PermissionController
team-wallet-api-platform
team-wallet-framework

The permission controller's `ARCHITECTURE.md` is intended to provide a complete description of the permission system and its architecture. When side effects were added in #1069, this document was not updated....

PermissionController
team-wallet-api-platform
team-wallet-framework

Following #4171, `any` is only used in a small number of `PermissionController` types. They are _mostly_, but not always used as constraints. We should eliminate `any` from the following types:...

PermissionController
team-wallet-api-platform
team-wallet-framework

Following / alongside #2286, we should add the following common command aliases to the CLI: - `cp` for `copy` - `ls` for `list` - `mk` for `make` - `mv` for...

The daemon's directory abstraction already exposes a `copy()` method. This should also be made available via the CLI.

enhancement
daemon

Snaps that use WebAssembly (WASM) currently have two options for loading their WASM source at runtime: 1. Host it somewhere and fetch it at runtime (e.g. [here](https://github.com/0xPARC/cabal/blob/ebab0001cfdf7ebac8b44153e56e0c3dd3190deb/snap/src/snark_utils/generate_proof.js)) 2. Turn the...

type-enhancement
area-publishing
area-developing

Currently, we restrict the RPC methods available to `snap.request()` by means of a blocklist. We should consider replacing this with an allowlist explicitly listing each permitted method. In this way,...

area-capabilities
type-security

Here's the problem: ```text > JSON.stringify({ foo: undefined }) '{}' ``` Any request or response objects that are serialized before being transported will lose any fields with the value `undefined`....