Welcome to our latest Weekly Development Report, where we highlight ongoing progress across our ecosystem. The big story this week is Proof of Possession support landing across the stack: Mainsail now requires it for validator registration and updates, the TypeScript Crypto SDK supports generating it, and ARK Vault’s validator flows were updated to match. Beyond that, ARK Connect fixed transaction flow issues across popup and side panel modes, ARK Scan refined transaction detail views and resolved several runtime errors, and Mainsail shipped network reliability and execution performance improvements alongside growing test coverage.
Development Activity Summary (June 05 – June 12, 2026)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 05, 2026, to June 12, 2026.
| Project | Commits | Authors |
|---|---|---|
| ARK Connect | 28 | 2 |
| ARK Scan | 30 | 2 |
| ARK SDKs & Docs | 8 | 3 |
| ARK Vault | 14 | 3 |
| Mainsail | 33 | 2 |
In total, 113 commits were merged across all projects this week. As always, commit counts fluctuate with sprint focus and task complexity.
ARK Connect Weekly Report
This week, we worked on stability, transaction flow fixes, and legacy code cleanup, with continued attention to behavior across both popup and side panel modes.
Send and Vote transactions initiated from a web app weren’t reaching the extension for approval when running in pop-up mode. The flow now works consistently across both modes.
On the Unvote view, we removed delegate detail fields that weren’t being populated. We also pulled out legacy SWAP handling that no longer applies, bringing the code in line with the current voting mechanism.
The side panel behavior when triggered from a web app also got a fix. Previously, the extension could end up stuck on the “Signed Successfully” screen. It now closes automatically, or mirrors pop-up behavior, depending on how it was opened.
Finally, some general housekeeping: removed unused files and the @/app alias that was no longer needed.
Next week, we’ll continue Mainsail integration work, keep modernizing the codebase, and refine popup and side panel behavior further. Testing feedback will get picked up as it comes in.
ARK Scan Weekly Report
This week, we focused on transaction detail views, fixed a handful of runtime errors, and put some shared AI tooling conventions in place.
On the UI side, we cleaned up the error status layout in the transaction details view. Padding inconsistencies and separator formatting were off, and the result was cluttered. It now reads as it should.
We also restored transaction payload details that had quietly gone missing. Method name, UTF-8 representation, and raw bytes are all back on transaction detail pages. Useful for anyone debugging or inspecting what actually went through.
A CLAUDE.md file was added to the repo to establish shared AI conventions. Partly administrative, but it sets up a consistent foundation as AI tooling gets more involved in the project.
Contract deployment transactions were previously throwing 500 errors because something expected a value that wasn’t there. Null handling is in place now, so those pages load reliably.
We also handled a case where SimpleAnalytics being disabled or blocked would break certain UI actions, specifically exporting data. The missing sa_event call was causing JavaScript errors. That’s now handled gracefully, so analytics availability no longer affects app behavior.
Next week, we’ll keep refining transaction details, extend error handling to cover more edge cases, and continue supporting backend and Mainsail-related work.
ARK SDKs & Documentation Site Weekly Report
This week, work across Documentation and SDK packages centered on the TypeScript Crypto package, with changes tracking recent Mainsail updates.
The cryptography layer was refactored to replace @noble/secp256k1 with @noble/curves. The switch was needed to support Proof of Possession generation, which Mainsail now requires: when validators register or update their registration, they must sign a value using the private key of their BLS key. Existing functionality and tests are unaffected.
Multipayment transaction support was added, enabling multiple transfers to different recipients within a single transaction.
Validator registration and update flows were also updated to accept a BLS passphrase, with the public key derived directly from it. A ValidatorUpdateBuilder was added alongside this to standardize the construction of validator update payloads.
Next week, SDK work continues in step with Mainsail. Documentation for batch transfers and the updated validator flows is next in the queue.
ARK Vault Weekly Report
This week, we expanded transaction capabilities, improved validator flows, and stabilized the app after recent dependency upgrades.
Batch transfer support was added to the wallet transaction service, letting the UI initiate multipayment transactions. This brings Vault in line with the batch transfer functionality added to the SDK.
The validator registration flow got some attention: the passphrase field is now a secure password input, cleared on component unmount, and the Continue button is disabled while the public key is being validated.
Validator register/update logic was also refactored to use a passphrase instead of a public key, matching updated signing requirements. This fixed a set of failing unit and E2E tests in the process.
Token balances in the portfolio header now update immediately when switching wallets rather than lagging behind the address change.
A runtime error introduced by the Vite upgrade was resolved by including typescript-crypto in optimized dependencies.
TypeScript was upgraded to 6.0.3, and broken E2E tests from recent dependency updates were fixed.
Next week we’ll continue with dependency upgrades, expand E2E coverage, and keep refining transaction and validator flows.
Mainsail Weekly Report
This week, we worked on network reliability, execution performance, and system stability, alongside continued test coverage expansion.
Block signature verification in the P2P download process was fixed to include the previous block hash. This tightens validation and prevents inconsistencies during sync.
A kernel queue issue was resolved, where the queue would pause after being drained instead of continuing to process. Throughput and reliability are back to expected behavior.
As planned last week, a postinstall script was added to the EVM package to support musl-based Linux environments. This removes the dependency on prebuilt binaries and broadens OS compatibility.
Bootstrap performance improved after stripping out large, unnecessary dependencies from the kernel, resulting in faster startup and lower resource usage.
Within the EVM package, locking mechanisms were introduced for safe database resizing, and execution was optimized by reusing a single read transaction across all state reads during execution rather than creating new ones per read.
Test coverage was a focus this week as well, with networking-dns and networking-ntp both reaching 100%.
Next week, we’ll continue expanding coverage across the remaining packages and validate the postinstall script across environments. Any reported issues will get picked up alongside ongoing performance work.
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 Us on X
Follow us on X and keep an eye on the blog to stay up to date with everything we ship. We publish a development report every week so you can follow along as the ecosystem grows.