74fa87aa98
## Proposed Changes This is an extraction of the quoted int code from #1569, that I've come to rely on for #1544. It allows us to parse integers from serde strings in YAML, JSON, etc. The main differences from the code in Paul's original PR are: * Added a submodule that makes quoting mandatory (`require_quotes`). * Decoding is generic over the type `T` being decoded. You can use `#[serde(with = "serde_utils::quoted_u64::require_quotes")]` on `Epoch` and `Slot` fields (this is what I do in my slashing protection PR). I've turned on quoting for `Epoch` and `Slot` in this PR, but will leave the other `types` changes to you Paul. I opted to put everything in the `conseus/serde_utils` module so that BLS can use it without a circular dependency. In future when we want to publish `types` I think we could publish `serde_utils` as `lighthouse_serde_utils` or something. Open to other ideas on this front too.
13 lines
293 B
TOML
13 lines
293 B
TOML
[package]
|
|
name = "serde_utils"
|
|
version = "0.1.0"
|
|
authors = ["Paul Hauner <paul@paulhauner.com", "Michael Sproul <michael@sigmaprime.io>"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
serde = { version = "1.0.110", features = ["derive"] }
|
|
serde_derive = "1.0.110"
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1.0.52"
|