The code is annotated at multiple places with //@audit comments to pinpoint the issues. Please, pay attention to them for more details.
Summary
Only some missing @param and @return comments were found as low-risk issues according to C4's scale.
While Delegator.sol:initialize() was found to be front-runnable (but not callable multiple times), the issue was severe enough (due to CREATE2) to be sent separately as a medium-risk issue instead of a low-risk one.
File: PermitAndMulticall.sol
function _permitAndMulticall()
Missing @param _permitToken
39: /**
40: * @notice Alow a user to approve ticket and run various calls in one transaction.
41: * @param _from Address of the sender //@audit missing @param _permitToken
42: * @param _amount Amount of tickets to approve
43: * @param _permitSignature Permit signature
44: * @param _data Datas to call with `functionDelegateCall`
45: */
46: function _permitAndMulticall(
47: IERC20Permit _permitToken,
48: address _from,
49: uint256 _amount,
50: Signature calldata _permitSignature,
51: bytes[] calldata _data
52: ) internal {
File: TWABDelegator.sol
event TransferredDelegation()
Missing @param to
125: /**
126: * @notice Emitted when a delegator withdraws an amount of tickets from a delegation to their wallet.
127: * @param delegator Address of the delegator
128: * @param slot Slot of the delegation
129: * @param amount Amount of tickets withdrawn //@audit missing @param to
130: */
131: event TransferredDelegation(
132: address indexed delegator,
133: uint256 indexed slot,
134: uint256 amount,
135: address indexed to
136: );
function _executeCall()
Missing @return bytes[]
File: TWABDelegator.sol
543: /**
544: * @notice Execute a function call on the delegation contract.
545: * @param _delegation Address of the delegation contract
546: * @param _data The call data that will be executed //@audit missing @return bytes[]
547: */
548: function _executeCall(Delegation _delegation, bytes memory _data)
549: internal
550: returns (bytes[] memory)
QA Report
Table of Contents:
@param _permitToken
@param to
@return bytes[]
Foreword
@audit
tagsSummary
@param
and@return
comments were found as low-risk issues according to C4's scale.Delegator.sol:initialize()
was found to be front-runnable (but not callable multiple times), the issue was severe enough (due to CREATE2) to be sent separately as a medium-risk issue instead of a low-risk one.File: PermitAndMulticall.sol
function _permitAndMulticall()
Missing
@param _permitToken
File: TWABDelegator.sol
event TransferredDelegation()
Missing
@param to
function _executeCall()
Missing
@return bytes[]