This commit fixes CI failures caused by curl-sys requiring OpenSSL 3.0.0+
which is not available in the CI container image (Debian bullseye).
Changes:
- Replace isahc with reqwest (rustls-tls feature) in relay-utils
- Remove isahc from workspace dependencies
- Update reqwest to use rustls-tls and json features
- Update Cargo.lock (removes curl, curl-sys, isahc, openssl-sys, native-tls)
Benefits:
- Pure Rust TLS implementation (no OpenSSL dependency)
- More portable across different Linux distributions
- Eliminates C compilation requirements for TLS
- Better security (memory-safe TLS implementation)
Affected workflows:
- Checks / cargo-clippy
- Checks / check-try-runtime
- Docs / test-doc, build-rustdoc
- Build and push images
- tests linux stable
- tests misc
- New CLI binary for network orchestration
- Spawn command with native/docker/k8s providers
- Backward compatibility: parachains -> teyrchains alias
- Backward compatibility: onboard_as_parachain alias
Successfully tested with 21-validator mainnet simulation:
- 21/21 GRANDPA votes
- Block production and finality working
- Asset Hub and People Chain teyrchains running
- Add [patch.crates-io] for serde and serde_core pointing to pezkuwichain/serde fix-wasm32v1-none branch
- Pin alloy crate versions to prevent conflicts
- Update serde to 1.0.228
The serde patch adds target_os=none checks to handle Cargo feature unification where std feature gets enabled even on no_std targets like wasm32v1-none.
Uncomment dev-dependencies that were previously commented out to break
circular dependencies. These dependencies are needed for tests to compile
when running clippy with --all-targets --all-features.
Changes include:
- pezkuwi/node/*: Add pezkuwi-node-subsystem-test-helpers, pezkuwi-primitives-test-helpers
- pezkuwi/xcm/*: Add pezpallet-xcm, xcm-pez-simulator
- pezcumulus/client/*: Add test client, runtime, and sproof builder deps
- bizinikiwi/pezframe/*: Add bizinikiwi-test-utils, pezframe-support-test,
pezpallet-transaction-payment, pezpallet-example-basic, etc.
- vendor/pezkuwi-zombienet-sdk: Fix imports from zombienet_sdk to pezkuwi_zombienet_sdk
All runtime-benchmarks feature flags have been updated accordingly.
cargo clippy --all-targets --all-features --workspace now passes.
- Update .gitignore for local Claude files and generated artifacts
- Add MAINNET_ROADMAP.md with deployment phases
- Add zombienet test configuration files
- Add Pezkuwi-specific subxt examples for token transfers
- Fix serde optional dependency issues by adding dep:serde to serde features (24 crates)
- Run zepter to propagate runtime-benchmarks, std, try-runtime, serde, experimental, with-tracing, tuples-96 features
- Regenerate umbrella crate with proper feature propagation
- Format all TOML files with taplo
This resolves check-umbrella and check-zepter CI failures.
- pezstaging-node-cli: use direct workspace deps instead of umbrella
- templates/teyrchain/runtime: xcm->pezstaging-xcm, teyrchain-info->pezstaging-teyrchain-info
- yet-another-teyrchain/runtime: same xcm and teyrchain-info fixes
- Remove circular dev-deps from pezframe-support-procedural
- Remove circular dev-deps from pezframe-support
- Remove circular dev-deps from pezframe-system
- Remove circular dev-deps from pezframe-benchmarking
- Comments note that tests moved to integration test crates
- Update CRATES_PUBLISH_PLAN.md with Level 0-2 completion status
- Fix binary-merkle-tree and related dependencies
- Add runtime_logger_tests.rs
- Update various Cargo.toml files
These crates were excluded from umbrella due to `publish = false`.
Since Polkadot SDK publishes them, we should too.
- Remove publish = false from pezpallet-root-testing
- Remove publish = false from pezpallet-xcm-benchmarks
- Regenerate umbrella to include both crates
- Update libp2p from 0.54.1 to 0.56.0 in Cargo.toml
- Update libp2p-kad from 0.46.2 to 0.48.0 for compatibility
- Remove deprecated bandwidth logging (removed in libp2p 0.56)
- transport.rs: Remove with_bandwidth_logging(), use websocket::Config
- service.rs: Add NoBandwidthSink stub for bandwidth metrics
- Fix NetworkBehaviour derive macro changes:
- behaviour.rs: Add From<Infallible> implementation for BehaviourOut
- Update pattern matching for new libp2p-swarm event fields:
- request_responses.rs: Add connection_id to patterns
- service.rs: Fix DialError::WrongPeerId field rename (endpoint → address)
- service.rs: Add peer_id to IncomingConnectionError pattern
- Fix test file for new transport return type:
- conformance.rs: Update transport usage
This eliminates the ring 0.16.20 security vulnerability (RUSTSEC-2024-0006)
by upgrading to ring 0.17.14 via the libp2p dependency chain.
- Add workspace exclude for vendor/pezkuwi-subxt to prevent
workspace inheritance conflicts
- Update pezkuwi-subxt codegen to use ::pezsp_runtime::DispatchError
directly instead of runtime_types path that doesn't exist due to
substitute_type
- Add From implementations for various pezkuwi_subxt error types
(EventsError, ExtrinsicError, BlockError, BackendError,
RuntimeApiError, ConstantError, OnlineClientError)
- Update StorageApi to use StorageClientAt with new try_fetch API
- Fix RuntimeApiError pattern matching for error handling
- Update substitute_type entries to use pezkuwi_subxt paths
- Rename migration table from eth_to_substrate_blocks to
eth_to_bizinikiwi_blocks for consistency
- Regenerate SQLX query cache for bizinikiwi table names