Repository navigation
chore: migrate to Arch 0.12.0 - #4
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Related: Arch-Network/ausd-bridge#37 (bridge on Arch 0.12; pins arch-kit by commit and will move its pin after this merges) and Arch-Network/arch-cosigner#8. |
|
E2E |
|
E2E re-run after the testnet reset with rebuilt genesis APL programs (Arch-Network/arch-infrastructure#122): CLI Workflows now pass, including the token lifecycle round trip. |
Summary
Moves arch-kit from Arch Network 0.10.0 to 0.12.0 and bumps the crate to 0.1.8. Arch 0.12 is a chain reset (upstream f2eb5017f), so arch-kit 0.1.7 and earlier work only with pre-0.12 nodes, and 0.1.8 works only with 0.12 nodes.
Changes
arch_sdk,apl-token,apl-associated-token-account:=0.10.0→=0.12.0.Cargo.lockwas updated only for these crates (cargo update -p …), which pullsarch_program0.12.0 andwincode0.6 and dropsbincode.rust-version1.85 → 1.89.wincode0.6.2, whicharch_program0.12 now requires, declaresrust-version = "1.89.0".rollback_statushandling.ProcessedTransaction.rollback_statusandRollbackStatusno longer exist, and the RPC no longer returns the field. Program-account assignment (deploy) and IDL publication now fail onstatus != Processed. TheTransactionFailederror no longer includes arollback=…suffix.utxofrom everyAccountInfofixture. The field no longer exists inarch_sdk::AccountInfoor in the RPC JSON. Rollback-only test cases were removed and the related tests renamed (failed_assignment_stops_deployment,rejected_resize_stops_before_uploading_an_upgrade).arch-kit inittemplate:arch-satellite-lang=0.31.5→=0.34.0. Satellite 0.34.0 is the first release built onarch_program^0.12.0; 0.31.5 usedarch_program^0.6.2. Between 0.31.5 and 0.34.0, the IDL instruction handlers in the Satellite codegen andarch-satellite-lang-idlare identical apart from version strings, so arch-kit's IDL publish/resize flow is unchanged.arch-satellite-lang-idlstays at=0.31.5. It has no Arch crate dependencies, so it cannot conflict. arch-kit already normalizes IDLmetadata.spec.ARCH_KIT_VERSIONindeploy-program.ymlis set to 0.1.8, so thePublish Crateversion check passes.deploy-program.yml,e2e.yml, andprogram-deployment.ymlcontain no other Arch version pins (the Anzav3.1.9toolchain matches what upstream Arch 0.12 uses).@v0.1.8, and documented the Satellite/arch_programversions that generated projects use.The "SDK 0.10.0 skips account creation…" workaround comment in
deploy.rsnow refers to 0.12.0.sdk/src/helper/program_deployment.rsis the same in v0.10.0 and v0.12.0, so the workaround is still needed.Version choice: 0.1.8 (not 0.2.0)
No CLI command, flag, or JSON output field changes. arch-kit never printed
utxoorrollback_status. The only user-visible text change is the droppedrollback=…suffix in transaction-failure errors. The breaking parts are which network it can talk to (a chain reset) and the MSRV bump, both stated above and in the README.Breaking notes for consumers
utxoorrollback_status.arch-kit initnow depend onarch-satellite-lang =0.34.0/arch_program 0.12.0. Existing projects keep whatever they pinned.config/arch-kit.patchon top. This PR does not move that pin. ausd-bridge needs to move to a commit that includes this change, and its patch needs rework: the patch's added tests constructAccountInfo { utxo, .. }and useRollbackStatus, which no longer exist in 0.12.Test plan
cargo build --all-targetscargo test/cargo test --locked --all-targets: 109 unit tests passed, plus 4 in the second test binarycargo clippy --all-targets -- -D warnings(also with--locked)cargo fmt --checkcargo package --lockedandcargo publish --dry-run --locked(dry run only; nothing published)cargo run -- --help;cargo run -- pubkey <tmp key>with a throwaway random 32-byte hex key;keygeninto a temp dirarch-kit initinto a temp dir.cargo checkof the generated project passes and resolvesarch_program 0.12.0/wincode 0.6.2.cargo-build-sbf(Anza 3.1.9, platform-tools v1.52 / rustc 1.89) producedhello.so.arch-kit build-idlon the generated project (needs a Rust nightly toolchain, not installed locally)health,deploy, IDL publish/resize, token commands): thee2e/program-deploymentworkflowsNeed help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.