Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.2 - 2025-04-07
Changed
- Moved
Exth.Rpc.Encoding.encode_request/1logic toExth.Rpc.Request.serialize/1 - Moved
Exth.Rpc.Encoding.decode_response/1logic toExth.Rpc.Response.deserialize/1 - Removed
Exth.Rpc.Encodingmodule - Transport module does not receive an
encoder/1anddecoder/1option anymore. It's now direct to callExth.Rpc.Request.serialize/1andExth.Rpc.Response.deserialize/1functions. - These changes aim to reduce the complexity of
Exth.RpcandExth.Transportmodules and make it easier to understand its internals.
0.2.1 - 2025-04-05
Changed
Exth.Providerwas refactored to reduce its complexity- Fixed dialyzer warnings on
Exth.Providerrelated tohas no local return. Some types were fixed and the dialyzer warning does not appear anymore. No more warnings when defining providers.
0.2.0 - 2025-04-04
Added
- Documentation for
Exth.Rpc.RequestandExth.Rpc.Responsestructs - Allow inverting arguments order on
Exth.Rpc.send/2andExth.Rpc.Client.send/2- This change allows for more flexible usage patterns (pipes)
- Creation of request IDs on
Exth.Rpc.Client.send/2when no pre-assigned IDs are provided - Creation of requests with no pre-assigned IDs with
Exth.Rpc.request/2andExth.Rpc.Client.request/2
Changed
- Replaced
JasonwithJSONfor JSON encoding/decoding - Updated
README.mdfor documentation purposes - Updated
Exth.Rpc.Clientdocumentation
0.1.1 - 2025-03-27
Changed
mintdependency is now:optionalinstead ofonly: :dev;- Updated
README.mdfor documentation purposes, with more examples and better formatting;
0.1.0 - 2025-03-25 🚀
Added
- Initial release of Exth
- Core JSON-RPC functionality
- Request/Response handling
- Method generation
- Parameter encoding
- Transport layer abstraction
- HTTP Transport implementation using Tesla
- Configurable middleware support
- Provider interface
- Ethereum namespace support (
eth_*methods) - Net namespace support (
net_*methods) - Web3 namespace support (
web3_*methods)
- Ethereum namespace support (
- Client caching mechanism
- Comprehensive documentation
- MIT License