I wrote a python integration to obtain data from an external API with DA Marketplace using the Dazl library and I’m getting the following error log:
Traceback (most recent call last):
File ".../bot.py", line 41, in <module>
asyncio.run(main())
File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File ".../bot.py", line 23, in main
async for event in stream.events():
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/aio/__init__.py", line 134, in events
async for item in self.items():
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/grpc/conn_aio.py", line 692, in items
async for event in self._acs_events(tx_filter_pb):
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/grpc/conn_aio.py", line 740, in _acs_events
c_evt = await self.conn.codec.decode_created_event(event)
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/grpc/codec_aio.py", line 242, in decode_created_event
cdata = await self.decode_value(con(cid.value_type), event.create_arguments)
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/grpc/codec_aio.py", line 338, in decode_value
return await self._loader.do_with_retry(
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/aio/pkgloader.py", line 76, in do_with_retry
return fn()
File "/usr/local/lib/python3.9/site-packages/dazl/ledger/grpc/codec_aio.py", line 339, in <lambda>
lambda: self._decode_context.convert(item_type, obj)
File "/usr/local/lib/python3.9/site-packages/dazl/values/context.py", line 72, in convert
return self.mapper.data_record(self, dt, dt.record, obj)
File "/usr/local/lib/python3.9/site-packages/dazl/values/protobuf.py", line 52, in data_record
value = context.append_path(name).convert(fld_metadata.type, fld_data.value)
File "/usr/local/lib/python3.9/site-packages/dazl/values/context.py", line 105, in convert
return self.mapper.prim_gen_map(
File "/usr/local/lib/python3.9/site-packages/dazl/values/protobuf.py", line 132, in prim_gen_map
obj[key] = value
TypeError: unhashable type: 'dict'
After some investigation, I came across the reason for the error shown, it being a dictionary with the structure of a Claim from the ContigentClaims Library, like so:
{'Zero': {}}
This error seems to be coming from the Dazl library, can you help me with this issue?