indy-vdr
indy-vdr copied to clipboard
Removal of role fails with golang wrapper
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.