openwallet-foundation / credo-ts

Typescript framework for building decentralized identity and verifiable credential solutions
https://credo.js.org
Apache License 2.0
276 stars 202 forks source link

Failed to process revocation notification message #1673

Open himanshi4708 opened 11 months ago

himanshi4708 commented 11 months ago

After revoking a credential from agent side, I am not receiving any notification for revoked credential on app. Instead I am getting the following error in the console:

WARN WARN: Failed to process revocation notification message { "error": { "name": "AriesFrameworkError", "message": "Incorrect revocation notification threadId format: \n79389b4b-efc4-425e-b951-3e5ed07ecd5f\ndoes not match\n"indy::::"", "stack": "Error\n at captureStackTrace (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:114073:32)\n%5Cn) at BaseError (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:114111:22)\n%5Cn) at construct (native)\n at _createSuperInternal (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:114012:406)\n%5Cn) at call (native)\n at BaseError (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:114032:26)\n%5Cn) at construct (native)\n at _createSuperInternal (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:113991:406)\n%5Cn) at call (native)\n at AriesFrameworkError (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:114004:25)\n%5Cn) at v1ProcessRevocationNotification$ (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:185308:121)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20680:32)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20599:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20624:19)\n%5Cn) at tryCallTwo (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:61:9)\n at doResolve (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:216:25)\n at Promise (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:82:14)\n at callInvokeWithMethodAndArg (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20623:33)\n%5Cn) at enqueue (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20627:157)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20641:69)\n%5Cn) at v1ProcessRevocationNotification (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:185295:82)\n%5Cn) at handle$ (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:185475:143)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20680:32)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20599:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20624:19)\n%5Cn) at tryCallTwo (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:61:9)\n at doResolve (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:216:25)\n at Promise (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:82:14)\n at callInvokeWithMethodAndArg (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20623:33)\n%5Cn) at enqueue (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20627:157)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20641:69)\n%5Cn) at handle (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:185471:82)\n%5Cn) at dispatch$ (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:175399:110)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20680:32)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20599:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20624:19)\n%5Cn) at tryCallTwo (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:61:9)\n at doResolve (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:216:25)\n at Promise (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:82:14)\n at callInvokeWithMethodAndArg (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20623:33)\n%5Cn) at enqueue (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20627:157)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20641:69)\n%5Cn) at dispatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:175386:82)\n%5Cn) at receiveEncryptedMessage$ (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:113769:113)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20680:32)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20574:30)\n%5Cn) at call (native)\n at tryCatch (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20534:23)\n%5Cn) at invoke (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20599:30)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:20607:21)\n%5Cn) at tryCallOne (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)\n at anonymous (/tmp/hermes/staging/hermes/cmake/intlDebug/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)\n at apply (native)\n at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:25095:26)\n%5Cn) at _callTimer (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:25010:17)\n%5Cn) at _callReactNativeMicrotasksPass (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:25044:17)\n%5Cn) at callReactNativeMicrotasks (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:25209:44)\n%5Cn) at callReactNativeMicrotasks (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:4947:46)\n%5Cn) at anonymous (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:4759:45)\n%5Cn) at guard (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:4931:15)\n%5Cn) at flushedQueue (http://localhost:8081/index.bundle?platform=android&dev=true&minify=false&app=com.ariesbifold&modulesOnly=false&runModule=true:4758:21)"%22) }, "threadId": "79389b4b-efc4-425e-b951-3e5ed07ecd5f" }

Can anyone help in what I might be doing wrong?

TimoGlastra commented 11 months ago

How are you sending the revocation notification on the ACA-Py side (assuming you're using ACA-Py on issuer side)?

Please see this note in the readme of this repository:

image

We might be able to support also the threadId variant though, it's been a while since that code was touched.

himanshi4708 commented 11 months ago

Hi @TimoGlastra,

I am sending the attributes in this format from agent side while hitting the revocation api: { "comment": "string", "connection_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "cred_ex_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "cred_rev_id": "12345", "notify": true, "notify_version": "v1_0", "publish": true, "rev_reg_id": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "thread_id": "string" }

How should i send threadid in revocation notification v1?

TimoGlastra commented 11 months ago

@JamesKEbert any thoughts on this? You've done a lot of work on this and the interop with ACA-Py

himanshi4708 commented 11 months ago

From agent side the credential status is setting as revoked but the notification is not coming on the app in mobile and on the console it shows the error: WARN WARN: Failed to process revocation notification message { "error": { "name": "AriesFrameworkError", "message": "Incorrect revocation notification threadId format: \n79389b4b-efc4-425e-b951-3e5ed07ecd5f\ndoes not match\n"indy::::"",

Also, i am using v1.0 to issue credential. Can anyone help with sample format for v2.0 issue-credential/send-offer?