Javascript SDK

What's new in 12.0.0

In version 12.0.0, we introduced a more structured approach to error handling in our JavaScript SDK. With the inclusion of an exported FireblocksError class, developers can now access detailed error information using the new FireblocksError.message and FireblocksError.key properties.

If issues arise during SDK activities, these structured error responses aim to provide you with better insights, enabling efficient debugging or informed inquiries to our support team.

Upgrade guidelines

If your previous code relied on specific error responses from the NCW SDK, incorporating these new error codes may improve the accuracy of your try/catch flows. Refer to this PR to see how we handled the SDK upgrade in our web demo.

What's new in 11.0.2

In version 11.0.2, fixed a bug that may occur during a call to generateMPCKeys.

What's new in 11.0.1

In version 11.0.1, we have implemented significant performance improvements in key generation and transactions. For additional tips on enhancing overall performance, refer to our documentation here.

What's new in 11.0.0

In version 11.0.0, we upgraded some of our JavaScript SDK infrastructure in preparation for upcoming versions, which include performance improvements in MPC key creation and transactions.

We also added these features and made these changes:

  • The SDK logger utility lets you choose to keep historical data of all NCW SDK activity.
  • The fetch log utility can now fetch SDK logs from your app.
  • Reduced package size for faster loading times.

Breaking change

Version 11.0.0 introduces a breaking change since we renamed the following interfaces:

  • Instead of initializing via the FireblocksNCW.initialize(options) class function, call FireblocksNCWFactory(options).
  • Do not declare variables with type FireblocksNCW but refer to it via the IFireblocksNCW interface.
  • Instead of initializing the logger via the new ConsoleLogger() function, call ConsoleLoggerFactory().
  • Instead of calling the FireblocksNCW.version function, call version directly.
  • Instead of calling the FireblocksNCW.generateDeviceId() function, call generateDeviceId() directly.

We recommend visiting our ncw-web-demo repo to understand how to adapt your app to the SDK changes. Specifically, you can always jump to this commit and see the changes we added to the web demo.

What's new in 10.0.7

In version 10.0.7, we added the ability to work with multiple devices in a single wallet. You can find more information about implementing multiple devices here.

What's new in 10.0

In version 10.0, we added a safer backup and recovery mechanism.

Breaking change

Version 10.0 introduces a breaking change since the following two functions in the interface will receive different parameters:

  • backupKeys
  • recoverKeys

You can find more details about the implementation in our ncw-web-demo repo and the backup procedure here.

Upgrade guidelines

When upgrading to version 10.0 and later, you should require the user to run another backup procedure so that the new encrypted backup share on the Fireblocks servers will be associated with a passphraseId.