I'm happy to help rebuild if anyone wants to.
It's kindda unfair, because I helped build it once already, so of course the whole protocol already exists in my head. In retrospect, there is 2 implementations of it already, one pure JS and another rust/wasm.
Anyway, I think it's easy enough I could ...