Skip to content

equilibria-xyz/emptyset-batcher

Repository files navigation

Empty Set Batcher Contracts

Contracts to manage batch wrapping and unwrapping USDC into DSU using the Empty Set protocol on L1 and L2.

Usage

Pre Requisites

This repo works best with Node.js v16.x.x, this is preconfigured for users of asdf.

Before running any command, make sure to install dependencies:

$ yarn

Compile

Compile the smart contracts with Hardhat:

$ yarn compile

This also generates the Typechain types

Test

Run the Mocha tests:

$ yarn test

To run tests against a Mainnet fork, set your MAINNET_NODE_URL in .env and run

$ yarn test:integration

Gas Report

To get a gas report based on unit test calls:

$ yarn gasReport

Deploy contract to netowrk (requires Mnemonic and infura API key)

npx hardhat run --network rinkeby ./scripts/deploy.ts

Validate a contract with etherscan (requires API key)

npx hardhat verify --network <network> <DEPLOYED_CONTRACT_ADDRESS> "Constructor argument 1"

Added plugins