indy-vdr icon indicating copy to clipboard operation
indy-vdr copied to clipboard

Removal of role fails with golang wrapper

Open Martin-Aulich opened this issue 4 years ago • 0 comments
trafficstars

Hello guys,

I'm currently trying to programmatically remove the role of a DID with the indy VDR golang wrapper. Sadly

err = client.CreateNym(nym.Dest, "", vdr.NoRole, c.serviceDid.DIDVal.MethodSpecificID, c.signature)

Sadly I receive the following error: ERRO[0009] error from submitted request: (Indy error code: [0] {"code":31,"extra":"{\"op\":\"REJECT\",\"identifier\":\"86U8YCoQFXLu2qRC9spRiS\",\"reqId\":716439808,\"reason\":\"client request invalid: InvalidClientRequest('86U8YCoQF XLu2qRC9spRiS', 716439808)\",\"code\":null}","message":"Request failed: client request invalid: InvalidClientRequest('86U8YCoQFXLu2qRC9spRiS', 716439808)"})

If I change the role to vdr.NetworkMonitorRole (201) the same transaction works just fine and I can see the transaction in the ledger explorer:

err = c.client.CreateNym(nym.Dest, "", vdr.NetworkMonitorRole, c.serviceDid.DIDVal.MethodSpecificID, c.signature)

Type: NYM Nym: EWkYJruPjgXcmoHggPkWcV Role: 201 Verkey:

I'm using the following version of indy VDR Wrapper: github.com/hyperledger/indy-vdr/wrappers/golang v0.0.0-20210709184602-7a38fe8c85c4 and a local VON-Network

Update:

  • I have reproduced the error with the latest version: github.com/hyperledger/indy-vdr/wrappers/golang v0.0.0-20210922000711
  • I left the verkey empty because otherwise I'll get an error, even if the verkey is still exactly the same as it was before

I looked into the VDR code and to me it looks like a JSON serialization issue. In vdr/requests.go the Nym struct has an 'omitempty' tag on the Role field. Hence I presume the role field is not added to the request at all instead of adding it empty.

Martin-Aulich avatar Sep 24 '21 11:09 Martin-Aulich