# Starting a large codebase from its smallest files, and the OpenZeppelin multicall bug

Mentorship Series #18 · 15 January 2026 · [@0xfirefist](https://x.com/0xFireFist) · Panoptic · Code4rena

Mentorship Series · [The Contest Academy](https://0xsimao.com/the-contest-academy) · 0xSimao

---

We started the Panoptic [contest](https://code4rena.com/audits/2025-12-panoptic-next-core) on Code4rena.

**Lesson Summary:**

- OpenZeppelin's multicall had a bug when combined with meta-transactions.
- If the protocol is large, start with the small files — constants, libraries, types — so you build context before the harder parts.
- Converting `uint` to `int` can go wrong.

https://youtu.be/yoQ2laG91t8

Session video: https://youtu.be/yoQ2laG91t8

---

Newer: [Bit manipulation first: packing layouts, negative rounding, and unchecked blocks](https://0xsimao.com/the-contest-academy/mentorship-series-19) · Older: [Writing the report: be specific, give examples, and do not let an LLM write it](https://0xsimao.com/the-contest-academy/mentorship-series-17)
