chore: upgrade elliptic, k256 and yubi crates to latest#40
Merged
ameten merged 2 commits intoMay 2, 2025
Merged
Conversation
|
@keefertaylor , thank you for the PR. Much appreciated. It is signing related, so, if you could raise a PR into this and monorepo with only dependency upgrades, it will be great. It is important to review the upgrade separately. |
ameten
reviewed
May 1, 2025
ameten
reviewed
May 1, 2025
Author
|
Converted over |
ameten
approved these changes
May 2, 2025
d4521f9 to
1da2c5f
Compare
Author
|
Chatted offline and I reverted the latest push to stick to the upstream change. |
github-merge-queue Bot
pushed a commit
to hyperlane-xyz/hyperlane-monorepo
that referenced
this pull request
May 6, 2025
### Description This is a bump of the `ethers-rs` deps to the latest tagged version. See: - hyperlane-xyz/ethers-rs#40 for a description of these changes - #5625 for the PR that will utilize the updated dependencies ### Drive-by changes n/a ### Related issues n/a ### Backward compatibility Yes ### Testing Manual testing via using #5625
ameten
added a commit
that referenced
this pull request
May 7, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
hyperlane-xyz/hyperlane-monorepo#5625 implements signing with a YubiHSM2 device in Hyperlane.
Yubihsm signing requires using the
yubihsmfeature from theyubicrate. Bothyubiand various other parts ofethers-signers,ethers-coreandhyperlane-*libraries require signing code to implementDigestSigner. This interface is closely coupled (AFAICT) with versions ofellipticandk256. In otherwords, both seem to need to be bumped at once.A previous reviewer comment correctly pointed out that for implementing yubihsm2 signing in hyperlane, we should use a global library version of
k256andellipticacross the codebase.As things stand today, we can use the existing versions in
hyperlaneand pull in theyubicrate at v0.41.x. Unfortunately, there is a bug in 0.41.x <yubi> 0.42.1 which causes a signing request to hang indefinitely (effectively deadlocking the process) in the case of a network failure.Bumping
yubito v0.42.1 pulls in newer versions ofellipticandk256which have replaced theDigestSignerinterface with a similar but differentPreHashSignerinterface. I cannot figure out a way to gethyperlaneto build withyubi@0.42.1 without having a consistent version ofk256andellipticacrossethers-rsandhyperlane-*. Therefore I think that we need to bump these packages as a prerequisite to hyperlane-xyz/hyperlane-monorepo#5625.If you agree, I can make a corresponding PR to
hyperlane-monorepothat shows we can bump these deps there without any code changes.I ran
clippyand there are lots of warnings, but I don't think they are related to changes in the PR (I see them on the mainhyperlanebranch as well). Likewise, all tests pass on this branch that are passing on thehyperlanebranch.Solution
This PR is a copy of the upstream PR which upgraded the same deps. See (upstream pr)[https://github.com/gakonst/pull/2260].
PR Checklist