Uh oh!
There was an error while loading. Please reload this page.
feat: viem signing hex or uint8array - #388
Merged
Merged
Conversation
✅ Heimdall Review Status
|
CarsonRoscoe
left a comment
Contributor
There was a problem hiding this comment.
Hey @azf20, apologies for letting this go stale.
I agree with this PR. If you rebase against main and ping me, I'll review and aim to get this in for release.
Thank you for the contribution!
azf20
commented
Apr 29, 2025
ContributorAuthor
No problem, I rebased. Thanks for taking a look! |
phdargen
commented
Sep 8, 2025
Contributor
Looks good to me, thanks @azf20! Could you please add a changelog (https://github.com/coinbase/agentkit/blob/main/CONTRIBUTING-TYPESCRIPT.md#changelog), then this can be merged imo |
azf20
commented
Sep 14, 2025
ContributorAuthor
Added, thanks! |
phdargen
commented
Sep 18, 2025
Contributor
This is good to go @CarsonRoscoe |
CarsonRoscoe
approved these changes
Sep 19, 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 freeto 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.
What changed?
Allowed passing of a "hex" or bytes to "signMessage" for Viem & Viem-derived Wallet Providers
Why was this change implemented?
Currently Viem signing only supports strings. Viem itself can support Uint8Array & Hex (code, docs).
As the
evmWalletProviderdoesn't support the{ raw: <input> }, we cast everything to a hex string based on the following logic and pass it into raw:This is to enable signing Hex messages as well as bytes (e.g. transaction hashes - this came up while trying to sign Gnosis Safe messages) - which otherwise get "hex'd" again by Viem when passed as string messages.
cc @escottalexander