-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
abci: Add domain types #862
abci: Add domain types #862
Commits on Nov 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 3fa00dc - Browse repository at this point
Copy the full SHA 3fa00dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 69f0082 - Browse repository at this point
Copy the full SHA 69f0082View commit details -
Configuration menu - View commit details
-
Copy full SHA for c43a78e - Browse repository at this point
Copy the full SHA c43a78eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 57dd21b - Browse repository at this point
Copy the full SHA 57dd21bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d6c8395 - Browse repository at this point
Copy the full SHA d6c8395View commit details -
Update imports to reflect protobuf movements.
The BlockParams and ConsensusParams structs moved out of the ABCI protos.
Configuration menu - View commit details
-
Copy full SHA for 39a9bd4 - Browse repository at this point
Copy the full SHA 39a9bd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e48efa - Browse repository at this point
Copy the full SHA 6e48efaView commit details -
p2p: treat all non-Ed25519 keys as unsupported
This fixes a compile error introduced by upstream proto changes that add an Sr25519 variant.
Configuration menu - View commit details
-
Copy full SHA for ee4c84a - Browse repository at this point
Copy the full SHA ee4c84aView commit details -
Improve ABCI response code modeling with NonZeroU32
The previous data modeling allowed a user to construct an `Err(0)` value that would be serialized and deserialized as `Ok`.
Configuration menu - View commit details
-
Copy full SHA for d9ed69a - Browse repository at this point
Copy the full SHA d9ed69aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f47712 - Browse repository at this point
Copy the full SHA 4f47712View commit details -
Configuration menu - View commit details
-
Copy full SHA for 156cce9 - Browse repository at this point
Copy the full SHA 156cce9View commit details -
tendermint: define Serde for Block in terms of RawBlock
This changes the Serialize/Deserialize implementations for Block to convert to/from the proto-generated `RawBlock`, and use the derived serialization for that type. This is much cleaner and more maintainable than keeping Serde annotations for each sub-member of the data structure, because all of the serialization code is kept in one place, and there's only one validation path (the TryFrom conversion from RawBlock to Block) that applies to both kinds of serialization.
Configuration menu - View commit details
-
Copy full SHA for 89e6659 - Browse repository at this point
Copy the full SHA 89e6659View commit details -
tendermint: simpler transaction modeling in Block
This changes the Block type to hold the transactions as a plain `Vec<Vec<u8>>`, rather than as a custom `abci::transaction::Data` type (which is itself a wrapper for an `Option<Vec<Transaction>>`, the `Transaction` type being a wrapper for a `Vec<u8>`). This also updates the `Block` getter functions; it's not clear (to me) why they're there, since they access the public fields and aren't used anywhere else.
Configuration menu - View commit details
-
Copy full SHA for 9beadce - Browse repository at this point
Copy the full SHA 9beadceView commit details -
rpc: take over tendermint::abci
The existing contents of the `tendermint::abci` module note that they're only for the purpose of implementing the RPC endpoints, not a general ABCI implementation. Moving that code from the `tendermint` crate to the `tendermint-rpc` crate decouples the RPC interface from improvements to the ABCI domain modeling. Eventually, it would be good to eliminate this code and align it with the new ABCI domain types.
Configuration menu - View commit details
-
Copy full SHA for ecc309d - Browse repository at this point
Copy the full SHA ecc309dView commit details -
tendermint: add ABCI domain types.
These types mirror the generated types in tendermint_proto, but have better naming. The documentation for each request type is adapted from the ABCI Methods and Types spec document. However, the same logical request may appear three times, as a struct with the request data, as a Request variant, and as a CategoryRequest variant. To avoid duplication, this PR uses the `#[doc = include_str!(...)]` functionality stabilized in Rust 1.54 to keep common definitions of the documentation.
Configuration menu - View commit details
-
Copy full SHA for 28682cd - Browse repository at this point
Copy the full SHA 28682cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dcdc6f - Browse repository at this point
Copy the full SHA 0dcdc6fView commit details -
Merge
abci::params::ConsensusParams
withconsensus::Params
.The code in the `abci` module had more complete documentation from the ABCI docs, so I copied it onto the existing structure.
Configuration menu - View commit details
-
Copy full SHA for 4dbbbd0 - Browse repository at this point
Copy the full SHA 4dbbbd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c5eff5 - Browse repository at this point
Copy the full SHA 3c5eff5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f1a4c8 - Browse repository at this point
Copy the full SHA 1f1a4c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9660feb - Browse repository at this point
Copy the full SHA 9660febView commit details