feat: add customized solana-account crate - #13
Conversation
|
Warning Review limit reached
Next review available in: 39 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (23)
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughAdds a new Changessolana-account crate
Estimated code review effort: 5 (Critical) | ~120 minutes Sequence Diagram(s)sequenceDiagram
participant Caller
participant AccountSharedData
participant CoWAccount
participant BorrowedAccount
participant AccountHeader
Caller->>AccountSharedData: update account data
AccountSharedData->>CoWAccount: request mutable backing
CoWAccount->>BorrowedAccount: translate or promote
BorrowedAccount->>AccountHeader: stage shadow image
Caller->>BorrowedAccount: commit
BorrowedAccount->>AccountHeader: publish sequence
🚥 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 |
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
726ddf7 to
b00291b
Compare
a0e2c91 to
7501614
Compare
9acbc90 to
2e43191
Compare
9f791a8 to
aab5a4e
Compare
54be71a to
d1e8c56
Compare
f30b82c to
8af975f
Compare
7f962ee to
be63f7e
Compare
4abd3ab to
a0b0b83
Compare
|
@CodeRabbit review |
|

What changed
Customized the imported
solana-accountbaseline with owned and copy-on-writeaccount representations, borrowed account layout helpers, codec helpers, sysvar
support, and focused tests.
Why
accountsdbneeds an account representation that can borrow from mapped storageand promote to owned storage only when writes require it.
Closes #5.
Impact
Account,AccountSharedData, and a borrowed/owned copy-on-write model.routing decisions above this crate.
Reviewer notes
The borrowed layout is layout-bound and must stay 8-byte aligned. This crate
should remain storage-source agnostic.
Follow-up
transaction-context,program-runtime, andsvmadapt to this representationin the next stack PRs; storage consumers arrive later.