1. Update Rust toolchain
Arcium v0.3.0 requires Rust 1.88.0. Create or update yourrust-toolchain file:
2. Add required Cargo patch
Add the following patch to your workspaceCargo.toml:
proc-macro2 crate contains fixes necessary for the Arcium macros to work correctly with Rust 1.88.0 and the new v0.3.0 architecture.
3. Update Arcium Rust dependencies
4. Update Arcium TS dependencies
5. Enable init-if-needed feature in Cargo.toml
Add theinit-if-needed feature to your anchor-lang dependency in your program’s Cargo.toml:
6. Add Sign PDA Account to your queue computation accounts
You need to add a new required account (sign_pda_account) to all your queue_computation_accounts context structs:
7. Update queue_computation call signature
Thequeue_computation function now requires explicit callback instruction specification. Update your calls from:
YourCallback with the actual name of your callback struct.
For detailed examples and best practices on implementing callback instructions with custom accounts, see Callback Accounts.
8. Remove payer from callback accounts
Callback account structs no longer require apayer parameter. Update your callback accounts from: