decentralized-identity / veramo

A JavaScript Framework for Verifiable Data
https://veramo.io
Apache License 2.0
414 stars 130 forks source link

Feat/did manager add/remove key/service sign only and submit from other controller agent (#5) #1378

Closed radleylewis closed 1 month ago

radleylewis commented 2 months ago

What issue is this PR fixing

Closes #1373

What is being changed

Due to constraints within the secure MetaMask Snap context, it is not possible to invoke the didManagerAdd(Remove)Service or didManagerAdd(Remove)Key methods on the did-manager successfully. Refer here for the list of blocked RPC methods.

As outlined in the referenced issue, the changes proposed herein allow for the transaction to be signed within one agent (in the demonstration case, by an agent in the constrained MetaMask Snap environment), and then submitted from another agent to the network in another context (in the demonstrated case this is a nodejs server, not subject to the constraints of the MetaMask Snap).

Quality

Check all that apply:

Details

I have successfully tested this (with the did-ethr-provider on the sepolia testnet). See resulting public DIDDoc below (with added ed25519 key and a mock service endpoint). image

pauldesmondparker commented 1 day ago

Replaced by https://github.com/decentralized-identity/veramo/pull/1389