Nomic Foundation
Published in

Nomic Foundation

Better Solidity debugging: stack traces are finally here

Debugging Solidity is no longer a blind exercise

“state of the art” 🧐
  • Combined JavaScript and Solidity stack traces that start in JavaScript/TypeScript up to your call to the contract, and continue with the full Solidity call stack.
  • 8000+ lines of testing code making up 500+ tests just for Buidler EVM.
Solidity debugging before Buidler EVM
  • Sending ETH to a contract without a payable fallback function
  • Calling a non-existent function when there’s no fallback function
  • Calling a function with incorrect parameters
  • Calling an external function that doesn’t return the right amount of data
  • Calling an external function on a non-contract account
  • Failing to execute an external call because of its parameters (e.g. trying to send more ETH than what’s available)
  • Calling a library without DELEGATECALL
  • Incorrectly calling a precompiled contract
Running Aragon Court’s Truffle tests on Visual Studio Code with Buidler
# https://github.com/nomiclabs/buidler-evm-demo
git clone https://github.com/nomiclabs/buidler-evm-demo.git
cd buidler-evm-demo/
npm install
npx buidler test

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store