Moonstream DAO uses the EIP2535 Diamond proxy to manage each of its smart contracts.
This checklist describes how to deploy the proxy contract.
export DAO_NETWORK=<desired brownie network>export DAO_OWNER=<path to keystore file for owner account>export DAO_OWNER_ADDRESS=$(jq -r .address $DAO_OWNER)export GAS_PRICE="<N> gwei"export CONFIRMATIONS=<M>export OUTPUT_FILE=<path to JSON file in which to store diamond addresses>
- Deploy diamond with all core facets
dao core gogogo \
--network $DAO_NETWORK \
--sender $DAO_OWNER \
--gas-price "$GAS_PRICE" \
--confirmations $CONFIRMATIONS \
--owner $DAO_OWNER_ADDRESS \
--outfile $OUTPUT_FILE