callback_cu_limit argument on queue_computation. The toolchain is otherwise unchanged: Anchor stays at v1.0.2 and Solana CLI stays at 3.1.10, so there is no Anchor migration this time. v0.11.x also adds Arcis enums and Option<T>, multi-instruction callbacks, and new required node config fields.
Before you start
v0.11.x is a code-and-tooling upgrade. Existing MXE, cluster, and computation-definition accounts remain compatible. Rebuild and redeploy your program after adding thecallback_cu_limit argument. Node operators must update their node-config.toml: three fields are now required (see Node operators).
1. Update Arcium tooling
0.11.1.
Anchor (1.0.2) and Solana CLI (3.1.10) are unchanged from v0.10.x. If you already migrated to the Anchor v1 toolchain for v0.10.x, there is nothing further to install.
2. Update dependencies
Bump the Arcium Rust crates from your project root:3. Add callback_cu_limit to queue_computation
queue_computation takes a new seventh argument, callback_cu_limit: u32, the compute unit limit for the callback transaction. Pass 0 to keep the default. Every call site must be updated:
4. Arcis circuit changes
Enums andOption<T> are now supported in circuits. No existing code needs to change; these are additive. Both have one constraint: they cannot be the input or output of a confidential instruction, and enum discriminants cannot be set explicitly. See Operations and Types.
5. Node operators
Update your Docker image tag indocker-compose.yml:
node-config.toml fields are now required; the config fails to parse without them:
ASYNC_MPC_STREAM_WINDOW_MB, ASYNC_MPC_CONN_WINDOW_MB, and ASYNC_MPC_CC transport-tuning environment variables are documented in Node setup.
Use arcium reclaim-failure-rent to close and refund failure-claim accounts past their challenge period.
As part of the staking rollout, the arcium migrate-legacy-cluster, migrate-legacy-mxe-account, migrate-legacy-recovery-peer, and migrate-legacy-arx-node commands migrate pre-staking accounts to the staking layout. These are not required for the v0.11 code upgrade itself; run them once the staking program is live on your network.
6. Verify migration
7. Changes summary
| Change | v0.10.x | v0.11.x |
|---|---|---|
queue_computation | 6 parameters | 7 parameters (adds callback_cu_limit: u32) |
| Solana CLI | 3.1.10 | 3.1.10 (unchanged) |
| Anchor CLI | 1.0.2 | 1.0.2 (unchanged) |
| Arcium Rust crates | 0.10.3 | 0.11.1 |
| TypeScript clients | @arcium-hq/{client,reader}@0.10.3 | @arcium-hq/{client,reader}@0.11.1 |
| Arx node Docker | v0.10.3 | v0.11.1 |
| Node config | [node] offset, [solana] endpoints | adds required computations_limit, secondary_endpoint_rpc, secondary_endpoint_wss |
Arcis enums / Option | Unsupported | Supported (not as circuit input or output) |
New in v0.11.x
These features are new in v0.11.x. See the linked documentation for details:- Arcis enums and
Option<T>: unit, tuple, and struct enum variants plus the fullOptioncombinator surface. See Operations. - Multi-instruction callbacks: instructions may now follow the Arcium callback in the same transaction, as long as the last two instructions are lighthouse assertions.
- Reader fee getters:
getComputationFeeandgetComputationFeeFromQueueTxread a computation’s fee from@arcium-hq/reader. See JavaScript client. - CLI:
arcium inspect mempool --include-expired,arcium inspect execpool --json,arcium reclaim-failure-rent, and themigrate-legacy-*commands for the staking upgrade.
What’s next?
Deployment
Deploy and manage your MXE.
Arcis operations
Use enums and
Option<T> in your circuits.