From a7c9315794001565055ec13127ec23646da6099d Mon Sep 17 00:00:00 2001 From: Michael Heuer <20623991+Michael-A-Heuer@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:15:57 +0100 Subject: [PATCH] chore: deploy 1.3.0-rc0 to arbitrum and arbitrumGoerli (#499) * fix(subgraph): update to @graphprotocol/graph-cli@0.52.0 (#453) * fix: missing virtual keyword (#452) * fix: added missing virtual keywords. * fix: correct misspelled filename * docs: improved NatSpec * chore: bump package versions * Update packages/contracts/CHANGELOG.md Co-authored-by: Mathias Scherer --------- Co-authored-by: Mathias Scherer * Deploy contracts and subgraph to sepolia (#475) * feat: deploy v1.3.0-rc0 to sepolia * feat: bump subgraph version to v1.3.0-rc0 feat: deploy sepolia subgraph * fix(OS-638): fixes typo in implementation * chore: fix formatting in helpers script * fix: ipfs returned an empty string (#485) (#495) * chore: prepared arbitrum deployment * chore: deployed v1.3.0 to arbitrumGoerli * docs: improved checklist * chore: deployed v1.3.0 to arbitrum * chore: deployed v1.3.0-rc0.4 npm packages * chore: added manifests for arbitrum and arbitrumGoerli * docs: improved deployment checklist * docs: improved deployment checklist * docs: fix typo Co-authored-by: Mathias Scherer * chore: fix merge --------- Co-authored-by: Mathias Scherer --- DEPLOYMENT_CHECKLIST.md | 24 +++++--- active_contracts.json | 56 +++++++++++++++++ packages/contracts/.env.example | 28 ++++++--- packages/contracts/Releases.md | 61 +++++++++++++++++++ packages/contracts/hardhat.config.ts | 4 +- packages/contracts/networks.json | 29 +++++---- packages/contracts/package.json | 2 +- .../contracts/scripts/osx-versions-aliases.ts | 2 +- packages/contracts/src/test/Migration.sol | 20 +++--- packages/contracts/test/core/dao/dao.ts | 2 +- .../test/framework/dao/dao-registry.ts | 2 +- .../framework/plugin/plugin-repo-registry.ts | 2 +- .../test/framework/plugin/plugin-repo.ts | 2 +- .../utils/ens/ens-subdomain-registry.ts | 2 +- packages/contracts/test/interfaces.ts | 2 +- .../addresslist/addresslist-voting.ts | 2 +- .../majority-voting/token/token-voting.ts | 2 +- .../plugins/governance/multisig/multisig.ts | 2 +- packages/contracts/test/upgrade/dao.ts | 2 +- packages/subgraph/manifest/data/arbitrum.json | 23 +++++++ .../manifest/data/arbitrumGoerli.json | 23 +++++++ yarn.lock | 8 +-- 22 files changed, 244 insertions(+), 56 deletions(-) create mode 100644 packages/subgraph/manifest/data/arbitrum.json create mode 100644 packages/subgraph/manifest/data/arbitrumGoerli.json diff --git a/DEPLOYMENT_CHECKLIST.md b/DEPLOYMENT_CHECKLIST.md index e19815958..df34fde98 100644 --- a/DEPLOYMENT_CHECKLIST.md +++ b/DEPLOYMENT_CHECKLIST.md @@ -4,6 +4,8 @@ This checklist is seen as a guide to deploy the stack to a new chain. ## Pre-Deployment +- [ ] Verify that the deployers wallet has enough funds. +- [ ] Check that the subgraph hoster supports the network OSx is deployed to. - [ ] Make sure you are using Node v16 - [ ] Bump the OSx protocol version in the `ProtocolVersion.sol` file. - [ ] Check that version tags are set correctly in the plugin repo deploy scripts `packages/contracts/deploy/new/30_plugins/10_plugin-repos` to ensure synchronized version numbers across all supported networks. @@ -50,26 +52,28 @@ To deploy run `yarn deploy --network NETWORK` in `packages/contracts` and replac - [ ] If the proxies are not verified with the `Similar Match Source Code` feature - [ ] Verify one of the proxies - [ ] Check if the other proxies are now verified with `Similar Match Source Code` + - [ ] If it is a `PluginSetup`, check that the implementation is verified. ### Configurations -- [ ] Check if the managing DAO set in the `DAO_ENSSubdomainRegistrar` -- [ ] Check if the managing DAO set in the `Plugin_ENSSubdomainRegistrar` -- [ ] Check if the managing DAO set in the `DAORegistry` -- [ ] Check if the `DAO_ENSSubdomainRegistrar` set in the `DAORegistry` +- [ ] Check that all managing DAO signers are members of the managing DAO multisig and no one else. +- [ ] Check if the managing DAO is set in the `DAO_ENSSubdomainRegistrar` +- [ ] Check if the managing DAO is set in the `Plugin_ENSSubdomainRegistrar` +- [ ] Check if the managing DAO is set in the `DAORegistry` +- [ ] Check if the `DAO_ENSSubdomainRegistrar` is set in the `DAORegistry` - [ ] Check if the managing DAO set in the `PluginRepoRegistry` -- [ ] Check if the `Plugin_ENSSubdomainRegistrar` set in the `PluginRepoRegistry` +- [ ] Check if the `Plugin_ENSSubdomainRegistrar` is set in the `PluginRepoRegistry` - [ ] Check if the `PluginRepoRegistry` is set in the `PluginRepoFactory` -- [ ] Check if the `PluginRepoRegistry` set in the `PluginSetupProcessor` -- [ ] Check if the `DAORegistry` set in the `DAOFactory` -- [ ] Check if the `PluginSetupProcessor` set in the `DAOFactory` +- [ ] Check if the `PluginRepoRegistry` is set in the `PluginSetupProcessor` +- [ ] Check if the `DAORegistry` is set in the `DAOFactory` +- [ ] Check if the `PluginSetupProcessor` is set in the `DAOFactory` - [ ] Check that the versions (and eventual `PlaceholderSetup` builds) are published correctly in the `token-voting-repo`, `address-list-voting-repo`, `multisig-repo`, and `admin-repo` and are synchronized across all supported networks. ### Permissions - [ ] Check that the deployer has not the ROOT permission on the managing DAO -- [ ] Check if `DAO_ENSSubdomainRegistrar` is approved for all for the DAO' ENS domain. Call `isApprovedForAll` on the ENS registry -- [ ] Check if `Plugin_ENSSubdomainRegistrar` is approved for all for the plugin' ENS domain. Call `isApprovedForAll` on the ENS registry +- [ ] Check if `DAO_ENSSubdomainRegistrar` is approved for all for the DAO' ENS domain. Call `isApprovedForAll` on the ENS registry with the managing DAO as the owner and the `DAO_ENSSubdomainRegistrar` as the operator. +- [ ] Check if `Plugin_ENSSubdomainRegistrar` is approved for all for the plugin' ENS domain. Call `isApprovedForAll` on the ENS registry with the managing DAO as the owner and the `Plugin_ENSSubdomainRegistrar` as the operator. - [ ] Check if the `DAORegistry` has `REGISTER_ENS_SUBDOMAIN_PERMISSION` on `DAO_ENSSubdomainRegistrar` - [ ] Check if the `PluginRepoRegistry` has `REGISTER_ENS_SUBDOMAIN_PERMISSION` on `Plugin_ENSSubdomainRegistrar` - [ ] Check if the `DAOFactory` has `REGISTER_DAO_PERMISSION` on `DAORegistry` diff --git a/active_contracts.json b/active_contracts.json index e4e9802ba..4ec7241ff 100644 --- a/active_contracts.json +++ b/active_contracts.json @@ -1,4 +1,60 @@ { + "arbitrum": { + "managingDAOImplementation": "0x741061B01d3A95a7734B594f1884b6c30E0fDA96", + "managingDAO": "0xF3AaA3372EbBf01b923a4Cc98Cd847126b3D73cA", + "ENSRegistry": "0x9277acd65B5dc0F85867Dfd40f5488Be8d47AD18", + "PublicResolver": "0xc4ddBd0472C2688F5d278dAFC02E66EE176C8DE3", + "DAO_ENSSubdomainRegistrar_Implementation": "0xBe6eAC1bA0b2d20AEA9e7924EFEE8E72D6193246", + "DAO_ENSSubdomainRegistrar": "0x57bf333951967a0cC0afcD58FC7959Ca0Eae6905", + "Plugin_ENSSubdomainRegistrar_Implementation": "0x74b3B3504B5d6D1c6247009c9b1e3D8cFF7bd445", + "Plugin_ENSSubdomainRegistrar": "0x6115b7F05cCeF2D883AB64c88ba7e4BD1b877215", + "DAORegistry_Implementation": "0xf2d594F3C93C19D7B1a6F15B5489FFcE4B01f7dA", + "DAORegistry": "0xB5146Fd572C669ABC353902e43F47fda4609E38A", + "PluginRepoRegistry_Implementation": "0x95D563382BeD5AcB458759EE05b27DF2CB019Cc7", + "PluginRepoRegistry": "0xCe0B4124dea6105bfB85fB4461c4D39f360E9ef3", + "PluginRepoFactory": "0xE640Da5AD169630555A86D9b6b9C145B4961b1EB", + "PluginSetupProcessor": "0x308a1DC5020c4B5d992F5543a7236c465997fecB", + "DAOFactory": "0x08633901DdF9cD8e2DC3a073594d0A7DaD6f3f57", + "AddresslistVotingSetup": "0x7a62da7B56fB3bfCdF70E900787010Bc4c9Ca42e", + "GovernanceERC20": "0xddCc39a2a0047Eb47EdF94180452cbaB14d426EF", + "GovernanceWrappedERC20": "0x5B3B36BdC9470963A2734D6a0d2F6a64C21C159f", + "TokenVotingSetup": "0x96E54098317631641703404C06A5afAD89da7373", + "AdminSetup": "0xE978942c691e43f65c1B7c7F8f1dc8cDF061B13f", + "MultisigSetup": "0xA03C2182af8eC460D498108C92E8638a580b94d4", + "PlaceholderSetup": "0x6E924eA5864044D8642385683fFA5AD42FB687f2", + "address-list-voting-repo": "0xf415FF95166EF5D365fFB3bc6d1701f9e9ed7Df7", + "token-voting-repo": "0x1AeD2BEb470aeFD65B43f905Bd5371b1E4749d18", + "admin-repo": "0x326A2aee6A8eE78D79E7E956DE60C6E452f76a8e", + "multisig-repo": "0x7553E6Fb020c5740768cF289e603770AA09b7aE2" + }, + "arbitrumGoerli": { + "managingDAOImplementation": "0x741061B01d3A95a7734B594f1884b6c30E0fDA96", + "managingDAO": "0xF3AaA3372EbBf01b923a4Cc98Cd847126b3D73cA", + "ENSRegistry": "0x9277acd65B5dc0F85867Dfd40f5488Be8d47AD18", + "PublicResolver": "0xc4ddBd0472C2688F5d278dAFC02E66EE176C8DE3", + "DAO_ENSSubdomainRegistrar_Implementation": "0xBe6eAC1bA0b2d20AEA9e7924EFEE8E72D6193246", + "DAO_ENSSubdomainRegistrar": "0x57bf333951967a0cC0afcD58FC7959Ca0Eae6905", + "Plugin_ENSSubdomainRegistrar_Implementation": "0x74b3B3504B5d6D1c6247009c9b1e3D8cFF7bd445", + "Plugin_ENSSubdomainRegistrar": "0x6115b7F05cCeF2D883AB64c88ba7e4BD1b877215", + "DAORegistry_Implementation": "0xf2d594F3C93C19D7B1a6F15B5489FFcE4B01f7dA", + "DAORegistry": "0xB5146Fd572C669ABC353902e43F47fda4609E38A", + "PluginRepoRegistry_Implementation": "0x95D563382BeD5AcB458759EE05b27DF2CB019Cc7", + "PluginRepoRegistry": "0xCe0B4124dea6105bfB85fB4461c4D39f360E9ef3", + "PluginRepoFactory": "0xE640Da5AD169630555A86D9b6b9C145B4961b1EB", + "PluginSetupProcessor": "0x308a1DC5020c4B5d992F5543a7236c465997fecB", + "DAOFactory": "0x08633901DdF9cD8e2DC3a073594d0A7DaD6f3f57", + "AddresslistVotingSetup": "0x7a62da7B56fB3bfCdF70E900787010Bc4c9Ca42e", + "GovernanceERC20": "0xddCc39a2a0047Eb47EdF94180452cbaB14d426EF", + "GovernanceWrappedERC20": "0x5B3B36BdC9470963A2734D6a0d2F6a64C21C159f", + "TokenVotingSetup": "0x96E54098317631641703404C06A5afAD89da7373", + "AdminSetup": "0xE978942c691e43f65c1B7c7F8f1dc8cDF061B13f", + "MultisigSetup": "0xA03C2182af8eC460D498108C92E8638a580b94d4", + "PlaceholderSetup": "0x6E924eA5864044D8642385683fFA5AD42FB687f2", + "address-list-voting-repo": "0xf415FF95166EF5D365fFB3bc6d1701f9e9ed7Df7", + "token-voting-repo": "0x1AeD2BEb470aeFD65B43f905Bd5371b1E4749d18", + "admin-repo": "0x326A2aee6A8eE78D79E7E956DE60C6E452f76a8e", + "multisig-repo": "0x7553E6Fb020c5740768cF289e603770AA09b7aE2" + }, "sepolia": { "managingDAOImplementation": "0x57e24f85ceAcDa3Ef4F0fd04005589B88dc01A19", "managingDAO": "0xCa834B3F404c97273f34e108029eEd776144d324", diff --git a/packages/contracts/.env.example b/packages/contracts/.env.example index fd3bd9c18..fcd3df2b7 100644 --- a/packages/contracts/.env.example +++ b/packages/contracts/.env.example @@ -8,26 +8,40 @@ COINMARKETCAP_API_KEY= MAINNET_DAO_ENS_DOMAIN= GOERLI_DAO_ENS_DOMAIN= +SEPOLIOA_DAO_ENS_DOMAIN= +BASEMAINNET_DAO_ENS_DOMAIN= +BASEGOERLI_DAO_ENS_DOMAIN= +ARBITRUM_DAO_ENS_DOMAIN= +ARBITRUMGOERLI_DAO_ENS_DOMAIN= +# LOCALHOST_DAO_ENS_DOMAIN= HARDHAT_DAO_ENS_DOMAIN= -MAINNET_PLUGIN_ENS_DOMAIN= -GOERLI_PLUGIN_ENS_DOMAIN= -LOCALHOST_PLUGIN_ENS_DOMAIN= -HARDHAT_PLUGIN_ENS_DOMAIN= +MAINNET_PLUGIN_ENS_DOMAIN= +GOERLI_PLUGIN_ENS_DOMAIN= +SEPOLIOA_PLUGIN_ENS_DOMAIN= +BASEMAINNET_PLUGIN_ENS_DOMAIN= +BASEGOERLI_PLUGIN_ENS_DOMAIN= +ARBITRUM_PLUGIN_ENS_DOMAIN= +ARBITRUMGOERLI_PLUGIN_ENS_DOMAIN= +# +LOCALHOST_PLUGIN_ENS_DOMAIN= +HARDHAT_PLUGIN_ENS_DOMAIN= MANAGINGDAO_SUBDOMAIN= MANAGINGDAO_MULTISIG_APPROVERS= MANAGINGDAO_MULTISIG_MINAPPROVALS= MANAGINGDAO_MULTISIG_LISTEDONLY= -SEPOLIA_MANAGINGDAO_MULTISIG=0xfcEAd61339e3e73090B587968FcE8b090e0600EF -GOERLI_MANAGINGDAO_MULTISIG=0x3263de63e70157c4b607982721026ffaa20e596c -MUMBAI_MANAGINGDAO_MULTISIG=0x944b067ccdbded94e64826747a5d72d4adcdf50a MAINNET_MANAGINGDAO_MULTISIG=0x0673c13d48023efa609c20e5e351763b99dd67de +GOERLI_MANAGINGDAO_MULTISIG=0x3263de63e70157c4b607982721026ffaa20e596c +SEPOLIA_MANAGINGDAO_MULTISIG=0xfcEAd61339e3e73090B587968FcE8b090e0600EF POLYGON_MANAGINGDAO_MULTISIG=0x5db93850d843af581d8b87c350aa849a13a88e40 +MUMBAI_MANAGINGDAO_MULTISIG=0x944b067ccdbded94e64826747a5d72d4adcdf50a BASEGOERLI_MANAGINGDAO_MULTISIG=0x0deE00170c57161e629f5975F3B51b73B3770C06 BASEMAINNET_MANAGINGDAO_MULTISIG=0x549B739731dFDfe256f9A3014b30035C05b6D1a6 +ARBITRUM_MANAGINGDAO_MULTISIG=0x02bBc496BEBC9a06C239670Cea663C43ceAd899F +ARBITRUMGOERLI_MANAGINGDAO_MULTISIG=0x02bBc496BEBC9a06C239670Cea663C43ceAd899F HARDHAT_MANAGINGDAO_MULTISIG=0xe3ADd897e69010709498738e5116C06B4D81e672 # Changes with each new version diff --git a/packages/contracts/Releases.md b/packages/contracts/Releases.md index 14995034f..1b71e54a8 100644 --- a/packages/contracts/Releases.md +++ b/packages/contracts/Releases.md @@ -1,6 +1,67 @@ # Contract Releases +Commit: [2a02e0b32492ea1267139f6608310cec16551f05](https://github.com/aragon/osx/commit/2a02e0b32492ea1267139f6608310cec16551f05) +Network: arbitrum +Managing DAO Implementation: 0x741061B01d3A95a7734B594f1884b6c30E0fDA96 +Managing DAO: 0xF3AaA3372EbBf01b923a4Cc98Cd847126b3D73cA +ENSRegistry: 0x9277acd65B5dc0F85867Dfd40f5488Be8d47AD18 +PublicResolver: 0xc4ddBd0472C2688F5d278dAFC02E66EE176C8DE3 +DAO_ENSSubdomainRegistrar_Implementation: 0xBe6eAC1bA0b2d20AEA9e7924EFEE8E72D6193246 +DAO_ENSSubdomainRegistrar: 0x57bf333951967a0cC0afcD58FC7959Ca0Eae6905 +Plugin_ENSSubdomainRegistrar_Implementation: 0x74b3B3504B5d6D1c6247009c9b1e3D8cFF7bd445 +Plugin_ENSSubdomainRegistrar: 0x6115b7F05cCeF2D883AB64c88ba7e4BD1b877215 +DAORegistry_Implementation: 0xf2d594F3C93C19D7B1a6F15B5489FFcE4B01f7dA +DAORegistry: 0xB5146Fd572C669ABC353902e43F47fda4609E38A +PluginRepoRegistry_Implementation: 0x95D563382BeD5AcB458759EE05b27DF2CB019Cc7 +PluginRepoRegistry: 0xCe0B4124dea6105bfB85fB4461c4D39f360E9ef3 +PluginRepoFactory: 0xE640Da5AD169630555A86D9b6b9C145B4961b1EB +PluginSetupProcessor: 0x308a1DC5020c4B5d992F5543a7236c465997fecB +DAOFactory: 0x08633901DdF9cD8e2DC3a073594d0A7DaD6f3f57 +AddresslistVotingSetup: 0x7a62da7B56fB3bfCdF70E900787010Bc4c9Ca42e +GovernanceERC20: 0xddCc39a2a0047Eb47EdF94180452cbaB14d426EF +GovernanceWrappedERC20: 0x5B3B36BdC9470963A2734D6a0d2F6a64C21C159f +TokenVotingSetup: 0x96E54098317631641703404C06A5afAD89da7373 +AdminSetup: 0xE978942c691e43f65c1B7c7F8f1dc8cDF061B13f +MultisigSetup: 0xA03C2182af8eC460D498108C92E8638a580b94d4 +PlaceholderSetup: 0x6E924eA5864044D8642385683fFA5AD42FB687f2 +address-list-voting-repo: 0xf415FF95166EF5D365fFB3bc6d1701f9e9ed7Df7 +token-voting-repo: 0x1AeD2BEb470aeFD65B43f905Bd5371b1E4749d18 +admin-repo: 0x326A2aee6A8eE78D79E7E956DE60C6E452f76a8e +multisig-repo: 0x7553E6Fb020c5740768cF289e603770AA09b7aE2 + +Commit: [2a02e0b32492ea1267139f6608310cec16551f05](https://github.com/aragon/osx/commit/2a02e0b32492ea1267139f6608310cec16551f05) +Network: arbitrumGoerli +Managing DAO Implementation: 0x741061B01d3A95a7734B594f1884b6c30E0fDA96 +Managing DAO: 0xF3AaA3372EbBf01b923a4Cc98Cd847126b3D73cA +ENSRegistry: 0x9277acd65B5dc0F85867Dfd40f5488Be8d47AD18 +PublicResolver: 0xc4ddBd0472C2688F5d278dAFC02E66EE176C8DE3 +DAO_ENSSubdomainRegistrar_Implementation: 0xBe6eAC1bA0b2d20AEA9e7924EFEE8E72D6193246 +DAO_ENSSubdomainRegistrar: 0x57bf333951967a0cC0afcD58FC7959Ca0Eae6905 +Plugin_ENSSubdomainRegistrar_Implementation: 0x74b3B3504B5d6D1c6247009c9b1e3D8cFF7bd445 +Plugin_ENSSubdomainRegistrar: 0x6115b7F05cCeF2D883AB64c88ba7e4BD1b877215 +DAORegistry_Implementation: 0xf2d594F3C93C19D7B1a6F15B5489FFcE4B01f7dA +DAORegistry: 0xB5146Fd572C669ABC353902e43F47fda4609E38A +PluginRepoRegistry_Implementation: 0x95D563382BeD5AcB458759EE05b27DF2CB019Cc7 +PluginRepoRegistry: 0xCe0B4124dea6105bfB85fB4461c4D39f360E9ef3 +PluginRepoFactory: 0xE640Da5AD169630555A86D9b6b9C145B4961b1EB +PluginSetupProcessor: 0x308a1DC5020c4B5d992F5543a7236c465997fecB +DAOFactory: 0x08633901DdF9cD8e2DC3a073594d0A7DaD6f3f57 +AddresslistVotingSetup: 0x7a62da7B56fB3bfCdF70E900787010Bc4c9Ca42e +GovernanceERC20: 0xddCc39a2a0047Eb47EdF94180452cbaB14d426EF +GovernanceWrappedERC20: 0x5B3B36BdC9470963A2734D6a0d2F6a64C21C159f +TokenVotingSetup: 0x96E54098317631641703404C06A5afAD89da7373 +AdminSetup: 0xE978942c691e43f65c1B7c7F8f1dc8cDF061B13f +MultisigSetup: 0xA03C2182af8eC460D498108C92E8638a580b94d4 +PlaceholderSetup: 0x6E924eA5864044D8642385683fFA5AD42FB687f2 +address-list-voting-repo: 0xf415FF95166EF5D365fFB3bc6d1701f9e9ed7Df7 +token-voting-repo: 0x1AeD2BEb470aeFD65B43f905Bd5371b1E4749d18 +admin-repo: 0x326A2aee6A8eE78D79E7E956DE60C6E452f76a8e +multisig-repo: 0x7553E6Fb020c5740768cF289e603770AA09b7aE2 + +--- + Commit: [39dcba1d10b335445724ae006322f584fc1fc9c5](https://github.aragon/osx/commit/39dcba1d10b335445724ae006322f584fc1fc9c5) +Network: sepolia managingDAOImplementation: 0xCa834B3F404c97273f34e108029eEd776144d324 managingDAO: 0x57e24f85ceAcDa3Ef4F0fd04005589B88dc01A19 ENSRegistry: 0x005098056a837c2c4F99C7eCeE976F8D90bdFFF8 diff --git a/packages/contracts/hardhat.config.ts b/packages/contracts/hardhat.config.ts index 7f986a856..eec3e346e 100644 --- a/packages/contracts/hardhat.config.ts +++ b/packages/contracts/hardhat.config.ts @@ -93,10 +93,10 @@ const config: HardhatUserConfig = { sepolia: process.env.ETHERSCAN_KEY || '', polygon: process.env.POLYGONSCAN_KEY || '', polygonMumbai: process.env.POLYGONSCAN_KEY || '', - arbitrumOne: process.env.ARBISCAN_KEY || '', - arbitrumTestnet: process.env.ARBISCAN_KEY || '', baseMainnet: process.env.BASESCAN_KEY || '', baseGoerli: process.env.BASESCAN_KEY || '', + arbitrumOne: process.env.ARBISCAN_KEY || '', + arbitrumGoerli: process.env.ARBISCAN_KEY || '', }, customChains: [ { diff --git a/packages/contracts/networks.json b/packages/contracts/networks.json index f7848b929..40c51f665 100644 --- a/packages/contracts/networks.json +++ b/packages/contracts/networks.json @@ -1,4 +1,10 @@ { + "mainnet": { + "url": "https://mainnet.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", + "isTestnet": false, + "chainId": 1, + "deploy": ["./deploy/update/to_v1.3.0", "./deploy/verification"] + }, "goerli": { "url": "https://goerli.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", "isTestnet": true, @@ -11,17 +17,6 @@ "chainId": 11155111, "deploy": ["./deploy/new", "./deploy/verification"] }, - "mainnet": { - "url": "https://mainnet.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", - "isTestnet": false, - "chainId": 1, - "deploy": ["./deploy/update/to_v1.3.0", "./deploy/verification"] - }, - "arbitrum": { - "url": "https://arbitrum-mainnet.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", - "isTestnet": false, - "chainId": 42161 - }, "polygon": { "url": "https://polygon-mainnet.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", "isTestnet": false, @@ -49,5 +44,17 @@ "chainId": 84531, "deploy": ["./deploy/new", "./deploy/verification"], "gasPrice": 1000000 + }, + "arbitrum": { + "url": "https://arbitrum-mainnet.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", + "isTestnet": false, + "chainId": 42161, + "deploy": ["./deploy/new", "./deploy/verification"] + }, + "arbitrumGoerli": { + "url": "https://arbitrum-goerli.infura.io/v3/481a4cdc7c774286b8627f21c6827f48", + "isTestnet": true, + "chainId": 421613, + "deploy": ["./deploy/new", "./deploy/verification"] } } diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 6bdfb7b0f..a071592b7 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -40,7 +40,7 @@ "devDependencies": { "@aragon/osx-ethers-v1.2.0": "npm:@aragon/osx-ethers@1.2.0", "@aragon/osx-v1.0.1": "npm:@aragon/osx@1.0.1", - "@aragon/osx-v1.3.0-rc0.2": "npm:@aragon/osx@1.3.0-rc0.2", + "@aragon/osx-v1.3.0-rc0.4": "npm:@aragon/osx@1.3.0-rc0.4", "@defi-wonderland/smock": "^2.3.4", "@ensdomains/ens-contracts": "0.0.11", "@nomicfoundation/hardhat-chai-matchers": "^1.0.5", diff --git a/packages/contracts/scripts/osx-versions-aliases.ts b/packages/contracts/scripts/osx-versions-aliases.ts index 03acd7956..4a3fb7cdb 100644 --- a/packages/contracts/scripts/osx-versions-aliases.ts +++ b/packages/contracts/scripts/osx-versions-aliases.ts @@ -7,5 +7,5 @@ */ export const OSX_VERSION_ALIASES = [ '@aragon/osx-v1.0.1/', - '@aragon/osx-v1.3.0-rc0.2/', + '@aragon/osx-v1.3.0-rc0.4/', ]; diff --git a/packages/contracts/src/test/Migration.sol b/packages/contracts/src/test/Migration.sol index 8937a1684..1411eba26 100644 --- a/packages/contracts/src/test/Migration.sol +++ b/packages/contracts/src/test/Migration.sol @@ -20,30 +20,30 @@ pragma solidity ^0.8.8; */ import {DAO as DAO_v1_0_0} from "@aragon/osx-v1.0.1/core/dao/DAO.sol"; -import {DAO as DAO_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/core/dao/DAO.sol"; +import {DAO as DAO_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/core/dao/DAO.sol"; import {DAORegistry as DAORegistry_v1_0_0} from "@aragon/osx-v1.0.1/framework/dao/DAORegistry.sol"; -import {DAORegistry as DAORegistry_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/framework/dao/DAORegistry.sol"; +import {DAORegistry as DAORegistry_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/framework/dao/DAORegistry.sol"; import {PluginRepo as PluginRepo_v1_0_0} from "@aragon/osx-v1.0.1/framework/plugin/repo/PluginRepo.sol"; -import {PluginRepo as PluginRepo_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/framework/plugin/repo/PluginRepo.sol"; +import {PluginRepo as PluginRepo_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/framework/plugin/repo/PluginRepo.sol"; import {PluginRepoRegistry as PluginRepoRegistry_v1_0_0} from "@aragon/osx-v1.0.1/framework/plugin/repo/PluginRepoRegistry.sol"; -import {PluginRepoRegistry as PluginRepoRegistry_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/framework/plugin/repo/PluginRepoRegistry.sol"; +import {PluginRepoRegistry as PluginRepoRegistry_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/framework/plugin/repo/PluginRepoRegistry.sol"; import {ENSSubdomainRegistrar as ENSSubdomainRegistrar_v1_0_0} from "@aragon/osx-v1.0.1/framework/utils/ens/ENSSubdomainRegistrar.sol"; -import {ENSSubdomainRegistrar as ENSSubdomainRegistrar_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/framework/utils/ens/ENSSubdomainRegistrar.sol"; +import {ENSSubdomainRegistrar as ENSSubdomainRegistrar_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/framework/utils/ens/ENSSubdomainRegistrar.sol"; import {TokenVoting as TokenVoting_v1_0_0} from "@aragon/osx-v1.0.1/plugins/governance/majority-voting/token/TokenVoting.sol"; -import {TokenVoting as TokenVoting_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/plugins/governance/majority-voting/token/TokenVoting.sol"; +import {TokenVoting as TokenVoting_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/plugins/governance/majority-voting/token/TokenVoting.sol"; import {AddresslistVoting as AddresslistVoting_v1_0_0} from "@aragon/osx-v1.0.1/plugins/governance/majority-voting/addresslist/AddresslistVoting.sol"; -import {AddresslistVoting as AddresslistVoting_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/plugins/governance/majority-voting/addresslist/AddresslistVoting.sol"; +import {AddresslistVoting as AddresslistVoting_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/plugins/governance/majority-voting/addresslist/AddresslistVoting.sol"; import {Multisig as Multisig_v1_0_0} from "@aragon/osx-v1.0.1/plugins/governance/multisig/Multisig.sol"; -import {Multisig as Multisig_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/plugins/governance/multisig/Multisig.sol"; +import {Multisig as Multisig_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/plugins/governance/multisig/Multisig.sol"; import {GovernanceERC20 as GovernanceERC20_v1_0_0} from "@aragon/osx-v1.0.1/token/ERC20/governance/GovernanceERC20.sol"; -import {GovernanceERC20 as GovernanceERC20_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/token/ERC20/governance/GovernanceERC20.sol"; +import {GovernanceERC20 as GovernanceERC20_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/token/ERC20/governance/GovernanceERC20.sol"; import {GovernanceWrappedERC20 as GovernanceWrappedERC20_v1_0_0} from "@aragon/osx-v1.0.1/token/ERC20/governance/GovernanceWrappedERC20.sol"; -import {GovernanceWrappedERC20 as GovernanceWrappedERC20_v1_3_0} from "@aragon/osx-v1.3.0-rc0.2/token/ERC20/governance/GovernanceWrappedERC20.sol"; +import {GovernanceWrappedERC20 as GovernanceWrappedERC20_v1_3_0} from "@aragon/osx-v1.3.0-rc0.4/token/ERC20/governance/GovernanceWrappedERC20.sol"; diff --git a/packages/contracts/test/core/dao/dao.ts b/packages/contracts/test/core/dao/dao.ts index 5a1010068..9adfa467c 100644 --- a/packages/contracts/test/core/dao/dao.ts +++ b/packages/contracts/test/core/dao/dao.ts @@ -19,7 +19,7 @@ import { PermissionConditionMock, } from '../../../typechain'; import {DAO__factory as DAO_V1_0_0__factory} from '../../../typechain/@aragon/osx-v1.0.1/core/dao/DAO.sol'; -import {DAO__factory as DAO_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.2/core/dao/DAO.sol'; +import {DAO__factory as DAO_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.4/core/dao/DAO.sol'; import {ExecutedEvent} from '../../../typechain/DAO'; import {findEvent, DAO_EVENTS} from '../../../utils/event'; import {flipBit} from '../../test-utils/bitmap'; diff --git a/packages/contracts/test/framework/dao/dao-registry.ts b/packages/contracts/test/framework/dao/dao-registry.ts index 8cf496f72..7def68227 100644 --- a/packages/contracts/test/framework/dao/dao-registry.ts +++ b/packages/contracts/test/framework/dao/dao-registry.ts @@ -5,7 +5,7 @@ import { ENSSubdomainRegistrar, } from '../../../typechain'; import {DAORegistry__factory as DAORegistry_V1_0_0__factory} from '../../../typechain/@aragon/osx-v1.0.1/framework/dao/DAORegistry.sol'; -import {DAORegistry__factory as DAORegistry_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.2/framework/dao/DAORegistry.sol'; +import {DAORegistry__factory as DAORegistry_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.4/framework/dao/DAORegistry.sol'; import {ensDomainHash, ensLabelHash} from '../../../utils/ens'; import {deployNewDAO} from '../../test-utils/dao'; import {deployENSSubdomainRegistrar} from '../../test-utils/ens'; diff --git a/packages/contracts/test/framework/plugin/plugin-repo-registry.ts b/packages/contracts/test/framework/plugin/plugin-repo-registry.ts index 4552474bd..4b86b2042 100644 --- a/packages/contracts/test/framework/plugin/plugin-repo-registry.ts +++ b/packages/contracts/test/framework/plugin/plugin-repo-registry.ts @@ -6,7 +6,7 @@ import { PluginRepoRegistry__factory, } from '../../../typechain'; import {PluginRepoRegistry__factory as PluginRepoRegistry_V1_0_0__factory} from '../../../typechain/@aragon/osx-v1.0.1/framework/plugin/repo/PluginRepoRegistry.sol'; -import {PluginRepoRegistry__factory as PluginRepoRegistry_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.2/framework/plugin/repo/PluginRepoRegistry.sol'; +import {PluginRepoRegistry__factory as PluginRepoRegistry_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.4/framework/plugin/repo/PluginRepoRegistry.sol'; import {ensDomainHash} from '../../../utils/ens'; import {deployNewDAO} from '../../test-utils/dao'; import {deployENSSubdomainRegistrar} from '../../test-utils/ens'; diff --git a/packages/contracts/test/framework/plugin/plugin-repo.ts b/packages/contracts/test/framework/plugin/plugin-repo.ts index 787ebe14d..0b2bc53a5 100644 --- a/packages/contracts/test/framework/plugin/plugin-repo.ts +++ b/packages/contracts/test/framework/plugin/plugin-repo.ts @@ -11,7 +11,7 @@ import { IProtocolVersion__factory, } from '../../../typechain'; import {PluginRepo__factory as PluginRepo_V1_0_0__factory} from '../../../typechain/@aragon/osx-v1.0.1/framework/plugin/repo/PluginRepo.sol'; -import {PluginRepo__factory as PluginRepo_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.2/framework/plugin/repo/PluginRepo.sol'; +import {PluginRepo__factory as PluginRepo_V1_3_0__factory} from '../../../typechain/@aragon/osx-v1.3.0-rc0.4/framework/plugin/repo/PluginRepo.sol'; import {ZERO_BYTES32} from '../../test-utils/dao'; import {getInterfaceID} from '../../test-utils/interfaces'; import {UPGRADE_PERMISSIONS} from '../../test-utils/permissions'; diff --git a/packages/contracts/test/framework/utils/ens/ens-subdomain-registry.ts b/packages/contracts/test/framework/utils/ens/ens-subdomain-registry.ts index 44e0638f7..9c95ac367 100644 --- a/packages/contracts/test/framework/utils/ens/ens-subdomain-registry.ts +++ b/packages/contracts/test/framework/utils/ens/ens-subdomain-registry.ts @@ -8,7 +8,7 @@ import { ENSSubdomainRegistrar__factory, } from '../../../../typechain'; import {ENSSubdomainRegistrar__factory as ENSSubdomainRegistrar_V1_0_0__factory} from '../../../../typechain/@aragon/osx-v1.0.1/framework/utils/ens/ENSSubdomainRegistrar.sol'; -import {ENSSubdomainRegistrar__factory as ENSSubdomainRegistrar_V1_3_0__factory} from '../../../../typechain/@aragon/osx-v1.3.0-rc0.2/framework/utils/ens/ENSSubdomainRegistrar.sol'; +import {ENSSubdomainRegistrar__factory as ENSSubdomainRegistrar_V1_3_0__factory} from '../../../../typechain/@aragon/osx-v1.3.0-rc0.4/framework/utils/ens/ENSSubdomainRegistrar.sol'; import {ensDomainHash, ensLabelHash} from '../../../../utils/ens'; import {deployNewDAO} from '../../../test-utils/dao'; import {setupResolver} from '../../../test-utils/ens'; diff --git a/packages/contracts/test/interfaces.ts b/packages/contracts/test/interfaces.ts index 2e65e0cfa..55d922f33 100644 --- a/packages/contracts/test/interfaces.ts +++ b/packages/contracts/test/interfaces.ts @@ -25,7 +25,7 @@ import {IMajorityVoting__factory as IMajorityVoting_V1_0_0__factory} from '../ty import {IMultisig__factory as IMultisig_V1_0_0__factory} from '../typechain/@aragon/osx-v1.0.1/plugins/governance/multisig/IMultisig.sol'; import {IERC20MintableUpgradeable__factory as IERC20MintableUpgradeable_V1_0_0__factory} from '../typechain/@aragon/osx-v1.0.1/token/ERC20/IERC20MintableUpgradeable.sol'; import {IGovernanceWrappedERC20__factory as IGovernanceWrappedERC20_V1_0_0__factory} from '../typechain/@aragon/osx-v1.0.1/token/ERC20/governance/IGovernanceWrappedERC20.sol'; -import {IProtocolVersion__factory as IProtocolVersion_V1_3_0__factory} from '../typechain/@aragon/osx-v1.3.0-rc0.2/utils/protocol/IProtocolVersion.sol'; +import {IProtocolVersion__factory as IProtocolVersion_V1_3_0__factory} from '../typechain/@aragon/osx-v1.3.0-rc0.4/utils/protocol/IProtocolVersion.sol'; import {getInterfaceID} from './test-utils/interfaces'; import {expect} from 'chai'; diff --git a/packages/contracts/test/plugins/governance/majority-voting/addresslist/addresslist-voting.ts b/packages/contracts/test/plugins/governance/majority-voting/addresslist/addresslist-voting.ts index 56729152b..1303d2d1d 100644 --- a/packages/contracts/test/plugins/governance/majority-voting/addresslist/addresslist-voting.ts +++ b/packages/contracts/test/plugins/governance/majority-voting/addresslist/addresslist-voting.ts @@ -13,7 +13,7 @@ import { IProtocolVersion__factory, } from '../../../../../typechain'; import {AddresslistVoting__factory as AddresslistVoting_V1_0_0__factory} from '../../../../../typechain/@aragon/osx-v1.0.1/plugins/governance/majority-voting/addresslist/AddresslistVoting.sol'; -import {AddresslistVoting__factory as AddresslistVoting_V1_3_0__factory} from '../../../../../typechain/@aragon/osx-v1.3.0-rc0.2/plugins/governance/majority-voting/addresslist/AddresslistVoting.sol'; +import {AddresslistVoting__factory as AddresslistVoting_V1_3_0__factory} from '../../../../../typechain/@aragon/osx-v1.3.0-rc0.4/plugins/governance/majority-voting/addresslist/AddresslistVoting.sol'; import { ProposalCreatedEvent, ProposalExecutedEvent, diff --git a/packages/contracts/test/plugins/governance/majority-voting/token/token-voting.ts b/packages/contracts/test/plugins/governance/majority-voting/token/token-voting.ts index f980c2510..5993010eb 100644 --- a/packages/contracts/test/plugins/governance/majority-voting/token/token-voting.ts +++ b/packages/contracts/test/plugins/governance/majority-voting/token/token-voting.ts @@ -14,7 +14,7 @@ import { TokenVoting__factory, } from '../../../../../typechain'; import {TokenVoting__factory as TokenVoting_V1_0_0__factory} from '../../../../../typechain/@aragon/osx-v1.0.1/plugins/governance/majority-voting/token/TokenVoting.sol'; -import {TokenVoting__factory as TokenVoting_V1_3_0__factory} from '../../../../../typechain/@aragon/osx-v1.3.0-rc0.2/plugins/governance/majority-voting/token/TokenVoting.sol'; +import {TokenVoting__factory as TokenVoting_V1_3_0__factory} from '../../../../../typechain/@aragon/osx-v1.3.0-rc0.4/plugins/governance/majority-voting/token/TokenVoting.sol'; import {ExecutedEvent} from '../../../../../typechain/DAO'; import { ProposalCreatedEvent, diff --git a/packages/contracts/test/plugins/governance/multisig/multisig.ts b/packages/contracts/test/plugins/governance/multisig/multisig.ts index fd2e57c1f..1a126e127 100644 --- a/packages/contracts/test/plugins/governance/multisig/multisig.ts +++ b/packages/contracts/test/plugins/governance/multisig/multisig.ts @@ -13,7 +13,7 @@ import { Multisig__factory, } from '../../../../typechain'; import {Multisig__factory as Multisig_V1_0_0__factory} from '../../../../typechain/@aragon/osx-v1.0.1/plugins/governance/multisig/Multisig.sol'; -import {Multisig__factory as Multisig_V1_3_0__factory} from '../../../../typechain/@aragon/osx-v1.3.0-rc0.2/plugins/governance/multisig/Multisig.sol'; +import {Multisig__factory as Multisig_V1_3_0__factory} from '../../../../typechain/@aragon/osx-v1.3.0-rc0.4/plugins/governance/multisig/Multisig.sol'; import {ExecutedEvent} from '../../../../typechain/DAO'; import {ProposalCreatedEvent} from '../../../../typechain/IProposal'; import { diff --git a/packages/contracts/test/upgrade/dao.ts b/packages/contracts/test/upgrade/dao.ts index 906f4db1b..66dfd8bc7 100644 --- a/packages/contracts/test/upgrade/dao.ts +++ b/packages/contracts/test/upgrade/dao.ts @@ -6,7 +6,7 @@ import { import { DAO as DAO_V1_3_0, DAO__factory as DAO_V1_3_0__factory, -} from '../../typechain/@aragon/osx-v1.3.0-rc0.2/core/dao/DAO.sol'; +} from '../../typechain/@aragon/osx-v1.3.0-rc0.4/core/dao/DAO.sol'; import {UpgradedEvent} from '../../typechain/DAO'; import {findEventTopicLog} from '../../utils/event'; import {readImplementationValueFromSlot} from '../../utils/storage'; diff --git a/packages/subgraph/manifest/data/arbitrum.json b/packages/subgraph/manifest/data/arbitrum.json new file mode 100644 index 000000000..ad5007df3 --- /dev/null +++ b/packages/subgraph/manifest/data/arbitrum.json @@ -0,0 +1,23 @@ +{ + "info": "# Do not edit subgraph.yaml,this is a generated file. \n# Instead, edit subgraph.placeholder.yaml and run: yarn manifest", + "network": "arbitrum-one", + "dataSources": { + "DAORegistry": { + "name": "DAORegistry", + "address": "0xB5146Fd572C669ABC353902e43F47fda4609E38A", + "startBlock": 145462155 + }, + "PluginRepoRegistry": { + "name": "PluginRepoRegistry", + "address": "0xCe0B4124dea6105bfB85fB4461c4D39f360E9ef3", + "startBlock": 145462169 + }, + "PluginSetupProcessors": [ + { + "name": "PluginSetupProcessor", + "address": "0x308a1DC5020c4B5d992F5543a7236c465997fecB", + "startBlock": 145462184 + } + ] + } +} diff --git a/packages/subgraph/manifest/data/arbitrumGoerli.json b/packages/subgraph/manifest/data/arbitrumGoerli.json new file mode 100644 index 000000000..8eed3a8d5 --- /dev/null +++ b/packages/subgraph/manifest/data/arbitrumGoerli.json @@ -0,0 +1,23 @@ +{ + "info": "# Do not edit subgraph.yaml,this is a generated file. \n# Instead, edit subgraph.placeholder.yaml and run: yarn manifest", + "network": "arbitrum-goerli", + "dataSources": { + "DAORegistry": { + "name": "DAORegistry", + "address": "0xB5146Fd572C669ABC353902e43F47fda4609E38A", + "startBlock": 51930440 + }, + "PluginRepoRegistry": { + "name": "PluginRepoRegistry", + "address": "0xCe0B4124dea6105bfB85fB4461c4D39f360E9ef3", + "startBlock": 51930451 + }, + "PluginSetupProcessors": [ + { + "name": "PluginSetupProcessor", + "address": "0x308a1DC5020c4B5d992F5543a7236c465997fecB", + "startBlock": 51930460 + } + ] + } +} diff --git a/yarn.lock b/yarn.lock index d07a2d911..08e8ee65d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,10 +14,10 @@ resolved "https://registry.yarnpkg.com/@aragon/osx/-/osx-1.0.1.tgz#b758ba87db93a46a8ddabfaefc99ac8e44c46c78" integrity sha512-TiP5/1AGv/hth+V8PoDVFlwMzmLazYxzp//jiepAZ0WJkx9EnQNYafo+M7+pjAqRPG005liQjmFZNiK6ARLULg== -"@aragon/osx-v1.3.0-rc0.2@npm:@aragon/osx@1.3.0-rc0.2": - version "1.3.0-rc0.2" - resolved "https://registry.yarnpkg.com/@aragon/osx/-/osx-1.3.0-rc0.2.tgz#6922052bc7eaa180e143478b56292cc1e1245adf" - integrity sha512-IQTOPXgISEOGhcf2LeE4iz+TF4YmNzYjga9UgaIEYpcMkVKN1LUdJgvrF6VxGeGWiDjRTb0nNijtdmeOw4ungw== +"@aragon/osx-v1.3.0-rc0.4@npm:@aragon/osx@1.3.0-rc0.4": + version "1.3.0-rc0.4" + resolved "https://registry.yarnpkg.com/@aragon/osx/-/osx-1.3.0-rc0.4.tgz#c42eba799d9ac57fbe10d5c73bf02681c5d4328d" + integrity sha512-vE+zW5LUaPFDvsWWDCESFjibERvWtwsOyqb1pUaB+OS8j9eEZVxsRaSWhe23Nx2vAhUtTF9p77e1vWtCfP/BvQ== dependencies: "@ensdomains/ens-contracts" "0.0.11" "@openzeppelin/contracts" "4.8.1"