web3-onboard

Client library to onboard users to web3 apps

MIT License

Downloads
95.9K
Stars
844
Committers
174
web3-onboard - M1 Mac and Keystone Accounts Bug Fixes

Published by aaronbarnardsound about 3 years ago

This release includes a couple of bug fixes. Builds were failing on M1 macs due to a dependency within MEW wallet. We tried to fix this via making it an optional dependency, but that led to problems further down the chain in some build environments. So we are temporarily removing support for MEW wallet until that dependency is fixed.

Also included is a fix for the Keystone wallet module where it would throw an error when trying to connect to accounts.

Changelog:

  • [fix]: 1.35.1-0.0.1 - Keystone Wallet Import Accounts Bug (#721)
  • 1.35.1-0.0.2: [fix] - Temporarily Remove MEW wallet
web3-onboard - Ledger EIP-1559 Support + Polygon + Bug fixes

Published by taylorjdawson about 3 years ago

This release of Onboard includes an update for Ledger deps which adds support for EIP-1559. Polygon network name has been added, as well as, a much anticipated bug fixes to the WalletConnect wallet module.

Changelog:

  • 1.35.0-0.0.1: [fix] Make mew wallet an optional dep (#709)
  • 1.35.0-0.0.2: [update] Update ledger deps (#710)
  • 1.35.0-0.0.3: [chore] add polygon (#713)
  • 1.35.0-0.0.4: [fix] Add chainId to WalletConnect constructor (#714)
web3-onboard - Boba chain support 🎉 + Various bug fixes 🐛

Published by taylorjdawson about 3 years ago

This release of Onboard adds officially support for Boba chain along with much anticipated bug and security fixes! 🙌🏾

Overview:

  • Switch network modal now displays network name for Boba chain
  • Fixes an issues where provider event listeners were not properly cleaned up which caused wallets to leak context
  • Fixes issue where BSC wallet login modal would repeatedly open
  • Fixes build issues caused by Keystone
  • Onboard now will detect and include built in wallets which conform to the EIP-1193 standard

Changelog:

  • 1.34.2-0.0.1: [chore] Add boba chain (#682)
  • 1.34.2-0.0.2: [update] walletlink to 2.1.10 (#680)
  • (dependabot) Bump tar from 4.4.17 to 4.4.19 (#675)
  • (dependabot) Bump axios from 0.21.1 to 0.21.4 (#683)
  • 1.34.2-0.0.4: [update] walletlink to 2.1.11 (#685)
  • 1.34.2-0.0.5: [fix] Dangling event listeners (#687)
  • 1.34.2-0.0.6: [fix] BSC wallet balance polling (#698)
  • 1.34.2-0.0.7: [update] Latest Keystone update to fix builds (#703)
  • 1.34.2-0.0.8: [fix] EIP-1193 support in onboard (#701)
  • 1.34.2-0.0.9: [chore] Revert Keystone back to v0.7.7 (#706)
  • 1.34.2-0.0.10: [fix] Revert yarn.lock versions (#707)
web3-onboard - MyEtherWallet 🎉 + Misc Bug Fixes/Updates

Published by taylorjdawson about 3 years ago

This release adds MyEtherWallet to Onboard! Additionally, a few bug fixes and dependency updates are included. See changelog and PRs below for more details.

Changelog:

  • 1.34.1-0.1.0: [fix] network switch bug (#673)
  • 1.34.1-0.1.1: [update] WalletConnect v1.6.2 (#665)
  • Add MyEtherWallet's MEW Wallet to Onboard (#666)
  • 1.34.1-0.1.2: [fix] keystone accounts (#674)
  • 1.34.1-0.1.3: [update] Bump WalletLink to 2.1.9 (#671)
web3-onboard - 🚨 Important WalletConnect Update

Published by taylorjdawson about 3 years ago

This minor release includes an important update for WalletConnect which uses their new server infrastructure. Please see this tweet for more details.

web3-onboard - New Features 🎉 + Bug Fixes 🐛

Published by taylorjdawson about 3 years ago

This release includes a mix of features and bug fixes. Fortmatic wallet now supports a custom RPC url for custom networks. Binance Smart Chain wallet was added. There's a new option to specify wallet visibility based on the user's device. Fixes an issue with WalletConnect hanging on network check modal. And several improvements to the Keystone wallet were added.

Wallet display options

You can now specify whether or not to display a wallet based on which device a user is using. Note: For wallets that are mobile or desktop only this option will not override this. For instance, if a wallet is mobile only setting display: { desktop: true } will not display this wallet on desktop.

Example:

const onboard = Onboard({
  walletSelect: {
    wallets: [{
      walletName: 'metamask'
      // Only displays Metamask Wallet on desktop
      display: { mobile: false }
    }]
  }
  // ... other init options
})

For additional context see #605.

Fortmatic custom RPC url

Example:

{
  walletName: 'formatic',
  rpcUrl: 'https://testnet2.matic.network'
}

Binance Smart Chain Wallet

Add the following to the wallet select array:

{
  walletName: 'binance'
}

Changelog:

  • 1.33.0-0.0.1: [fix] Fixes walletconnect hanging on network check (#653)
  • 1.33.0-0.1.1: [feature] Adds display options for wallets (#654)
  • 1.33.0-0.2.1: [feature] Adds optional custom rpc url for formatic (#655)
  • 1.33.0-0.2.2: [fix] keystone bugs (#657)
  • 1.33.0-0.3.2: [feature] add binance-chain-wallet (#595)
  • 1.33.0-0.3.3: [refactor] Lazy load ens (#660)
web3-onboard - Keystone Wallet & EIP-3326 🎉

Published by taylorjdawson about 3 years ago

This release includes support for Keystone wallet and adds EIP-3326 (wallet_switchEthereumChain rpc method) for wallets that support it. This means that users using wallets supporting EIP-3326 will no longer see the switch network modal but rather the wallet will prompt the user to switch their network. Additionally this includes a small bug fix for Ledger wallet.

Changelog:

  • 1.32.0-0.1.0: [feature] Switch network if RPC request is available (#639)
  • 1.32.0-0.2.0: [feature] Adds Keystone wallet support (#646)
  • 1.32.0-0.2.1: [fix] Ledger Transport boolean expression assignment, log errors (#648)
web3-onboard - WalletConnect Update + Token Pocket Wallet + Minor fixes

Published by taylorjdawson about 3 years ago

This release includes a critical update to WalletConnect, adds Token Pocket wallet, and includes some update to some sub-dependencies that contained vulnerabilities.

Changelog:

  • 1.31.0-0.0.1: [update] bump walletconnect - 1.5.0 (#637)
  • 1.31.0-0.0.2: [fix] Fixes a typescript error (#634)
  • 1.31.0-0.0.3: [feature] add tp wallet (#576)
  • 1.31.0-0.0.4: [fix] vulnerabilities -- update deps (#638)
  • 1.31.0-0.0.5: [update] walletconnect v1.5.2 (#640)
web3-onboard - ENS Support & Custom Networks for Hardware Wallets & Other fixes

Published by taylorjdawson over 3 years ago

This release adds some exciting new features: ENS support, custom networks for hardware wallets, and updates to a few wallets. Further more it adds fixes for a Keepkey transaction signing bug. The detectedwallet option is now enabled by default regardless of if you are using the default wallet list or a custom list.

ENS Support

With Onboard you now have the ability to get a users ENS name as well as any text records they may have. To use this feature simply add a callback function within the subscriptions object like so:

const onboard = Onboard({
  ...
  subscriptions: {
    wallet: wallet => {
       web3 = new Web3(wallet.provider)
    },
    ens: ens => {
       console.log(ens)
       // { name: 'myname.eth', avatar: 'https://i.imgur.com/LcZFSMn.png', getText: '...', contentHash: '...' }
    }
  }
})

Whenever the user selects a wallet or their address changes, the ens callback will execute with the updated ens object. To get a text record for a user's ENS name such as their avatar, use the getText method.
Example:

...
ens: ens => {
  if(ens) {
    const avatarUrl = ens.getText('avatar')
    console.log(avatarUrl) //  https://i.imgur.com/LcZFSMn.png
  }
}
...

Custom Networks for Hardware Wallets

Onboard now supports passing in custom network info for hardware wallets allowing users to use their hardware wallets with non-Ethereum networks such as Energy Web Chain.

Example:

const onboard = Onboard({
   networkId: 1234
  //... other options
  walletSelect: {
     wallets:[
         {
             walletName: 'ledger',
             rpcUrl: RPC_URL,
             customNetwork: {
                  networkId: number
                  genesis: GenesisBlock
                  hardforks: Hardfork[]
                  bootstrapNodes: BootstrapNode[]
            }
         },
     ] 
  }
})

You can view an example configuration here

Changelog:

  • 1.29.0-0.4.1: [feature] Allow Hardware wallets to add custom network info (#457)
  • 1.29.0-0.4.3: [feature] Detail how to access Gnosis Safe Apps (#615)
  • 1.29.0-0.5.3: [feature] Adds ens support (#618)
  • [chore] XDEFI strict provider [3.0.6] (#606)
  • 1.29.0-0.4.2: [refactor] Network name helper and remove unused networkId helper #613
  • 1.29.0-0.5.4: [update] WalletLink to 2.1.6 (#614)
  • 1.29.0-0.5.5: [refactor] detected wallet (#625)
  • 1.29.0-0.5.6: [fix] keepkey eth sign transaction issue (#624)
  • 1.29.0-0.5.7: Adds avatar to ens object (#629)
  • 1.29.0-0.5.8: [fix] keepkey message signing (#630)
  • 1.29.0-0.5.9: Fix ens on non-ethereum networks - filter out detected wallet (#633)
  • 1.29.0-0.5.10: Fix Trezor txn sign issue (#635)
  • 1.29.0-0.5.11: Revert lattice changes (#636)
web3-onboard - Various Fixes

Published by aaronbarnardsound over 3 years ago

A small release that includes a few minor fixes and improvements.

Binance Smart Chain has been added as a network now that it is supported by the Blocknative server infrastructure. Passing in the networkId: 56 is all that is necessary. For all other unrecognized networks that get displayed with the network name unknown, you can use the networkName parameter when initializing Onboard:

const onboard = Onboard({
  // ... other init options
  networkId: 137,
  networkName: 'Matic'
})

When Onboard is re-initialized in the same session, the WebSocket connection is now closed and the wallet interface is now reset(if one was selected on the previous instance) to ensure there are no extra socket connections or wallet instances hanging around.

A bug with KeepKey missing the preferred property which prevented it from being included as one of the top 4 wallets has been also fixed.

Changelog:

  • 1.29.0-0.1.0: [enhancement] - Cleanup Upon Re-Initialization (#604)
  • 1.29.0-0.2.0: [fix] Keepkey issues (#607)
  • 1.29.0-0.3.0: [refactor] Move cta buttons (#609)
  • 1.29.0-0.3.1: [fix] Adds bsc network (#611)
web3-onboard - Generic Detected Wallet Module

Published by aaronbarnardsound over 3 years ago

The main feature of this release is a generic detected wallet module. It can be added to your project by adding the following wallet object to your wallets array when initializing Onboard: { walletName: 'detectedwallet' }. If a user then visits your app and they have a wallet provider injected in to the page that is not recognized by Onboard, it will try to pull the name from the provider and will display it as an option so that any injected wallet that conforms to the EIP-1193 standard can connect to your app.

Also included in this release is a enhanced switch wallet flow for when a user is on the wrong network, but cannot switch networks on the current connected wallet. The full flow is detailed here.

A bug has also been fixed where the derivation path for hardware wallets was incorrectly validating account values > 9.

Changelog:

  • 1.27.0-0.2.2: Refactor network check flow (#584)
  • Fix derivation path validation (#590)
  • 1.28.0-0.1.1: [fix] - Agreed Type (#591)
  • 1.28.0-0.2.0: Generic web3 wallet for injected wallet providers (#583)
  • 1.28.0-0.2.1: [fix] - Switch Wallet Flow (#592)
web3-onboard - 🎊 Keepkey Support, Ledger Chrome 91 Fix & Gnosis dep updates

Published by taylorjdawson over 3 years ago

This release adds support for Shapeshift's Keepkey hardware wallet! This integration comes with a PIN UI and passphrase entry for a smooth onboarding process. To enable Keepkey support simply add the following to your Onboard init object:
{ walletName: 'keepkey', rpcUrl: '<rpc-provider-url>' }

Furthermore, this release includes an update to the Ledger wallet where it now uses WebUSB if the browser supports it. This consequently mitigates an issue with Chrome v91 where the U2F protocol no longer works with the Ledger device ( See #577 ).

Changelog:

  • 1.27.0-0.0.1: [update] Update Gnosis deps (#578)
  • 1.27.0-0.0.2: [fix] Ledger use WebUSB where supported (#580)
  • 1.25.0-0.1.2: [feature] KeepKey Wallet (#552)
web3-onboard - SSR Support, Export Wallet Icons

Published by aaronbarnardsound over 3 years ago

This release adds support for SSR (server side rendered) projects by adding a check for the window object in the init function to prevent errors. Also included in this release is an additional icons property on the wallet object for when a user selects a wallet. This property includes the icon strings available for the selected wallet, so the app can also display the selected wallet in the UI.

Changelog:

1.26.1-0.1.0: [feature] Export wallet icons (#572)
1.26.2-0.1.0: [enhancement] - SSR Support (#570)
Bump browserslist from 4.13.0 to 4.16.6 (#563)
1.26.1-0.0.1: [chore] Update Wallet type (#574)

web3-onboard - Torus Wallet RPC URL option

Published by taylorjdawson over 3 years ago

This release adds an option for Torus wallet to provide a custom RPC url.

Example:

{
  walletName: 'torus',
  rpcUrl: 'https://ethboston1.skalenodes.com:10062',
  ...
}

Changelog:

  • 1.26.0-0.1.0: [feature] Adds custom RPC url option for Torus (#565)
web3-onboard - 🎉 Gnosis Safe, Bitpie, & XDefi wallets + Security Updates

Published by taylorjdawson over 3 years ago

This release adds support for 3 new wallets: Gnosis Safe, Bitpie and XDefi. The Ledger provider now supports signing Typed data messages (See EIP712 for more information). Additionally, we include a number of vulnerability fixes to various Onboard.js dependancies.

Bitpie and XDefi

For Bitpie and XDefi add the following wallet init object to your wallets array when initializing Onboard:

{ walletName: 'bitpie' },
{ walletName: 'xdefi' }

Gnosis Safe

For Gnosis Safe add the following wallet init object to your wallets array when initializing Onboard:

{ walletName: 'gnosis' }

With Gnosis Safe if a user opens your dApp within the Safe Interface, Onboard.js will automatically select the Gnosis Safe for the user.

Changlog

  • 1.25.0-0.1.0: [feature] gnosis safe wallet (#551)
  • Bump lodash from 4.17.19 to 4.17.21 (#549)
  • Bump hosted-git-info from 2.8.8 to 2.8.9 (#550)
  • 1.25.0-0.2.2: [feature] Ledger EIP712 Support (#554)
  • 1.25.0-0.3.2: [feature] Adds bitpie wallet (#541)
  • 1.25.0-0.4.2: [chore] patch vulnerabilities (#553)
  • 1.25.0-0.5.2: [refactor] Adds autoselect for gnosis wallet (#555)
  • 1.25.0-0.5.3: [fix] Fixes issue when gnosis wallet is not found label is undefined (#557)
  • feat: add XDEFI (#540)
  • 1.25.0-0.5.4: [update] Updates the bnc-sdk to latest (#558)
  • 1.25.0-0.5.5: [fix] Add check for WalletConnect Initialization object (#560)
web3-onboard - WalletLink Update 🚀

Published by taylorjdawson over 3 years ago

This release updates WalletLink to the latest version and replaces the old Coinbase logo with the new one.

Changelog:

  • Update WalletLink to 2.1.0 and Coinbase Wallet icon (#544)
web3-onboard - Terms of service feature & Portis update

Published by taylorjdawson over 3 years ago

The latest release of Onboard includes a new option that enables developers to ask users to agree to the terms of services before using Onboard. To enable this feature add the following to your Onboard init object:

const onboard = Onboard({
  ...
  walletSelect: {
    agreement: {
      version: '0.1.0',
      termsUrl:'https://www.yourdapp.com/terms-conditions',
      privacyUrl: 'https://www.yourdapp.com/privacy-policy',
    }
  }
})

Example:

image

Please see the docs for more information regarding this feature.

Additionally, it includes the updated Portis wallet!

Changelog:

  • 1.23.0-0.1.0: [feature] Adds optional terms agreement (#531)
  • 1.23.0-0.2.0: [feature] Configure CircleCI (#532)
  • 1.23.0-0.2.1: [fix] Terms of service (#536)
  • 1.23.0-0.2.2: [chore] move authereum below fold (#543)
  • Updated Portis version to 3.0.10 (#539)
web3-onboard - AlphaWallet

Published by aaronbarnardsound over 3 years ago

This release adds support for AlphaWallet. To add to your project, simply add the following wallet init object to your wallets array when initializing Onboard: { walletName: 'alphawallet' }.

Also is included in this release is an update to the latest WalletConnect version which includes additional mobile wallets.

Changelog:

  • Add AlphaWallet connector (#505)
  • 1.22.0-0.1.0: [feature] update wallet connect (#525)
  • 1.22.0-0.2.0: [enhancement] - Filter Confirmed Status (#527)
  • 1.22.0-0.2.1: [refactor] Fixes formatting (#528)
web3-onboard - Ownbit Wallet

Published by aaronbarnardsound over 3 years ago

This release adds Ownbit wallet as a supported wallet module. To add it to your project, simply add the following wallet init object to your wallets array when initializing Onboard: { walletName: 'ownbit' }.

Also included in this release are a couple of small bugfixes for custom network names and a TypeScript issue.

Changelog:

Adds Ownbit wallet (#510)
1.21.0-0.0.1: [fix] - isMobile Parameter (#522)
1.21.0-0.0.2: [fix] - Adds unknown network name (#520)

web3-onboard - Cobo Vault Wallet

Published by aaronbarnardsound over 3 years ago

This release adds support for the Cobo Vault hardware wallet. You can add it to your project by adding the following wallet init object to your wallets array when initializing Onboard:

{ walletName: 'cobovault', appName: '<YOUR_APP_NAME>', rpcUrl: '<RPC_ENDPOINT>' },

Also included in this release is an update to the modal copy for when a user selects a wallet on a mobile device but does not have that wallet app currently running. The button text used to say "Install <SELECTED_WALLET_NAME>" but it now informs the user to "open" the wallet as this was causing confusion for some users that had the selected wallet installed but not open.

Changelog:

1.20.0-0.1.0: [feature]: Add Cobo Vault hardware wallet support (#508)
1.20.0-0.0.1: [enhancement] - Install Wallet Copy (#514)
Bump y18n from 4.0.0 to 4.0.1 (#516)