signify-ts
signify-ts copied to clipboard
add assertion for correct resolution of delegatee oobi
I did this as a step to try and resolve what was failing the multisig vlei test in #241. I found that there is a problem when an agent that contains a delegator tries to resolve an oobi for its delegatee. See the added steps in delegation.test.ts
for a reproduction.
The effects of this is that you cannot create a "contact" for the delegate, which means you cannot send an IPEX message to the delegate. This is needed for doing IPEX grant from GLEIF External to the QVI.
To reproduce this behaviour:
- Pull this branch
- npm run build
- docker compose pull
- docker compose up deps
- npx jest examples/integration-scripts/delegation.test.ts
To explain what happens
- X create delegator
- Y create delegatee
- X approve delegation
- Y queries new state and sees approval
- Y adds agent end role
- Y generates OOBI url
- X resolves OOBI url for delegator
After step 7, X nevers gets the AID of the delegator in its contact list. The oobi longrunning operation resolves with
console.dir
{
name: 'oobi.AD-rrl0gMPRIhAl-42mMOaNL4PwCXfLPaX6-MhNt_aKw',
metadata: {
oobi: 'http://keria:3902/oobi/EJSmJgIGjJ5RcRd9WBz0tevFtauyT5FhoLdwIGVa19qh'
},
done: true,
error: null,
response: {
oobi: 'http://keria:3902/oobi/EJSmJgIGjJ5RcRd9WBz0tevFtauyT5FhoLdwIGVa19qh'
}
}
Which only happens here: https://github.com/WebOfTrust/keria/blob/7ee5ba84c9aed5d2d21fa48d8241d39b06aadb93/src/keria/core/longrunning.py#L235-L239, when the AID is not in kevers.
Update: I have tried running the same tests using keria:latest and it works there.