All 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.
- Performance Benchmarks
- Utility functions
- New
xrpl::signingmodule containing the pure-crypto signing helpers (sign,multisign,prepare_transaction) extracted fromasynch::transactionandtransaction. Available with justcore + models + walletfeatures (nohelpers/runtime/client dependency). The legacy pathsasynch::transaction::signandtransaction::multisignare preserved as re-exports for backward compatibility. - Expanded unit-test coverage and raised CI thresholds: lines
73 → 83, regions75 → 85, functions67 → 73. - Codecov integration with per-PR project (≥83%) and patch (≥80% on new/modified lines) gates.
- Unit-test and integration-test coverage are now scoped via Cargo feature flags rather than path regex. The unit-test workflow builds with
--no-default-features --features std,core,utils,wallet,models, so integration-territory code (CLI, async clients, sync wrappers, faucet) simply isn't compiled and doesn't appear in the unit coverage report. - Network-dependent inline tests in
src/asynch/transaction/andsrc/asynch/wallet/(test_autofill_txn,test_autofill_and_sign,test_submit_and_wait,test_generate_faucet_wallet) are now gated behindfeature = "integration"socargo test --releaseis hermetic by default.
RipplePathFind::destination_amountchanged fromCurrency<'a>toAmount<'a>to match the XRPL wire format.NoRippleCheckRoleno longer serializes with the#[serde(tag = "role")]discriminator; now emits a plainsnake_casestring matching the XRPL wire format.
- Implemented full deserialization from hex binary back to JSON, update
definitions.jsontoxrpl.jslatest, added all codec test fixtures from xrpl.js and implemented tests for all of them. - Added integration tests for all transaction types, refactored to separate files.
- Fixed serialization issues for
PathSet,Issue, andSTArraytypes.
- Initial production release
- command line interface
- automated market maker
- utility functions
- sidechain support
- Added CLI interface
- missing network_id member added to server info response
- server_state_duration_us in server info type changed to str
- add missing NFT request models
- add
parse_nftoken_idandget_nftoken_idutility functions - complete existing result models and add NFT result models
- add transaction
Metadatamodels - fix serialization issue where null values were tried to be serialized
- fix multisigning bug, because
signing_pub_keyis not set for multisigning but it is required, so it's just an empty string - add transaction response models
- add integration tests with XRPL test net.
- add amm support
- Transaction models
- Transaction signing
- Request models
- add sidechain support
- Transaction models
- Transaction signing
- improve errorhandling utilizing thiserror
- simplifying feature flags
- Examples
- Wallet from seed
- New wallet generation
- Client requests
- make
newmethods of models public - add
AsyncWebSocketClientandWebSocketClient - add
AsyncJsonRpcClientandJsonRpcClient - update dependencies
- add devcontainer
- add transaction helpers and signing
- add account helpers
- add ledger helpers
- add wallet helpers
- Request models
- Transaction models
- Ledger models
- Utilize
anyhowandthiserrorfor models - Utilities regarding
serdecrate - Utilities regarding
anyhowcrate
- Use
serde_withto reduce repetitive serialization skip attribute tags - Use
strum_macros::Displayinstead of manualcore::fmt::Display - Use
strum_macros::DisplayforCryptoAlgorithmenum - Separated
CurrencytoCurrency(IssuedCurrency,XRP) andAmount(IssuedCurrencyAmount,XRPAmount) - Make
Walletfields public - Updated crates:
- secp256k1
- crypto-bigint
- serde_with
- criterion
- Broken documentation link
- Flatten hex exceptions missed from previous pass
Initial core release.
- All Core functionality working with unit tests