Welcome to our latest Weekly Development Report, where we highlight ongoing progress across our ecosystem. This week, the ARK Connect team focused on improving stability and simplifying the codebase through major cleanup efforts and a shift toward a more streamlined Mainsail-compatible architecture. The ARK Scan team enhanced backend scalability with a refined event processing system while addressing UI responsiveness issues. The ARK Vault team modernized its dependency stack, reduced technical debt, and improved overall stability through targeted fixes. Meanwhile, the Mainsail team delivered key improvements in correctness, performance, and code structure, alongside significantly expanding unit test coverage across critical components.
Development Activity Summary (May 22 – May 29, 2026)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 22, 2026, to May 29, 2026.
| Project | Commits | Authors |
|---|---|---|
| ARK Connect | 34 | 3 |
| ARK Scan | 6 | 2 |
| ARK SDKs & Docs | 0 | 0 |
| ARK Vault | 63 | 2 |
| Mainsail | 55 | 2 |
During this period, the team maintained strong productivity and engagement, delivering 158 merged commits across all projects.
It’s important to note that weekly commit counts and project-specific data may fluctuate based on the focus of internal sprints, evolving objectives, and the complexity of tasks undertaken.
ARK Connect Weekly Report
This week, we focused on improving stability, simplifying the codebase, and continuing the transition away from legacy ARK-specific abstractions toward a more streamlined Mainsail/EVM-compatible architecture.
On the user-facing side, we resolved several issues affecting usability. This included fixing inconsistent explorer links by aligning all URL construction with .env configuration, ensuring consistent navigation throughout the app. We also addressed a UI issue where a double scrollbar appeared on the home screen after the WXT migration, improving the overall user experience. Additionally, transaction sending with Ledger devices was fixed, restoring full functionality for hardware wallet users.
A major portion of the work was dedicated to codebase cleanup and refactoring. We removed a significant amount of unused and legacy code, including unused profile subdomains and aggregates, eliminating thousands of lines of dead code and reducing overall complexity. We also dropped unused platform helpers and resolved related build warnings, resulting in a cleaner development experience.
We continued consolidating and simplifying transaction handling by collapsing multiple signatory classes into a single streamlined approach based on viem and the TypeScript Crypto SDK. This aligns the extension with actual usage patterns (transfer, token transfer, vote/unvote, and EVM calls) while removing outdated ARK-specific concepts such as second-signature support. In parallel, we refactored HTTP request handling by removing the legacy PSDK HTTP layer and replacing it with simpler, more direct approaches using fetch and the TypeScript Client SDK.
Finally, we performed additional cleanup by removing orphaned PSDK files and unused abstractions, ensuring the bundle remains lean and maintainable.
Next week, we’ll continue with the cleanup efforts to further streamline the codebase, proceed with required Mainsail-related changes, and address any reported issues to ensure stability.
ARK Scan Weekly Report
This week, we focused on improving the event processing architecture and addressing UI responsiveness issues within ARK Scan.
A key improvement was the introduction of a separate event queue for Mainsail. This refactor ensures that real-time events such as new transactions, blocks, and wallet activity are processed more efficiently and independently from other queues. By isolating these events, we improve scalability, reduce contention, and make the system more predictable under load. Alongside this, we aligned the same event queue separation approach with the current setup, ensuring consistency across environments and simplifying maintenance.
These changes also make it easier to monitor and test event flows using tools like Reverb, Horizon, and queue workers, providing better visibility into how events are dispatched and processed across different parts of the application (wallets, transactions, blocks, and statistics).
On the UI side, we fixed a responsiveness issue in the navigation bar where the search input was too wide on certain screen sizes. By introducing the missing md-lg breakpoint, the layout now behaves correctly across devices, improving usability on medium-sized screens.
Next week, we’ll continue addressing any reported issues, monitor the stability of the new event queue setup, and further refine performance and responsiveness across the application.
ARK Vault Weekly Report
This week, we focused on modernizing the dependency stack, removing unused packages, and improving overall stability within ARK Vault.
A large part of the work involved upgrading dependencies across the project, including several major version bumps. Notable updates include Ledger Ethereum integrations, dinero.js (migrating to the new v2 API), testing tools like Vitest, and a wide range of supporting libraries such as i18next, joi, p-queue, and react-datepicker. These upgrades ensure the project stays aligned with the latest ecosystem improvements, security patches, and performance optimizations.
In addition to upgrades, we also reduced technical debt by removing unused dependencies. This included eliminating the yup package following the removal of the VoteAmount component, as well as removing socks-proxy-agent and other unused utilities. We also replaced the dlv package with dot-prop, simplifying how nested values are accessed and reducing reliance on redundant libraries.
On the stability side, we fixed an issue on the votes page where routing hooks were incorrectly used outside of a router context, causing runtime errors. This has now been resolved by correctly sourcing the hook from the appropriate package.
Overall, these changes result in a leaner, more maintainable codebase with fewer dependencies and improved long-term reliability.
Next week, we’ll continue with dependency upgrades, monitor for any regressions introduced by major version changes, and address any reported issues to ensure stability.
Mainsail Weekly Report
This week, we focused on improving correctness, performance, and code structure across core components of Mainsail, alongside significantly expanding unit test coverage.
A key improvement was the refactoring of the StateRoot calculation within the EVM package. The logic has been simplified, making it easier to reason about and maintain, while also resolving a state root mismatch that was previously causing issues in functional tests. We also updated the EVM package dependencies to use the latest version of REVM, ensuring better compatibility and performance.
On the consensus side, we strengthened validation by ensuring the processor result is properly checked before determining prevote and precommit values. This adds an extra layer of correctness to the consensus flow and reduces the risk of invalid state propagation.
We also improved code organization by moving TransactionValidator logic into the forger, aligning responsibilities more clearly within the system. Additionally, we introduced a new ensureError utility to standardize error handling. With useUnknownInCatchVariables enabled in TypeScript, this utility ensures all caught values are safely transformed into proper Error objects, improving reliability and debugging.
A major focus was placed on worker performance and stability. Worker handling has been significantly improved by limiting the number of workers to four by default (configurable via the MAINSAIL_CRYPTO_WORKER_COUNT environment variable), optimizing resource usage. Task distribution has been enhanced by assigning jobs to the least busy worker, with round-robin fallback for equal loads. We also improved worker lifecycle management, including better error handling, logging, and automatic removal of failed workers from the pool.
Finally, we achieved strong unit test coverage across multiple packages. IPC functionality in the kernel package is now covered, while the transaction-pool-worker, crypto-worker, and evm-api-worker packages have reached 100% unit test coverage, significantly increasing confidence in these critical components.
Next week, we’ll continue expanding unit test coverage across the remaining areas, further refine worker performance and stability, and address any issues that arise from the recent refactors and dependency updates.
Feedback & Feature Requests
If you are using our open-source products and would like to provide feedback or request a feature, please feel free to contact us via the contact pages for the specific product you are using or open an issue on GitHub.
Quick access links to GitHub issues pages:
Follow on Twitter (X)
Follow us on X (Formerly Twitter) and keep checking the blog to stay up-to-date on all of our new releases. We post a weekly development report so you can easily see what we’ve been up to and follow along our journey towards making your decentralized future a reality.