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.
- Support for ExpandedSignerList amendment that expands the maximum signer list to 32 entries
- Function to parse the final account balances from a transaction's metadata
- Function to parse order book changes from a transaction's metadata
- Support for Ed25519 seeds that don't use the
sEd
prefix - Add docs to
get_account_transactions
explaining how to allow pagination through all transaction history [#462] - Common field
ticket_sequence
to Transaction class
- Typing for factory classmethods on models
- Use properly encoded transactions in
Sign
,SignFor
, andSignAndSubmit
- Fix Sphinx build errors due to incompatible version bumps
- Support for dynamic fee calculation
- Function to parse account balances from a transaction's metadata
- Better error handling for invalid client URL
- Exported SubscribeBook
- Resolve
txnNotFound
error withsend_reliable_submission
when waiting for a submitted malformed transaction - Small typing mistake in GenericRequest
- Fix bug in GenericRequest.to_dict()
- Support setting flags with booleans. For each transaction type supporting flags there is a
FlagInterface
to set the flags with booleans. federator_info
RPC support- Helper method for creating a cross-chain payment to/from a sidechain
- Helper method for parsing an NFTokenID
- Updated NFT names to match new 1.9.0 rippled names
xrpl.asyncio.clients
exports (now includesrequest_to_websocket
,websocket_to_response
)- Adds optional
owner
field to NFTokenBurn - Allows lower-case currency codes
- Sync and async
generate_faucet_wallet
functions now support a custom faucet host
- Support for the XLS-20 NFT proposal
xrpl.models.amounts.get_amount_value
helper functionxrpl.utils.str_to_hex
andxrpl.utils.hex_to_str
helpersledger_index
optional param for all the main account methodsTicketCreate
transaction modelGenericRequest
model for unsupported request types- Methods to convert between
IssuedCurrency
andIssuedCurrencyAmount
- Support for ints and floats in the
IssuedCurrency
andIssuedCurrencyAmount
models (and ints forXRP
) max_fee
andfee_type
optional params forget_fee
autofill
, a new public method that populates thefee
,sequence
, andlast_ledger_sequence
fields of a transaction, based on the current state retrieved from the server the Client is connected to. It also converts all X-Addresses to classic addresses.- Exports
Transaction
,Response
, pseudo-transactions at thexrpl.models
level
- Improves typing of
Response.result
- Makes the default ledger version for
get_next_valid_seq_number
current
instead ofvalidated
- Stops erroring on non-
tesSUCCESS
responses in reliable transaction submission - Removes runtime asserts in websocket clients that were used for type checks only
- Adds missing top-level
py.typed
file for exceptions and constants - Fix issue where unsupported currency codes weren't being correctly processed in the binary codec
- Fixes issue with UNLModify encoding (due to a bug in rippled)
- Makes the account delete fee dynamic, based on the ledger's reserve, instead of hard-coded
- Fee scaling based on load on the ledger
- Fixes potential issue with conflicting Decimal contexts
- Fixes bug where autofilling using an
xAddress
withNone
in the Destination Tag threw a KeyError
- Support for Python 3.10
- Improves documentation on using websocket clients.
- Fixes an issue sending NoRippleCheck requests
- Allows projects that use xrpl-py as a dependency to use typing
- Fixes an issue encoding some non-standard currency values
- Corrects installation instructions in documentation
- Option for
Transaction.flags
to be aList
ofint
s instead of just anint
- Instance method in
Transaction
objects to calculate their hashes locally - Additional reliability to
send_reliable_submission
by getting the hash before submitting - Pseudo-transaction models
- Optional parameters for
get_transaction_from_hash
:binary
,min_ledger
andmax_ledger
- Enum for
PaymentChannelClaim
flags - Optional parameter to check if the
Transaction
fee is not too high before signing it - Additional X-Address support in the binary codec and account sugar
- Method to the
Wallet
class that generates the X-Address for the wallet's account - Async versions of all high-level functionality within the
xrpl.asyncio
package - Web socket client under
xrpl.clients.WebsocketClient
- Async web socket client under
xrpl.asyncio.clients.AsyncWebsocketClient
- A general
from_dict
method forRequest
models, analogous toTransaction.from_dict
- Typos in docs/tests
- Improved readability of the README/documentation
- Expose
xrpl.utils
at the top level - Expose
xrpl.accounts.get_account_root
- Issue with calculating IOU precision
- Invalid X-Addresses in the XRPL Binary Codec now error with
XRPLBinaryCodecException
instead ofValueError
- Issues with converting certain dictionaries to/from a model using
BaseModel.from_dict
- Better error message reporting
- Initial release! Please open up an issue in our repo if you have any feedback or issues to report.