.##.....##..######..########..##.....##.##......
.##.....##.##....##.##.....##..##...##..##......
.##.....##.##.......##.....##...##.##...##......
.##.....##..######..##.....##....###....##......
.##.....##.......##.##.....##...##.##...##......
.##.....##.##....##.##.....##..##...##..##......
..#######...######..########..##.....##.########
This repository contains the source code, tests and deployments for both USDXL itself and the first facilitator integrating HypurrFi. The repository uses the Foundry development framework.
USDXL is a decentralized, protocol-agnostic crypto-asset intended to maintain a stable value. USDXL is minted and burned by approved entities named Facilitators.
The first facilitator is the HypurrFi V3 Ethereum Pool, which allows users to mint USDXL against their collateral assets, based on the interest rate set by the HypurrFi Governance. In addition, there is a FlashMint module as a second facilitator, which facilitates arbitrage and liquidations, providing instant liquidity.
Furthermore, the HypurrFi Governance has the ability to approve entities as Facilitators and manage the total amount of USDXL they can generate (also known as bucket's capacity).
See the link to the technical paper
You can find all audit reports under the audits folder
- 2022-08-12 - OpenZeppelin
- 2022-11-10 - OpenZeppelin
- 2023-03-01 - ABDK
- 2023-02-28 - Certora Formal Verification
- 2023-07-06 - Sigma Prime
- 2023-06-13 - Sigma Prime (GhoSteward)
- 2023-09-20 - Emanuele Ricci @Stermi (GHO Stability Module)
- 2023-10-23 - Sigma Prime (GHO Stability Module)
- 2023-12-07 - Certora Formal Verification (GHO Stability Module)
- 2024-03-14 - Certora Formal Verification (GhoStewardV2)
- 2024-06-11 - Certora Formal Verification (UpgradeableGHO)
- 2024-06-11 - Certora Formal Verification (Modular Gho Stewards)
Clone the repository and run the following command to install dependencies:
forge icp .env.example .env
# Fill PRIVATE_KEY and PUBLIC_KEY in the .env file with your editor
code .envCompile contracts:
forge buildRun the test suite:
forge testDeploy and setup USDXL in a local Anvil network:
anvil
# In a new terminal:
forge script script/DeployUsdxl.sol --broadcast --fork-url http://localhost:8545Deploy and setup USDXL in Goerli testnet:
forge script script/DeployUsdxl.sol --broadcast --rpc-url $GOERLI_RPC_URLYou can join the Telegram channel to ask questions about the protocol or talk about USDXL with other peers.