QuickWallet

QuickWallet

Supercharge your Web3 development speed

1.4K
Built at ETHIndia Fellowship 3.0
QuickWallet

QuickWallet

Supercharge your Web3 development speed

The problem QuickWallet solves

Quick wallet is a developer friendly wallet which is made to supercharge development speed in web3. Today, most developers use Metamask and public scans (etherscan, polygonscan etc.) when developing. The issue with these tools is that they are made for production purposes, not for development. For example,

  1. In metamask, you can't edit input data before sending a transaction. You will have to go to your code, edit the code and then send the transaction.
  2. In metamask, you can't simulate transactions to check if they are passing or not. You've to send the transaction on chain and check if it passes.
  3. In etherscan, you can't do the simulation as well. Moreover, you can't filter and sort based on tokens, timestamp, contract addresses etc.

Quick wallet allows you to do all this. And the best part is, it's just an extension that works out of the box. You don't need to transfer your wallet from metamask or import your private keys. You install the extension and

  1. Before sending any transaction on metamask, you can see the exact decoded input of your transaction.
  2. You can edit the transaction details (inputs, gas price etc.) and simulate the transaction, this allows you to see if the transaction is passing.
  3. You can see all your previous transactions in a UI friendly table. Sort your data based on different columns, check the exact decoded input data, modify the data and check if a transaction still works.

Challenges I ran into

  1. Building a chrome extension. This is the first time I built a chrome extension so I had to learn a lot of things over there for the first time
  2. Proxying metamask. My debugger listens to any call to Metamask and replaces that with its own call. This was difficult because I had to add a new layer on top of window.ethereum and listen to it. The only way to do this is to inject your script within the website.
  3. Getting the implementation address from the contract address. Different dApps use different proxy standards for there smart contracts. So getting to the exact exact implementation address needs you to check difference cases.
  4. Making the extension responsive. The extension can be opened in full screen or in a window tab so it should look presentable in both the cases.

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion