Backd Protocol
This is the official repository for the Backd protocol contracts.
In addition to the code, check out the official Backd documentation.
The test suite repository is built with Pytest, which is used by Brownie.
The test suite relies on the following packages:
- eth-brownie: Testing framework for solidity and vyper code written in Python using Pytest
-
brownie-token-tester: Custom mint logic for ERC20 tokens in
mainnet-fork
mode
Getting Started
To get started using this repository, install the requirements (presumably in a virtual enviroment):
pip install -r requirements.txt
To run the full test suite, run:
brownie test
For a more detailed overview of how the Backd protocol can be tested, please read the test suite documentation.
To compile all contracts, run:
brownie compile
For a detailed overview of how to use Brownie, please check out the official docs.
Repository Structure
All Backd contracts are located within the contracts
directory.
The tests are located within the tests
directory. The different liquidity pools that exist are specified in the tests directory here.
Environment Variables
The required environments variables that need to be set for running the test suite are listed here.
Note: The ETHERSCAN_TOKEN
environment variable may need to be specified when running tests in mainnet-fork
mode, as Etherscan is used to fetch the latest contract data and the API request limit may be reached.
Deployed contracts
Mainnet
Common contracts
Contract | Address |
---|---|
AddressProvider | 0x139c15e21b0f6e43Fc397faCe5De5b7D5ae6874a |
ChainlinkOracleProvider | 0x275bB4476eBe0f1d6847bE66C8b00129fB71Ea5c |
Controller | 0xf88864B5D747961EB1CAf88d395D13aCa8274C9F |
PoolFactory | 0x0B6A5F2EBc5e1BD38a4ec6a90844F45901E5B843 |
RoleManager | 0x83174c049116271f64a661b8371658792F62e363 |
VaultReserve | 0x07d142aBCCE99DEFA936e8E8c18595E5F30A109f |
ChainlinkUsdWrapper (LDO) | 0xC8988CEd1AE9Ba3019328108F35B76634d2c2D9E |
Template contracts
This contracts are used to deploy new pools but cannot not be used directly.
Contract | Address |
---|---|
Erc20Pool | 0xedB53B9b0D1dF560A1C15A8FC05EDEBFB97A27C5 |
EthPool | 0xCd283dFD87F5A5765AdCCBC9bE053e07f8d85505 |
StakerVault | 0xBc74FbE07E89b83399Dc1dD2Fb2C61EC7b94879e |
Erc20Vault | 0x00C3253d317ccA7Bf3F038288E61f14A9e3af8B2 |
EthVault | 0x76676E63C53f81938D5dD8FaFA8540Ca860aE926 |
LpToken | 0xa6c1d33837376F600e2f096D70356914255E29e6 |
Pools
USDC Pool
Contract | Address |
---|---|
Pool | 0xdA83E512e2D675B8De524a6d21c86254dC7d47B6 |
LP Token | 0xfE5392049543e1FdCFAd9CD8a05A6D28EEf5E9b7 |
Vault | 0xDabFF9c061ac7a1A06EC0b8d0eE2721D524F0ae9 |
Staker vault | 0x156958F275C50CdB8dA95D8daEF051e9fBCec377 |
Strategy | 0x5F0a7A6992BBFcB230B6E436fAF3B405713f9f0B |
DAI Pool
Contract | Address |
---|---|
Pool | 0x2C681E62De119DdCC8bb7E78D7eB92D6C88BcAFe |
LP Token | 0x15CC2cc177CC56e795eBBD8a679984Db1EdDEb52 |
Vault | 0xab8DE9fF63632A6Ae8E99Fe0Cc13279862329C2C |
Staker vault | 0x58c73C49F1bae7964DC309196900107BC3A529cB |
Strategy | 0x280BBd37463E4D278eEc651b0F153db06F9d4A86 |
ETH Pool
Contract | Address |
---|---|
Pool | 0xdAe9AE3064340C8519b663d17e70C3D6912C79Fd |
LP Token | 0x05e27731b4b2c95E61Ff693B9F61FC36C9B7FD2f |
Vault | 0x19750C9d273C2b47756ED96B54b930aD3A7F1a0d |
Staker vault | 0x56Cb1DE99B3d93445B22b4315F4dF148EEF279F9 |
Strategy | 0xD6c08A65669Bf0b6f826521C08Dc8C215730223c |