Skip to content

Instantly share code, notes, and snippets.

@w1nt3r-eth
Created December 28, 2023 02:30
Show Gist options
  • Save w1nt3r-eth/e3a6701cb4bc144c8d86036c59846fe9 to your computer and use it in GitHub Desktop.
Save w1nt3r-eth/e3a6701cb4bc144c8d86036c59846fe9 to your computer and use it in GitHub Desktop.
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Address.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Address.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Address.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Address.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Strings.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Strings.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Strings.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/Strings.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol
diff --git a/nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol b/nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol
similarity index 100%
rename from nouns_data/NounsDAOData/Users/david/projects/crypto/nouns/dao-logic-v3/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol
rename to nouns_data/NounsDAOData/Users/elad/code/nounsDAO/nouns-monorepo/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol
diff --git a/nouns_data/NounsDAOData/contracts/governance/data/NounsDAOData.sol b/nouns_data/NounsDAOData/contracts/governance/data/NounsDAOData.sol
index 64528fc..d3c511e 100644
--- a/nouns_data/NounsDAOData/contracts/governance/data/NounsDAOData.sol
+++ b/nouns_data/NounsDAOData/contracts/governance/data/NounsDAOData.sol
@@ -19,11 +19,15 @@ pragma solidity ^0.8.19;
import { OwnableUpgradeable } from '@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol';
import { NounsDAOV3Proposals } from '../NounsDAOV3Proposals.sol';
-import { NounsTokenLike } from '../NounsDAOInterfaces.sol';
+import { NounsTokenLike, NounsDAOStorageV3 } from '../NounsDAOInterfaces.sol';
import { SignatureChecker } from '../../external/openzeppelin/SignatureChecker.sol';
import { UUPSUpgradeable } from '@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol';
import { NounsDAODataEvents } from './NounsDAODataEvents.sol';
+interface INounsDAO {
+ function proposalsV3(uint256 proposalId) external view returns (NounsDAOStorageV3.ProposalCondensed memory);
+}
+
contract NounsDAOData is OwnableUpgradeable, UUPSUpgradeable, NounsDAODataEvents {
/**
* ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
@@ -38,6 +42,9 @@ contract NounsDAOData is OwnableUpgradeable, UUPSUpgradeable, NounsDAODataEvents
error FailedWithdrawingETH(bytes data);
error InvalidSignature();
error InvalidSupportValue();
+ error ProposalToUpdateMustBeUpdatable();
+ error OnlyProposerCanCreateUpdateCandidate();
+ error UpdateProposalCandidatesOnlyWorkWithProposalsBySigs();
/**
* ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
@@ -99,6 +106,12 @@ contract NounsDAOData is OwnableUpgradeable, UUPSUpgradeable, NounsDAODataEvents
/**
* @notice Create a new proposal candidate by emitting an event. Nouners can post for free, while non-Nouners must pay `createCandidateCost` in ETH.
+ * When used to update a proposal created by signatures, `proposalIdToUpdate` should be the ID of the proposal to update,
+ * and no fee is required.
+ * Also in this case, the following conditions must be met:
+ * 1. The proposal must be in the Updatable state.
+ * 2. `msg.sender` must be the same as the proposer of the proposal to update.
+ * 3. The proposal must have at least one signer.
* @dev Reverts if the proposer (msg.sender) has already created a candidate with the same slug.
* @param targets the candidate proposal targets.
* @param values the candidate proposal values.
@@ -117,8 +130,19 @@ contract NounsDAOData is OwnableUpgradeable, UUPSUpgradeable, NounsDAODataEvents
string memory slug,
uint256 proposalIdToUpdate
) external payable {
- if (!isNouner(msg.sender) && msg.value < createCandidateCost) revert MustBeNounerOrPaySufficientFee();
+ if (proposalIdToUpdate > 0) {
+ INounsDAO dao = INounsDAO(nounsDao);
+ NounsDAOStorageV3.ProposalCondensed memory propInfo = dao.proposalsV3(proposalIdToUpdate);
+
+ if (block.number > propInfo.updatePeriodEndBlock) revert ProposalToUpdateMustBeUpdatable();
+ if (propInfo.proposer != msg.sender) revert OnlyProposerCanCreateUpdateCandidate();
+ if (propInfo.signers.length == 0) revert UpdateProposalCandidatesOnlyWorkWithProposalsBySigs();
+ } else {
+ if (!isNouner(msg.sender) && msg.value < createCandidateCost) revert MustBeNounerOrPaySufficientFee();
+ }
+
if (propCandidates[msg.sender][keccak256(bytes(slug))]) revert SlugAlreadyUsed();
+ NounsDAOV3Proposals.checkProposalTxs(NounsDAOV3Proposals.ProposalTxs(targets, values, signatures, calldatas));
propCandidates[msg.sender][keccak256(bytes(slug))] = true;
@@ -170,6 +194,7 @@ contract NounsDAOData is OwnableUpgradeable, UUPSUpgradeable, NounsDAODataEvents
) external payable {
if (!isNouner(msg.sender) && msg.value < updateCandidateCost) revert MustBeNounerOrPaySufficientFee();
if (!propCandidates[msg.sender][keccak256(bytes(slug))]) revert SlugDoesNotExist();
+ NounsDAOV3Proposals.checkProposalTxs(NounsDAOV3Proposals.ProposalTxs(targets, values, signatures, calldatas));
bytes memory encodedProp = NounsDAOV3Proposals.calcProposalEncodeData(
msg.sender,
@w1nt3r-eth
Copy link
Author

Repro:

$ git init .
$ cast etherscan-source -d nouns_data 0x26d6cd86c1f30ad528c67300bd7acf48f23f9eb6
$ git add .
$ git commit -m "Pre-upgrade"
$ rm -rf nouns_data
$ cast etherscan-source -d nouns_data 0x624eFabA6E7df177AD8cA5BeE3bD62f78B304B6e
$ git add .
$ git commit -m "Post-upgrade"
$ git show

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment