From fb43f6cf9042cc5d4e17d27929b725f82483b2f4 Mon Sep 17 00:00:00 2001 From: Felipe Forbeck Date: Mon, 4 Oct 2021 13:06:40 -0300 Subject: [PATCH] fix(slither): false-positive - reentrancy-benign --- contracts/adapters/Configuration.sol | 2 ++ contracts/adapters/CouponOnboarding.sol | 1 + contracts/adapters/Distribute.sol | 1 + contracts/adapters/Financing.sol | 2 ++ contracts/adapters/GuildKick.sol | 1 + contracts/adapters/LendNFT.sol | 2 ++ contracts/adapters/Managing.sol | 2 ++ contracts/adapters/Onboarding.sol | 2 ++ contracts/adapters/Signatures.sol | 1 + contracts/adapters/Tribute.sol | 1 + contracts/adapters/TributeNFT.sol | 1 + contracts/extensions/nft/NFT.sol | 1 + 12 files changed, 17 insertions(+) diff --git a/contracts/adapters/Configuration.sol b/contracts/adapters/Configuration.sol index d9bcfbda2..7f586848a 100644 --- a/contracts/adapters/Configuration.sol +++ b/contracts/adapters/Configuration.sol @@ -49,6 +49,7 @@ contract ConfigurationContract is IConfiguration, AdapterGuard { * @param values The token to receive the funds. * @param data Additional details about the financing proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, @@ -81,6 +82,7 @@ contract ConfigurationContract is IConfiguration, AdapterGuard { * @param dao The DAO Address. * @param proposalId The proposal id. */ + // slither-disable-next-line reentrancy-benign function processProposal(DaoRegistry dao, bytes32 proposalId) external override diff --git a/contracts/adapters/CouponOnboarding.sol b/contracts/adapters/CouponOnboarding.sol index b88201451..ea41670b3 100644 --- a/contracts/adapters/CouponOnboarding.sol +++ b/contracts/adapters/CouponOnboarding.sol @@ -130,6 +130,7 @@ contract CouponOnboardingContract is AdapterGuard, Signatures { * @param nonce is a unique identifier for this coupon request * @param signature is message signature for verification */ + // slither-disable-next-line reentrancy-benign function redeemCoupon( DaoRegistry dao, address authorizedMember, diff --git a/contracts/adapters/Distribute.sol b/contracts/adapters/Distribute.sol index 839d3cb27..5d1d5f6d8 100644 --- a/contracts/adapters/Distribute.sol +++ b/contracts/adapters/Distribute.sol @@ -82,6 +82,7 @@ contract DistributeContract is IDistribute, AdapterGuard { * @param amount The amount to distribute. * @param data Additional information related to the distribution proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, diff --git a/contracts/adapters/Financing.sol b/contracts/adapters/Financing.sol index 22693b4fa..992cb2cc9 100644 --- a/contracts/adapters/Financing.sol +++ b/contracts/adapters/Financing.sol @@ -56,6 +56,7 @@ contract FinancingContract is IFinancing, AdapterGuard { * @param amount The desired amount. * @param data Additional details about the financing proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, @@ -101,6 +102,7 @@ contract FinancingContract is IFinancing, AdapterGuard { * @param dao The DAO Address. * @param proposalId The proposal id. */ + // slither-disable-next-line reentrancy-benign function processProposal(DaoRegistry dao, bytes32 proposalId) external override diff --git a/contracts/adapters/GuildKick.sol b/contracts/adapters/GuildKick.sol index d8f81e5c3..531929db6 100644 --- a/contracts/adapters/GuildKick.sol +++ b/contracts/adapters/GuildKick.sol @@ -55,6 +55,7 @@ contract GuildKickContract is IGuildKick, AdapterGuard { * @param memberToKick The member address that should be kicked out of the DAO. * @param data Additional information related to the kick proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, diff --git a/contracts/adapters/LendNFT.sol b/contracts/adapters/LendNFT.sol index b5d114c04..87722504d 100644 --- a/contracts/adapters/LendNFT.sol +++ b/contracts/adapters/LendNFT.sol @@ -93,6 +93,7 @@ contract LendNFTContract is AdapterGuard, IERC1155Receiver, IERC721Receiver { * @param requestAmount The amount requested of DAO internal tokens (UNITS). * @param data Additional information related to the tribute proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, @@ -222,6 +223,7 @@ contract LendNFTContract is AdapterGuard, IERC1155Receiver, IERC721Receiver { /** * @notice Sends the NFT back to the original owner. */ + // slither-disable-next-line reentrancy-benign function sendNFTBack(DaoRegistry dao, bytes32 proposalId) external reentrancyGuard(dao) diff --git a/contracts/adapters/Managing.sol b/contracts/adapters/Managing.sol index 7f0f2c8ae..3a4cdaf56 100644 --- a/contracts/adapters/Managing.sol +++ b/contracts/adapters/Managing.sol @@ -46,6 +46,7 @@ contract ManagingContract is IManaging, AdapterGuard { * @param proposal The proposal details * @param data Additional data to pass to the voting contract and identify the submitter */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, @@ -97,6 +98,7 @@ contract ManagingContract is IManaging, AdapterGuard { * @param dao The dao address. * @param proposalId The guild kick proposal id. */ + // slither-disable-next-line reentrancy-benign function processProposal(DaoRegistry dao, bytes32 proposalId) external override diff --git a/contracts/adapters/Onboarding.sol b/contracts/adapters/Onboarding.sol index a0f2571fb..403b287ae 100644 --- a/contracts/adapters/Onboarding.sol +++ b/contracts/adapters/Onboarding.sol @@ -131,6 +131,7 @@ contract OnboardingContract is IOnboarding, AdapterGuard { * @param tokenAmount The amount of token to mint. * @param data Additional proposal information. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, @@ -169,6 +170,7 @@ contract OnboardingContract is IOnboarding, AdapterGuard { * @notice Once the vote on a proposal is finished, it is time to process it. Anybody can call this function. * @param proposalId The proposal id to be processed. It needs to exist in the DAO Registry. */ + // slither-disable-next-line reentrancy-benign function processProposal(DaoRegistry dao, bytes32 proposalId) external payable diff --git a/contracts/adapters/Signatures.sol b/contracts/adapters/Signatures.sol index 85eaf434e..15b2ca8a5 100644 --- a/contracts/adapters/Signatures.sol +++ b/contracts/adapters/Signatures.sol @@ -53,6 +53,7 @@ contract SignaturesContract is ISignatures, AdapterGuard { * @param magicValue The value to return when a signature is valid * @param data Additional details about the signature proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, diff --git a/contracts/adapters/Tribute.sol b/contracts/adapters/Tribute.sol index e17ba39a0..5063eb73c 100644 --- a/contracts/adapters/Tribute.sol +++ b/contracts/adapters/Tribute.sol @@ -93,6 +93,7 @@ contract TributeContract is AdapterGuard { * @param tributeTokenOwner The owner of the ERC-20 tokens being provided as tribute. * @param data Additional information related to the tribute proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, diff --git a/contracts/adapters/TributeNFT.sol b/contracts/adapters/TributeNFT.sol index bedaa247d..e9b082b69 100644 --- a/contracts/adapters/TributeNFT.sol +++ b/contracts/adapters/TributeNFT.sol @@ -92,6 +92,7 @@ contract TributeNFTContract is AdapterGuard, IERC1155Receiver, IERC721Receiver { * @param requestAmount The amount requested of DAO internal tokens (UNITS). * @param data Additional information related to the tribute proposal. */ + // slither-disable-next-line reentrancy-benign function submitProposal( DaoRegistry dao, bytes32 proposalId, diff --git a/contracts/extensions/nft/NFT.sol b/contracts/extensions/nft/NFT.sol index c2c85a019..10a589f5f 100644 --- a/contracts/extensions/nft/NFT.sol +++ b/contracts/extensions/nft/NFT.sol @@ -132,6 +132,7 @@ contract NFTExtension is AdapterGuard, IExtension, IERC721Receiver { * @param nftAddr The NFT address that must be in ERC721 standard. * @param nftTokenId The NFT token id. */ + // slither-disable-next-line reentrancy-benign function withdrawNFT( address newOwner, address nftAddr,