Releases: thirdweb-dev/web3-onboard
Blank Wallet + Fix: Ledger EIP1559 & Injected Wallet Options
This release adds Blank wallet. Additionally the release includes 2 important bug fixes. The first is a fix to ledger signing such that it will properly sign EIP1559 transaction. Second, we include a fix to the injected wallet module to remedy the user options being overridden.
What's Changed
- add blank wallet (#700)
- 1.35.2-0.0.1: [fix] injected wallet options (#727)
- 1.35.2-0.0.2: [fix] Fix ledger signing for EIP1559 (#729)
Full Changelog: 1.35.2...1.35.3
M1 Mac and Keystone Accounts Bug Fixes
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
Ledger EIP-1559 Support + Polygon + Bug fixes
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:
Boba chain support 🎉 + Various bug fixes 🐛
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)
MyEtherWallet 🎉 + Misc Bug Fixes/Updates
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:
🚨 Important WalletConnect Update
This minor release includes an important update for WalletConnect which uses their new server infrastructure. Please see this tweet for more details.
New Features 🎉 + Bug Fixes 🐛
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)
Keystone Wallet & EIP-3326 🎉
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:
WalletConnect Update + Token Pocket Wallet + Minor fixes
This release includes a critical update to WalletConnect, adds Token Pocket wallet, and includes some update to some sub-dependencies that contained vulnerabilities.
Changelog:
ENS Support & Custom Networks for Hardware Wallets & Other fixes
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)