Skip to content

Conversation

ananas-block
Copy link
Contributor

@ananas-block ananas-block commented Aug 30, 2025

State

  • do not merge we need to merge other changes first

Changes

Cpi context refactor

  1. account order changed from:
    • from: executing instruction compressed accounts .. cpi context compressed accounts
    • to: cpi context accounts .. executing instruction accounts
    • note this is a breaking change
    • afaik nobody is using cpi context accounts yet so we will deactivate the feature with v2 deployment and activate it again with this deployment
  2. Cpi context account state
    • replace NewAddressParamsPacked -> CpiContextNewAddressParamsAssignedPacked
    • to support address v2 derivation we store the owner in CpiContextNewAddressParamsAssignedPacked
    • readonly_addresses and readonly_accounts are placeholders
    • CpiContextInAccount and CpiContextOutAccount are structs without options for efficient zero copy
  3. ReInitCpiContextAccount instruction
    • reinitializes existing cpi context accounts to the new data structure CpiContextAccount -> CpiContextAccount2
    • reinitialization changes the account discriminator from CpiContextAccount::DISCRIMINATOR -> CpiContextAccount2::DISCRIMINATOR
    • CpiContextAccount2::DISCRIMINATOR is anchor derived

system program small instruction accounts

  • the feature gate which rendered passing of program account infos in cpis unnecessary has been dropped
  • added system-program and account-compression program accounts to expected accounts

system program cpi signer check

  1. replacesolana_pubkey::Pubkey::create_program_address with pinocchio_pubkey::derive_address

light-account-checks

  1. add AccountIterator

Copy link
Contributor

coderabbitai bot commented Aug 30, 2025

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

52 files out of 175 files are above the max files limit of 100. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jorrit/refactor-cpi-context

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@ananas-block ananas-block force-pushed the jorrit/refactor-cpi-context branch 2 times, most recently from b27c505 to 54a139d Compare August 31, 2025 16:58
@ananas-block ananas-block force-pushed the jorrit/refactor-cpi-context branch from 54a139d to 3179f80 Compare August 31, 2025 18:23
@ananas-block ananas-block force-pushed the jorrit/refactor-cpi-context branch from 3179f80 to e540210 Compare August 31, 2025 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant