This repo is where all EVM multisig operations take place for the Badger DAO.
It relies heavily on ganache-cli
, eth-brownie
, gnosis-py
and a custom developed evolution of ape-safe
; great-ape-safe
.
A good overview of all its tickets and their status can be found here: https://github.com/orgs/Badger-Finance/projects/25.
Read more about the Badger DAO and its community at https://badger.com/.
The recommended installation tool for this repository is poetry
:
poetry install
git submodule update --init --recursive --progress
In case of missing python versions, and depending on your setup, you might want to have a look at pyenv
.
Enter poetry
's virtual environment through poetry shell
. You should now be able to run brownie
from within this virtual environment. Type exit
or ctrl-D to leave the environment.
Alternatively, you could use the requirements.txt
(or requirements-dev.txt
if you want to include testing packages) via pip
: pip install -r requirements.txt
.
The installation process might run into some OpenSSL issues (fatal error: openssl/aes.h: No such file or directory
). Please see the note on OpenSSL in the Vyper docs or this related issue in order to fix it.
MacBooks with arm chipsets have some additional challenges [source].
In our case, since eth-brownie
locks on this borked regex==2021.10.8
[source], we have to override regex
after poetry
's lock. Go into the virtual environment created by poetry
and install the next version of regex
:
poetry shell
pip install regex==2021.10.21
You can ignore the following warning:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
eth-brownie 1.17.0 requires regex==2021.10.8, but you have regex 2021.10.21 which is incompatible.
Another corner case you may encountered while trying to run brownie console
or scripts is AttributeError: module 'rlp' has no attribute 'Serializable'
. Solution can be found here.
poetry shell
pip uninstall rlp --yes && pip install rlp==3.0.0
Warning can be ignored regarding pip's dependency resolver conflicts.
Delete the virtual environment as such:
rm -rf `poetry env info -p`
Label | Description | Address (Links) |
---|---|---|
dev.badgerdao.eth |
Governance/admin rights; set parameters on vaults and strategies, queue/execute timelock txs, etc. | Mainnet: 0xB65cef03b9B89f99517643226d76e286ee999e77 (Etherscan, Gnosis Safe, Zapper, DeBank) |
Arbitrum: 0xb364bAb258ad35dd83c7dd4E8AC78676b7aa1e9F (Arbiscan, Gnosis Safe, Zapper, DeBank) |
||
Binance Smart Chain: 0x329543f0F4BB134A3f7a826DC32532398B38a3fA (BscScan, Gnosis Safe, Zapper, DeBank) |
||
Polygon: 0x4977110Ed3CD5eC5598e88c8965951a47dd4e738 (PolygonScan, Gnosis Safe, Zapper, DeBank) |
||
Fantom: 0x4c56ee3295042f8A5dfC83e770a21c707CB46f5b (FTMScan, Fantom Safe, Zapper, DeBank) |
||
Optimism: 0x0D5eDB3ECbB15EF4EaD105c018fEd4e1d173B335 (Optimistic Etherscan, Gnosis Safe, Zapper, DeBank) |
||
techops.badgerdao.eth |
Controller for the DAO. Call internal system functions; set emission schedules. | Mainnet: 0x86cbD0ce0c087b482782c181dA8d191De18C8275 (Etherscan, Gnosis Safe, Zapper, DeBank) |
Arbitrum: 0x292549E6bd5a41aE4521Bb8679aDA59631B9eD4C (Arbiscan, Gnosis Safe, Zapper, DeBank) |
||
Binance Smart Chain: 0x777061674751834993bfBa2269A1F4de5B4a6E7c (BscScan, Zapper, DeBank) |
||
Polygon: 0xeb7341c89ba46CC7945f75Bd5dD7a04f8FA16327 (PolygonScan, Gnosis Safe, Zapper, DeBank) |
||
Fantom: 0x781E82D5D49042baB750efac91858cB65C6b0582 (FTMScan, Fantom Safe, Zapper, DeBank) |
||
Optimism: 0x8D05c5DA2a3Cb4BeB4C5EB500EE9e3Aa71670733 (Optimistic Etherscan, Gnosis Safe, Zapper, DeBank) |
||
treasuryvault.badgerdao.eth |
Treasury long-term holdings; bitcoin, ether (gas), treasury controlled liquidity (TCL), farming positions, uncirculating $BADGER. | Mainnet: 0xD0A7A8B98957b9CD3cFB9c0425AbE44551158e9e (Etherscan, Gnosis Safe, Zapper, DeBank) |
Fantom: 0x45b798384c236ef0d78311D98AcAEc222f8c6F54 (FTMScan, Fantom Safe, Zapper, DeBank) |
||
treasuryops.badgerdao.eth |
Treasury short-term holdings; beneficiary of DAO's fees and treasury's yield. Processes these incoming tokens into long-term holdings for the treasury vault. | Mainnet: 0x042B32Ac6b453485e357938bdC38e0340d4b9276 (Etherscan, Gnosis Safe, Zapper, DeBank) |
Fantom: 0xf109c50684EFa12d4dfBF501eD4858F25A4300B3 (FTMScan, Fantom Safe, Zapper, DeBank) |
||
treasuryvoter.badgerdao.eth |
Holder of all voting locked tokens and other influence assets. Used for gauge voting and potential involvement in the governance of other protocols if required. | Mainnet: 0xA9ed98B5Fb8428d68664f3C5027c62A10d45826b (Etherscan, Gnosis Safe, Zapper, DeBank) |
payments.badgerdao.eth |
Financial txs such as payments to contractors, contributors, expenses, bounties, advisors, etc. | Mainnet: 0x30a9c1D258F6c2D23005e6450E72bDD42C541105 (Etherscan, Gnosis Safe, Zapper, DeBank) |
ibbtc.badgerdao.eth |
Holds assets acquired from ibBTC's yield which will be used to incentivize eBTC as per BIP 100. | Mainnet: 0xB76782B51BFf9C27bA69C77027e20Abd92Bcf3a8 (Etherscan, Gnosis Safe, Zapper, DeBank) |
The following is a list of all signers on techops.badgerdao.eth
:
Signer | Profiles | Address |
---|---|---|
Martyn | 0x30d9168a7D9f8fa7b6c3011534446645b3c1b54a |
|
Jwei | GitHub | 0xDA82F543613f90deA718c46D02Ca15e05e88e4aC |
ICEITH | GitHub | 0x5F0D1a3355a75C47324c857280043DdE27797bC0 |
Abdullah | GitHub | 0xE2C5B2008d9cc8F8E1FDa8552f7df63Af1f747f8 |
Saj | GitHub | 0xfA5bb45895Cb3C0aE5B1583Fe068f009A48F0187 |
The following is a list of all Treasury Council members and therefore the signers on treasuryvault.badgerdao.eth
, treasuryops.badgerdao.eth
and treasuryvoter.badgerdao.eth
:
Signer | Profiles | Address |
---|---|---|
petrovska | GitHub | 0x0a9af7FAba0d5DF7A8C881e1B9cd679ee07Af8A2 |
adcv | 0x2afc096981c2CFe3501bE4054160048718F6C0C8 |
|
1500$Badger | 0x66496eBB9d848C6A8F19612a6Dd10E09954532D0 |
|
gosuto | GitHub | 0x6C6238309f4f36DFF9942e655A678bbd4EA3BC5d |
Po | Forum | 0x9c8C8bcD625Ed2903823b0b60DeaB2D70B92aFd9 |
juanbug | 0xB8Dcad009E533066F12e408075E10E3a30F1f15A |
|
dapp-whisperer | GitHub | 0xaF94D299a73c4545ff702E79D16d9fb1AB5BDAbF |
saj | GitHub | 0xD10617AE4Da733d79eF0371aa44cd7fa74C41f6B |
Freddy the Filosopher | Forum | 0xaFD01c6161729aa857404763c9577498327c6Aee |