Skip to content

Bump up - #277

Merged
ebatsell merged 14 commits into
masterfrom
ak/version
Jul 29, 2026
Merged

Bump up#277
ebatsell merged 14 commits into
masterfrom
ak/version

Conversation

@aoikurokawa

Copy link
Copy Markdown
Collaborator

No description provided.

gzalz and others added 13 commits September 5, 2025 14:10
no printprogramerror impl

no printprogramerror impl

updated vault program out-dated references

more token* program replaces

more vault program

more vault program

working local build - ci needs attention
@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.87879% with 16 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
restaking_sdk/src/sdk.rs 80.00% 6 Missing ⚠️
core/src/lib.rs 37.50% 5 Missing ⚠️
vault_sdk/src/sdk.rs 90.24% 4 Missing ⚠️
core/src/loader.rs 92.30% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@aoikurokawa
aoikurokawa marked this pull request as ready for review July 29, 2026 01:53
@aoikurokawa
aoikurokawa requested a review from Copilot July 29, 2026 02:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the workspace to newer Rust/Borsh/Solana dependency families and adjusts the SDKs, on-chain programs, clients, CLI, and tests to match the newer interfaces (notably replacing legacy SPL crates and try_to_vec()).

Changes:

  • Bump Rust toolchain and CI Solana toolchain/docker images; update workspace dependency set (Borsh 1.x, newer Solana/Anchor ecosystem crates).
  • Migrate instruction serialization from BorshSerialize::try_to_vec() to borsh::to_vec(...) across SDKs and generated Rust clients; add a post-gen rewrite script and wire it into make generate-code.
  • Switch many call sites from legacy spl-token / spl-associated-token-account / system_instruction to the corresponding *-interface crates and solana-system-interface.

Reviewed changes

