Just wrapped up a fun yet tricky part of my escrow project: fee implementation.

What I added:
Fee payout logic

Dynamic fee recipient address

Full test coverage with Foundry

A special Rejection contract to simulate fee transfer failures

This small feature really made me appreciate how complex simple things can be in Solidity when you care about:

⛽️ Gas efficiency

🔒 Security

✅ Test coverage

One cool challenge:
Making sure the contract reverts properly if the fee transfer fails without deleting the original amount. Sounds easy... wasn’t 😂

Now that everything passes (23/23 tests 💪), I'm moving toward multisig support next.

If you're also diving into Solidity, trust me — testing teaches more than coding.

Let me know what you think, or if you want to walk through your own fee logic!

Feel free to check out the full code and see how I implemented it on GitHub: [https://github.com/Achraf012/learning-projects/tree/main/EscrowProject]

solidity #web3 #foundry #smartcontracts #buildinpublic #testing