A cash out hook delegate contract provides extensions to a treasury that augment the default JBMultiTerminal behavior.
Cash out hooks include a custom afterCashOutRecordedWith(...) hook that executes after all default protocol cash out logic has successfully executed in the terminal contract. The hook is passed contextual information via a JBAfterCashOutRecordedContext data structure. The afterCashOutRecordedWith(...) hook is called before any reclaimed tokens are transferred out of the terminal contract.
Each IJBTerminal fork can leverage cash out hooks in unique ways.
Cash out hooks must adhere to the IJBCashOutHook interface. Any contract implementing this interface can be used as a cash out hook in a project's rulesets.
The rulesets's dataHook specifies the active cash out hook contract.