While we’ve been steadily releasing smaller updates to our Assist.js library, we just released three significant new updates that we wanted to share:
1. Support for “Speed Up” and “Cancel” Transactions: Assist.js now detects when MetaMask users attempt to either Speed Up or Cancel a pending transaction.
How does it work? While a user has a Pending transaction, MetaMask will show options to Speed Up (i.e. add Gas) or Cancel. If either of these options are selected, Assist.js will now automatically update the transaction status to reflect these changes. Note: SpeedUp and Cancel attempts are not guaranteed on Mainnet.
2. UI Customization: Multiple teams asked how they could modify various Assist.js UI elements to better reflect the look-and-feel of their underlying Dapps. We're happy to now introduce our new “Dark Mode” – which essentially inverts all of our UI colors – as well as to enable custom CSS for full UI flexibility.
How does it work? In the Assist.js Config file, search for "style" and you'll see options to enable dark mode, change the screen position of transaction notifications, and insert CSS strings. You can see Dark Mode in action on our MakerDao CDP deployment as well as explore the config file on our Github.
3. web3.js Refactor —This is an important technical update. To ensure that Assist.js remains in-step with the latest web3.js release (and its beta revisions specifically), we have transitioned to a "delegation" approach to augment the Web3 Contract object function. Delegation takes the existing Web3 Contract object and returns a new object that includes the Assist.js instrumentation. This new object maintains references to the methods on the original Contract object so that transactions and contract calls can be delegated to those methods after Assist performs its pre-flight and notification work. With this change, Assist.js 0.6 and beyond supports web3.js versions 0.20.x and 1.0.0-beta-47+ (see our documentation for additional details).
If new users are going to engage in blockchain-powered experiences, Blocknative believes that Dapps must be as friendly and approachable as the centralized Web 2.0 destinations they are looking to supersede. Our goal is to build developer-friendly Web3 tools that help make delightful Dapp experiences easy to deploy.
Have questions or suggestions about new features we should consider adding to Assist.js? Let me know on our Telegram.