Sparkn

CodeFox Inc.
DeFiFoundryProxy
15,000 USDC
View results
Submission Details
Severity: medium

Utilize EIP-1167 for gas optimization and security protection

Summary

Utilize EIP-1167 for gas optimization and reduce security concern.

Vulnerability Details

The proxy creation logic resides in _deployProxy function can be optimized by EIP-1167.
EIP-1167 is for the need to clone multiple contracts.

function _deployProxy(address organizer, bytes32 contestId, address implementation) internal returns (address) {
bytes32 salt = _calculateSalt(organizer, contestId, implementation);
address proxy = address(new Proxy{salt: salt}(implementation));
return proxy;
}

Impact

By adopting EIP-1167, the deployment cost will be reduce significantly and reduce the risk of memory collision.

Tools Used

Manual Detection

Recommendations

Use the recommended contract for creating proxies.

...
import "@optionality.io/clone-factory/contracts/CloneFactory.sol";
...
function _deployProxy(address organizer, bytes32 contestId, address implementation) internal returns (address) {
bytes32 salt = _calculateSalt(organizer, contestId, implementation);
address proxy = createClone(implementation);
return proxy;
}

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.