Instadapp Fluid is a combination of DeFi protocols with a Liquidity layer at the core. New protocols will be added to the architecture over time with liquidity automatically being available to those newer protocols.
See docs.md for technical docs.
Create a .env
file and set the MAINNET_RPC_URL
and other params like in .env.example
.
Install Foundry.
Install dependencies
forge install foundry-rs/forge-std --no-git
forge install a16z/erc4626-tests --no-git
forge install transmissions11/solmate@b5c9aed --no-git
forge install OpenZeppelin/openzeppelin-contracts@v4.8.2 --no-git
forge install OpenZeppelin/openzeppelin-contracts-upgradeable@v4.8.2 --no-git
Install npm dependencies:
npm i
forge build
forge test
or for full logs
forge test -vvvv
or in a certain folder
forge test -vvv --mp "test/foundry/liquidity/**/**.sol"
Creates current gas usage for tests
forge snapshot
Create gas report and store it in file:
forge test --gas-report
Or to store in file:
forge snapshot > .gas-snapshot
forge test --gas-report > .gas-report
(or make gas-report
if you have make installed)
With hardhat:
npx hardhat size-contracts
With foundry:
forge build --sizes
With foundry:
forge doc
See https://book.getfoundry.sh/reference/forge/forge-doc
See dev internal docs in ./docs/internal-dev/