Hooks.wtf

Audit Findings

AddressFeeSplitManager.sol

The AddressFeeSplitManager allows multiple recipient addresses to be allocated a share of the revenue earned from memestreams held within the manager. These addresses are set immutably at initialization and cannot be modified.

Creators can earn a share of the fees generated by their created Flaunch tokens, with the remainder split.

These results only pertain to changes required in the AddressFeeSplitManager.sol. Inherited files are reported separately.


[LOW] Missing Zero-Address Check

The transferRecipientShare function checks that msg.sender != _newRecipient, but doesn't validate that _newRecipient is not the zero address. This could lead to tokens being permanently locked.

Proposed Solution

function transferRecipientShare(address _newRecipient) public {
    // Don't allow the sender to transfer to themselves or a zero address
    if (msg.sender == _newRecipient || _newRecipient == address(0)) {
        revert InvalidShareTransferRecipient();
    }

    // ..
}

[INFO] Enumerable.Set imported but not used

The EnumerableSet library is imported from OpenZeppelin and the contract is using EnumerableSet for EnumerableSet.UintSet, but there is no usage of the library in the contract.

Previous
Getting started