Skip to content
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

ibc-types: bump prost, tendermint, ibc-proto, ics23 #94

Merged
merged 2 commits into from
Dec 7, 2024

Conversation

SuperFluffy
Copy link
Collaborator

Updates the following dependencies:

  • ibc-proto: 0.42.2 -> 0.51.1
  • ics23: 0.11.3 -> 0.12.0
  • prost: 0.12.0 -> 0.13.3
  • tendermint: 0.34.0 -> 0.40.0
  • tendermint-light-client-verifier: 0.34.0 -> 0.40.0
  • tendermint-proto: 0.34.0 -> 0.40.0
  • tendermint-rpc: 0.34.0 -> 0.40.0
  • tendermint-testgen: 0.34.0 -> 0.40.0

The bump to the latest tendermint version required bumping prost, which in turns required updates of ibc-proto and ics23 (where I opted for their latest releases, respectively).

The two larger changes are:

  1. From [email protected] onward conversions between core::time::Duration and protobuf.google.Duration are now fallible. I introduced a newtype wrapper CometBftDuration to restore the previous behavior saturating at i64::MAX (for seconds) and i32::MAX (for nanos), respectively.
  2. From [email protected] onward tendermint::abci::EventAttribute became an enum with variants V037 and V034, and introduced the fallible accessors EventAttribute::key_str and EventAttribute::value_str, in addition to the infallible EventAttribute::key_bytes and EventAttribute::value_bytes. This required changes in many TryFrom<Event> impls that would previously match on &str keys and directly move (or parse) String values. I chose to avoid extra error handling, instead matching on byte-string using value_bytes() (e.g. now b"packet_src_channel" => {} instead of the previous "packet_src_channel" => {}), and relying on String::from_utf8_lossy for the values.

@erwanor erwanor self-requested a review December 6, 2024 17:59
@erwanor erwanor added the domain-type-change A change to the domain types modeling the IBC protocol label Dec 7, 2024
trusting_period: Some(value.trusting_period.into()),
unbonding_period: Some(value.unbonding_period.into()),
max_clock_drift: Some(value.max_clock_drift.into()),
trusting_period: Some(CometBftDuration(value.trusting_period).into()),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK. This makes sense to me. This is a domain type change, but doesn't affect the wire protocol.

@erwanor erwanor merged commit 0abbaeb into penumbra-zone:main Dec 7, 2024
4 checks passed
@erwanor erwanor changed the title bump prost, tendermint, ibc-proto, ics23 ibc-types: bump prost, tendermint, ibc-proto, ics23 Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain-type-change A change to the domain types modeling the IBC protocol
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants