Omniscia AllianceBlock Audit

Diamond Manual Review Findings

Diamond Manual Review Findings

DDN-01M: Inexplicable Presence of Native Fund Receipt

Description:

The Diamond::receive function defined in the contract permits it to receive native funds without actively utilizing them.

Impact:

The severity of this exhibit will be adjusted based on the AllianceBlock team's remediation for it.

Example:

contracts/Diamond.sol
52receive() external payable {}

Recommendation:

We advise the Diamond::receive function implementation to be omitted and a facet with the zero signature to instead be defined (0x00000000) which would be invoked if a native transfers is performed to the contract without an explicit selector.

Alleviation (54fd570de24631ca65a7cea022aebe43225a08c7):

The Diamond::receive function was safely removed as advised, utilizing a newly introduced ReceiverFacet implementation that the call will flow to.