SolomonDefi / solomon-monorepo

Monorepo containing core Solomon apps, services, libraries, and deploy config.
6 stars 4 forks source link

Dispute api error #197

Closed apolkingg8 closed 2 years ago

apolkingg8 commented 2 years ago

API:

http://127.0.0.1:3000/api/events

Fetch body:

{
    "id": "06e5c384-bbb8-45c4-87ed-d140eb0d018d",
    "type": "dispute.preorder.created",
    "party1": "0xcD5c2Fa1258Abbf660E175F1d8a691FEaB1fa342",
    "party2": "0xCf5F514A66c2326d45D80B3FEACfA7502fbcd1E1",
    "contract": "0x23993E21bfD6F49F5991ae023aDeb91Cb756acFe",
    "judgeContract": "0xD6b4FAcC50e9FfD5f6E43f1aE8f29d649Fd0DAaf"
}

Error:

INFO:     127.0.0.1:49148 - "POST /api/events HTTP/1.1" 500 Internal Server Error

ERROR:    Exception in ASGI application

Traceback (most recent call last):

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py", line 373, in run_asgi

    result = await app(self.scope, self.receive, self.send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__

    return await self.app(scope, receive, send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/fastapi/applications.py", line 208, in __call__

    await super().__call__(scope, receive, send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/applications.py", line 112, in __call__

    await self.middleware_stack(scope, receive, send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/middleware/errors.py", line 181, in __call__

    raise exc

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/middleware/errors.py", line 159, in __call__

    await self.app(scope, receive, _send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/exceptions.py", line 82, in __call__

    raise exc

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/exceptions.py", line 71, in __call__

    await self.app(scope, receive, sender)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/routing.py", line 656, in __call__

    await route.handle(scope, receive, send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/routing.py", line 259, in handle

    await self.app(scope, receive, send)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/routing.py", line 61, in app

    response = await func(request)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/fastapi/routing.py", line 226, in app

    raw_response = await run_endpoint_function(

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/fastapi/routing.py", line 161, in run_endpoint_function

    return await run_in_threadpool(dependant.call, **values)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool

    return await anyio.to_thread.run_sync(func, *args)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/anyio/to_thread.py", line 28, in run_sync

    return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable,

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 805, in run_sync_in_worker_thread

    return await future

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 743, in run

    result = func(*args)

  File "/usr/src/apps/api-dispute/src/./app/api/events.py", line 37, in handle_event

    message: schemas.EventIn = event_schema(**data)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/pydantic/main.py", line 404, in __init__

    values, fields_set, validation_error = validate_model(__pydantic_self__.__class__, data)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/pydantic/main.py", line 1040, in validate_model

    v_, errors_ = field.validate(value, values, loc=field.alias, cls=cls_)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/pydantic/fields.py", line 723, in validate

    v, errors = self._validate_singleton(v, values, loc, cls)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/pydantic/fields.py", line 906, in _validate_singleton

    return self._apply_validators(v, values, loc, cls, self.validators)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/pydantic/fields.py", line 913, in _apply_validators

    v = validator(cls, v, values, self, self.model_config)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/pydantic/class_validators.py", line 310, in <lambda>

    return lambda cls, v, values, field, config: validator(v)

  File "/usr/src/apps/api-dispute/src/./app/utils/typing.py", line 18, in validate

    if is_address(v):

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_utils/address.py", line 41, in is_address

    return is_checksum_address(value)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_utils/address.py", line 134, in is_checksum_address

    is_equal = value == to_checksum_address(value)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_utils/address.py", line 111, in to_checksum_address

    address_hash = encode_hex(keccak(text=remove_0x_prefix(HexStr(norm_address))))

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_utils/crypto.py", line 11, in keccak

    return keccak_256(to_bytes(primitive, hexstr, text))

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_hash/main.py", line 41, in __call__

    return self.hasher(preimage)

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_hash/main.py", line 26, in _hasher_first_run

    assert new_hasher(b'') == b"\xc5\xd2F\x01\x86\xf7#<\x92~}\xb2\xdc\xc7\x03\xc0\xe5\x00\xb6S\xca\x82';\x7b\xfa\xd8\x04]\x85\xa4p"  # noqa: E501

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_hash/backends/auto.py", line 24, in keccak256

    self._initialize()

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_hash/backends/auto.py", line 17, in _initialize

    backend = auto_choose_backend()

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_hash/utils.py", line 19, in auto_choose_backend

    return choose_available_backend()

  File "/usr/src/apps/api-dispute/.venv/lib/python3.9/site-packages/eth_hash/utils.py", line 73, in choose_available_backend

    raise ImportError(

ImportError: None of these hashing backends are installed: ['pycryptodome', 'pysha3'].

Install with `pip install eth-hash[pycryptodome]`.