Repository navigation
Migrate to Anchor 0.32.2 and SBPFv3 on Agave 4.3.0 - #500
metapileks wants to merge 9 commits into
Conversation
…SBPFv3 on Agave 4.3.0
…ernize-toolchain-before-simd-0500-hits-mainnet
|
Repository Guard
Repository GuardCargo dependency pinning
Cross-program Anchor/Solana version consistency
Anchor.toml solana_version
Crate minimum age
Yarn package.json pinning
npm minimum age
Workflow toolchain consistency
GitHub Action SHA pinning
Sensitive program / config changes
Overall status: pass Lockfile freshness (Cargo.lock + yarn.lock) is checked by the workflow directly and cannot be bypassed. The sensitive-diff section is a review hint - CODEOWNERS handles the actual merge gate. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
…ix the v0.4 proposal script
…ernize-toolchain-before-simd-0500-hits-mainnet
Every program in this repo is built with Anchor 0.29.0 on Solana 1.17 and ships as SBPFv0 bytecode, the format every one of the 16 committed verifiable builds and every mainnet deployment still uses. SIMD-0500 ends deploys and upgrades of that format, and it is expected on mainnet with Agave 4.4.
This branch moves the whole toolchain: the test runtime, the programs, the TypeScript, and CI. After it, every program compiles with Anchor 0.32.2 on Agave 4.3.0 as SBPFv3, the SDK and scripts run on
@anchor-lang/core0.32.2 and web3.js 1.99.0, and CI builds, tests, verifies and stages deploys with the same pinned versions a developer gets from the README.What changed
declare_id!so they no longer overwrite the program address in the IDL,reallocbecomesresize, discriminator checks compare slices against the constant, the launchpads' bump allocator is gated to the SBF target so the IDL build can run the crate as a host test, and two futarchy handlers box accounts or split an event emission to stay under the 4 KiB stack frame.Foreign<T>that keeps them out of futarchy's IDL. The Squads program dependency is patched to a fork commit whose only change is adding theidl-buildcargo feature for IDL generation support; the program code is unmodified.sdk/sync-types.sh; the frozen legacy modules carry their old IDLs converted withanchor idl convert..accounts()builder calls across the SDK, tests and scripts are.accountsPartial(), which is what.accounts()delegated to at runtime, account decode names follow the pipeline that produced each IDL, and scripts read account discriminators from the IDL instead of the removed coder helper.@metadaoproject/programsget the new IDL constants and@anchor-lang/coreas a dependency; the publish itself is not in this PR. Indexers reading the on-chain IDL accounts will see the 0.30 spec after each program's first upgrade from this branch.rust-toolchain.toml, Agave 4.3.0, Anchor 0.32.2 and the standalone cargo-build-sbf 4.4.0, with caches for the slow installs, and the verifiable-build steps callsolana-verify build --arch v3directly on solana-verify 0.5.2. The test workflow builds and runs the suite on that action.anchor idl buildand takes the deployed binary from the verified Docker build, so an unverified host build can no longer sit intarget/deploy. repo-guard pins and the deploy-buffer and verify-build workflows carry the new versions.rust-toolchain.tomlpins host Rust 1.95.0, the rustc inside platform-tools v1.57, for local builds, CI and the devcontainer../rebuild.shchecks for cargo-build-sbf 4.4.0 and runs oneanchor build; the README's setup steps match.

Confidence Score: 5/5 
The PR appears safe to merge; both earlier findings are fixed and no new blocking issue was found.Summary
Moves the programs, SDK, tests, and build workflows to Anchor 0.32.2 and SBPFv3.
Both earlier findings are fixed. No new actionable issues were found.
Reviews (2) · Last reviewed commit: "Merge remote-tracking branch 'origin/dev..." · Reviewed by Greptile