The technical content top engineers rely on to level up.
11 min read
Fixed Point Arithmetic in Solidity (Using Solady, Solmate, and ABDK as Examples) A fixed-point number is an integer that stores only the numerator of a fraction — while the denominator is implied....
9 min read
The Transparent Upgradeable Proxy Pattern Explained in Detail The Transparent Upgradeable Proxy is a design pattern for upgrading a proxy while eliminating the possibility of a function selector...
21 min read
Understanding ABI encoding for function calls ABI encoding is the data format used for making function calls to smart contracts. It is also how smart contracts encode data when making calls to other...
4 min read
Hacking Underconstrained Circom Circuits With Fake Proofs The operator in Circom can be dangerous because it assigns values to signals but does not constrain them. But how do you actually ~~exploit~~...
18 min read
Delegatecall: The Detailed and Animated Guide This article explains how delegatecall works in detail. The Ethereum Virtual Machine (EVM) offers four opcodes for making calls between contracts: * and...
2 min read
noDelegateCall Explained The modifier prevents delegatecall from being sent to a contract. We will first show the mechanism for how to accomplish this then later discuss the motivation for why one...
46 min read
Smart Contract Security !smart contract security This article serves as a mini course on smart contract security and provides an extensive list of the issues and vulnerabilities that tend to recur in...
53 min read
The RareSkills Book of Solidity Gas Optimization: 80+ Tips !solidity gas optimization TABLE OF CONTENTS The RareSkills Book of Gas Optimization Gas optimization tricks do not always work Beware of...
8 min read
DeFi Interest Rate Indexes: Principal value and Present Value in Compound V3 The intuitive way to track lender deposits is to record the amount of USDC they deposited and the time they deposited....
6 min read
Compound V3 Interest Per Second The Compound V3 protocol measures interest on the scale of seconds. The Compound V3 frontend scales the number up to years for human friendliness. When we check the...
11 min read
Understanding Collateral, Liquidations, and Reserves in Compound V3 In this chapter we will examine the following topics about Compound V3: collateral valuation absorbing insufficiently...
4 min read
Bulkers in Compound V3 The bulker contracts in Compound V3 are multicall-like contracts for batching several transactions. For example, if we wanted to supply Ether, LINK, and wBTC as collateral and...