https://github.com/angleprotocol/angle-tokens
https://github.com/angleprotocol/angle-tokens
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/angleprotocol/angle-tokens
- Owner: AngleProtocol
- License: gpl-3.0
- Created: 2024-04-11T23:48:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-30T11:22:32.000Z (9 months ago)
- Last Synced: 2025-02-06T18:46:34.894Z (4 months ago)
- Language: Solidity
- Size: 2.61 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
#
Angle Tokens
[](https://github.com/AngleProtocol/boilerplate/actions)
This repository contains all the contracts of the Angle Tokens with associated contracts (CoreBorrow, FlashAngle ...)
## Starting
### Install packages
You can install all dependencies by running
```bash
yarn
forge i
```### Create `.env` file
In order to interact with non local networks, you must create an `.env` that has:
- `PRIVATE_KEY`
- `MNEMONIC`
- network key (eg. `ALCHEMY_NETWORK_KEY`)
- `ETHERSCAN_API_KEY`For additional keys, you can check the `.env.example` file.
Warning: always keep your confidential information safe.
## Headers
To automatically create headers, follow:
## Hardhat Command line completion
Follow these instructions to have hardhat command line arguments completion:
## Foundry Installation
```bash
curl -L https://foundry.paradigm.xyz | bashsource /root/.zshrc
# or, if you're under bash: source /root/.bashrcfoundryup
```To install the standard library:
```bash
forge install foundry-rs/forge-std
```To update libraries:
```bash
forge update
```### Foundry on Docker 🐳
**If you don’t want to install Rust and Foundry on your computer, you can use Docker**
Image is available here [ghcr.io/foundry-rs/foundry](http://ghcr.io/foundry-rs/foundry).```bash
docker pull ghcr.io/foundry-rs/foundry
docker tag ghcr.io/foundry-rs/foundry:latest foundry:latest
```To run the container:
```bash
docker run -it --rm -v $(pwd):/app -w /app foundry sh
```Then you are inside the container and can run Foundry’s commands.
### Tests
You can run tests as follows:
```bash
forge test -vvvv --watch
forge test -vvvv --match-path contracts/forge-tests/KeeperMulticall.t.sol
forge test -vvvv --match-test "testAbc*"
forge test -vvvv --fork-url https://eth-mainnet.alchemyapi.io/v2/Lc7oIGYeL_QvInzI0Wiu_pOZZDEKBrdf
```You can also list tests:
```bash
forge test --list
forge test --list --json --match-test "testXXX*"
```### Deploying
There is an example script in the `scripts/foundry` folder. Then you can run:
```bash
yarn foundry:deploy --rpc-url
```Example:
```bash
yarn foundry:deploy scripts/foundry/DeployMockAgEUR.s.sol --rpc-url goerli
```### Coverage
We recommend the use of this [vscode extension](ryanluker.vscode-coverage-gutters).
```bash
yarn hardhat:coverage
yarn foundry:coverage
```### Simulate
You can simulate your transaction live or in fork mode. For both option you need to
complete the `scripts/foundry/Simulate.s.sol` with your values: address sending the tx,
address caled and the data to give to this address call.For live simulation
```bash
yarn foundry:simulate
```For fork simulation
```bash
yarn foundry:fork
yarn foundry:simulate:fork
```For fork simulation at a given block
```bash
yarn foundry:fork:block ${XXXX}
yarn foundry:simulate:fork
```### Gas report
```bash
yarn foundry:gas
```## Slither
```bash
pip3 install slither-analyzer
pip3 install solc-select
solc-select install 0.8.11
solc-select use 0.8.11
slither .
```## Media
Don't hesitate to reach out on [Twitter](https://twitter.com/AngleProtocol) 🐦