The types of data used to compute the BLUEPRINT_TYPE_HASH
does not match with the actual types used to obtain the signature
https://github.com/Cyfrin/2024-05-beanstalk-the-finale/blob/main/protocol/contracts/libraries/LibTractor.sol#L30
Currently the BLUEPRINT_TYPE_HASH
is computed as follows:
However, when the blueprint hash is computed, it uses the following types of data:
As we can see, there is a type discrepancy in the third component of the type hash. In the type hash there is the bytes operatorData
meanwhile in the signature hash, it uses a bytes32[] operatorPasteInstrs
.
Medium
Having a discrepancy in the type of data can make other integrators of the protocol to sign data that will not match with the contract implementation.
Manual review
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.