kopia lustrzana https://github.com/bugout-dev/dao
2.0 KiB
2.0 KiB
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.
Purpose of update
Fix safeBatchTransferFrom
to respect non-transferable pools.
Deployed addresses
You will modify this section as you go through the checklist
TerminusFacet
address
export TERMINUS_FACET_ADDRESS=0xc9414ea1B5d9029dAbBeAD51bc8B128D7EBaa161
Environment variables
export DAO_NETWORK=polygon-test
export DAO_OWNER=<redacted>
export DAO_OWNER_ADDRESS=$(jq -r .address $DAO_OWNER)
export GAS_PRICE="5 gwei"
export CONFIRMATIONS=2
export TERMINUS_DIAMOND=0x040Cf7Ee9752936d8d280062a447eB53808EBc08
Deploy TerminusFacet
- Deploy
TerminusFacet
contract
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=0xc9414ea1B5d9029dAbBeAD51bc8B128D7EBaa161
-
Store address of deployed contract under
Deployed addresses / TerminusFacet address
above -
Replace existing methods on
TerminusFacet
:
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 replace \
--ignore-methods setController
- Add
setController
method:
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 \
--methods setController