feat: forked transaction-view for increased limits - #33
Conversation
de564a1 to
acf36a7
Compare
e7813be to
ef28038
Compare
ef28038 to
5136be2
Compare
67bda80 to
7ef5704
Compare
7ef5704 to
4d84bd9
Compare
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughThe pull request registers a local ChangesTransaction view fork
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant TransactionBytes
participant ByteReaders
participant InstructionFrames
participant Sanitizer
TransactionBytes->>ByteReaders: Read bytes and compact-u16 lengths
ByteReaders-->>InstructionFrames: Return parsed values or ParseError
InstructionFrames->>Sanitizer: Provide parsed frame metadata
Sanitizer-->>InstructionFrames: Validate transaction limits
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
@CodeRabbit review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Cargo.toml`:
- Around line 50-55: Align the version requirements for agave-transaction-view
in the root dependency configuration and solana/transaction-view/Cargo.toml so
the local [patch.crates-io] entry applies. Preserve the intended local fork
resolution by making the declared dependency version compatible with the patched
package version.
In `@solana/transaction-view/README.md`:
- Around line 27-30: Update the transaction size and signature-limit
documentation to distinguish parser-enforced boundaries from
sanitization-enforced limits. In the README section describing Legacy, v0, V1,
and Magicblock transactions, state that Legacy parsing rejects the
over-signature case through TransactionView::try_new_unsanitized with
ParseError, while V1 signature validation occurs in sanitize_signatures; keep
other structural sanitization limits described separately.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: b02b19fe-fd5a-4abe-bbf8-733802fe596c
📒 Files selected for processing (11)
Cargo.tomlsolana/transaction-view/Cargo.tomlsolana/transaction-view/README.mdsolana/transaction-view/benches/bytes.rssolana/transaction-view/benches/transaction_view.rssolana/transaction-view/src/bytes.rssolana/transaction-view/src/instructions_frame.rssolana/transaction-view/src/resolved_transaction_view.rssolana/transaction-view/src/sanitize.rssolana/transaction-view/src/transaction_frame.rssolana/transaction-view/src/transaction_view.rs
86c2748 to
e09f437
Compare
e09f437 to
d2510cc
Compare
d2510cc to
998ebbe
Compare
998ebbe to
50b9a07
Compare
b9e4c1c to
1545d9b
Compare
60fb1bb to
cceabf5
Compare
cceabf5 to
7b6cfcd
Compare

What changed
Forked
agave-transaction-viewinto the workspace and adapted its framing parser for engine transaction sizes.Why
Engine-private transactions can exceed packet-sized assumptions, so their zero-copy view must parse complete canonical lengths and validate larger offsets before unchecked access.
Closes #34.
Impact
Reviewer notes
Unchecked iterators and typed views rely on the initial frame validation. Review the offset and length checks together with the standard-versus-Magicblock limit boundary.
Follow-up
The transaction-context and runtime forks consume this parser upstack.