serai-dex / serai

Other
242 stars 45 forks source link

monero: documentation #568

Closed hinto-janai closed 1 week ago

hinto-janai commented 1 month ago

Adds more crate documentation to monero-serai.

This PR is forked from and is being merged into monero-tidy.

hinto-janai commented 3 weeks ago

@kayabaNerve Would it make more sense to open this after the crate/module move + FCMP changes to avoid conflicts?

kayabaNerve commented 3 weeks ago

FCMPs aren't being done with this codebase. I personally won't merge any FCMP code into the Serai repo until Monero confirms it will be the next hard fork.

The one question would be if we smash the crates. If we smash the crates, I'd rather do so from this branch.

Feel free to comment your opinions on having monero-generators, monero-mlsag, monero-clsag, monero-bulletproofs, etc.

hinto-janai commented 3 weeks ago

IMO meta-crates have slightly less user-friendly cargo docs and usage compared to modules, other than that I think it's mostly the same to users either way.

From an auditing and maintenance perspective, meta-crates are probably easier to work with.

kayabaNerve commented 3 weeks ago

I'd rather cite bitcoin or alloy as the meta-crate examples.

I'd also note re: tokio, Serai uses a variety of crates from the smol ecosystem (which is an modular attempt at an async ecosystem) because of wanting specific functionality without pulling in all of/binding to tokio.

hinto-janai commented 2 weeks ago

Ah I see, I didn't know #[doc(inline)] existed (wonder why these don't use it). As far as user-friendliness goes then, I guess it's mostly the same.

hinto-janai commented 1 week ago

Closing for now, thanks for adding docs.

kayabaNerve commented 1 week ago

FYI, I do still plan to reconcile this PR. Sorry for stepping over you. I decided to smash the crates per a few brief conversations, and that mandated clear API boundaries, and with it, I decided to get the documentation out of the way.

I should've reconciled this first and forgot to do so. I apologize there.