When an agent updates their key for an app with membrane proofs, membrane proofs have to be provided again. Whether these are new membrane proofs or the same as before is up to the app. Deferred as well as directly supplied membrane proofs must be handled.
AC:
The Admin API call to update the agent key needs an MembraneProofsMap to provide new membrane proofs. Whatever is in the map will be used as new membrane proofs. If old membrane proofs should be reused, the app must provide them.
In case of deferred membrane proofs (memproofs_deferred == true in AppManifest), MembraneProofsMap will be ignored when updating the agent key. The app will be in AppState::AwaitingMemproofs until the membrane proofs have been provided, as when installing the app in the first place.
Before committing the key update to the chain, the membrane proof must be written to the chain.
When an agent updates their key for an app with membrane proofs, membrane proofs have to be provided again. Whether these are new membrane proofs or the same as before is up to the app. Deferred as well as directly supplied membrane proofs must be handled.
AC:
MembraneProofsMap
to provide new membrane proofs. Whatever is in the map will be used as new membrane proofs. If old membrane proofs should be reused, the app must provide them.memproofs_deferred == true
in AppManifest),MembraneProofsMap
will be ignored when updating the agent key. The app will be inAppState::AwaitingMemproofs
until the membrane proofs have been provided, as when installing the app in the first place.