Skip to content

Conversation

@dev-jodee
Copy link
Contributor

@dev-jodee dev-jodee commented Oct 21, 2025

  • Add rest of system instructions and spl transfer instructions for fee payer policy
  • Added support for SPL token operations: revoke, set authority, mint to, initialize mint, initialize account, initialize multisig, freeze account, and thaw account.
  • Updated fee payer policy configuration in kora.toml and related files to reflect new permissions.
  • Enhanced validation logic to enforce these new policies during transaction processing.
  • Comprehensive tests added to ensure correct behavior for new fee payer policy features.

Important

Extend fee payer policy to include additional SPL, Token2022, and System instructions, updating configuration, validation, and tests.

  • Behavior:
    • Extend fee payer policy to include additional SPL and Token2022 instructions: revoke, set authority, mint to, initialize mint, initialize account, initialize multisig, freeze account, thaw account.
    • Add support for System instructions: assign, create account, allocate, initialize nonce, advance nonce, authorize nonce, withdraw nonce.
    • Update kora.toml and related files to reflect new permissions.
  • Validation:
    • Enhance validation logic in transaction_validator.rs to enforce new policies.
    • Add macros in macros.rs for consistent validation of system and SPL instructions.
  • Tests:
    • Add comprehensive tests in fee_payer_policy_violations.rs to ensure correct behavior for new fee payer policy features.
    • Update unit.test.ts and integration.test.ts to cover new configuration and validation logic.
  • Misc:
    • Update config.rs to define new policy structures for System, SPL, and Token2022 instructions.
    • Modify instruction_util.rs to parse new instructions.
    • Adjust constants.rs and helpers.rs to support new test configurations.

This description was created by Ellipsis for e46144c. You can customize this summary. It will automatically update as commits are pushed.

📊 Unit Test Coverage

Coverage

Unit Test Coverage: 80.6%

View Detailed Coverage Report

… Token2022 instructions and System instructions

- Added support for SPL token operations: revoke, set authority, mint to, initialize mint, initialize account, initialize multisig, freeze account, and thaw account.
- Updated fee payer policy configuration in `kora.toml` and related files to reflect new permissions.
- Enhanced validation logic to enforce these new policies during transaction processing.
- Comprehensive tests added to ensure correct behavior for new fee payer policy features.
@dev-jodee dev-jodee requested a review from amilz October 21, 2025 12:59
@github-actions
Copy link

📊 TypeScript Coverage Report

Coverage: 82.0%

View detailed report

Coverage artifacts have been uploaded to this workflow run.
View Artifacts

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed everything up to e46144c in 1 minute and 14 seconds. Click for details.
  • Reviewed 4639 lines of code in 28 files
  • Skipped 0 files when reviewing.
  • Skipped posting 7 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. tests/src/common/transaction.rs:232
  • Draft comment:
    Consider adding inline comments that explain the logic behind inserting compute budget instructions at fixed indices (lines 232-237) to clarify the ordering for future maintainers.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. tests/src/common/transaction.rs:589
  • Draft comment:
    The signing loop (lines 600-608) only signs signers found in the static account keys. Confirm that fee payer signatures are handled as expected when no additional signers exist.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
3. tests/src/test_runner/accounts.rs:172
  • Draft comment:
    The helper functions for setting environment variables and reading local keys are clear. Consider checking error handling in set_environment_variable_from_cache in case the cache lookup fails.
  • Reason this comment was not posted:
    Confidence changes required: 20% <= threshold 50% None
4. tests/src/test_runner/accounts.rs:200
  • Draft comment:
    The organization of account files and the usage of consistent naming for local keys looks good. No changes required.
  • Reason this comment was not posted:
    Confidence changes required: 0% <= threshold 50% None
5. crates/lib/src/transaction/instruction_util.rs:1185
  • Draft comment:
    Typo: In the macro call for SystemCreateAccount, the field initializer uses a semicolon (lamports: lamports;) instead of a comma. Consider changing it to a comma for consistency with the SystemTransfer macro call.
  • Reason this comment was not posted:
    Comment looked like it was already resolved.
6. crates/lib/src/validator/transaction_validator.rs:611
  • Draft comment:
    The comment still refers to allow_sol_transfers (line 611) even though the new code sets policy.system.allow_transfer. Consider updating the comment to reflect the new policy field name for clarity.
  • Reason this comment was not posted:
    Comment was on unchanged code.
7. crates/lib/src/validator/transaction_validator.rs:684
  • Draft comment:
    The comment on line 684 still refers to allow_spl_transfers even though the new code uses policy.spl_token.allow_transfer. Updating the comment for consistency would help avoid confusion.
  • Reason this comment was not posted:
    Comment was on unchanged code.

Workflow ID: wflow_pxewz4wE2rXRufSd

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@dev-jodee dev-jodee merged commit 8a46b97 into release/feature-freeze-for-audit Oct 21, 2025
10 checks passed
This was referenced Oct 29, 2025
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.

2 participants