wallet: Document the state-injection contract in README

Abierto
#8,792 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@grypez ya está trabajando en esto.

Desde el 26/5/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

team-ocap-kernel
Problem

@metamask/wallet has no usage documentation. The persistence contract — how consumers supply initial state and subscribe to controller state changes — is entirely implicit. Callers must read the source to understand how to wire persistence, and there is no canonical reference for the expected data shapes or event subscription pattern.

Proposed direction

Add a Usage section to packages/wallet/README.md covering:

  • Hydration: pass an initial state object keyed by controller name to the Wallet constructor. Missing keys fall back to each controller's default state.
  • Writes: subscribe to ${ControllerName}:stateChanged events on wallet.messenger; use wallet.controllerMetadata to identify which fields carry persist: true.
  • Include short code examples for both.
Acceptance
  • README.md has a Usage section with working code examples for both hydration and the stateChanged subscription pattern.
  • The role of wallet.controllerMetadata (identifying persist-flagged fields) is explained.
  • Changelog entry added.
Lenguaje dominante
TypeScript
Estrellas
420
Forks
313
Merge medio
1 d 12 h
PR fusionados (30 d)
384

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MetaMask/core

Todos los issues de MetaMask/core

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.