solidity Posts
A collection of my posts on solidity. Whether I'm trying to
build something new or figure out how to break it, these notes, fixes,
and deep dives document my process. I hope you find them useful.
-
What fuzzing LpdFi taught me about writing harness objectives, sizing loans against spot oracles, and the protocol patterns to check in an audit.
-
I removed CLI fork flags from ripfuzz (prev raptor) and moved forking into a cheatcode.
-
How I built the coverage inspector for raptor. Five signals that distinguish different behavior, and how to collect them with revm's Inspector trait.
-
I'm reviewing past audit findings to build a personal checklist for future audits. This post analyzes a reward accounting bug in Stakehouse where old stakers could steal new deposits.
-
Setting up VSCode for a new Foundry project. This is my quick reference for getting remappings, the forge formatter, and the solc compiler version right.
-
Just a simple note to myself on the size of common Solidity types. A quick reference table for when I'm writing or auditing smart contracts.
-
A quick reference for Solidity proxy patterns. This is my breakdown of Transparent vs. UUPS, comparing gas overhead and the location of the upgrade logic.
-
Figuring out how to test on multiple chains with Foundry. My notes on using vm.createFork to set up different network forks inside my test files.
-
My notes on how to deploy a contract to the same address on multiple chains. The trick is just to use a fresh wallet with the same nonce (0) everywhere.
-
My personal reference for building the profanity tool from source on an M1 Mac. A security note, it's broken, so please don't use it for wallets.
-
My notes on installing the dapptools on M1 Mac. The process involved running under Rosetta and using a specific version of Nix.