Repository navigation
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 59 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
|
|
@coderabbitai review |
|
|
Manual fallback review while CodeRabbit is rate-limited: I compared the decoder changes against the GenVM Python calldata reference and the calldata spec. The EOF guard, canonical ULEB128 rejection, strict UTF-8 handling, and strict map-key ordering match the reference semantics, and the regression tests cover each boundary plus a canonical nested round-trip. I did not find an additional discrepancy in this pass. Upstream Actions are still awaiting fork-workflow approval. |
Fixes #227
What
Why
The GenVM reference decoder rejects these malformed or non-canonical representations, while
genlayer-jspreviously accepted some of them. Matching the reference decoder removes ambiguous wire representations and prevents malformed container counts from continuing after input exhaustion.Testing done
Decisions made
Checks
Reviewing tips
The highest-value review points are the decoder EOF guard, ULEB128 canonicality check, strict UTF-8 decoding, and map-key ordering enforcement.
User facing release notes
calldata.decodenow rejects malformed and non-canonical calldata that GenVM's reference decoder already rejects.