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

build(deps): bump tendermint-proto from 0.35.0 to 0.36.0 #900

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 25, 2024

Bumps tendermint-proto from 0.35.0 to 0.36.0.

Release notes

Sourced from tendermint-proto's releases.

v0.36.0

This release brings substantial performance improvements to the voting power computation within the light client, improves the handling of misformed blocks (eg. with empty last_commit on non-first block) when decoding them from Protobuf or RPC responses, and adds missing serde derives on some Protobuf definitions.

This release also technically contains a breaking change in tendermint-proto, but this should not impact normal use of the library, as the ToPrimitive impl that was removed on BlockIdFlag trait did not provide any additional functionality.

BREAKING CHANGES

  • [tendermint-proto] Remove redundant impl of num_traits::ToPrimitive for BlockIDFlag (#1389)

  • [tendermint] Change EventAttribute's key and value fields from String to Vec<u8> for Tendermint v0.34, as enforced by the Protobuf schema for Tendermint v0.34. tendermint::abci::EventAttribute is now an enum, to account for version 0.34 and 0.37+, therefore the key, value and index fields now have to be retrieved through the key_str()/key_bytes, value_str()/value_bytes() and index() methods. (#1400).

  • [light-client-verifier] Rework VerificationPredicates and VotingPowerCalculator by introducing methods which check validators and signers overlap at once. The motivation of this is to avoid checking the same signature multiple times.

    Consider a validator is in old and new set. Previously their signature would be verified twice. Once by call to has_sufficient_validators_overlap method and second time by call to has_sufficient_signers_overlap method.

    With the new interface, has_sufficient_validators_and_signers_overlap is called and it can be implemented to remember which signatures have been verified.

    As a side effect of those changes, signatures are now verified in the order of validator’s power which may further reduce number of signatures which need to be verified.

    (#1410)

FEATURES

  • [tendermint-proto] Add missing serde derives on Protobuf definitions (#1389)
  • [tendermint] Add the following impls for ed25519-consensus:
    • From<ed25519_consensus::SigningKey for tendermint::PrivateKey
    • From<ed25519_consensus::SigningKey> for tendermint::SigningKey
    • From<ed25519_consensus::VerificationKey> for tendermint::PublicKey
    • From<ed25519_consensus::VerificationKey> for tendermint::VerificationKey (#1401)

IMPROVEMENTS

  • [tendermint] Allow misformed blocks (eg. with empty last_commit on non-first block) when decoding them from Protobuf or RPC responses (#1403)
  • [tendermint] Check index ≤ i32::MAX invariant when converting usize into ValidatorIndex. (#1411)
  • [light-client-verifier] Optimise validators lookup in ProvidedVotingPowerCalculator::voting_power_in method. (#1407)
  • [tendermint-light-client-verifier] Reuse buffer used to store sign_bytes to reduce number of allocations and deallocations. (#1413)
Changelog

Sourced from tendermint-proto's changelog.

v0.36.0

This release brings substantial performance improvements to the voting power computation within the light client, improves the handling of misformed blocks (eg. with empty last_commit on non-first block) when decoding them from Protobuf or RPC responses, and adds missing serde derives on some Protobuf definitions.

This release also technically contains a breaking change in tendermint-proto, but this should not impact normal use of the library, as the ToPrimitive impl that was removed on BlockIdFlag trait did not provide any additional functionality.

BREAKING CHANGES

  • [tendermint-proto] Remove redundant impl of num_traits::ToPrimitive for BlockIDFlag (#1389)

  • [tendermint] Change EventAttribute's key and value fields from String to Vec<u8> for Tendermint v0.34, as enforced by the Protobuf schema for Tendermint v0.34. tendermint::abci::EventAttribute is now an enum, to account for version 0.34 and 0.37+, therefore the key, value and index fields now have to be retrieved through the key_str()/key_bytes, value_str()/value_bytes() and index() methods. (#1400).

  • [light-client-verifier] Rework VerificationPredicates and VotingPowerCalculator by introducing methods which check validators and signers overlap at once. The motivation of this is to avoid checking the same signature multiple times.

    Consider a validator is in old and new set. Previously their signature would be verified twice. Once by call to has_sufficient_validators_overlap method and second time by call to has_sufficient_signers_overlap method.

    With the new interface, has_sufficient_validators_and_signers_overlap is called and it can be implemented to remember which signatures have been verified.

    As a side effect of those changes, signatures are now verified in the order of validator’s power which may further reduce number of signatures which need to be verified.

    (#1410)

FEATURES

  • [tendermint-proto] Add missing serde derives on Protobuf definitions (#1389)
  • [tendermint] Add the following impls for ed25519-consensus:
    • From<ed25519_consensus::SigningKey for tendermint::PrivateKey
    • From<ed25519_consensus::SigningKey> for tendermint::SigningKey
    • From<ed25519_consensus::VerificationKey> for tendermint::PublicKey
    • From<ed25519_consensus::VerificationKey> for tendermint::VerificationKey (#1401)

IMPROVEMENTS

  • [tendermint] Allow misformed blocks (eg. with empty last_commit on non-first block) when decoding them from Protobuf or RPC responses (#1403)
  • [tendermint] Check index ≤ i32::MAX invariant when converting usize into ValidatorIndex.

... (truncated)

Commits
  • 1b219d2 Release v0.36.0 (#1414)
  • 38a067c light-client-verifier: reuse sign_bytes buffer (#1413)
  • 979456c tendermint: Change EventAttribute's key and value fields to Vec\<u8> f...
  • dac61d1 light-client-verifier: Avoid checking signatures multiple times (#1410)
  • 6399b5b tendermint: ensure ValidatorIndex is ≤ i32::MAX (#1411)
  • 404349e light-client-verifier: optimise validator lookup in voting_power_in (#1407)
  • bc8a6c3 Fix warnings on nightly (#1409)
  • c45f593 tendermint: Allow misformed blocks when decoding them from Protobuf or RPC re...
  • c90bf9c proto: Add missing serde derives on Protobuf definitions (#1389)
  • f11a1be tendermint: PrivateKey and PublicKey have From impls for `ed25519-conse...
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [tendermint-proto](https://github.com/informalsystems/tendermint-rs) from 0.35.0 to 0.36.0.
- [Release notes](https://github.com/informalsystems/tendermint-rs/releases)
- [Changelog](https://github.com/informalsystems/tendermint-rs/blob/main/CHANGELOG.md)
- [Commits](informalsystems/tendermint-rs@v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: tendermint-proto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Apr 25, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github May 31, 2024

Superseded by #912.

@dependabot dependabot bot closed this May 31, 2024
@dependabot dependabot bot deleted the dependabot/cargo/tendermint-proto-0.36.0 branch May 31, 2024 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants