Use case: the QARs of a multisig QVI issuing a LE credential to a legal entity multisig conformed by 4 LARs, where two of the LARs are also QARs. We expect that all LARs receive and store the credential in their wallet.
Actual behavior
The credential is received by the LAR that is also a QAR but is rejected with Local event regk={} when nonlocal mode. by this part of the code in vdr/eventing.py:
if not self.lax:
if self.local:
if regk not in self.registries: # nonlocal event when in local mode
raise ValueError("Nonlocal event regk={} when local mode for registries={}."
"".format(regk, self.registries))
else:
if regk in self.registries: # local event when not in local mode
raise ValueError("Local event regk={} when nonlocal mode."
"".format(regk))
Quote from Phil as a clue: "we should probably figure out how to reconcile a credential registry that is being used to issue to an AID in its own agent/wallet"
The workaround it to create separate wallets for QARs and LARs
Steps to reproduce
This issue is reproducible in KERIA/signify. The following code is based on the script multisig.test.ts in signify-ts. The code differs from the original in:
multisig is created with a threshold of 2 out of 3
the holder of the credential is the member3 of the multisig
the credential is signed only by member1 and member2
Version
All
Environment
No response
Expected behavior
Use case: the QARs of a multisig QVI issuing a LE credential to a legal entity multisig conformed by 4 LARs, where two of the LARs are also QARs. We expect that all LARs receive and store the credential in their wallet.
Actual behavior
The credential is received by the LAR that is also a QAR but is rejected with
Local event regk={} when nonlocal mode.
by this part of the code invdr/eventing.py
:Quote from Phil as a clue: "we should probably figure out how to reconcile a credential registry that is being used to issue to an AID in its own agent/wallet" The workaround it to create separate wallets for QARs and LARs
Steps to reproduce
This issue is reproducible in KERIA/signify. The following code is based on the script
multisig.test.ts
insignify-ts
. The code differs from the original in: