Back to Selected Work

PROJECTS

UZH Swap

DeFi · University Project

Overview

UZH Swap is a rather old project that I built together with Jonas Brunner and Bulin Shaqiri for the Blockchain Programming seminar at the University of Zurich in the fall semester of 2021. The project combines a fork of the Uniswap interface with a companion contract repository that deploys the required Uniswap V3 infrastructure, faucet, and custom test tokens for the UZH Ethereum chain.

Interface

The front end is based on the official Uniswap interface and adapted for the UZH Swap deployment. It uses React and TypeScript, wallet connectors, generated contract bindings, token lists, and the Uniswap SDKs to provide the familiar swap and liquidity-management flows in a seminar-specific environment. The interface was deployed on Netlify for easy access during the project.

UZH Swap screenshot 1
The swap interface connected to the seminar-specific UZH Ethereum environment.
UZH Swap screenshot 3
Liquidity-pool management built on the adapted Uniswap interface.

Contracts and deployment

The contract repository uses Hardhat, Solidity, TypeScript, Ethers, TypeChain, and the Uniswap V3 deployment tooling. Deployment scripts cover the core exchange contracts such as WETH9, factory, router, position manager, multicall, and quoter, and can target either Ganache or the UZH Ethereum chain.

In addition to the Uniswap infrastructure, the project includes a faucet contract and a set of custom ERC-20 tokens. The faucet setup lets users claim seminar tokens in the front end and try swapping or liquidity flows without relying on external assets.

UZH Swap screenshot 2
The faucet lets participants claim test tokens before trying swaps and liquidity flows.

Repositories