Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we continued refining the ARK Connect extension by addressing reported issues and cleaning up unused code. On the SDK side, we updated the crypto packages for Python, PHP, and TypeScript to include the latest fixes and improvements in line with recent Mainsail updates. The ARK Vault team focused on end-to-end testing and coverage, added support for a new transaction format, and implemented a range of fixes and UI enhancements. Meanwhile, the Mainsail team concentrated on legacy support and general fixes as part of the ongoing preparation for the upcoming Public Testnet.
Development Activity Summary (July 11 – July 18, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 11, 2025, to July 18, 2025.
Project | Commits | Authors |
---|---|---|
ARK Connect | 22 | 1 |
ARK Scan | 0 | 0 |
ARK SDKs & Docs | 22 | 3 |
ARK Vault | 68 | 4 |
Mainsail | 8 | 3 |
During this period, the team maintained strong productivity and engagement, delivering 120 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 continued work on the ARK Connect extension by addressing issues and cleaning up unnecessary code. The work completed included:
- Fixed a Firefox-specific build issue and resolved problems with transaction sending to ensure smooth functionality and cross-browser compatibility.
- Refactored the application to enable viewing of the private key, allowing users to access and display their private key when needed.
- Removed unnecessary
wallet.synchroniser().coin()
calls for message signing as part of the PSDK migration. Since syncing is not required for signing messages, the redundant sync logic was safely eliminated to improve performance and simplify the flow.
Next week, we’ll focus on further fixes and improvements to the extension based on feedback from the internal testing team.
ARK SDKs and Documentation Weekly Report
This week, we continued updating the crypto packages (Python, PHP, and TypeScript) to incorporate the latest fixes and enhancements aligned with recent Mainsail changes. The work completed included:
-
PHP Crypto Package:
- Refactored component iteration to avoid using array indices as keys. Instead, it now relies on the named keys from the ABI definitions, ensuring compatibility with component structures like those in the Consensus and Usernames contracts that use named fields such as
from
andto
. - Refactored the code to include the validator registration value. This supports accurate transaction construction and display.
- Added tests to cover the remaining utility functions, improving overall test coverage and ensuring more reliable and maintainable utility code.
- Upgraded PestPHP and configured code coverage reporting to enhance testing capabilities.
- Updated the network chain ID values for both testnet and mainnet in the package to match the specified configurations. This ensures correct identification and interaction with the intended blockchain networks.
- Refactored component iteration to avoid using array indices as keys. Instead, it now relies on the named keys from the ABI definitions, ensuring compatibility with component structures like those in the Consensus and Usernames contracts that use named fields such as
-
TypeScript Crypto Package:
- Fixed signature padding by ensuring the
v
value of 0 or 1 is properly formatted as00
and01
during signing. - Added support for legacy second signature transactions in the TypeScript package, enabling signing and verification of these older transaction types.
- Refactored transaction handling to support legacy EIP-155 format instead of EIP-1559, aligning with recent Mainsail protocol updates while preserving the option to revert if needed.
- Fixed signature padding by ensuring the
-
Python Crypto Package:
- Updated the network chain ID values for both testnet and mainnet in the package to match the specified configurations. This ensures correct identification and interaction with the intended blockchain networks.
-
Documentation Site:
- Configured Meilisearch workflows to run only on the
main
branch. This update also adjusts the scraping process to run locally within the workflow and modifies the “fix” script to correctly update Mainsail index URLs.
- Configured Meilisearch workflows to run only on the
Next week, we’ll focus on further package improvements and begin updating the documentation site in preparation for the public launch of the Mainsail EVM testnet.
ARK Vault Weekly Report
This week, we focused on end-to-end (E2E) testing and coverage, added support for a new transaction format, and made various fixes and UI improvements. The work completed included:
- Added support for sending transactions with legacy second signatures by enabling Vault to detect and prompt users for the required second signature during wallet import and transaction signing, preventing transaction failures caused by missing legacy second signatures and ensuring smooth processing of transactions for addresses that require this authentication method.
- Fixed an issue where signing transactions with a Ledger device failed due to an invalid state error (“device must be opened”) by ensuring the Ledger is properly connected and the device state is validated before signing, preventing errors when sending from newly imported Ledger addresses immediately after profile creation.
- Updated the ts-crypto package to support the EIP-155 transaction format, enabling Vault to handle this standard correctly.
- The balance tooltip is now centered for better visibility and is disabled when opening the settings dropdown on mobile, preventing unwanted overlap or distraction.
- Implemented a fix for mnemonic/secret autocomplete issues by using an approach that involves overlaying an uninteractive password input on top of a text input with invisible text to simulate masked input. This workaround aims to prevent browser autofill from interfering while maintaining user privacy.
- Moved the Ledger icon from beside the Copy Address button to directly next to the address on the dashboard, improving visual association and clarity.
- Adjusted the “Update Validator” form fields on mobile to ensure consistent width across mobile screens, improving the user interface and layout.
- Improved mobile tooltips to break long words, enhancing readability and preventing layout issues on smaller screens.
- Updated mobile transaction headers to ensure consistency and alignment with the new design mockups, improving the visual coherence across transaction views.
- Removed the Ledger USB dependency setup steps from the CI configuration to simplify the build process.
- Added Dim Mode support to the transaction confirmations component, enhancing the UI by ensuring consistent theming during transaction confirmation steps.
- Updated end-to-end test workflows by adding the
feat/evm
branch to push triggers and restricting pull request triggers to run only for PRs targeting the main branch, refining test execution scope. - Enabled and fixed end-to-end (e2e) tests across multiple domains—contact, dashboard, vote, settings, message, and transaction—improving overall test coverage and reliability. Additionally, musig-related tests and ARK coin mocks were removed, and delegate references in tests were replaced with validator to reflect recent terminology changes.
Next week, we’ll continue improving test coverage across the app and address an issue reported by our internal testing team.
Mainsail Weekly Report
This week, we focused on legacy support and general fixes in preparation for the Public Testnet. The work completed included:
- Added support for pre-EIP-2718 transactions to improve compatibility with wallets such as MetaMask, Rabby, and others.
- Fixed issues with the installation script.
- Continued preparations for the Public Testnet.
Next week, we’ll turn our attention to the final phase of internal testing and make the last preparations for the fast-approaching Public Mainsail Testnet launch.
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.