Portfolio
zkFold
Full-time Haskell and TypeScript developer at zkFold, a startup whose mission is to provide scaling and interoperability solutions for Web3 apps, using as its core technology state-of-the-art zero-knowledge proof (ZKP) algorithms. Some highlights of my contributions:
-
Had a leading role in the creation of zkFold's Cardano Integration Library (zkfold-cardano). This included, among other things:
- Developing/updating the smart contracts at the core of the Integration Library (zkfold-cardano-scripts).
- Developing the CLI commands that enable usage of most of the functionality provided by the Integration Library (zkfold-cli).
-
Developed P2P Fiat-to-Crypto On-Ramp for Cardano, a prototype Web3 app that connects cryptocurrency sellers and buyers.
Overview: A seller deposits funds into the smart contract and ask for a fiat payment. Once the payment is delivered, the buyer can generate a cryptographic proof and unlock the funds from the smart contract.
I developed the full stack for this Web3 app (frontend: ReactJS + Node/Vite), which is available at https://p2p.zkfold.io. Its ussage is illustrated in this video. - Implemented a rollup prototype (see PR), which became a precursor of zkFold's layer 2 solution.
- Contributed to zkFold's Smart Wallet project. Smart Wallet allows anyone with a Gmail account to create a Crypto Wallet, eliminating the need of a seed phrase. This project provides a neat use case of zero-knowledge proofs: a cryptographic proof of ownership of Google credentials that allows the user to automatically generate and posses a Crypto Wallet. One of my contributions to the project was the development (PostgreSQL) of the Smart Wallet dashboard (private repository) that allows zkFold to internally monitor the status and usage of Smart Wallet.
Genius Yield
As a full-time Haskell developer at Genius Yield (GY), I was instrumental in enhancing the core code of GY's DEX, its Atlas framework, the Market Maker Bot, among other contributions. The following are highlights of my contributions to GY's public repositories. (Not shown are my contributions to GY's DEX core code, as it is private.)
- 144 add a way to add transaction metadata #285: implemented capability of Atlas framework to embed metadata into transactions, in particular allowing to add transaction messages/comments following CIP-20 specification.
- Option to log Maestro request-times. #298: added optional switch to Atlas framework to enable timing of requests sent to provider, logging corresponding durations.
- Added capability of retrieving price info from Taptools #73: Market Maker Bot needs a prices provider in order to execute its trading strategy, but relying on a single one proved to be risky. This PR enabled the capability of having multiple prices providers, with the price of an asset being calculated as an average. This PR also implemented a state machine that controls temporarily exiting the market in case an eventual discrepancy among prices providers pierces certain threshold parameter, returning to normal operation if prices return to agreement within reasonable bounds. Testing module with a mock prices provider was also implemented.
- feat: define OpenApi 3.0 orphan instance using earlier 2.0 ones #308: this PR migrates the existing OpenApi 2.0 (Swagger) instances to OpenApi 3.0, ensuring compatibility with the latest OpenApi standards and leveraging the new features available in version 3.0.
Modulo-P
Modulo-P has as mission the development of Zero-Knowledge solutions for the Cardano ecosystem. Accomplishments with the Modulo-P team:
- Won second place at the Zero Knowledge track of the Cardano Emurgo Build 2023 Hackathon.
-
Developed
a Zero-Knowledge-Proof framework for Cardano based on Hydra and
ZK-SNARKs. Funded by Project Catalyst Fund 10.
Our close out report
was approved on June 2024. Some highlights:
- Research report discussing the mathematics, technical resources and outline of the project. (Main breakthrough from the point of view of our own understanding is section four, where we prove two theorems related to the tower of field extensions.)
- Repository groth-pairing: Haskell implementation of a Weils Pairing compatible with elliptic curves BN128 and BLS12-381, and amenable for verification of ZK proofs produced by snarkjs.
- Repository ak-381: Aiken library implementing utilities to verify Zero-Knowledge proofs following the Groth16 protocol.
Reitcircles
Reitcircles aims to bring tokenization of real estate assets leveraging on the resources provided by the Cardano blockchain. I have assisted in the development of the project's roadmap.
Some highlights of my accomplishments as a developer at Reitcircles:
- Designed and implemented a deflationary minting policy for the REIT's token.
- Designed and implemented an updatable multisig treasury.
Ayllu Academy
Ayllu Academy is an iniciative whose purpose is to boost education in Latinamerica with blockchain technology. It was funded by Project Catalyst (Fund 7).
I developed the smart contracts for the following modules of Ayllu Academy's platform:
Emurgo
Cardano Developer Professional Program
As my final project to get the certification as Cardano Developer Professional I developed a smart contract for:
Cardano Developer Associate Program
As my final project to get the certification as Cardano Developer Associate I developed a game in Haskell:
Haskell Notes
I elaborated these notes from the Haskell course imparted by Irfan Ali at Emurgo Academy.
- PDF file
- Gist repository with complementary files
Other Projects
Older projects can be consulted at my github repository.