badger-multisig
badger-multisig copied to clipboard
Badger DAO's EVM multisig operations.
Badger Multisig
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/.
Installation
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
.
OpenSSL Deprecation (macOS)
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.
Arm Chipset Architecture (M1/M2)
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.
module 'rlp' has no attribute 'Serializable'
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.
Uninstall
Delete the virtual environment as such:
rm -rf `poetry env info -p`
Multisig Addresses
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) |
Techops Signers
The following is a list of all signers on techops.badgerdao.eth
:
Signer | Profiles | Address |
---|---|---|
petrovska | GitHub | 0x0a9af7FAba0d5DF7A8C881e1B9cd679ee07Af8A2 |
dapp-whisperer | GitHub | 0x8938bf50d1a3736bdA413510688834540858dAEA |
ICEITH | GitHub | 0x5F0D1a3355a75C47324c857280043DdE27797bC0 |
lipp | 0xaC7B5f4E631b7b5638B9b41d07f1eBED30753f16 |
|
mrbasado | GitHub | 0xE78e3E1668D42FfCa767e22e57d7d249e02B5F0e |
saj | GitHub | 0xfA5bb45895Cb3C0aE5B1583Fe068f009A48F0187 |
Treasury Signers
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 |