feat(transport): add core JSON-RPC transport layer #13

Merged
scheerenkevin merged 1 commit from feature/jsonrpc-transport into develop 2026-08-03 04:23:05 +00:00
scheerenkevin commented 2026-08-03 04:22:24 +00:00 (Migrated from github.com)

Summary

  • JsonRpcTransport: httpx-based sync JSON-RPC client with retries (exponential backoff) for transient failures, no retry on non-retryable 4xx
  • Typed exception hierarchy (AlchemyError, AlchemyHttpError, AlchemyRpcError, AlchemyTimeoutError)
  • JSON-RPC request/response/error dataclasses in models.py
  • Full respx-mocked test suite (11 new tests), no live network calls

Verified locally: hatch run lint, hatch run format-check, hatch run test (17 passed), hatch build.

Closes #3

Note: merges into develop, not the default branch main — issue closed manually after merge per repo process.

## Summary - `JsonRpcTransport`: httpx-based sync JSON-RPC client with retries (exponential backoff) for transient failures, no retry on non-retryable 4xx - Typed exception hierarchy (`AlchemyError`, `AlchemyHttpError`, `AlchemyRpcError`, `AlchemyTimeoutError`) - JSON-RPC request/response/error dataclasses in `models.py` - Full respx-mocked test suite (11 new tests), no live network calls Verified locally: `hatch run lint`, `hatch run format-check`, `hatch run test` (17 passed), `hatch build`. ## Related Closes #3 Note: merges into `develop`, not the default branch `main` — issue closed manually after merge per repo process.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kevin/alchemy-wallet-client!13
No description provided.