From 0c6bd06301e62205a3e2491133c54b55bda096b0 Mon Sep 17 00:00:00 2001 From: Michael Heuer <20623991+Michael-A-Heuer@users.noreply.github.com> Date: Wed, 22 Nov 2023 18:33:12 +0100 Subject: [PATCH 1/6] docs: fix broken dev portal build (#504) --- .../04-framework-lifecycle/01-systems.md | 12 +++--------- .../03-osx-components/01-factory-contract.md | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/contracts/docs/developer-portal/04-framework-lifecycle/01-systems.md b/packages/contracts/docs/developer-portal/04-framework-lifecycle/01-systems.md index b90e7ea7a..c2ff9ed42 100644 --- a/packages/contracts/docs/developer-portal/04-framework-lifecycle/01-systems.md +++ b/packages/contracts/docs/developer-portal/04-framework-lifecycle/01-systems.md @@ -37,7 +37,7 @@ with construction / initialization constituting a special. -
Interfaces +#### Interfaces - `IDAO` - `IPlugin` @@ -47,9 +47,7 @@ with construction / initialization constituting a special. - `IProposal` - `IMembership` -
- -
Abstract Contracts +#### Abstract Contracts - Non-Upgradable @@ -67,9 +65,7 @@ with construction / initialization constituting a special. - `ProposalUpgradeable` - `InterfaceBasedRegistry` -
- -
Deployed Contracts +#### Deployed Contracts - Non-Upgradable @@ -86,8 +82,6 @@ with construction / initialization constituting a special. - `PluginUUPSUpgradeable` - `ENSSubdomainRegistrar` -
- ## Subgraph The subgraph is composed of diff --git a/packages/contracts/docs/developer-portal/04-framework-lifecycle/03-osx-components/01-factory-contract.md b/packages/contracts/docs/developer-portal/04-framework-lifecycle/03-osx-components/01-factory-contract.md index 4ad8f92d0..eb2df740d 100644 --- a/packages/contracts/docs/developer-portal/04-framework-lifecycle/03-osx-components/01-factory-contract.md +++ b/packages/contracts/docs/developer-portal/04-framework-lifecycle/03-osx-components/01-factory-contract.md @@ -67,4 +67,4 @@ Applies to - `DAOFactory` - `PluginRepoFactory` -For changes in the underlying implementations (i.e., `DAO` and `PluginRepo`), see the process of [replacing upgradeable contracts](../03-sub-processes/upgradeable-contract.md). +For changes in the underlying implementations (i.e., `DAO` and `PluginRepo`), see the process of [replacing upgradeable contracts](./02-upgradeable-contract.md). From 0c6d89b38710c6936aed5b62aaf766171fa71b65 Mon Sep 17 00:00:00 2001 From: Michael Heuer <20623991+Michael-A-Heuer@users.noreply.github.com> Date: Wed, 22 Nov 2023 18:49:18 +0100 Subject: [PATCH 2/6] docs: fix broken dev-portal link and exclude framework lifecylce docs (#505) * docs: fix broken dev portal build * docs: fix broken dev portal link * ci: exclude framework lifecycle docs from developer portal --- .github/workflows/documentation-update.yml | 3 +++ .../docs/developer-portal/04-framework-lifecycle/02-semver.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/documentation-update.yml b/.github/workflows/documentation-update.yml index 588ca5ec2..4e57eb4dc 100644 --- a/.github/workflows/documentation-update.yml +++ b/.github/workflows/documentation-update.yml @@ -25,6 +25,9 @@ jobs: - name: Generate Docs run: yarn run docgen working-directory: packages/contracts/ + - name: Remove Framework Lifecycle docs + run: rm -rf 04-framework-lifecycle + working-directory: packages/contracts/docs/developer-portal/ - name: Format with prettier run: yarn run prettier 'packages/contracts/docs/developer-portal/03-reference-guide/**/*.md' --write - name: Checkout developer-portal diff --git a/packages/contracts/docs/developer-portal/04-framework-lifecycle/02-semver.md b/packages/contracts/docs/developer-portal/04-framework-lifecycle/02-semver.md index daf25618e..7f549bca7 100644 --- a/packages/contracts/docs/developer-portal/04-framework-lifecycle/02-semver.md +++ b/packages/contracts/docs/developer-portal/04-framework-lifecycle/02-semver.md @@ -12,7 +12,7 @@ We use the semver notation to version the OSx Protocol smart contract and to cla ## Change Classifications -We now classify [smart contract changes](systems.md#smart-contracts) according to SemVer and how they affect the [the subgraph](01-systems.md#the-subgraph), consumers of the contracts and the subgraph such as the [the SDK or 3rd party projects](systems.md#sdk-3rd-party-projects-contract--subgraph-consumers), and [the App](01-systems.md#app). +We now classify [smart contract changes](01-systems.md#smart-contracts) according to SemVer and how they affect the [the subgraph](01-systems.md#the-subgraph), consumers of the contracts and the subgraph such as the [the SDK or 3rd party projects](01-systems.md#sdk-3rd-party-projects-contract--subgraph-consumers), and [the App](01-systems.md#app). | SemVer Classification | Change in | Affected contracts | Action | Contract Implication (OSx or 3rd party) | Subgraph | SDK | App | | --------------------- | -------------------------------------------- | --------------------- | ------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | From c990310aeb8f27e20183ca0d5b0c345d1a4d91e5 Mon Sep 17 00:00:00 2001 From: Michael Heuer <20623991+Michael-A-Heuer@users.noreply.github.com> Date: Thu, 23 Nov 2023 16:58:46 +0100 Subject: [PATCH 3/6] refactor: signalling proposal subgraph change (#503) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: renamed entity * refactor: renamed local variable * add isSignalingProperty * fix tests * fix prettier * style: fix whitespace Co-authored-by: Rekard0 <5880388+Rekard0@users.noreply.github.com> * docs: fix comment * fix: added isSignaling field to extended token voting schema * chore: maintained changelog * chore: replace subgraph endpoint * chore: bump subgraph version number * style: fix indentation --------- Co-authored-by: Jose Manuel MariƱas Bascoy Co-authored-by: Rekard0 <5880388+Rekard0@users.noreply.github.com> --- packages/subgraph/CHANGELOG.md | 10 ++++++- packages/subgraph/package.json | 2 +- packages/subgraph/schema.graphql | 9 ++++--- packages/subgraph/scripts/deploy-subgraph.sh | 2 +- .../addresslist/addresslist-voting.ts | 18 ++++++------- .../src/packages/multisig/multisig.ts | 27 ++++++++----------- .../src/packages/token/token-voting.ts | 7 ++--- .../addresslist-voting.test.ts | 8 +++--- .../tests/addresslist-voting/utils.ts | 3 ++- .../subgraph/tests/helpers/method-classes.ts | 3 ++- .../subgraph/tests/multisig/multisig.test.ts | 4 +-- packages/subgraph/tests/multisig/utils.ts | 3 ++- .../subgraph/tests/token/token-voting.test.ts | 6 ++--- packages/subgraph/tests/token/utils.ts | 3 ++- 14 files changed, 58 insertions(+), 47 deletions(-) diff --git a/packages/subgraph/CHANGELOG.md b/packages/subgraph/CHANGELOG.md index e5c97905b..2129e64a9 100644 --- a/packages/subgraph/CHANGELOG.md +++ b/packages/subgraph/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UPCOMING] +### Added + +- Added `isSignaling` attribute to `TokenVotingProposal`, `AddresslistVotingProposal`, and `MultisigProposal` that is set to true for proposals having an empty action array. + +### Changed + +- Renamed `potentiallyExecutable` attribute to `approvalReached` and stopped setting it to `true` during multisig proposal creation if `minApprovals = 1` when zero approvals were given yet. + ## 1.3.1 ### Added @@ -82,7 +90,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Changed `IPluginInstallation` to `IPlugin`. - Changed `release: Int!` to `release: PluginRelease!` in `PluginVersion` - Changed `versions` to `releases` in `PluginRepo`. -- Changes `Permission` entity to be muteable. +- Changes `Permission` entity to be mutable. ### Removed diff --git a/packages/subgraph/package.json b/packages/subgraph/package.json index 7f71d2ec0..a9cb0d5ef 100644 --- a/packages/subgraph/package.json +++ b/packages/subgraph/package.json @@ -1,6 +1,6 @@ { "name": "@aragon/osx-subgraph", - "version": "1.3.1", + "version": "1.4.0", "description": "The Aragon OSx Subgraph", "homepage": "https://github.com/aragon/osx", "license": "AGPL-3.0-or-later", diff --git a/packages/subgraph/schema.graphql b/packages/subgraph/schema.graphql index 75b5cb271..24ce7158b 100644 --- a/packages/subgraph/schema.graphql +++ b/packages/subgraph/schema.graphql @@ -461,7 +461,8 @@ type TokenVotingProposal implements IProposal @entity { startDate: BigInt! endDate: BigInt! creationBlockNumber: BigInt! - potentiallyExecutable: Boolean! + approvalReached: Boolean! + isSignaling: Boolean! earlyExecutable: Boolean executionDate: BigInt executionBlockNumber: BigInt @@ -536,7 +537,8 @@ type AddresslistVotingProposal implements IProposal @entity { startDate: BigInt! endDate: BigInt! creationBlockNumber: BigInt! - potentiallyExecutable: Boolean! + approvalReached: Boolean! + isSignaling: Boolean! earlyExecutable: Boolean executionDate: BigInt executionBlockNumber: BigInt @@ -640,7 +642,8 @@ type MultisigProposal implements IProposal @entity { snapshotBlock: BigInt! minApprovals: Int! approvals: Int - potentiallyExecutable: Boolean! + approvalReached: Boolean! + isSignaling: Boolean! executed: Boolean! executionDate: BigInt executionBlockNumber: BigInt diff --git a/packages/subgraph/scripts/deploy-subgraph.sh b/packages/subgraph/scripts/deploy-subgraph.sh index 4b8fa5d86..704bf0991 100755 --- a/packages/subgraph/scripts/deploy-subgraph.sh +++ b/packages/subgraph/scripts/deploy-subgraph.sh @@ -49,7 +49,7 @@ else graph deploy $FULLNAME \ --version-label $SUBGRAPH_VERSION \ --ipfs https://ipfs.satsuma.xyz \ - --node https://app.satsuma.xyz/api/subgraphs/deploy \ + --node https://subgraphs.alchemy.com/api/subgraphs/deploy \ --deploy-key $GRAPH_KEY > deploy-output.txt SUBGRAPH_ID=$(grep "Build completed:" deploy-output.txt | grep -oE "Qm[a-zA-Z0-9]{44}") diff --git a/packages/subgraph/src/packages/addresslist/addresslist-voting.ts b/packages/subgraph/src/packages/addresslist/addresslist-voting.ts index 9ca8c2c4c..d7a806298 100644 --- a/packages/subgraph/src/packages/addresslist/addresslist-voting.ts +++ b/packages/subgraph/src/packages/addresslist/addresslist-voting.ts @@ -2,17 +2,17 @@ import { Action, AddresslistVotingPlugin, AddresslistVotingProposal, - AddresslistVotingVoter, AddresslistVotingVote, + AddresslistVotingVoter, } from '../../../generated/schema'; import { - VoteCast, + AddresslistVoting, + MembersAdded, + MembersRemoved, ProposalCreated, ProposalExecuted, + VoteCast, VotingSettingsUpdated, - MembersAdded, - MembersRemoved, - AddresslistVoting, } from '../../../generated/templates/AddresslistVoting/AddresslistVoting'; import {RATIO_BASE, VOTER_OPTIONS, VOTING_MODES} from '../../utils/constants'; import {getProposalId} from '../../utils/proposals'; @@ -44,7 +44,7 @@ export function _handleProposalCreated( proposalEntity.createdAt = event.block.timestamp; proposalEntity.creationBlockNumber = event.block.number; proposalEntity.allowFailureMap = event.params.allowFailureMap; - proposalEntity.potentiallyExecutable = false; + proposalEntity.approvalReached = false; let contract = AddresslistVoting.bind(pluginAddress); let proposal = contract.try_getProposal(pluginProposalId); @@ -88,7 +88,7 @@ export function _handleProposalCreated( actionEntity.proposal = proposalId; actionEntity.save(); } - + proposalEntity.isSignaling = actions.length == 0; // totalVotingPower proposalEntity.totalVotingPower = contract.try_totalVotingPower( parameters.snapshotBlock @@ -185,7 +185,7 @@ export function handleVoteCast(event: VoteCast): void { let minParticipationReached = castedVotingPower.ge(minVotingPower); // Used when proposal has ended. - proposalEntity.potentiallyExecutable = + proposalEntity.approvalReached = supportThresholdReached && minParticipationReached; // Used when proposal has not ended. @@ -206,7 +206,7 @@ export function handleProposalExecuted(event: ProposalExecuted): void { let proposalEntity = AddresslistVotingProposal.load(proposalId); if (proposalEntity) { proposalEntity.executed = true; - proposalEntity.potentiallyExecutable = false; + proposalEntity.approvalReached = true; proposalEntity.executionDate = event.block.timestamp; proposalEntity.executionBlockNumber = event.block.number; proposalEntity.executionTxHash = event.transaction.hash; diff --git a/packages/subgraph/src/packages/multisig/multisig.ts b/packages/subgraph/src/packages/multisig/multisig.ts index 9ff12b72a..b8017af4d 100644 --- a/packages/subgraph/src/packages/multisig/multisig.ts +++ b/packages/subgraph/src/packages/multisig/multisig.ts @@ -46,26 +46,20 @@ export function _handleProposalCreated( proposalEntity.allowFailureMap = event.params.allowFailureMap; let contract = Multisig.bind(event.address); - let vote = contract.try_getProposal(pluginProposalId); + let proposal = contract.try_getProposal(pluginProposalId); - if (!vote.reverted) { - proposalEntity.executed = vote.value.value0; - proposalEntity.approvals = vote.value.value1; + if (!proposal.reverted) { + proposalEntity.executed = proposal.value.value0; + proposalEntity.approvals = proposal.value.value1; // ProposalParameters - let parameters = vote.value.value2; + let parameters = proposal.value.value2; proposalEntity.minApprovals = parameters.minApprovals; proposalEntity.snapshotBlock = parameters.snapshotBlock; - - // if minApproval is 1, the proposal is always executable - if (parameters.minApprovals == 1) { - proposalEntity.potentiallyExecutable = true; - } else { - proposalEntity.potentiallyExecutable = false; - } + proposalEntity.approvalReached = false; // Actions - let actions = vote.value.value3; + let actions = proposal.value.value3; for (let index = 0; index < actions.length; index++) { const action = actions[index]; @@ -81,6 +75,7 @@ export function _handleProposalCreated( actionEntity.proposal = proposalId; actionEntity.save(); } + proposalEntity.isSignaling = actions.length == 0; } proposalEntity.save(); @@ -129,9 +124,9 @@ export function handleApproved(event: Approved): void { if ( approvals >= minApprovalsStruct.minApprovals && - !proposalEntity.potentiallyExecutable + !proposalEntity.approvalReached ) { - proposalEntity.potentiallyExecutable = true; + proposalEntity.approvalReached = true; } proposalEntity.save(); @@ -145,7 +140,7 @@ export function handleProposalExecuted(event: ProposalExecuted): void { let proposalEntity = MultisigProposal.load(proposalId); if (proposalEntity) { - proposalEntity.potentiallyExecutable = false; + proposalEntity.approvalReached = false; proposalEntity.executed = true; proposalEntity.executionDate = event.block.timestamp; proposalEntity.executionBlockNumber = event.block.number; diff --git a/packages/subgraph/src/packages/token/token-voting.ts b/packages/subgraph/src/packages/token/token-voting.ts index 31d3446a1..cc5aeb650 100644 --- a/packages/subgraph/src/packages/token/token-voting.ts +++ b/packages/subgraph/src/packages/token/token-voting.ts @@ -45,7 +45,7 @@ export function _handleProposalCreated( proposalEntity.createdAt = event.block.timestamp; proposalEntity.creationBlockNumber = event.block.number; proposalEntity.allowFailureMap = event.params.allowFailureMap; - proposalEntity.potentiallyExecutable = false; + proposalEntity.approvalReached = false; let contract = TokenVoting.bind(event.address); let proposal = contract.try_getProposal(pluginProposalId); @@ -89,6 +89,7 @@ export function _handleProposalCreated( actionEntity.proposal = proposalId; actionEntity.save(); } + proposalEntity.isSignaling = actions.length == 0; // totalVotingPower proposalEntity.totalVotingPower = contract.try_totalVotingPower( @@ -198,7 +199,7 @@ export function handleVoteCast(event: VoteCast): void { let minParticipationReached = castedVotingPower.ge(minVotingPower); // Used when proposal has ended. - proposalEntity.potentiallyExecutable = + proposalEntity.approvalReached = supportThresholdReached && minParticipationReached; // Used when proposal has not ended. @@ -219,7 +220,7 @@ export function handleProposalExecuted(event: ProposalExecuted): void { let proposalEntity = TokenVotingProposal.load(proposalId); if (proposalEntity) { proposalEntity.executed = true; - proposalEntity.potentiallyExecutable = false; + proposalEntity.approvalReached = false; proposalEntity.executionDate = event.block.timestamp; proposalEntity.executionBlockNumber = event.block.number; proposalEntity.executionTxHash = event.transaction.hash; diff --git a/packages/subgraph/tests/addresslist-voting/addresslist-voting.test.ts b/packages/subgraph/tests/addresslist-voting/addresslist-voting.test.ts index 750f6a6b0..df21ab3a6 100644 --- a/packages/subgraph/tests/addresslist-voting/addresslist-voting.test.ts +++ b/packages/subgraph/tests/addresslist-voting/addresslist-voting.test.ts @@ -289,7 +289,7 @@ test('Run AddresslistVoting (handleVoteCast) mappings with mock event', () => { // check proposal assert.fieldEquals('AddresslistVotingProposal', proposal.id, 'yes', '1'); - // Check potentiallyExecutable + // Check approvalReached // abstain: 0, yes: 1, no: 0 // support : 100% // worstCaseSupport : 33% @@ -297,7 +297,7 @@ test('Run AddresslistVoting (handleVoteCast) mappings with mock event', () => { assert.fieldEquals( 'AddresslistVotingProposal', proposal.id, - 'potentiallyExecutable', + 'approvalReached', 'false' ); // check vote count @@ -389,7 +389,7 @@ test('Run AddresslistVoting (handleVoteCast) mappings with mock event', () => { handleVoteCast(event3); - // Check potentiallyExecutable + // Check approvalReached // abstain: 0, yes: 2, no: 0 // support : 100% // worstCaseSupport : 67% @@ -397,7 +397,7 @@ test('Run AddresslistVoting (handleVoteCast) mappings with mock event', () => { assert.fieldEquals( 'AddresslistVotingProposal', proposal.id, - 'potentiallyExecutable', + 'approvalReached', 'true' ); diff --git a/packages/subgraph/tests/addresslist-voting/utils.ts b/packages/subgraph/tests/addresslist-voting/utils.ts index 7ed783e8a..2899204b4 100644 --- a/packages/subgraph/tests/addresslist-voting/utils.ts +++ b/packages/subgraph/tests/addresslist-voting/utils.ts @@ -281,13 +281,14 @@ export function createAddresslistVotingProposalEntityState( addresslistProposal.startDate = BigInt.fromString(startDate); addresslistProposal.endDate = BigInt.fromString(endDate); addresslistProposal.snapshotBlock = BigInt.fromString(snapshotBlock); + addresslistProposal.isSignaling = false; addresslistProposal.totalVotingPower = BigInt.fromString(totalVotingPower); addresslistProposal.allowFailureMap = BigInt.fromString(allowFailureMap); addresslistProposal.createdAt = BigInt.fromString(createdAt); addresslistProposal.creationBlockNumber = creationBlockNumber; - addresslistProposal.potentiallyExecutable = executable; + addresslistProposal.approvalReached = executable; addresslistProposal.earlyExecutable = earlyExecutable; addresslistProposal.save(); diff --git a/packages/subgraph/tests/helpers/method-classes.ts b/packages/subgraph/tests/helpers/method-classes.ts index cfff39a31..b8fa71ffd 100644 --- a/packages/subgraph/tests/helpers/method-classes.ts +++ b/packages/subgraph/tests/helpers/method-classes.ts @@ -576,7 +576,8 @@ class TokenVotingProposalMethods extends TokenVotingProposal { this.allowFailureMap = BigInt.fromString(ALLOW_FAILURE_MAP); this.createdAt = BigInt.fromString(CREATED_AT); this.creationBlockNumber = BigInt.fromString(ZERO); - this.potentiallyExecutable = false; + this.approvalReached = false; + this.isSignaling = false; return this; } diff --git a/packages/subgraph/tests/multisig/multisig.test.ts b/packages/subgraph/tests/multisig/multisig.test.ts index 9c2519788..a94c3247c 100644 --- a/packages/subgraph/tests/multisig/multisig.test.ts +++ b/packages/subgraph/tests/multisig/multisig.test.ts @@ -216,7 +216,7 @@ test('Run Multisig (handleApproved) mappings with mock event', () => { assert.fieldEquals( 'MultisigProposal', proposal.id, - 'potentiallyExecutable', + 'approvalReached', 'false' ); @@ -254,7 +254,7 @@ test('Run Multisig (handleApproved) mappings with mock event', () => { assert.fieldEquals( 'MultisigProposal', proposal.id, - 'potentiallyExecutable', + 'approvalReached', 'true' ); diff --git a/packages/subgraph/tests/multisig/utils.ts b/packages/subgraph/tests/multisig/utils.ts index 7e183ea24..2f7883477 100644 --- a/packages/subgraph/tests/multisig/utils.ts +++ b/packages/subgraph/tests/multisig/utils.ts @@ -308,7 +308,8 @@ export function createMultisigProposalEntityState( multisigProposal.creator = Address.fromString(creator); multisigProposal.startDate = BigInt.fromString(startDate); multisigProposal.endDate = BigInt.fromString(endDate); - multisigProposal.potentiallyExecutable = executable; + multisigProposal.approvalReached = executable; + multisigProposal.isSignaling = false; multisigProposal.executed = executed; multisigProposal.snapshotBlock = BigInt.fromString(snapshotBlock); multisigProposal.minApprovals = BigInt.fromString(minApprovals).toI32(); diff --git a/packages/subgraph/tests/token/token-voting.test.ts b/packages/subgraph/tests/token/token-voting.test.ts index 0815ef81d..dd5e14dc6 100644 --- a/packages/subgraph/tests/token/token-voting.test.ts +++ b/packages/subgraph/tests/token/token-voting.test.ts @@ -74,7 +74,7 @@ test('Run TokenVoting (handleVoteCast) mappings with mock event', () => { // check proposal entity proposal.assertEntity(); - // // create calls + // create calls proposal.yes = bigInt.fromString(ONE); proposal.mockCall_getProposal(actions); proposal.mockCall_totalVotingPower(); @@ -102,7 +102,7 @@ test('Run TokenVoting (handleVoteCast) mappings with mock event', () => { // check proposal // expected changes to the proposal entity proposal.castedVotingPower = BigInt.fromString(ONE); - proposal.potentiallyExecutable = false; + proposal.approvalReached = false; // assert proposal entity proposal.assertEntity(); @@ -146,7 +146,7 @@ test('Run TokenVoting (handleVoteCast) mappings with mock event', () => { handleVoteCast(event3); // expected changes to the proposal entity - proposal.potentiallyExecutable = true; + proposal.approvalReached = true; proposal.castedVotingPower = BigInt.fromString(TWO); proposal.assertEntity(); diff --git a/packages/subgraph/tests/token/utils.ts b/packages/subgraph/tests/token/utils.ts index eec075fa6..c8838bda5 100644 --- a/packages/subgraph/tests/token/utils.ts +++ b/packages/subgraph/tests/token/utils.ts @@ -344,12 +344,13 @@ export function createTokenVotingProposalEntityState( tokenVotingProposal.startDate = BigInt.fromString(startDate); tokenVotingProposal.endDate = BigInt.fromString(endDate); tokenVotingProposal.snapshotBlock = BigInt.fromString(snapshotBlock); + tokenVotingProposal.isSignaling = false; tokenVotingProposal.totalVotingPower = BigInt.fromString(totalVotingPower); tokenVotingProposal.allowFailureMap = BigInt.fromString(allowFailureMap); tokenVotingProposal.createdAt = BigInt.fromString(createdAt); tokenVotingProposal.creationBlockNumber = creationBlockNumber; - tokenVotingProposal.potentiallyExecutable = executable; + tokenVotingProposal.approvalReached = executable; tokenVotingProposal.earlyExecutable = earlyExecutable; tokenVotingProposal.save(); From 7ce76e6d94f5f180d75d73cb620fe0b8f210417d Mon Sep 17 00:00:00 2001 From: Aragon One Autobot <60001447+arabot-1@users.noreply.github.com> Date: Thu, 23 Nov 2023 16:59:04 +0100 Subject: [PATCH 4/6] Update changelog in subgraph --- packages/subgraph/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/subgraph/CHANGELOG.md b/packages/subgraph/CHANGELOG.md index 2129e64a9..f30326273 100644 --- a/packages/subgraph/CHANGELOG.md +++ b/packages/subgraph/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UPCOMING] +## 1.4.0 + ### Added - Added `isSignaling` attribute to `TokenVotingProposal`, `AddresslistVotingProposal`, and `MultisigProposal` that is set to true for proposals having an empty action array. 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 5/6] 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" From 6bc68ec65c6ebb0c4649bb2072a79a1acd054066 Mon Sep 17 00:00:00 2001 From: Mathias Scherer Date: Thu, 30 Nov 2023 16:26:53 +0100 Subject: [PATCH 6/6] ci(subgraph): fix condition for workflow dispatch (#506) --- .github/workflows/subgraph-deploy.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/subgraph-deploy.yaml b/.github/workflows/subgraph-deploy.yaml index dce5c640d..bc1206b7b 100644 --- a/.github/workflows/subgraph-deploy.yaml +++ b/.github/workflows/subgraph-deploy.yaml @@ -69,9 +69,10 @@ jobs: runs-on: ubuntu-latest needs: [prepare, changelog] if: > + always() && ( (github.event_name == 'workflow_dispatch') || ( needs.changelog.result == 'success' && - contains(toJson(github.event.pull_request.labels.*.name), 'subgraph:deploy')) + contains(toJson(github.event.pull_request.labels.*.name), 'subgraph:deploy'))) environment: ${{ needs.prepare.outputs.environment }} strategy: fail-fast: false