From 2b35480ff9499b5e895b3576912694430ded3048 Mon Sep 17 00:00:00 2001 From: 0xbeny Date: Tue, 21 May 2024 17:44:58 +0400 Subject: [PATCH] DPF-01 --- packages/contracts/src/DaofinPlugin.sol | 4 ++-- .../unit-testing/daofin/update-proposal-metadata.test.ts | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/contracts/src/DaofinPlugin.sol b/packages/contracts/src/DaofinPlugin.sol index a4454f3..3daad42 100644 --- a/packages/contracts/src/DaofinPlugin.sol +++ b/packages/contracts/src/DaofinPlugin.sol @@ -662,10 +662,10 @@ contract DaofinPlugin is BaseDaofinPlugin { } function editProposalMetadata(uint256 _proposalId, bytes calldata _metadata) external { - (bool open, , address proposer, , , ) = getProposal(_proposalId); + (bool open, bool executed, address proposer, , , ) = getProposal(_proposalId); // Proposal must be before election its attached election period. - if (!open) revert InValidTime(); + if (open || executed) revert InValidTime(); // Only proposer address is able to modify metadata. if (proposer != _msgSender()) revert InValidAddress(); diff --git a/packages/contracts/test/unit-testing/daofin/update-proposal-metadata.test.ts b/packages/contracts/test/unit-testing/daofin/update-proposal-metadata.test.ts index c9b80fd..7562300 100644 --- a/packages/contracts/test/unit-testing/daofin/update-proposal-metadata.test.ts +++ b/packages/contracts/test/unit-testing/daofin/update-proposal-metadata.test.ts @@ -122,6 +122,8 @@ describe(PLUGIN_CONTRACT_NAME, function () { [ BigNumber.from(now + 60 * 60 * 24 * 3), BigNumber.from(now + 60 * 60 * 24 * 5), + BigNumber.from(now + 60 * 60 * 24 * 10), + BigNumber.from(now + 60 * 60 * 24 * 12), ], [Bob.address], '1', @@ -131,7 +133,7 @@ describe(PLUGIN_CONTRACT_NAME, function () { await daofinPlugin.joinHouse({value: parseEther('1')}); }); describe('Modify Proposal Metadata', async () => { - it('Modify proposal', async () => { + it('must not revert if it is before starting period', async () => { createPropsalParams = createProposalParams( '0x00', [], @@ -153,12 +155,12 @@ describe(PLUGIN_CONTRACT_NAME, function () { ); await proposalTx.wait(); - await expect(daofinPlugin.editProposalMetadata(proposalId, '0x01')).to + await expect(daofinPlugin.editProposalMetadata(proposalId, '0x01')).to.not .reverted; await advanceTime(ethers, convertDaysToSeconds(4)); - await expect(daofinPlugin.editProposalMetadata(proposalId, '0x01')).to.not + await expect(daofinPlugin.editProposalMetadata(proposalId, '0x01')).to .reverted; const proposal = await daofinPlugin._proposals(proposalId);