Skip to content

v0.5.2

Latest

Choose a tag to compare

@rcarback rcarback released this 09 Nov 13:17
· 1 commit to main since this release

SolverQuip now survives a dropped connection to a Quip TestNet node. A node or proxy can close an idle websocket after a couple of minutes, and before this release the next chain read failed with a raw transport error. Reads now reconnect, check that the node still serves the same chain, and try again once.

Behaviour changes

  • Chain reads that hit a dropped connection reconnect and retry once. If the retry fails, they raise QuipConnectionError, as the receipt methods document, instead of a raw JSONDecodeError, WebSocketException or OSError.
  • A connection lost while submitting raises QuipSubmissionError, saying the outcome is unknown, because the extrinsic may already be on chain. Before, it surfaced as a raw JSONDecodeError or BrokenPipeError.
  • A genesis mismatch stops at once with GenesisMismatch, also when found on a reconnect or at a finality deadline. Before, it was retried as a plain connection error or reported as a finality stall.
  • The quip extra now requires substrate-interface>=1.8.0 (was >=1.7.4) and lists websocket-client>=0.57.0,<2 directly. On 1.7.x every read after a drop raised AttributeError.

Packages

Registry Packages
crates.io xqvm · xqasm
PyPI xquad · xqsa · xqcp · xqffi
pip install xquad==0.5.2

Documentation: developers.quip.network/docs/xquad

Full changelog (3 changes)

Fixed

  • xqsa: Keep a genesis mismatch's type and raise the client floor
  • xqsa: Report a connection lost during a submit as a submit failure
  • xqsa: Retry chain reads over a dropped connection

Full diff: v0.5.1...v0.5.2