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.