Contract with a payable
function, but without a withdrawal capacity.
Contract locking ether found:
Contract PauseFacet (contracts/beanstalk/diamond/PauseFacet.sol#15-44) has payable functions:
- PauseFacet.pause() (contracts/beanstalk/diamond/PauseFacet.sol#27-33)
- PauseFacet.unpause() (contracts/beanstalk/diamond/PauseFacet.sol#35-43)
But does not have a function to withdraw the ether
Contract locking ether found:
Contract TokenSupportFacet (contracts/beanstalk/farm/TokenSupportFacet.sol#21-106) has payable functions:
- TokenSupportFacet.permitERC20(IERC20Permit,address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/beanstalk/farm/TokenSupportFacet.sol#30-41)
- TokenSupportFacet.transferERC721(IERC721,address,uint256) (contracts/beanstalk/farm/TokenSupportFacet.sol#53-59)
- TokenSupportFacet.permitERC721(IERC4494,address,uint256,uint256,bytes) (contracts/beanstalk/farm/TokenSupportFacet.sol#65-73)
- TokenSupportFacet.transferERC1155(IERC1155,address,uint256,uint256) (contracts/beanstalk/farm/TokenSupportFacet.sol#85-92)
- TokenSupportFacet.batchTransferERC1155(IERC1155,address,uint256[],uint256[]) (contracts/beanstalk/farm/TokenSupportFacet.sol#98-105)
But does not have a function to withdraw the ether
Contract locking ether found:
Contract ApprovalFacet (contracts/beanstalk/silo/ApprovalFacet.sol#22-200) has payable functions:
- ApprovalFacet.approveDeposit(address,address,uint256) (contracts/beanstalk/silo/ApprovalFacet.sol#44-52)
- ApprovalFacet.permitDeposits(address,address,address[],uint256[],uint256,uint8,bytes32,bytes32) (contracts/beanstalk/silo/ApprovalFacet.sol#118-132)
- ApprovalFacet.permitDeposit(address,address,address,uint256,uint256,uint8,bytes32,bytes32) (contracts/beanstalk/silo/ApprovalFacet.sol#146-158)
But does not have a function to withdraw the ether
Contract locking ether found:
Contract EnrootFacet (contracts/beanstalk/silo/EnrootFacet.sol#18-260) has payable functions:
- EnrootFacet.enrootDeposit(address,int96,uint256) (contracts/beanstalk/silo/EnrootFacet.sol#75-123)
- EnrootFacet.enrootDeposits(address,int96[],uint256[]) (contracts/beanstalk/silo/EnrootFacet.sol#138-206)
But does not have a function to withdraw the ether
Contract locking ether found:
Contract L2ContractMigrationFacet (contracts/beanstalk/silo/L2ContractMigrationFacet.sol#19-242) has payable functions:
- L2ContractMigrationFacet.redeemDepositsAndInternalBalances(address,address,L2ContractMigrationFacet.AccountDepositData[],L2ContractMigrationFacet.AccountInternalBalance[],uint256,bytes32[],uint256,bytes) (contracts/beanstalk/silo/L2ContractMigrationFacet.sol#88-114)
But does not have a function to withdraw the ether
No ability to withdraw tokens within the functions eventually lock the protocol.
Slither
Remove the payable attribute or add a withdraw function.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.