Skip to content

chore: migrate motoko/threshold-schnorr to icp-cli#1367

Open
marc0olo wants to merge 14 commits into
masterfrom
chore/migrate-threshold-schnorr-to-icp-cli
Open

chore: migrate motoko/threshold-schnorr to icp-cli#1367
marc0olo wants to merge 14 commits into
masterfrom
chore/migrate-threshold-schnorr-to-icp-cli

Conversation

@marc0olo

@marc0olo marc0olo commented Jun 10, 2026

Copy link
Copy Markdown
Member

Summary

Migrates motoko/threshold-schnorr from dfx to icp-cli.

  • Replace dfx.json with icp.yaml (@dfinity/motoko@v5.0.0)
  • Move src/schnorr_example_motoko/backend/; add missing Blob, Principal, Text, Option imports
  • Replace inline IC actor type with import { ic } "mo:ic"; apply mops check --fix
  • Update mops.toml: moc 1.9.0, core 2.5.0, ic 4.0.0
  • Add Makefile with 5 tests (format checks for both key types + cryptographic verification via test.sh)
  • Add test.sh verifying ed25519 (@noble/ed25519), BIP340 and BIP341 (tiny-secp256k1, bitcoinjs-lib); use 32-byte message for BIP340
  • Add package.json; remove dfx_test_key references
  • CI workflow (icp-dev-env-motoko:0.3.2)
  • README: link to chain-key cryptography concept page; remove outdated building-apps URL; remove inapplicable "Updating the Candid interface" section (backend-only, no frontend)

Test plan

  • motoko-threshold-schnorr CI passes

🤖 Generated with Claude Code

marc0olo and others added 14 commits June 10, 2026 17:16
Replace dfx.json with icp.yaml, move source to backend/, update
mops.toml to moc 1.9.0 + core 2.5.0 + ic 4.0.0, replace inline
actor type with import { ic } "mo:ic", add icp-cli Makefile test
target and CI workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…eck --fix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…t.sh

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…chnorr

- @noble/ed25519 v2.x: sync verify(), no sha512Sync setup needed
- BIP340/BIP341: tiny-secp256k1.verifySchnorr requires exactly 32 bytes;
  use 'hello world of BIP340 secp256k1' (32 ASCII chars)
- Switch inline node scripts from dynamic import() to require()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…frontend)

No backend.did is committed and no frontend needs bindings, so this
section is not applicable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ng-apps URL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@marc0olo marc0olo marked this pull request as ready for review June 11, 2026 20:29
@marc0olo marc0olo requested review from a team as code owners June 11, 2026 20:29
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.

3 participants