August 17–24, 2026
This update covers verified engineering progress during the previous seven days. Work in private repositories is summarized without private links or implementation identities; links to public changes appear directly beside the summaries they support.
DuskEVM
Section titled “DuskEVM”Explorer (Private Repo)
Section titled “Explorer (Private Repo)”Hardened DuskEVM Explorer integration behavior to strengthen data-handling reliability.
Core (Private Repo)
Section titled “Core (Private Repo)”Improved DuskEVM bridge and compatibility paths to strengthen cross-network transaction handling. - Refined the bridge and compatibility paths used to coordinate transactions across Dusk environments. Strengthened consistency across DuskEVM integration flows.
Jubjub-schnorr
Section titled “Jubjub-schnorr”Simplified Jubjub Schnorr test initialization and serialization internals while preserving encoded formats and validation behavior.
- Consolidated repeated Base58 Serde logic behind generic helpers while preserving encoded forms, length checks, and error mapping. (PR #76)
- Replaced lazy_static test and benchmark initializers with Rust’s LazyLock at the maintained minimum Rust version. (PR #75)
Jubjub
Section titled “Jubjub”Removed a test-only hashing dependency while preserving generator output and reducing the development graph.
- Reused the existing blake2b_simd package in generator tests, removing seven packages from the clean development graph. (PR #163)
Dusk-bytes
Section titled “Dusk-bytes”Simplified Dusk Bytes serialization internals and feature selection while preserving checked parsing and default macro behavior.
- Borrowed the validated input prefix directly instead of copying it before deserialization, with short-input and trailing-byte handling unchanged. (PR #47)
- Made derive macros optional behind a default-on feature, preserving existing behavior while allowing serialization-only consumers to omit the dependency. (PR #43)
Optimized and hardened PLONK proving, verification, compressed-circuit handling, and dependencies while preserving proof formats and compatibility.
- Updated compressed-circuit dependencies while preserving byte-identical artifacts and cross-version reconstruction. (PR #945)
- Replaced the deprecated test-only tempdir package with tempfile while preserving debugger temporary-directory behavior. (PR #947)
- Updated blake2b_simd and removed an unnecessary dependency while preserving proof, transcript, and hash outputs. (PR #946)
- Aligned hashbrown with the rkyv dependency graph to reduce duplicate generations without changing APIs, no_std behavior, proofs, or serialization. (PR #944)
- Bound compressed-circuit allocation and rejected malformed indices, polynomial lengths, public-input positions, and curve-addition edge cases without changing valid formats. (PR #939, PR #938, PR #936, PR #929, PR #932)
- Cached reusable prover and verifier data, grouped multiscalar work, and parallelized independent FFT and proof stages while preserving transcript and proof outputs. (PR #934, PR #928, PR #924, PR #926, PR #923, PR #922)
Base58 compatibility
Section titled “Base58 compatibility”Updated Base58 dependencies across Phoenix Core and Jubjub Schnorr while preserving encoded representations and no_std compatibility.
- Updated the bs58 dependency and retained golden representations for all supported Schnorr types across standard and no_std builds. (PR #77)
- Updated Phoenix Core’s bs58 dependency and retained golden Serde vectors plus no_std compatibility. (PR #300)
Phoenix
Section titled “Phoenix”Hardened Phoenix Core error and buffer handling while simplifying its random-number dependency surface.
- Replaced the production rand facade with direct rand_core traits without changing cryptographic operations or compiled behavior. (PR #299)
- Validated complete AES buffer-length relationships and returned structured length errors instead of panicking on malformed helper inputs. (PR #297)
- Mapped every Phoenix Core error into Dusk Bytes outcomes, replacing reachable unwinds with structured errors. (PR #295)
Duskevm-genesis
Section titled “Duskevm-genesis”Extended the disposable H2 devnet rehearsal’s sequencing recovery window while preserving genesis, contracts, balances, and canonical history.
- Increased the devnet-only window by 400 L1 blocks to preserve outage recovery without resetting the rehearsal history. (PR #16)
Hash-to-scalar domain separation
Section titled “Hash-to-scalar domain separation”Updated hash-to-scalar domain framing across BLS12-381 and Jubjub while preserving legacy outputs and preventing cross-mode input aliases.
- Applied Jubjub-specific BLAKE2b personalization to the unreleased domain mode and preserved the legacy unpersonalized path. (PR #159)
- Applied BLS-specific BLAKE2b personalization to the unreleased domain mode and pinned compatibility with reproducible vectors. (PR #169)
Web-wallet
Section titled “Web-wallet”Strengthened wallet data protection, session handling, and bridge submission consistency across three user-facing paths.
- Normalized BEP20 destination memos consistently across validation, review, and submission. (PR #954)
- Added a 15-minute inactivity lock with input resets and background-tab deadline enforcement. (PR #952)
- Versioned persisted mnemonic encryption, raised its PBKDF2 work factor, and added safe migration for legacy records. (PR #951)
Poseidon252
Section titled “Poseidon252”Rejected invalid encryption shared secrets before key derivation while preserving valid ciphertext behavior and circuit layouts.
- Covered identity, off-curve, low-order, and mixed-order points with native and gadget-level regression cases. (PR #285)
Added the August 10–17 developer update with direct source links and a newest-first index entry.
- Linked 39 verified public sources beside the changes they supported. (PR #142)
Zk-tools
Section titled “Zk-tools”Improved the zk-tools website layout on phones by correcting responsive styling and behavior.
- Adjusted the site’s JavaScript and stylesheets for responsive phone layouts. (PR #13)
Node operations (Private Repositories)
Section titled “Node operations (Private Repositories)”Strengthened deployment and monitoring workflows to improve node operations consistency.
- Refined deployment, monitoring, and recovery paths to make routine infrastructure operation more dependable. Improved consistency across infrastructure operation and maintenance.
Node operations reliability (Private Repo)
Section titled “Node operations reliability (Private Repo)”Hardened node operations behavior to strengthen resilience under less common operating conditions.
Dusk website and publishing (Private Repositories)
Section titled “Dusk website and publishing (Private Repositories)”Improved website and publishing workflows to make public content delivery more consistent.
- Refined the systems that prepare and publish Dusk content, strengthening delivery consistency. Reduced friction in maintaining and delivering public information.
Publishing reliability (Private Repo)
Section titled “Publishing reliability (Private Repo)”Hardened publishing behavior to strengthen resilience under less common operating conditions.
Network and runtime (Private Repo)
Section titled “Network and runtime (Private Repo)”Improved node and runtime behavior to strengthen execution consistency across network components.
- Refined the runtime and node paths that coordinate transaction processing and network behavior. Strengthened consistency across core network execution paths.