diff --git a/checklists/faucet-20211223-1915.md b/operations/faucet-20211223-1915.md similarity index 100% rename from checklists/faucet-20211223-1915.md rename to operations/faucet-20211223-1915.md diff --git a/operations/templates/terminus-update.md b/operations/templates/terminus-update.md new file mode 100644 index 0000000..8f2d384 --- /dev/null +++ b/operations/templates/terminus-update.md @@ -0,0 +1,105 @@ +# Update the Terminus contract + +The Terminus contract is deployed as an EIP2535 Diamond proxy contract with a Terminus facet attached to it. + +This checklist describes how to update the `TerminusFacet` on the Terminus diamond contract. + +## Deployed addresses + +You will modify this section as you go through the checklist + +### Diamond addresses + +```json +``` + +### `TerminusInitializer` address + +``` +export TERMINUS_INITIALIZER_ADDRESS="" +``` + + +### `TerminusFacet` address + +``` +export TERMINUS_FACET_ADDRESS="" +``` + +## Environment variables + +- [ ] `export DAO_NETWORK=` +- [ ] `export DAO_OWNER=` +- [ ] `export DAO_OWNER_ADDRESS=$(jq -r .address $DAO_OWNER)` +- [ ] `export GAS_PRICE=" gwei"` +- [ ] `export CONFIRMATIONS=` +- [ ] `export TERMINUS_DIAMOND=
` + +## Detach existing `TerminusFacet` + +- [ ] Remove `TerminusFacet` from diamond. (This may require checkout of earlier commit and `brownie compile`.) + +```bash +dao core facet-cut \ + --address $TERMINUS_DIAMOND \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS \ + --facet-name TerminusFacet \ + --facet-address $TERMINUS_FACET_ADDRESS \ + --action add \ + --initializer-address $TERMINUS_INITIALIZER_ADDRESS +``` + +## Deploy `TerminusInitializer` + +- [ ] Check out relevant commit and `brownie compile`. + +- [ ] Deploy `TerminusInitializer` contract + +```bash +dao moonstream-initializer deploy \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS +``` + +- [ ] Export address of deployed contract as `export TERMINUS_INITIALIZER_ADDRESS=
` + +- [ ] Store address of deployed contract under `Deployed addresses / TerminusInitializer address` above + + +## Deploy `TerminusFacet` + +- [ ] Check out relevant commit and `brownie compile`. + +- [ ] Deploy `TerminusFacet` contract + +```bash +dao terminus deploy \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS +``` + +- [ ] Export address of deployed contract as `export TERMINUS_FACET_ADDRESS=
` + +- [ ] Store address of deployed contract under `Deployed addresses / TerminusFacet address` above + +- [ ] Attach `TerminusFacet` to diamond: + +```bash +dao core facet-cut \ + --address $TERMINUS_DIAMOND \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS \ + --facet-name TerminusFacet \ + --facet-address $TERMINUS_FACET_ADDRESS \ + --action add \ + --initializer-address $TERMINUS_INITIALIZER_ADDRESS +``` diff --git a/operations/terminus-update-mumbai-20211224-1652.md b/operations/terminus-update-mumbai-20211224-1652.md new file mode 100644 index 0000000..c9ae3db --- /dev/null +++ b/operations/terminus-update-mumbai-20211224-1652.md @@ -0,0 +1,76 @@ +# Update the Terminus contract + +The Terminus contract is deployed as an EIP2535 Diamond proxy contract with a Terminus facet attached to it. + +This checklist describes how to update the `TerminusFacet` on the Terminus diamond contract. + +## Deployed addresses + +You will modify this section as you go through the checklist + + +### `TerminusFacet` address + +``` +export TERMINUS_FACET_ADDRESS="" +``` + +## Environment variables + +- [x] `export DAO_NETWORK=polygon-test` +- [x] `export DAO_OWNER=.secrets/dao-dev.json` +- [x] `export DAO_OWNER_ADDRESS=$(jq -r .address $DAO_OWNER)` +- [x] `export GAS_PRICE="35 gwei"` +- [x] `export CONFIRMATIONS=2` +- [x] `export TERMINUS_DIAMOND=0x040Cf7Ee9752936d8d280062a447eB53808EBc08` + +## Detach existing `TerminusFacet` + +- [ ] Remove `TerminusFacet` from diamond. (This may require checkout of earlier commit and `brownie compile`.) + +```bash +dao core facet-cut \ + --address $TERMINUS_DIAMOND \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS \ + --facet-name TerminusFacet \ + --facet-address $TERMINUS_FACET_ADDRESS \ + --action add \ + --initializer-address $TERMINUS_INITIALIZER_ADDRESS +``` + + +## Deploy `TerminusFacet` + +- [ ] Check out relevant commit and `brownie compile`. + +- [ ] Deploy `TerminusFacet` contract + +```bash +dao terminus deploy \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS +``` + +- [ ] Export address of deployed contract as `export TERMINUS_FACET_ADDRESS=
` + +- [ ] Store address of deployed contract under `Deployed addresses / TerminusFacet address` above + +- [ ] Attach `TerminusFacet` to diamond: + +```bash +dao core facet-cut \ + --address $TERMINUS_DIAMOND \ + --network $DAO_NETWORK \ + --sender $DAO_OWNER \ + --gas-price "$GAS_PRICE" \ + --confirmations $CONFIRMATIONS \ + --facet-name TerminusFacet \ + --facet-address $TERMINUS_FACET_ADDRESS \ + --action add \ + --initializer-address $TERMINUS_INITIALIZER_ADDRESS +```