Skip to content

jmcore.logging_context

jmcore.logging_context

Task-local CoinJoin log correlation helpers.

Functions:

coinjoin_id_from_commitment(commitment: str) -> str

Derive the stable, short log ID for a validated PoDLE commitment.

Source code in jmcore/src/jmcore/logging_context.py
13
14
15
16
17
def coinjoin_id_from_commitment(commitment: str) -> str:
    """Derive the stable, short log ID for a validated PoDLE commitment."""
    if not _COMMITMENT_RE.fullmatch(commitment):
        raise ValueError("PoDLE commitment must be exactly 64 hexadecimal characters")
    return f"cj-{commitment[:12].lower()}"

coinjoin_log_context(commitment: str) -> AbstractContextManager[None]

Bind a commitment-derived CoinJoin ID to Loguru's task-local context.

Source code in jmcore/src/jmcore/logging_context.py
20
21
22
def coinjoin_log_context(commitment: str) -> AbstractContextManager[None]:
    """Bind a commitment-derived CoinJoin ID to Loguru's task-local context."""
    return logger.contextualize(cj_id=coinjoin_id_from_commitment(commitment))