diff --git a/README.md b/README.md index d682b06..89667e7 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,16 @@ -# Frax Template - -## Optional Setup -Add: -``` -function profile() { - FOUNDRY_PROFILE=$1 "${@:2}"} -``` -To easily execute specific foundry profiles like `profile test forge test -w` +# Fraxtal LayerZero <> Curve AMO +## Introduction +Frax AMO to manage LayerZero-bridged Frax assets to Fraxtal. When bridging via LayerZero, the token received on Fraxtal is not the same as the chain-native token (ie. LZ-branded sFRAX != Fraxtal-native sFRAX). This AMO manages a Curve pool of LZ-asset <> Native-asset to automatically swap the LZ asset into native asset upon bridging. Therefore, a bridger is able to atomically receive Fraxtal-native sFRAX while using the LayerZero bridge, maintaining the low gas fees and high speed offered by LayerZero. + +## TODO (non-exhaustive) +- [ ] Deploy Curve pools +- [ ] Execute immediate curve swap upon bridge +- [ ] Determine action if amount received upon swap < amount desired +- [ ] AMO + - [ ] Determine threshold to trigger rebalance + - [ ] Manage liquidity when LZ sFRAX > native sFRAX + - [ ] Manage liquidity when LZ sFRAX < native sFRAX +- [ ] FE ## Installation `pnpm i` @@ -30,11 +34,3 @@ To easily execute specific foundry profiles like `profile test forge test -w` --etherscan-api-key {$ETHERSCAN_API_KEY || FRAXSCAN_API_KEY || POLYGONSCAN_API_KEY} \ --broadcast --verify --watch ``` - -## Tooling -This repo uses the following tools: -- frax-standard-solidity for testing and scripting helpers -- forge fmt & prettier for code formatting -- lint-staged & husky for pre-commit formatting checks -- solhint for code quality and style hints -- foundry for compiling, testing, and deploying