Solidity → Vyper 0.4 Migration

// BLUEPRINT 01 · OPENZEPPELIN → VYPER 0.4 & SNEKMATE

The fastest path from Solidity to Vyper 0.4. Five canonical OpenZeppelin contracts shown before & after — ERC-20, ERC-721, ERC-4626, two-step ownership, and roles + pausable — inside a pre-wired Moccasin project that clones, compiles, and tests green out of the box. Not a tutorial dump: a working reference repo plus a pattern catalog that maps every Solidity idiom to its idiomatic Vyper 0.4 + Snekmate equivalent.

Vyper 0.4 Solidity Snekmate Moccasin OpenZeppelin ERC-20 / 721 / 4626
5 Before/After Pairs
6 Tests Green
5 Reference Docs
0.4 Vyper

What's Inside

A clone-and-run Moccasin project, not a slide deck. Each Solidity contract sits beside its Vyper 0.4 rewrite so the diff is the lesson — and the whole repo compiles and tests green before you touch a line.

Migration Discipline

The traps in a Solidity→Vyper port aren't syntax — they're the semantic gaps. The blueprint calls each one out with the Vyper 0.4 pattern that closes it.

Tested & Documented

Who It's For