Make use of minimal proxy clone factories to save on gas fees
The traditional Factory pattern being used here is expensive as it redeploys many Escrow contracts that are standalone contracts each with completely own bytecode but almost similar bytecode as they have the same logic. With Clone pattern, the Escrow template contract is deployed once and as an implementation contract. All other Escrow contracts make use of delegate call to this implementation contract in the context of their own state.
Gas Savings: Clones are able to save up to 50% or even more gas in deploying new contracts compared to the traditional Factory that is used. Since all the Escrow contracts will have similar functionality, they have similar bytecode serve for the initialization of their states. Therefore, clone patterns reuse a template Escrow contract as an implementation contract and delegate call is used to reuse the logic of this contract by any other new Escrows.
Some contracts e.g Porter Finance even saved up to 10 times or more in gas by using this strategy. See links below
Manual Analysis
Link 1. https://soliditydeveloper.com/clonefactory
Link 2. https://blog.openzeppelin.com/deep-dive-into-the-minimal-proxy-contract
Link 3. https://www.youtube.com/watch?v=3Mw-pMmJ7TA //
It is recommended to make use of minimal proxy for example EIP 1167 Minimal Proxy Contract. You can make use of the good solid audited OpenZeppelin Clones contracts to ensure proxy contract is used to save on deployment costs for Escrow contracts
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.