txpipe / dolos

Cardano Data Node
https://dolos.txpipe.io
Apache License 2.0
65 stars 18 forks source link

Initial pass at pparams testing #217

Closed Quantumplation closed 3 months ago

Quantumplation commented 3 months ago

This is a first pass at testing the implementation of fold_pparams, as described in #180

In particular, it only checks that the resulting fold results in the correct major protocol version, until we add serialization/deserialization to the MultiEraProtocolParams object (which is what I'll work on next). After we have that serialization, I'll drop the different protocol-parameters.json files into src/ledger/pparams/test_data/mainnet/expected_params and update the tests.

This tries to integrate / document the information / reality of how protocol versions have historically been treated; in particular, there is a protocol version that is used to negotiate in the networking stack, and there's a protocol version (maybe better called a ledger version) that is used to determine the semantics of the ledger, and they used to not agree.

I'm still not sure my comments are correct, or that I have a perfect grasp on this, but I plan to sync with @JaredCorduan on this when he has some spare cycles.

Some other things that might be useful to do:

scarmuega commented 3 months ago

amazing!

yes, I can move it to pallas after the next release.