Context
In the course of trying to deploy Medusa to FVM, we have encountered several issues that are actually blockers for us to deploy Medusa. We have documented each issues in depth and worked with the FVM team as far as possible to solve them when possible.
The issues concern mostly the usage of logs, enabling smart contract to issue “external events” that are picked up by applications. It is an essential part of the EVM stack that many dapps are using.
List of issues
- Closed
- Closed
- Closed
- Closed
- Closed
- Closed
- Closed
- Closed
- Closed
- Closed
- Closed
- Slack thread related to request routing for stateful RPC requests
- Slack thread related to dropped Websocket connections w/ Wallaby RPC
List of Errors
These errors have been observed, but require more information in order to create an issue
RPC incompatibility with “message” field + RPC infrastructure (failure to get peer)
This one has two errors, one is that message
should not be used in an RPC response because it breaks ethers-rs. “message” is used to signify that there was an error in the RPC, in this case the error message is failure to get a peer from the ring-balancer
- RPC incompatibility: Should not use field
message
in RPC response - Caused by
failure to get a peer from the ring-balancer
RPC method: eth_blockNumber
[2022-12-12T19:33:57Z TRACE ethers_providers::transports::retry] should not retry err=JsonRpcClientError(SerdeJson { err: Error("unknown field `message`, expected one of `id`, `jsonrpc`, `result`, `error`, `params`, `method`", line: 1, column: 10), text: "{\"message\":\"failure to get a peer from the ring-balancer\"}" })
[2023-01-19T07:51:55Z TRACE ethers_providers::transports::retry] should not retry err=JsonRpcClientError(SerdeJson { err: Error("unknown field `message`, expected one of `id`, `jsonrpc`, `result`, `error`, `params`, `method`", line: 1, column: 10), text: "{\"message\":\"failure to get a peer from the ring-balancer\"}" })
thread 'tokio-runtime-worker' panicked at 'Blockwatcher should run forever and not fail: Deserialization Error: unknown field `message`, expected one of `id`, `jsonrpc`, `result`, `error`, `params`, `method` at line 1 column 10. Response: {"message":"failure to get a peer from the ring-balancer"}
Also "An invalid response was received from the upstream server"
[2023-01-30T05:00:25Z TRACE ethers_providers::transports::retry] should not retry err=JsonRpcClientError(SerdeJson { err: Error("unknown field `message`, expected one of `id`, `jsonrpc`, `result`, `error`, `params`, `method`", line: 2, column: 11), text: "{\n \"message\":\"An invalid response was received from the upstream server\"\n}" })