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.
- Fixes browser compatibility problems by altering related dependency versions.
- Fixes a bug in which
PathElement
protocol buffers were not correctly serialized to JSON.
- Fixes a bug in which
OfferCreate
transactions could not be properly serialized.
- All transaction types can now be handled by the Serializer.
- Flags are now properly serialized in Transactions.
- TrustSet transaction types are now properly serialized.
This minor release contains updated version of dependencies for security and stability.
This minor release contains the newest version of the ripple-binary-codec (v1.0.1).
This release contains updated versions of dependencies for security and stability.
This release contains updated versions of dependencies for security and stability.
- The deprecated method
parsePayID
is removed fromPayIdUtils
. UseparsePayId
instead.
- A new method,
generateRandomWallet
inWalletFactory
provides functionality to generate randomWallet
s. - A new method,
generateRandomHdWallet
inWalletFactory
provides functionality to generate random hierarchical deterministic (HD)Wallet
s. - A new model,
SeedWalletGenerationResult
encapsulates the results of generating a random seed basedWallet
. - A new model,
HdWalletGenerationResult
encapsulates the results of generating a random hierarchical deterministicWallet
.
- The static method,
generateRandomWallet
, in theWallet
class is deprecated. UseWalletFactory
instead.
- A new method,
walletFromMnemonicAndDerivationPath
inWalletFactory
encapsulates functionality for creating aWallet
object from a mnemonic and derivation path.
- The
generateWalletFromMnemonic
method of theWallet
class is deprecated. Use the newWalletFactory
class to generateWallet
s from mnemonics and derivation paths.
- Deprecated XRP specific functionality in
Utils
is removed. UseXrpUtils
instead. - Deprecated generic utils functionality in
XrpUtils
is removed. UseUtils
instead.
- XRP specific functionality on the
Utils
class is deprecated. Use the newXrpUtils
class instead. - A new method,
walletFromSeed
inWalletFactory
encapsulates functionality for creating aWallet
object from a seed. - A new enum,
XrplNetwork
, identifies the XRP Ledger network that components are connected to. - A new method,
isTestNetwork
, is provided byXrpUtils
to identify whether a givenXrplNetwork
is a test network. Serializer
can now support serialization of DepositPreAuth operations.- A new method,
parsePayId
, is provided byPayIdUtils
, to replace theparsePayID
method. Serializer
can now support serialization of AccountSet operations.
- XRP-specific functionality on the
Utils
class is deprecated. Use the newXrpUtils
class instead. - The
walletFromSeed
method of theWallet
class is deprecated. Use the newWalletFactory
to generateWallet
s from seeds. - The
parsePayID
method onPayIdUtils
is deprecated. Use theparsePayId
method instead.
WalletFactory
's constructor takes anXrplNetwork
enum instead of a boolean indicating if the network is a test network. Clients should passXrplNetwork.Test
if they were previously passingtrue
, otherwise they should passXrplNetwork.Main
.
PayIDUtils
is removed. The class has been deprecated for two releases.PayIDComponents
is removed. The class has been deprecated for two releases.
- A new class
WalletFactory
encapsulates functionality for creating aWallet
object from a public and private key.
This release contains minor deprecations of names of methods and classes to make this library more idiomatic with the wider JavaScript ecosystem.
- A new class,
PayIdUtils
, replaces the functionality inPayIDUtils
with an idiomatically cased name. - A new class,
PayIdComponents
, replaces the functionality inPayIDComponents
with an idiomatically cased name.
PayIDUtils
is deprecated. Use the idiomatically casedPayIdUtils
class instead.PayIDComponents
is deprecated. Use the idiomatically casedPayIdComponents
class instead.
This fix release contains minor improvements to experimental components.
This fix release fixes build references.
This fix release fixes build references.
- A new
FakeWallet
is exported from the library to assist clients in unit testing.
-
- All legacy services are removed from Xpring-Common-JS. This functionality is no longer supported. Going forward, all functionality will use rippled's protocol buffer API.
Adds the Signer.signTransactionFromJSON function.
This release adds new functionality to work with the PayID system in Xpring SDK.
PaymentPointer
: A new model object to work with conceptual components of payment pointers. See: https://paymentpointers.org/syntax-resolution/PayIDUtils
: A static utility class for working with PayID constructs.
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
Since this library exposes public APIs that use these protocol buffers, clients will need to pass the same version of the protocol buffers compiled from rippled, which is any commit after #3254.
Update to the latest version of protocol buffers from rippled, introduced in #3254.
- Webpack wasn't being run.
- Added transaction exports.
This release fixes the empty typescript type definition exports.
- Build and Webpack output now include the generated protobuf typescript type definintions.
This release adds support for (protocol buffers in rippled)[https:/ripple/rippled/tree/develop/src/ripple/proto/rpc/v1]. The Signer
's signTransaction
method previously returned a hex string representing the signature of the transaction. After this change, it returns the entire signed and encoded transaction as a byte array. This encapsulates the serialization and signing logic inside of this library, rather than forcing clients to understand it. This is a breaking change (See 'Breaking Changes') below.
This release also changes the protocol buffer compiler used to generate protocol buffers in order to make this library function inside of a browser environment. As part of this change, various optimizations to TypeScript and webpack compilation are also produced (see 'Breaking Changes') below.
- Modify
Signer
'ssignTransaction
method to return an array of signed bytes rather than a string based signature. - Changed webpack EntryPoint to XpringCommonJS.
- Changed webpack output file from bundled.js to index.js.
- Added compatability for the library to be usable on the web and Node.js without having two separate codebases or build strategies by switching to using gRPC-Web instead of the Node.js version of gRPC.
- Updated webpack configuration to use UMD (Universal module definitions) to support both web and Node.js.
- Updated the ESLint and TSConfig to properly lint the project to our preferred styles.
This patch release locks the versions of grpc-tools
and grpc_tools_node_protoc_ts
dependencies. This allows client projects to be able to deterministically generate compatible protocol buffers with this project's TypeScript.
Previously, different versions of the protocol buffer compiler would (sometimes) produce slightly different output (generally by renaming fields).
The release migrates the protocol buffers in (xpring-common-protocol-buffers)[https:/xpring-eng/xpring-common-protocol-buffers) to a 'legacy' namespace. These protocol buffers and methods will be removed at some point in the future.
This release adds support for (protocol buffers in rippled)[https:/ripple/rippled/tree/develop/src/ripple/proto/rpc/v1]. These protocol buffers are the recommended alternative.
The protocol buffers from rippled
are not compatible with the protocol buffers from xpring-common-protocol-buffers
. That makes this a breaking change. Clients will need to migrate to new methods (see breaking changes
below).
- Support for rippled protocol buffer serialization and signing.
Serializer
'stransactionToJSON
method is renamedlegacyTransactionToJSON
. ThetransactionToJSON
method now supports protocol buffers from rippled.Signers
'ssignTransaction
method is renamed tosignLegacyTransaction
. ThesignTransaction
method now supports protocol buffers from rippled.
- Clients who called
Serializer
'stransactionToJSON
should migrate to using thelegacyTransactionToJSON
method. - Clients who called
Signers
'ssignTransaction
should migrate to using thesignLegacyTransaction
method.