Copilot reviewed 75 out of 137 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
vault_sdk/src/sdk.rs Switch instruction serialization to borsh::to_vec and migrate program ids to interface crates.
vault_sdk/src/inline_mpl_token_metadata.rs Use solana-system-interface system program ID in inline token-metadata instruction builder.
vault_sdk/src/error.rs Move DecodeError import to solana-decode-error and annotate deprecated trait usage.
vault_sdk/Cargo.toml Add solana-decode-error / solana-system-interface and migrate SPL deps to interface crates.
vault_program/src/update_vault_balance.rs Use spl-token-interface for mint_to CPI builder calls.
vault_program/src/revoke_delegate_token_account.rs Use spl-token-2022-interface revoke instruction builder.
vault_program/src/mint_to.rs Use spl-token-interface CPI builders for transfer/mint operations.
vault_program/src/initialize_vault.rs Migrate system + token/ATA CPIs to interface crates and update account slice usage.
vault_program/src/enqueue_withdrawal.rs Use spl-token-interface transfer CPI builder.
vault_program/src/delegate_token_account.rs Use spl-token-2022-interface approve instruction builder.
vault_program/src/burn_withdrawal_ticket.rs Swap SPL token instruction/state imports to interface crates.
vault_program/Cargo.toml Replace legacy SPL deps with interface crates; add solana-system-interface.
vault_core/src/vault.rs Minor API tweaks (e.g., const fn) and test AccountInfo construction updates.
vault_core/src/config.rs Make set_admin a const fn.
vault_core/src/burn_vault.rs Use solana-system-interface system program ID and update tests accordingly.
vault_core/Cargo.toml Replace legacy SPL deps with interface crates; add solana-system-interface.
scripts/update-rust-borsh.js New post-gen rewrite script for borsh 1.x (try_to_vecborsh::to_vec) and PrintProgramError removal.
rust-toolchain.toml Bump Rust toolchain version.
restaking_sdk/src/sdk.rs Switch instruction serialization to borsh::to_vec and use solana-system-interface.
restaking_sdk/src/error.rs Move DecodeError import to solana-decode-error and annotate deprecated trait usage.
restaking_sdk/Cargo.toml Add solana-decode-error and solana-system-interface.
restaking_program/src/operator_delegate_token_account.rs Use spl-token-2022-interface approve instruction builder.
restaking_program/src/ncn_delegate_token_account.rs Use spl-token-2022-interface approve instruction builder.
restaking_program/Cargo.toml Replace legacy SPL deps with interface crates.
restaking_core/src/config.rs Make set_admin a const fn.
restaking_core/Cargo.toml Replace legacy SPL deps with interface crates.
package.json Add update-rust-borsh script.
makefile Run update-rust-borsh and cargo fmt during code generation.
integration_tests/tests/vault/revoke_delegate_token_account.rs Migrate ATA/token program references to interface crates.
integration_tests/tests/vault/initialize_vault.rs Migrate ATA/token program references to interface crates.
integration_tests/tests/vault/enqueue_withdrawal.rs Migrate ATA helper import to interface crate.
integration_tests/tests/vault/delegate_token_account.rs Migrate ATA/token program references to interface crates.
integration_tests/tests/vault/create_token_metadata.rs Use spl-token-interface id in mint creation helper call.
integration_tests/tests/vault/crank_vault_update_state_tracker.rs Migrate ATA helper import to interface crate.
integration_tests/tests/vault/burn_withdrawal_ticket.rs Migrate ATA/token program references to interface crates.
integration_tests/tests/restaking/operator_delegate_token_account.rs Migrate ATA/token program references to interface crates.
integration_tests/tests/restaking/ncn_delegate_token_account.rs Migrate ATA/token program references to interface crates.
integration_tests/tests/fixtures/vault_client.rs Update test client to interface crates and move commitment config/lamports helper.
integration_tests/tests/fixtures/restaking_client.rs Update test client imports for commitment config/system transfer.
integration_tests/tests/fixtures/mod.rs Add local sol_to_lamports helper for tests.
integration_tests/tests/fixtures/fixture.rs Update fixture helpers to interface crates + commitment config + local sol_to_lamports.
integration_tests/Cargo.toml Replace legacy SPL deps with interface crates; add new Solana split crates.
crankers/src/vault_handler.rs Update Solana imports (commitment/compute budget interface) and annotate deprecated RPC call.
crankers/src/restaking_handler.rs Move CommitmentConfig import to solana-commitment-config.
crankers/src/metrics.rs Migrate ATA/token state imports to interface crates.
crankers/src/core.rs Move CommitmentConfig import to solana-commitment-config.
crankers/Cargo.toml Replace legacy SPL deps with interface crates; add commitment/compute budget interface crates.
core/src/loader.rs Migrate ATA/token program IDs and token state unpacking to interface crates.
core/src/lib.rs Migrate system instructions + system program id to solana-system-interface and update realloc/close logic accordingly.
core/src/error.rs Annotate deprecated DecodeError usage and adjust test accordingly.
core/Cargo.toml Replace legacy SPL deps with interface crates; add solana-system-interface.
clients/rust/vault_client/src/log/vault.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/vault_update_state_tracker.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/vault_staker_withdrawal_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/vault_operator_delegation.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/vault_ncn_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/vault_ncn_slasher_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/vault_ncn_slasher_operator_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/metadata.rs Remove Anchor Pubkey dependency; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/log/config.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/vault_client/src/generated/instructions/warmup_vault_ncn_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/warmup_vault_ncn_slasher_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/update_vault_balance.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/update_token_metadata.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_secondary_admin.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_program_fee.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_program_fee_wallet.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/set_is_paused.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_fees.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_deposit_capacity.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_config_secondary_admin.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/set_config_admin.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/set_admin.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/revoke_delegate_token_account.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/mint_to.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/initialize_vault.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/initialize_vault_with_mint.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/initialize_vault_update_state_tracker.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/initialize_vault_operator_delegation.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/initialize_vault_ncn_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/initialize_vault_ncn_slasher_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/initialize_vault_ncn_slasher_operator_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/initialize_config.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/enqueue_withdrawal.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/delegate_token_account.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/create_token_metadata.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/crank_vault_update_state_tracker.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/cooldown_vault_ncn_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/cooldown_vault_ncn_slasher_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/cooldown_delegation.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/close_vault_update_state_tracker.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/instructions/change_withdrawal_ticket_owner.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/burn_withdrawal_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/vault_client/src/generated/instructions/add_delegation.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/vault_client/src/generated/errors/jito_vault.rs Generated client: remove PrintProgramError impl (no longer available).
clients/rust/restaking_client/src/log/operator.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/log/operator_vault_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/log/ncn.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/log/ncn_vault_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/log/ncn_vault_slasher_ticket.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/log/ncn_operator_state.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/log/config.rs Remove Anchor Pubkey usage in tests; use solana_program::pubkey::Pubkey.
clients/rust/restaking_client/src/generated/instructions/warmup_operator_vault_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/warmup_ncn_vault_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/warmup_ncn_vault_slasher_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/set_config_admin.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/operator_warmup_ncn.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/operator_set_secondary_admin.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/restaking_client/src/generated/instructions/operator_set_fee.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/restaking_client/src/generated/instructions/operator_set_admin.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/operator_delegate_token_account.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/operator_cooldown_ncn.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/ncn_warmup_operator.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/ncn_set_secondary_admin.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/restaking_client/src/generated/instructions/ncn_set_admin.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/ncn_delegate_token_account.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/ncn_cooldown_operator.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/initialize_operator.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/restaking_client/src/generated/instructions/initialize_operator_vault_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/initialize_ncn.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/initialize_ncn_vault_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/initialize_ncn_vault_slasher_ticket.rs Generated client: replace try_to_vec with borsh::to_vec (data + args).
clients/rust/restaking_client/src/generated/instructions/initialize_ncn_operator_state.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/initialize_config.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/cooldown_operator_vault_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/cooldown_ncn_vault_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/instructions/cooldown_ncn_vault_slasher_ticket.rs Generated client: replace try_to_vec with borsh::to_vec.
clients/rust/restaking_client/src/generated/errors/jito_restaking.rs Generated client: remove PrintProgramError impl (no longer available).
cli/src/vault_handler.rs Migrate ATA/token instruction usage to interface crates.
cli/src/restaking_handler.rs Migrate ATA helper usage and token program id references to interface crates.
cli/src/cli_signer.rs Move derivation path import to solana-derivation-path.
cli/src/cli_config.rs Move commitment config import to solana-commitment-config.
cli/src/bin/main.rs Move commitment config import to solana-commitment-config.
cli/Cargo.toml Add new Solana split crates and replace legacy SPL deps with interface crates.
Cargo.toml Major dependency bumps (Rust ecosystem + Solana/Anchor/Borsh) and introduce Solana split crates + SPL interface crates.
.github/workflows/ci.yaml Bump toolchains/images and adjust SBF build step to per-program manifests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread core/src/loader.rs
@ebatsell
ebatsell merged commit ac6e444 into master Jul 29, 2026
10 checks passed
@ebatsell
ebatsell deleted the ak/version branch July 29, 2026 16:20
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.

4 participants