/zap

A smart contract enabling seamless Synthetix v3 collateral conversions ("zapping") and unwinding, utilizing Aave flash loans and Uniswap v3 swaps for efficient, atomic transactions.

Primary LanguageSolidityGNU General Public License v3.0GPL-3.0

Zap

Github Actions Foundry License: GPL-3.0

Contracts

tree src/

src/
├── Zap.sol
├── ZapErrors.sol
├── ZapEvents.sol
└── interfaces
    ├── IERC20.sol
    └── ISpotMarketProxy.sol

Tests

  1. Follow the Foundry guide to working on an existing project

  2. Build project

npm run compile
  1. Execute tests (requires rpc url(s) to be set in .env)
npm run test
  1. Run specific test
forge test --fork-url $(grep BASE_RPC_URL .env | cut -d '=' -f2) --match-test TEST_NAME -vvv

Deployment Addresses

See deployments/ folder

  1. Optimism deployments found in deployments/Optimism.json
  2. Optimism Goerli deployments found in deployments/OptimismGoerli.json
  3. Base deployments found in deployments/Base.json
  4. Base Goerli deployments found in deployments/BaseGoerli.json

Audits

See audits/ folder

  1. Internal audits found in audits/internal/
  2. External audits found in audits/external/