Fix Hedera false-positive seed verification and update dependencies for Python 3.9/3.14 CI#686
Closed
Fix Hedera false-positive seed verification and update dependencies for Python 3.9/3.14 CI#686
Conversation
Two issues were causing intermittent Termux Full build failures: 1. cryptography package failed with "Failed to determine Android API level" because maturin's cross-compilation detection needed the ANDROID_API_LEVEL environment variable. 2. py-sr25519-bindings failed with "Python interpreter should be a kind of interpreter when cross-compiling" because the manylinux maturin wheel has a baked-in host triple (aarch64-unknown-linux-gnu) that differs from the Termux target (aarch64-linux-android), causing false cross-compilation detection. Fix: - Set ANDROID_API_LEVEL=24 for both Termux jobs - Build maturin from source so it detects the native host triple correctly, then use --no-build-isolation for maturin-based packages - Increase timeout from 20 to 40 minutes for the Full job to accommodate building maturin from source Co-authored-by: 3rdIteration <2230318+3rdIteration@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Review failures in termux builds
Fix Termux Full CI failures caused by maturin cross-compilation misdetection
Mar 13, 2026
Fix inverted require_key_bound_match flag in WalletHederaEd25519 that caused intermittent false-positive seed verification when both account IDs and hex addresses were provided. The flag incorrectly allowed any seed passing BIP39 checksum to match via deterministic address data. Update dependencies for broader Python version support: - click 8.2.1 → 8.1.8 (restore Python 3.9 compatibility) - pydantic 2.11.7 → 2.12.5 (Python 3.14 support) - pydantic-core 2.33.2 → 2.41.5 (Python 3.14 pre-built wheels) - typing-inspection 0.4.1 → 0.4.2 (required by pydantic 2.12.5) Co-authored-by: 3rdIteration <2230318+3rdIteration@users.noreply.github.com>
Copilot
AI
changed the title
Fix Termux Full CI failures caused by maturin cross-compilation misdetection
Fix Hedera false-positive seed verification and update dependencies for Python 3.9/3.14 CI
Mar 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Multiple CI failures across workflows: intermittent Hedera test failure on Windows 3.10,
click==8.2.1incompatible with Python 3.9,pydantic-core==2.33.2lacks Python 3.14 wheels, and Termux Full builds failing on maturin cross-compilation misdetection.Hedera seed verification bug (
btcrseed.py)_hedera_require_key_bound_matchwas inverted — set tonot key_bound_target_presentinstead ofkey_bound_target_present. When both account IDs and hex addresses are provided, deterministic matches (solidity bytes, account strings) always succeed for the correct account index regardless of seed. The inverted flag meant weak matches alone were accepted, causing ~0.4% false-positive rate per random mnemonic passing BIP39 checksum.Dependency updates (
requirements-full.txt)Termux CI workflow (
termux-tests.yml)ANDROID_API_LEVEL=24for both jobs (required by maturin's Android path)aarch64-linux-androidhost triple instead of the manylinux-bakedaarch64-unknown-linux-gnupy-sr25519-bindingsandcryptographywith--no-build-isolationto use the correctly-built maturin📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.