saveCheckpoint

suspend fun saveCheckpoint(address: String, state: ZswapLocalState, cursor: Long)

Persist the checkpoint (serialized state + resume cursor) ATOMICALLY — both keys in one edit — so a reader can never observe a torn pair (an old state with a new cursor would make the next delta resume at the wrong frontier; see loadCheckpoint).