Skip to content

chore: migrate rust/threshold-schnorr to icp-cli#1409

Draft
marc0olo wants to merge 1 commit into
masterfrom
chore/migrate-rust-threshold-schnorr-to-icp-cli
Draft

chore: migrate rust/threshold-schnorr to icp-cli#1409
marc0olo wants to merge 1 commit into
masterfrom
chore/migrate-rust-threshold-schnorr-to-icp-cli

Conversation

@marc0olo

Copy link
Copy Markdown
Member

Summary

  • Replaces dfx.json with icp.yaml using @dfinity/rust@v3.3.0
  • Moves Rust source from src/schnorr_example_rust/ to backend/, renames package to backend
  • Updates ic-cdk from 0.16 to 0.20, replacing removed call_with_payment with the ic_cdk::call::Call builder API
  • Adds Makefile with 5-test test target: public_key (×2), sign (×2), plus off-chain JS cryptographic verification via test.sh for all three signature types (ed25519, bip340secp256k1, bip341)
  • Copies test.sh and package.json from motoko/threshold-schnorr (identical canister interface)
  • Adds rust-toolchain.toml with wasm32-unknown-unknown target
  • Adds rust-threshold-schnorr job to existing threshold-schnorr.yml CI workflow using ghcr.io/dfinity/icp-dev-env-rust:1.0.0
  • Deletes dfx.json, BUILD.md, .devcontainer/, src/, old rust-threshold-schnorr-example.yml workflow

Test plan

  • icp network start -d && icp deploy && make test passes in rust/threshold-schnorr
  • CI rust-threshold-schnorr job passes in threshold-schnorr.yml
  • motoko-threshold-schnorr job is unaffected

🤖 Generated with Claude Code

- Replace dfx.json with icp.yaml using @dfinity/rust@v3.3.0
- Rename src/schnorr_example_rust/ to backend/ and update Cargo.toml package name to backend
- Update ic-cdk from 0.16 to 0.20, replacing removed call_with_payment with ic_cdk::call::Call builder API
- Rewrite Makefile with icp-canister-call-based test target covering all 5 tests including off-chain JS cryptographic verification via test.sh
- Copy test.sh and package.json from motoko/threshold-schnorr for cross-language verification
- Add rust-toolchain.toml with wasm32-unknown-unknown target
- Add rust-threshold-schnorr job to threshold-schnorr.yml CI workflow using ghcr.io/dfinity/icp-dev-env-rust:1.0.0
- Delete dfx.json, BUILD.md, .devcontainer/, src/, and legacy rust-threshold-schnorr-example.yml workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant