This checklist is seen as a guide to update the existing deployment.
- Make sure that the
deploy
property inpackages/contracts/networks.json
points to the correct update - Run
yarn
in the repository root to install the dependencies - Run
yarn build
inpackages/contracts
to make sure the contracts compile - Run
yarn test
inpackages/contracts
to make sure the contract tests succeed - Set
ETH_KEY
in.env
to the deployers private key. It doesn't have to be the previous deployer - Set the right API key for the chains blockchain explorer in
.env
(e.g. for mainnet it isETHERSCAN_KEY
) - Copy the managing DAO multisig env variables from
packages/subgraph/.env-example
intopackages/subgraph/.env
To update run yarn deploy --network NETWORK
in packages/contracts
and replace NETWORK
with the correct network name (e.g. for mainnet it is yarn deploy --network mainnet
).
- Take the addresses from this file
packages/contracts/deployed_contracts.json
- Update
active_contracts.json
with the new deployed addresses - Update
packages/contracts/Releases.md
with the new deployed addresses
If the deployer is not allowed to create a new proposal in the managing DAOs' multisig the script creates a new file packages/contracts/managingDAOTX.json
- Verify the transaction to include the necessary actions
- Take this file and send it to a party that can create a proposal and let them create it
If the deployer is allowed to create a proposal
- Verify that the created proposal includes all necessary actions
- Take the addresses from this file
packages/contracts/deployed_contracts.json
- Wait for the deployment script finishing verification
- Go to the blockchain explorer and verify that each address is verified
- If it is not try to verfiy it with
npx hardhat verify --network NETWORK ADDRESS CONTRUCTOR-ARGS
. More infos on how to use this command can be found here: https://hardhat.org/hardhat-runner/docs/guides/verifying - If it is a proxy try to activate the blockchain explorer's proxy feature
- If the proxies are not verified with the
Similar Match Source Code
feature- Remove
import '@openzeppelin/hardhat-upgrades'
frompackages/contracts/hardhat.config.ts
- Verify one of the proxies
- Check if the other proxies are now verified with
Similar Match Source Code
- Remove
- If it is not try to verfiy it with
- Check if all permissions (if) given to the deployer are revoked and transfered to the managing DAO
- Check if the
dao
parameter is set to the managing DAO where it can be set - Check that the permissions are set correctly for the framework to function
Wait until the managing DAO has made the necessary changes and then:
- Publish a new version of
@aragon/osx-artifacts
(./packages/contracts
) to NPM - Publish a new version of
@aragon/osx-ethers
(./packages/contracts-ethers
) to NPM
if the new contracts aren't published:
- Publish a new version of
@aragon/osx
(./packages/contracts/src
) to NPM - Update the changelog with the new version
- Update
packages/subgraph/manifest/data/NETWORK.json
whereNETWORK
is replaced with the deployed network with the new contract addresses - Update the version in
packages/subgraph/package.json
- Update
packages/subgraph/.env
with the correct values- set
NETWORK_NAME
to the deployed network - set
SUBGRAPH_NAME
toosx
- set
GRAPH_KEY
with the value obtained from the Satsuma Dashboard - set the
SUBGRAPH_VERSION
to the same value as inpackages/subgraph/package.json
- set
- Run
yarn manifest
inpackages/subgraph
to generate the manifest - Run
yarn build
inpackages/subgraph
to build the subgraph - Run
yarn test
inpackages/subgraph
to test the subgraph - Run
yarn deploy
inpackages/subgraph
to deploy the subgraph - Test the new deployed subgraph with the frontend team
- Promote the new subgraph to live in the Satsuma Dashboard