Skip to content

Releases: blocknative/web3-onboard

Dashboard Function

06 Apr 03:34
2c3f48b
Compare
Choose a tag to compare

The wallet object that the wallet subscription callback is called with now has a dashboard parameter instead of the url parameter. The url parameter was a String that is used to open a new window that would load the dashboard for SDK wallets. To make this more flexible we have changed this to dashboard and to a Function type so that if a SDK wallet has a function on the instance that will load the dashboard in the same window, then that can be called.

So if you are utilizing the url parameter in you code currently, you will need to make the following changes:

// you might have a button that when clicked runs this onclick function...
// current code using url parameter
function onclick() {
  if (wallet.type === 'sdk') {
    wallet.url && window.open(wallet.url)
  }
}

// new code using dashboard parameter
function onclick() {
  if (wallet.type === 'sdk') {
    wallet.dashboard && wallet.dashboard()
  }
}

Also included in this release are a couple of small bug fixes via updates to both the Authereum and Unilogin dependencies.

Changelog:

  • make state not updated after interval cancelled (#275)
  • Update authereum and use destroy method (#277)
  • Enhancement: Wallet Settings (#280)
  • Update UniLogin (#281)

UniLogin Wallet

27 Mar 01:39
873eb30
Compare
Choose a tag to compare

This release adds UniLogin wallet as a supported wallet. To add it to your project simply add an additional wallet initialization object:

const config = {
  //... other config options
  walletSelect: {
    wallets: [
      //... other wallets
      { walletName: 'unilogin' }
    ]
  }
}

Also included in this release is a small change to the copy included in the "What is a Wallet" section and an option to customize that text. To customize the text, you can use the new optional explanation parameter in the walletSelect object:

const config = {
  //... other config options
  walletSelect: {
    //... other wallet select options
    explanation: "Explain what an Ethereum wallet is here..."
  }
}

Changelog:

  • Feature: Add UniLogin Wallet (#258)
  • bump torus version (#268)
  • Modify walletSelect explanation, make customizable #270

Upgrade SDK to version 2

25 Mar 05:00
15a7a15
Compare
Choose a tag to compare

Just a small release to upgrade the internal SDK used for server communications to version 2. Also included in this release, hardware wallets have been enabled on Android devices.

Changelog:

  • Enable hardware wallets on Android (#264)
  • Upgrade to version 2.0.0 of sdk (#266)

Custom Derivation Paths and Improved UI for Hardware Wallets

20 Mar 03:02
bb7af45
Compare
Choose a tag to compare

This release adds a new wallet check module for hardware wallets that allow user's to select a derivation path from a list of common paths or input a custom path to access accounts on their hardware wallets:

Screen Shot 2020-03-20 at 1 26 13 PM
Screen Shot 2020-03-20 at 1 26 43 PM

To add this extra check to your app:

const config = {
  //... other config options
  walletCheck: [
    { checkName: "derivationPath" },
    { checkName: "accounts" },
    { checkName: "connect" },
    { checkName: "network" }
  ]
}

const onboard = Onboard(config)

Changelog:

  • Make sure SDK wallets disconnect correctly (#254)
  • Feature: Custom Derivation Path (#256)
  • Enhancement: click close modal (#259)
  • Clear hardware accs when derivation path changed (#261)

Ledger Support for Electron Apps

18 Mar 07:33
2cac2af
Compare
Choose a tag to compare

This release adds support for Ledger wallets in Electron apps via an additional LedgerTransport property on the Ledger initialization object. For Ledger to work on Electron apps it needs to use the node transport module.

So to get this working in your Electron app you will need to install the node transport module, require it and then pass it in when initializing Onboard:

const TransportNodeHid = require("@ledgerhq/hw-transport-node-hid").default;

const onboardConfig = {
  // other config options...
  wallets: [
    // other wallets...
    {
       walletName: "ledger",
       rpcUrl: `https://rinkeby.infura.io/v3/${infuraKey}`,
       LedgerTransport: TransportNodeHid
    }
  ]
}

A small UI enhancement is also included in this release which makes all modals disable window scrolling so that a user can't scroll below the modal.

Changelog:

  • Make modal fixed and lock scrolling (#247)
  • Add custom ledger transport option (#249)
  • Add types to originalOverflowValue (#251)

Bug Fix

10 Mar 21:13
ab5d0f6
Compare
Choose a tag to compare

This is a release to fix a bug that was introduced in version 1.3.4 which broke some mobile wallet providers.

Changelog:

  • Call provider directly to ensure this is defined (#243)

Enhancements and Small Bug Fixes

09 Mar 23:10
65dd697
Compare
Choose a tag to compare

This release has a collection of small enhancements and bug fixes. The design has been refined in the wallet select modal so that it is more clear when a wallet is currently selected. A bug with connecting to the Opera wallet has been fixed.

Changelog:

  • Make sure link has pointer cursor when hovered (#234)
  • Fallback to send if sendAsync isn't available (#235)
  • Add opera install hint (#237)
  • Remember show more state in wallet select (#238)
  • Change design for wallet button when selected (#239)

Fix Derivation Paths

05 Mar 01:27
d6323b8
Compare
Choose a tag to compare

A small release to change the hardware wallet derivation paths to match common implementations.

Changelog:

  • Make derivation paths match common implementations (#228)

Update Blocknative SDK

03 Mar 23:29
cdf22cc
Compare
Choose a tag to compare

A small release to update to the latest Blocknative SDK version which adds adds the ability to unsubscribe from a watched address.

Code has been updated in the balance store where the current address is watched for confirmed transactions so that the previous address will be unwatched when the current address changes to avoid unnecessary messages from the server.

The lodash.debouncedependency has also been removed as it is no longer needed due to backend improvements.

Changelog:

  • Update sdk and unsubscribe from address (#224)

Trust Deep Link

26 Feb 23:28
75d74b9
Compare
Choose a tag to compare

Just a small release that fixes a few minor issues. The Trust deep link has been updated to the new format, the Torus SDK is now imported dynamically which matches the other SDK wallets and a small bug where the account balance wouldn't show correctly in the hardware wallet account select modal has been fixed.

Changelog:

  • Fix: accounts balance re-render (#216)
  • Dynamically import Torus (#218)
  • Fix trust deep link (#220)