25th Jul 2025
6 min read

ARK Development Report - July 25, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team added the ALPHA tag to the navigation bar in preparation for the upcoming Mainsail public testnet and continued work on ABI handling. On the documentation front, efforts were focused on adding Mainsail-specific content and expanding support for various EIP standards across the Python, PHP, and TypeScript packages. The ARK Vault team worked on enhancing Ledger compatibility alongside a series of fixes and general improvements. Meanwhile, the Mainsail team carried out a range of updates and final preparations based on internal testing as we get ready for the launch of the first public Mainsail testnet.

Development Activity Summary (July 18 – July 25, 2025)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from July 18, 2025, to July 25, 2025.

Project Commits Authors
ARK Connect 0 0
ARK Scan 8 1
ARK SDKs & Docs 44 3
ARK Vault 79 5
Mainsail 9 3

During this period, the team maintained strong productivity and engagement, delivering 140 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 Scan Weekly Report

This week, we worked on adding the ALPHA tag to the navigation bar in preparation for the upcoming Mainsail public testnet, along with continued work on ABI handling. The work completed included:

  • Added an ALPHA tag implemented via configuration, allowing flexible future use (e.g., switching to BETA). Setting the config value to an empty string hides the tag entirely.
  • Updated the navbar logo to display the ALPHA tag with a tooltip for context, and styled it with rounded corners for a more polished appearance.
  • Refactored transaction type handling to determine method names using a prioritized approach:
    1. Check explicitly defined types (e.g., isMultipayment) and use corresponding localized names.
    2. Match the payload hash against known contract entries from language files.
    3. Format the method name using the ABI if available.
    4. Fallback to displaying the raw 0x<PAYLOAD_HASH> if no match is found.

Next week, we’ll address any reported issues from our internal team and continue looking into general app optimizations.

ARK SDKs and Documentation Site Weekly Report

This week’s focus included adding Mainsail documentation to the documentation site and extending support for various EIP standards across Python, PHP, and TypeScript packages. Work completed involved:

  • Documentation Site:
    • Added the initial Mainsail documentation covering key topics like overview, installation, deployment, EVM, testing, and support, and updated the site navigation to include the Mainsail section.
    • Updated the Meilisearch configuration to use environment variables for endpoint selection, ensuring that search results are scoped correctly to each documentation section. This fixes the issue where searching on the Mainsail docs page would return SDK-related results and restores missing Mainsail pages to the search index.
    • Pinned the Meilisearch DocSearch dependency to an explicit version instead of latest, preventing unexpected breaking changes and ensuring predictable builds and stable search behavior.
  • Python Crypto Package:
    • Added the validator registration value to the builder.
    • Added EIP-155 support to the Python package, enabling compatibility with the latest transaction signing formats used in Mainsail.
    • Support for legacy second signature handling has been added, allowing transactions that require a second signature to be properly processed and signed.
    • Updated the Python package to implement EIP-191 message signing, refining the signing logic to comply with this standard for improved compatibility when signing messages.
  • PHP Crypto Package:
    • Added EIP-155 support to the PHP package, enabling compatibility with updated transaction signing formats required by Mainsail and ensuring proper handling of chain-specific signatures.
    • Support for legacy second signature handling has been added, enabling transactions that require a second signature to be correctly processed and signed.
    • The PHP package has been updated to implement EIP-191 message signing, refining the signing logic to comply with this standard and improving compatibility for message signing across supported systems.
  • TypeScript Crypto Package:
    • Added support for signing messages using the EIP-191 standard, improving message signing compatibility and security.

Next week, efforts will continue on refining Mainsail documentation based on feedback and resolving any issues encountered when interacting with the crypto SDK packages.

ARK Vault Weekly Report

This week, we focused on further improving Ledger compatibility along with a range of other fixes and improvements. The work completed included:

  • Corrected the chain ID used during Ledger signing by removing the unnecessary addition of 27 to the signature’s v value. This resolves transaction failures with newer Mainsail packages, improving compatibility and preventing signature errors.
  • Added an ALPHA tag with a tooltip in the navigation bar to indicate that Vault is running an alpha version, improving version visibility and preparing users for the Mainsail release.
  • Adjusted the Select Profile page layout to prevent the “Import Profile” text from overlapping on small-height mobile screens, enhancing readability.
  • Updated the explorer URL for the Mainsail network to ensure correct linking and accurate network references.
  • Extended the transaction table to support all known contract methods (consensus, multipayment, usernames) using ABIs, enabling human-readable method names and parameter data instead of hardcoded signature mappings.
  • Fixed the back button behavior in the send vote flow to properly return to the review step during error states, improving navigation and user experience.
  • Fixed validator address and name display in transaction details, ensuring correct display in vote-related views (pending and confirmed).
  • Added support for message signing using Ledger devices, expanding hardware wallet functionality for Mainsail.
  • Removed unused WIF-related code and added a fromWif method in the PublicKeyService, cleaning up the codebase.
  • Standardized form label padding across all mobile action forms for consistent alignment and improved layout.
  • Resolved an error during profile import in the profile domain that was causing test failures.
  • Moved tests from the wallet domain to the portfolio domain and fixed them accordingly.
  • Cleaned up e2e-utils.ts by adding a dynamic mock for /api/transactions/transaction-hash to reduce flakiness.
  • Removed e2e test-related files from the wallet domain and updated import paths across files for consistency.

Next week, we’ll focus on resolving any remaining issues reported by our internal testing team and making further improvements based on their feedback.

Mainsail Weekly Report

This week, we focused on a range of improvements and fixes based on our internal testing. The work completed includes:

  • Added support for snapshot configuration publishing in the Mainsail install-testnet.sh script.
  • Removed obsolete environment variables from the Mainsail codebase.
  • Enabled nethashSalt configuration in the network generator to allow the creation of networks with the same chainId but different nethash values.
  • Improved block downloading over P2P — synchronization can now be completed from a single node.
  • Updated logic to use the commit round (instead of block round) to increment and store the total round in the EVM database. This resolves issues where blocks from a previous round could be re-proposed, causing inconsistencies and stuck nodes.

Looking ahead, next week we’ll be preparing for the launch of the first public Mainsail EVM Testnet — stay tuned!

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.

Share:

Get in Touch!

Whether you want to learn more about ARK Ecosystem, want to apply for developer bounty, become our partner or just want to say Hello, get in touch and we will get back to you.



An Ecosystem of Developers

Join us on our journey to create the future of Web3.