The document briefly explains the changes and improvements the new version provides. The added changes will better the performance and flexibility of the library. The library holds new methods that provide access to rippled [server software that powers XRP Ledger] APIs.
The blog recommends using rippled version 1.0.1 or higher to enable online functionality.
The release includes several new methods including:
- Three new methods [request(), hasNextPage(), requestNextPage()] have been added by the dev team for accessing the rippled APIs.
- A prepareTransaction() method has been added to prepare a raw txJSON element.
- The new version will allow XRP amounts to be specified in drops. The dev team has provided two conversion methods xrpToDrops() and dropsToXrp().
- A new getTransaction() method has been added that includes a property by name channelChanges which will provide details of a particular payment channel.
In the next section, the document describes the data validations and error fixes the team has worked on. The amounts in XRP and drops have been checked for validity. The team has imposed a maximum fee limit, which if exceeded will cause the library to throw a ValidationError.
It stated that the team has worked on several errors and a lot more data validation functionalities have been added to the library. Earlier, the team faced a problem with the getPaths property which has now been corrected to filter paths correctly when the destination currency is XRP.
- In the getTransaction() and getTransactions() methods, the specification.destination.amount field has been removed from the parsed transaction response.
- To determine the amount a particular transaction delivers, the team has included an outcome.deliveredAmount.
- To obtain information regarding the provisional requested ‘Amount’ from the actual transaction, the blog stated that the users can make use of the getTransaction() method’s includeRawTransaction option or getTransactions() method’s includeRawTransactionsOptions. As an alternative, the users can directly use rippled API with request() method, it said
- The rawTransactions field has been removed from the getLedger() response object for consistency reasons.
- The metadata field has been renamed to meta to provide consistency with rippled’s tx method from getLedger() and ledger_index has been added to each raw transaction.
Furthermore, the full documentation of ripple-lib is available on the XRP Ledger Dev Portal.
Nick Bougalis, Lead of C++ dev team at Ripple, answered a few questions regarding the release on Twitter.
When asked by Twitterati Shashinda jayalath if the new maximum fee limit may lead to some transaction rollback, Bougalis said:
“The library has a configurable “maximum fee limit” to help prevent programmers from accidentally specifying too high a fee. By default, it’s set at 2 XRP, which is several orders of magnitude larger than the fee required to pay a transaction.”
He further added:
“And worry not, if you really want to spend over 2 XRP in fees, you can simply override the limit in the RippleAPI constructor.”