As a core engineer at Parity Technologies, I’ve spent years working on the Polkadot SDK, its pallet-contracts module, the ink! smart contracts language, and the surrounding tooling.
As the largest user-facing module in FRAME, pallet-contracts leans on many components across Substrate and beyond.
My contributions touched that stack broadly:
- from frame_support utilities for crypto primitives, to re-writing the core macro that defines the sandboxed execution environment;
- from adding new wasm instrumentation facilities, to porting the pallet to 2D weights — uncovering severe benchmarking-cli bugs along the way;
- from introducing new primitives for storage, to extending the pallet’s public interface to meet the needs of parachains running in production.
For these contributions to Polkadot core tech, I was granted the rank of II (Proficient) in the Polkadot Technical Fellowship.
New features in the pallet typically required end-to-end work across the whole smart contracts stack — FRAME -> pallet_contracts -> ink! -> polkadotjs | cargo-contract — and I was glad to carry them through every layer.
Pull Requests
You can find my commits to polkadot-sdk here, and to ink! here.
A few pull requests I’d like to highlight:
- Add frame_support::crypto::ecdsa::Public.to_eth_address() (k256-based) and use it in pallets,
- Implement transparent hashing for contract storage,
- define_env! re-write as a proc macro,
- [wasm-instrument] Add new gas metering method: mutable global + local gas function #34,
- Add per local weight for function call #12806,
- make debug_message execution outcome invariant to node debug logging setting #13197,
- Forbid calling back to contracts after switching to runtime #13443,
- Port host functions to Weight V2 and storage deposit limit #13565,
- contracts: switch to wasmi gas metering #14084 —
see this blogpost for the full context behind this change; - contracts: switch from parity-wasm-based to wasmi-based module validation #14449.
I also fixed a number of vulnerabilities uncovered in the pallet during a thorough security audit. (Those cannot be listed explicitly here for security reasons.)
Network Involvement
Aside from coding contributions, I’ve been running a couple of validators for years — no slashes, no chill. After that, I’ve had fun launching Yerba, an experimental smart-contracts parachain for YOLO-testing cutting-edge pallet-contracts & ink! features.
Blog
From time to time I publish articles on Polkadot-related tech on my blog.