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

Feature/165 add decode specification v1 #213

Merged
merged 47 commits into from
Aug 1, 2024

Conversation

brunomenezes
Copy link
Collaborator

@brunomenezes brunomenezes commented Jul 16, 2024

Summary

Code changes to add support to define a specification to decode ABI standard and non-standard encoded inputs.

Here is a demo recording about the Feature: Demo Video

ps: Interaction with Outputs is out of this feature scope.

Here are the things provided in that feature:

  • Users can define a Specification for JSON ABI mode by describing it using Human readable ABI format
  • Users can define a Specification for ABI Parametersmode by describing the ABI param(s) signature to be used for decoding the data.
  • Extending on the ABI Parameters mode; users can also describe how to decode non-standard ABI encoded data by defining byte range slices associated with a name and optionally with a valid ABI type. We're dog fooding by providing System Specifications for all Portals and Relays available at the moment.
  • While creating the Specification, there is a live preview area where you can copy/paste your decoded data to test against the ABI definition in progress.
  • Users can also optionally define conditions (limited to two expressions) to auto-apply their specifications when such condition(s) match(es). For this initial version, Two properties are available to use; application-address and msg-sender.
  • As usual, you can delete/edit and easily check the specifications' definitions while listing them. On the listing page, you can also filter by mode, i.e., JSON ABI and ABI params.
  • All the specifications will be available in the Input data section, as shown in the demo. When conditionals match, it is automatically selected.

@brunomenezes brunomenezes linked an issue Jul 16, 2024 that may be closed by this pull request
10 tasks
Copy link

vercel bot commented Jul 16, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
rollups-explorer-base-mainnet ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am
rollups-explorer-base-sepolia ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am
rollups-explorer-mainnet ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am
rollups-explorer-optimism-mainnet ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am
rollups-explorer-optimism-sepolia ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am
rollups-explorer-sepolia ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am
rollups-explorer-workshop ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 1, 2024 2:44am

@brunomenezes brunomenezes force-pushed the feature/165-add-decode-specification-v1 branch from 8859c82 to b573fe0 Compare July 16, 2024 03:46
@brunomenezes brunomenezes force-pushed the feature/165-add-decode-specification-v1 branch from 40f444b to 766d9b3 Compare July 25, 2024 18:33
Copy link
Member

@tuler tuler left a comment

Choose a reason for hiding this comment

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

I didn't look at the code, but I used the preview website, and it works!

@brunomenezes
Copy link
Collaborator Author

brunomenezes commented Aug 1, 2024

@nevendyulgerov, I'll merge the PR, but could you do a code review and please highlight anything that caught your attention?

Also, just a reminder about the issue I raised on the wevm/abitype repository. As such, I am ruling this out for now.

@brunomenezes brunomenezes merged commit 630a8e4 into main Aug 1, 2024
20 checks passed
@brunomenezes brunomenezes deleted the feature/165-add-decode-specification-v1 branch August 1, 2024 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add decode specification (v1)
2 participants