MetaMask Monthly: April

Bobby Dresser
MetaMask
Published in
4 min readMay 1, 2019

Product updates from the MetaMask core team.

Simpler Token Transfers ✨

One of MetaMask’s many goals is to make managing ERC20 tokens a breeze. Since rolling out our privacy-first metrics system last month, we’ve learned that token transfers account for 45% of transactions initiated from within the extension (as opposed to those initiated by a dapp). Right now, this requires selecting a token from the left-side hamburger menu, then going through a “Send” flow specific to that asset. “Token” is also one of our most common keywords in support requests.

To make this flow smoother and more discoverable, we now allow users to select the asset they’d like to send right from the general-purpose “Edit Transaction” screen (#6445). Next time you want to transfer tokens, you can start just by clicking the “Send” button on the home screen. (And for the eager: support for sending & managing ERC 721 tokens is coming soon!)

The new “Asset” field on Send screens

MetaMask Supports Goerli 🕸

MetaMask now includes a network option for the new (ish) Goerli testnet. Goerli is a proof-of-authority network that aims to be a reliable piece of infrastructure for building and testing dapps on Ethereum (#6459).

Incident Report ⚠️

Last week we began a slow roll-out of v6.4.0, which included many of the features & fixes detailed in the release notes below. In an effort to improve the legibility of our confirmation screens, 6.4.0 introduced a feature that would ping an external API (4byte.directory) to look up human-readable function names using a transaction’s method signature. (We primarily rely on a Parity on-chain method registry, but nearly half of all transactions are contract interactions not found in the Parity registry. To any dapp devs reading: register your app’s function names to help your users!)

When we increased our rollout percentage to 100% on Thursday night, we brought down 4byte’s API due to ineffective caching in the extension. Due to an overly long timeout period, this caused many users to encounter a minute-long spinner in place of the transaction confirmation they should have seen.

For more detail on the issue, our response, and our learnings, you can read the incident post-mortem here.

Foxes in the Community 👯‍♀️

MetaMask dev Jenny Pollack spoke about open source development this weekend at Recolor, a conference organized by she256 out of UC Berkeley. Check out this thread for a pull-quote overview of the day’s panels. We are particularly proud of our former intern (and she256 co-founder) Sara Reynolds for her incredible work promoting diversity and representation in the blockchain space!

Community manager Jason Lee also went on the record last week to describe some of the key decisions and principles behind MetaMask’s growth over the past three years. You can read the full interview with Decrypt Media here.

MetaMorph Design System 🎨

As we work on our mobile application and continue iterating on the extension, we’re approaching a future where MetaMask is represented on a variety of screen types & platforms. Our design team has been hard at work crafting a design system (codename “MetaMorph) to keep our products visually consistent and improve the efficiency of our frontend teams. While it’s still a work-in-progress, you can take a sneak peek on Figma here.

WIP MetaMask Design System

Development — What’s New?

v6.4.1 is live on browsers near you!

  • Updated publishing guide for transparency on how we build & ship code (#6470).
  • Updated firmware for fixes to signing methods on Ledger and Trezor (#6395).
  • Improved parsing of function names on Confirm screen (#6403).
  • Fixed height display of Custom RPC URLs (#6468).
  • Fixed inconsistent behavior joining Ganache’s localhost (#6444).
  • Switched our token price API to CoinGecko (#6424). RIP Balanc3 🙏
  • Updated in-app metrics for accuracy and consistency (#6417).
  • Fixed handling of provider errors (#6401).
  • Fixed broken display on “Advanced” gas chart (#6389).
  • Various code cleanups (#6056, #6428, #6448, #6382)

April by the Numbers

✅ 50 PRs merged

🛠 154 commits

💫 63 Github issues closed, 62 opened 😅

🔧 910 support tickets solved

💥 2,436 lines of code added and 3,239 deleted.

~

--

--