What gets logged
Each FHE operation emits a formatted log entry showing the operation name, the input and output operand hashes (truncated), and the security zone:withLogs(name, fn) (recommended)
Wraps a block of code with logging enabled and prints a labeled box around the output. The name appears as the header so you can identify which call produced which operations.
withLogs enables logging before the closure runs and disables it after, so only operations from within that block appear in the output.
enableLogs() / disableLogs() (manual)
For finer-grained control, you can enable and disable logging manually:
enableLogs accepts an optional label string. If provided, it prints a labeled header immediately, useful when you want to mark a section of output at a known point.Default logging behavior
Logging is enabled by default:MockTaskManager ships with its logOps flag set to true, so every FHE operation prints from the moment the mocks are deployed.
The flag lives onchain, not in your Hardhat config. Every control below is a transaction that flips logOps on the deployed MockTaskManager, which is why the setting resets each time the mocks are redeployed.
To silence logs for a whole test suite, disable them once in a global setup hook:
test/setup.ts