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.
- Class
XrpIssuedCurrency
has been renamed toXrplIssuedCurrency
.
-
Method
sendXrp
of classXrpClient
replaces now deprecatedsend
.sendXrp
returns aTransactionResult
that contains more granular information about the final outcome of a submitted transaction. -
Method
sendXrpWithDetails
of classXrpClient
replaces now deprecatedsendWithDetails
.sendXrpWithDetails
returns aTransactionResult
that contains more granular infomration about the final outcome of a submitted transaction.
-
Method
send
of classXrpClient
is deprecated and will be removed in two release cycles. UsesendXrp
instead. -
Method
sendWithDetails
of classXrpClient
is deprecated and will be removed in two release cycles. UsesendXrpWithDetails
instead.
-
A new method
unauthorizeSendingAccount
is added toXrpClient
which unauthorizes a sender to send XRP to the specified XRPL account that has enabled Deposit Authorization. (See https://xrpl.org/depositpreauth.html) -
A new method
authorizeSendingAccount
is added toXrpClient
which authorizes a sender to send XRP to the specified XRPL account that has enabled Deposit Authorization. (See https://xrpl.org/depositpreauth.html)
This release contains updated dependencies for stability and security.
This release contains updated dependencies for stability and security.
- A new method
enableDepositAuth
is added toXrpClient
which enables Deposit Authorization for the specified XRPL account. (See https://xrpl.org/depositauth.html)
This release contains updated dependencies for stability and security.
This release contains updated dependencies for stability and security.
This new release contains production ready classes for PayID.
This release also provides idiomatic capitalization. Previously, classes that were 'PayID' are now named as 'PayId' and classes which were named as 'XRP' are now named 'Xrp'.
PayIDClient
was deprecated for two releases and has been removed. UsePayIdClient
instead.PayIDError
was deprecated for two releases and has been removed. UsePayIdError
instead.PayIDErrorType
was deprecated for two releases and has been removed. UsePayIdErrorType
instead.XRPPayIDClientInterface
was deprecated for two releases and has been removed. UseXrpPayIdClientInterface
instead.XRPPayIDClient
was deprecated for two releases and has been removed. UseXrpPayIdClient
instead.XRPLNetwork
was deprecated for two releases and has been removed. UseXrplNetwork
instead.memos
onSendXrpDetails
was deprecated for two releases and has been removed. UsememoList
instead.XRPAccountSet
was deprecated for two releases and has been removed. UseXrpAccountSet
instead.XRPCurrencyAmount
was deprecated for two releases and has been removed. UseXrpCurrencyAmount
instead.XRPCurrency
was deprecated for two releases and has been removed. UseXrpCurrency
instead.XRPIssuedCurrency
was deprecated for two releases and has been removed. UseXrpIssuedCurrency
instead.XRPMemo
was deprecated for two releases and has been removed. UseXrpMemo
instead.XRPPathElement
was deprecated for two releases and has been removed. UseXrpPathElement
instead.XRPPath
was deprecated for two releases and has been removed. UseXrpPath
instead.XRPPayment
was deprecated for two releases and has been removed. UseXrpPayment
instead.XRPSigner
was deprecated for two releases and has been removed. UseXrpSigner
instead.XRPTransactionType
was deprecated for two releases and has been removed. UseXrpTransactionType
instead.XRPTransaction
was deprecated for two releases and has been removed. UseXrpTransaction
instead.XRPUtils
was deprecated for two releases and has been removed. UseXrpUtils
instead.XRPClient
was deprecated for two releases and has been removed. UseXrpClient
instead.XRPError
was deprecated for two releases and has been removed. UseXrpError
instead.XRPErrorType
was deprecated for two releases and has been removed. UseXrpErrorType
instead.XrpTransaction.account
andXrpTransaction.sourceTag
were deprecated for two releases and have been removed. Use the X-address encoded fieldsourceXAddress
instead.XrpPayment.destination
andXrpPayment.destinationTag
were deprecated for two releases and have been removed. Use the X-address encoded fielddestinationXAddress
instead.
SendXrpDetails
is exported for external use onXrpClient
andXpringClient
, allowing for memo data to be attached to the transaction when sending XRP.
XRPPayment
andXRPTransaction
now contain X-address representations of their address and tag fields. (See https://xrpaddress.info/)XrplNetwork
replaces the now deprecatedXRPLNetwork
.PayIdClient
replaces the now deprecatedPayIDClient
.PayIdError
replaces the now deprecatedPayIDError
.PayIdErrorType
replaces the now deprecatedPayIDErrorType
.XrpPayIdClientInterface
replaces the now deprecatedXRPPayIDClientInterface
.XrpPayIdClient
replaces the now deprecatedXRPPayIDClient
.- A new value,
Unknown
is added to theXpringErrorType
enum. - A new field,
memosList
replacesmemos
onSendXrpDetails
.memos
is deprecated. XrpAccountSet
replaces the now deprecatedXRPAccountSet
.XrpCurrencyAmount
replaces the now deprecatedXRPCurrencyAmount
.XrpCurrency
replaces the now deprecatedXRPCurrency
.XrpIssuedCurrency
replaces the now deprecatedXRPIssuedCurrency
.XrpMemo
replaces the now deprecatedXRPMemo
.XrpPathElement
replaces the now deprecatedXRPPathElement
.XrpPath
replaces the now deprecatedXRPPath
.XrpPayment
replaces the now deprecatedXRPPayment
.XrpSigner
replaces the now deprecatedXRPSigner
.XRPTransactionType
now includes anAccountSetValue
.XrpTransactionType
replaces the now deprecatedXRPTransactionType
.XrpTransaction
replaces the now deprecatedXRPTransaction
.- A new method,
cryptoAddressForPayId
, replaces the now deprecatedaddressForPayId
method inPayIdClient
. - A new method,
allAddressesForPayId
, is added toPayIdClient
. XrpUtils
replaces the now deprecatedXRPUtils
.XrpClient
replaces the now deprecatedXRPClient
.XrpError
replaces the now deprecatedXRPError
.XrpErrorType
replaces the now deprecatedXRPErrorType
.
XRPLNetwork
is deprecated. UseXrplNetwork
instead.PayIDClient
is deprecated. UsePayIdClient
instead.PayIDError
is deprecated. UsePayIdError
instead.PayIDErrorType
is deprecated. UsePayIdErrorType
instead.XRPPayIDClientInterface
is deprecated. UseXrpPayIdClientInterface
instead.XRPPayIDClient
is deprecated. UseXrpPayIdClient
instead.memos
onSendXrpDetails
is deprecated. UsememoList
instead.XRPAccountSet
is deprecated. UseXrpAccountSet
instead.XRPCurrencyAmount
is deprecated. UseXrpCurrencyAmount
instead.XRPCurrency
is deprecated. UseXrpCurrency
instead.XRPIssuedCurrency
is deprecated. UseXrpIssuedCurrency
instead.XRPMemo
is deprecated. UseXrpMemo
instead.XRPPathElement
is deprecated. UseXrpPathElement
instead.XRPPath
is deprecated. UseXrpPath
instead.XRPPayment
is deprecated. UseXrpPayment
instead.XRPSigner
is deprecated. UseXrpSigner
instead.XRPTransactionType
is deprecated. UseXrpTransactionType
instead.XRPTransaction
is deprecated. UseXrpTransaction
instead.XRPTransaction.account
andXRPTransaction.sourceTag
are deprecated. Please use the X-address encoded fieldsourceXAddress
instead.XRPPayment.destination
andXRPPayment.destinationTag
are deprecated. Please use the X-address encoded fielddestinationXAddress
instead.- The
network
parameter passed to the constructor ofPayIdClient
is deprecated. Clients should favor calling the newcryptoAddressForPayId
method which allows them to specify the network at request time. - The
addressForPayId
onPayIdClient
is deprecated. UsecryptoAddressForPayId
instead. XRPUtils
is deprecated. UseXrpUtils
instead.XRPClient
is deprecated. UseXrpClient
instead.XRPError
is deprecated. UseXrpError
instead.XRPErrorType
is deprecated. UseXrpErrorType
instead.
- A new method
getPayment
is added toXRPClient
which allows retrieval of a payment transaction by hash.
This fix release fixes a build issue when using Xpring-JS with typescript.
This minor release fixes a bug in which incomplete transaction history was being returned from paymentHistory
.
This minor release fixes a typescript compilation failure.
This minor release improves on existing features and fixes a typescript compilation failure.
This minor release improves on existing features and fixes a typescript compilation failure.
This minor release improves on existing features and fixes a typescript compilation failure.
xrpToDrops
anddropsToXrp
conversion utilities available.
XRPTransaction
contains additional fielddeliveredAmount
to represent the actual delivered amount of a transaction.
This build contains fixes for some experimental components.
This build contains fixes for generated code that may have prevented earlier versions of the 4.x library from building.
XRPTransaction
contains additional synthetic fields to represent the timestamp and hash of the transaction.
XRPClient
requires a new parameter in its constructor that identifies the network it is attached to.IlpClient
methods now throwIlpError
s if something goes wrong during the call (either client side or server side). This is only breaking if users are handling special error cases, which were previouslygrpc.ServiceError
s when calling from node.js, andgrpc-web.Error
s in the browser.XRPClient
methods now throwXRPError
s if something goes wrong during the call.
This release contains minor fixes for exception handling in PayID.
- Add a new
paymentHistory
method toXRPClient
. This method allows clients to retrieve payment history for an address.
This release contains minor fixes for exception handling in PayID.
This release contains minor fixes for exception handling in PayID.
This release contains minor fixes for exception handling in PayID.
- Export ILP model objects. This was not done in earlier versions, so ILP functionality does not work between release 2.0.0 and 3.0.0
getTransactionStatus
has been reomved. Please usegetPaymentStatus
instead.
- Adds XpringClient, which composes various services.
- Updates PayID implementation to use the proper headers.
- Fixed a bug in
DefaultIlpClient
. "Bearer " prefix was not being prepended to auth tokens, which caused authentication issues on Hermes. - "Bearer " prefix now gets prepended to auth tokens, if it is not already there
XpringClient
is removed from XpringKit. This class has been deprecated since 1.5.0. Clients should useXRPClient
instead.XRPClient
now uses rippled's protocol buffer API rather than the legacy API. Users who wish to use the legacy API should passfalse
foruseNewProtocolBuffers
in the constructor.- Introduces a breaking change to
IlpClient
API. -IlpClient.getBalance
now returns anAccountBalance
instead of a protobuf generatedGetBalanceResponse
. -IlpClient.send
has been changed toIlpClient.sendPayment
to better align with other versions of the Xpring SDK -IlpClient.sendPayment
now consumes aPaymentRequest
instead of individual parameters, and now returns aPaymentResult
instead of a protobuf generatedSendPaymentResponse
- Non-breaking
IlpClient
changes - The web network client now allows browser cookies to be forwarded with network calls
This release contains deprecations for the XpringClient
class and the getTransactionStatus
method. Clients should prefer to use XRPClient
and getPaymentStatus
respectively.
- A new class,
XRPClient
is added which contains the functionality of the now deprecated XpringClient. - A new
getPaymentStatus
is added which retrieves the status of payment transactions.
XpringClient
is deprecated. Please useXRPClient
instead.getTransactionStatus
is deprecated. Please usegetPaymentStatus
instead.
This version allows browsers using xpring-js to include an Authorization header in gRPC requests.
This version enables ILP functionality through IlpClient
.
This version uses new protocol buffers from rippled which have breaking changes in them. Specifically, the breaking changes include:
- Use numeric
string
types rather thannumber
types when working with 64 bit numbers - Re-ordering and repurposing of fields in order to add additional layers of abstraction
- Change package from
rpc.v1
toorg.xrpl.rpc.v1
This change is transparent to public API users. However, clients will need to connect to a rippled node which is built at any commit after #3254.
This fix release adds a missing export.
- Export the
TransactionStatus
enum so client libraries can consume it.
This release fixes an incorrectly formatted package-lock.json that was published in the 1.3.0 release.
This release adds support for the new rippled protocol buffers and adds browser compatibility support.
rippled implemented protocol buffer support natively, which uses a new and incompatible set of protocol buffers. The implementation in rippled was completed in: XRPLF/rippled#3159. Xpring-JS is now capable of using these protocol buffers. This change is opt-in and non-breaking.
To switch to these protocol buffers, pass true
to the useNewProtocolBuffer
parameter in XpringClient
's constructor. The default for this field is false. The remote rippled node must have gRPC enabled. Additionally, when using this library in a browser, users are required to use the proxy based method as described in the grpc-web
documentation.
This library is now compatible with web browsers. Internally, the library makes different network requests when in the browser. Users can force these request types in the node environment by passing true
for the forceWeb
parameter in XpringClient
's constructor.
This boolean parameter is intended for compatibility testing only. This change is opt-in and non-breaking. This parameter will be removed in the future when this library has compatibility with browser based testing.
This change also adds a BigInteger polyfill to maximize browser compatibility.
- Add an additional boolean parameter to
XpringClient
's constructor which allows toggling between protocol buffer implementations. - Add an additional boolean parameter to
XpringClient
's constructor which allows toggling between node / web compatible network requests. - Switch BigInt to use the big-integer polyfill lib.
- Implement
XpringClient
'sgetBalance
method using rippled's protocol buffers. - Implement
XpringClient
'sgetRawTransactionStatus
method using rippled's protocol buffers. - Implement
XpringClient
'sgetTransactionStatus
method using rippled's protocol buffers. - Implement
XpringClient
'ssend
method using rippled's protocol buffers.