Releases: XRPLF/xrpl.js
v0.8.1-rc2
- Wallet: Add Wallet class that generates wallets
- Make npm test runnable in Windows.
- Fix several stability issues, see merged PR's for details
v0.8.1-rc1
- Wallet: Add Wallet class that generates wallets
- Make npm test runnable in Windows.
- Fix several stability issues, see merged PR's for details
v0.8.0
- Orderbook: Added tracking of offer funds for determining when offers are not funded
- Orderbook: Added tests
- Orderbook: Update owner funds
- Transactions: If transaction errs with
tefALREADY
, wait until all possible submissions err with the same before emittingerror
. Fixes a client "Transaction malformed" bug. - Transactions: Track submissions, don't bother submitting to unconnected servers
- Request:
request.request()
now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself. - Request:
request.broadcast()
now returns the number of servers request was sent to - Server: Acquire host information from server without additional request
- Amount: Add a constant for the maximum canonical value that can be expressed as a Ripple value
- Amount: Make Constants static fields on the class, instead of a seperate export
v0.8.0-rc3
- Orderbook: Added tracking of offer funds for determining when offers are not funded
- Orderbook: Added tests
- Orderbook: Update owner funds
- Transactions: If transaction errs with
tefALREADY
, wait until all possible submissions err with the same before emittingerror
. Fixes a client "Transaction malformed" bug. - Transactions: Track submissions, don't bother submitting to unconnected servers
- Request:
request.request()
now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself. - Request:
request.broadcast()
now returns the number of servers request was sent to - Server: Acquire host information from server without additional request
- Amount: Add a constant for the maximum canonical value that can be expressed as a Ripple value
- Amount: Make Constants static fields on the class, instead of a seperate export
v0.8.0-rc2
- Orderbook: Added tracking of offer funds for determining when offers are not funded
- Orderbook: Added tests
- Orderbook: Update owner funds
- Transactions: If transaction errs with
tefALREADY
, wait until all possible submissions err with the same before emittingerror
. Fixes a client "Transaction malformed" bug. - Transactions: Track submissions, don't bother submitting to unconnected servers
- Request:
request.request()
now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself. - Request:
request.broadcast()
now returns the number of servers request was sent to - Server: Acquire host information from server without additional request
- Amount: Add a constant for the maximum canonical value that can be expressed as a Ripple value
v0.8.0-beta
- Orderbook: Added tracking of offer funds for determining when offers are not funded
- Orderbook: Added tests
- Transactions: If transaction errs with
tefALREADY
, wait until all possible submissions err with the same before emittingerror
. Fixes a client "Transaction malformed" bug. - Transactions: Track submissions, don't bother submitting to unconnected servers
- Request:
request.request()
now accepts an array of servers as first argument. Servers can be represented with URL, or the server object itself. - Request:
request.broadcast()
now returns the number of servers request was sent to - Server: Acquire host information from server without additional request
v0.7.39
- Improvements to multi-server support. Fixed an issue where a server's score was not reset and connections would keep dropping after being connected for a significant amount of time.
- Improvements in order book support. Added support for currency pairs with interest bearing currencies. You can request an order book with hex, ISO code or full name for the currency.
- Fix value parsing for amount/currency order pairs, e.g.
Amount.from_human("XAU 12345.6789")
- Improved Amount parsing from human readable string given a hex currency, e.g.
Amount.from_human("10 015841551A748AD2C1F76FF6ECB0CCCD00000000")
- Improvements to username normalization in the vault client
- Add 2-factor authentication support for vault client
- Removed vestiges of Grunt, switched to Gulp
0.7.37
-
Deprecations
- Removed humanistic amount detection in
transaction.payment
. Passing1XRP
as the payment amount no longer works. remote.setServer
uses full server URL rather than hostname. Example:remote.setServer('wss://s
.ripple.com:443')`- Removed constructors for deprecated transaction types from
transaction.js
. - Removed
invoiceID
option fromtransaction.payment
. Instead, use thetransaction.invoiceID
method. - Removed
transaction.transactionManager
getter.
- Removed humanistic amount detection in
-
Improved multi-server support. Servers are now ranked dynamically, and transactions are broadcasted to all connected servers.
-
Automatically ping connected servers. Client configuration now should contain
ping: <seconds>
to specify the ping interval. -
Added
transaction.lastLedger
to specifyLastLedgerSequence
. Setting it this way also ensures that the sequence is not bumped on subsequent requests. -
Added optional
remote.accountTx
binary parsing.{ binary: true, parseBinary: false }
-
Added full currency name support, e.g.
Currency.from_json('XRP').to_human({full_name:'Ripples'})
will returnXRP - Ripples
-
Improved interest bearing currency support, e.g.
Currency.from_human('USD - US Dollar (2.5%pa)')
-
Improve test coverage
-
Added blob vault client. The vault client facilitates interaction with ripple's namespace and blob vault or 3rd party blob vaults using ripple's blob vault software (https://github.com/ripple/ripple-blobvault). A list of the available functions can be found at docs/VAULTCLIENT.md
0.7.35
LastLedgerSequence
is set by default on outgoing transactions. This refers to the last valid ledger index (AKA sequence) for a transaction. By default, this index is set to the current index (at submission time) plus 8. In theory, this allows ripple-lib to deterministically fail a transaction whose submission request timed out, but whose associated server continues to emit ledger_closed events.- Transactions that err with
telINSUF_FEE_P
will be automatically resubmitted. This error indicates that theFee
supplied in the transaction submission request was inadquate. Ideally, theFee
is tracked by ripple-lib in real-time, and the resubmitted transaction will most likely succeed. - Added Transaction.iff(function(callback) { }). Callback expects first argument to be an Error or null, second argument is a boolean which indicates whether or not to proceed with the transaction submission. If an
iff
function is specified, it will be executed prior to every submission of the transaction (including resubmissions). - Transactions will now emit
presubmit
andpostsubmit
events. They will be emitted before and after a transaction is submitted, respectively. - Added Transaction.summary(). Returns a summary of a transaction in semi-human-readable form. JSON-stringifiable.
- Remote.requestAccountTx() with
binary: true
will automatically parse transactions. - Added Remote.requestAccountTx filter, map, and reduce.
remote.requestAccountTx({
account: 'retc',
ledger_index_min: -1,
ledger_index_max: -1,
limit: 100,
binary: true,
filter: function(transaction) {
return transaction.tx.TransactionType === 'Payment';
},
map: function(transaction) {
return Number(transaction.tx.Amount);
},
reduce: function(a, b) {
return a + b;
},
pluck: 'transactions'
}, console.log)
- Added persistence hooks.