sedbangi / aura-contracts

Aura Finance contracts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Aura Finance

Test Coverage

Security

Smart contract security is a top priority for Aura, see Security documentation . Aura has partnered up with @chainalysis to adopt an Incident Response Plan for the protocol to add an extra layer of security, Aura will be able to deter hackers and have an asset recovery plan in potential events.

If you have any feedback or concerns, reach out to security@aura.finance

Dev

Pre Requisites

Submodule

$ git submodule init
$ git submodule update

Install

$ yarn install

Compile

Compile the smart contracts with Hardhat:

$ yarn compile

TypeChain

Compile the smart contracts and generate TypeChain artifacts:

$ yarn typechain

Lint Solidity

Lint the Solidity code:

$ yarn lint:sol

Lint TypeScript

Lint the TypeScript code:

$ yarn lint:ts

Test

Run the Mocha tests:

$ yarn test

Run fork tests

$ yarn test:fork:all

Tasks

Running in fork mode

$ NODE_URL=<FORK_URL> yarn task:fork <TASK_NAME>

Running task normally

$ NODE_URL=<NODE_URL> yarn task --network <NETWORK> <TASK_NAME>

Coverage

Generate the code coverage report:

$ yarn coverage

Clean

Delete the smart contract artifacts, the coverage reports and the Hardhat cache:

$ yarn clean

Local Fork

This runs a local node on your system, that can be used with Metamask, etc.

Run a local fork:

npx hardhat node --fork https://eth-mainnet.alchemyapi.io/v2/<API_KEY> --port <PORT>

Once you stake or lock CVX you may want to progress timestamps to check rewards stuff

export NODE_URL=<LOCAL_NODE_URL>
yarn task timeTravel --duration 69420 --network forking

Diagrams

Booster Reward Flow

Cvx Reward Flow

Deployments

Notes

Warnings

  • auraBAL and vlAURA reward contracts are not on the 4626 standard

  • StashToken contracts are not ERC20 compliant. convex-platform/contracts/contracts/StashToken.sol it is designed to interact only with VirtualBalanceRewardPool and ExtraRewardStashV3. Any extraRewards is distributed by a VirtualBalanceRewardPool, which is linked to a StashToken, the StashToken wraps the extraReward as a baseToken.

About

Aura Finance contracts


Languages

Language:TypeScript 79.6%Language:Solidity 20.3%Language:JavaScript 0.1%Language:Shell 0.0%