Blend
Let's modify the Blend contract to emit detailed events
Blend is an onchain NFT-lending protocol, developed by the BLUR team. The contract is quite gas-efficient, which it achieves by:
- not storing loan state onchain, and
- emitting less information from event logs
With GhostLogs we can inject custom, gasless events into the contract which gives us observability while still being gas-efficient since no modifications are actually deployed onchain. Instead our modified versions run in an offchain context.
Maximum observability 🤝 Maximum gas-efficiency
The Repay event is a bit thin since it only emits the lienId and the collection of the loan being repaid.
So let's use GhostLogs to create a new event with a lot more details and then emit it.
Declare the event in IBlend.sol with all the properties that we want to surface.

In Blend.sol, update the _repay internal function to also emit our newly declared RepayDetails event.
We can access local context (lien data) and even call helper methods to perform calculations (computeCurrentDebt)
to expose the debt that was repaid. We could also read private variables and make calls to external contracts if we wanted.
