What you said is basically everything. I'm quite sure that the book covers transactions from user's perspective fully. You can download the PDF (I believe it's free for every copy of the book) and search for the word "transaction".
You are right that the book doesn't really cover the implementation part of Sodium, which is a pity. Actually, Stephen wrote some post that might interest you in another thread. He explains how the priority queue algorithm works and also quotes a paper that describes it in detail.
You can also do a simple exercise:
Take your favourite language (from the ones supported by Sodium). After ensuring that you understand how operators work semantically, try to reimplement the API using the simplest approach that comes to your mind. Instead of analyzing the Sodium implementation, which is non-trivial, because it's kinda optimized and handles memory management.