11th Apr 2025
5 min read

ARK Development Report - April 11, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the focus continued on refining the client and crypto packages, with updates to the documentation site reflecting recent changes and the addition of a new feature in PSDK. The ARK Vault team has been addressing feedback from internal testing, resolving reported issues, implementing design updates, and enhancing the user experience with a new side panel. Over at Mainsail, work has been underway on renaming fields for the public HTTP API and adding support for the latest Node.js 22.x.

Development Activity Summary (April 4 – April 11, 2025)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 4, 2025, to April 11, 2025.

Project Commits Authors
ARK Connect 0 0
ARK Scan 0 0
ARK SDKs & Docs 22 3
ARK Vault 35 4
Mainsail 13 3

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

This week, we focused on enhancements across the client and crypto packages, along with updates to the documentation site and a new feature addition in PSDK. Below is a summary of the completed tasks:

  • Documentation Site:

    • Updated TypeScript definitions for BigNumber handling, particularly for transfer values in ts-crypto.
    • Removed the getBytes method in TypeScript.
    • Removed outdated complementary examples.
    • Refreshed network documentation.
    • Added builder types, including support for username and multipayment transactions.
    • Improved example type hints for clarity and consistency.
  • Python Crypto Package:

    • Refactored the Network, Address, Slot, and Wif modules to be class-based, enhancing structure and maintainability.
    • Removed the unused to_hex method from the PublicKey class.
    • Updated internal Deserializer methods to be private, improving encapsulation and discouraging external usage.
  • TypeScript Crypto Package:

    • Renamed getWif to wif in the network module for consistency across SDKs.
    • Made Deserializer methods private to enforce encapsulation.
    • Added support for BigNumber values in transaction fields: transfer value, multipayment recipient value, gas price, and gas limit.
    • Renamed toArray methods to toObject to better represent the returned structure and reduce confusion.
  • TypeScript Client Package:

    • Exposed the ArkHttpException type for better error handling and assertions in TypeScript applications.
  • PHP Crypto Package:

    • Introduced the wif method in the network module to match other SDKs.
    • Removed fromMultiSignatureAsset from the Address class.
  • Platform SDK (PSDK):

    • Added a new feature to return the host selector from the environment, enabling:
      • Accurate request URL resolution.
      • Generation of precise cache keys.
      • Selective clearing of cache entries before transactions.

Next week, we’ll continue improving Mainsail EVM compatibility across all client and crypto packages, as well as the Platform SDK. Further updates to the documentation site are also planned.

ARK Vault Weekly Report

We’ve continued focusing on feedback from the internal testing team—resolving reported issues, refining the design, and enhancing the user experience, particularly around the new side panel. Here’s what was completed:

  • The side panel now automatically closes when switching addresses in single view mode, reducing unnecessary clicks and improving usability.
  • Refactored hooks tests to use the Mainsail network, replacing all Ark-related dependencies for consistency.
  • Added logic to refetch the latest wallet attributes before starting transaction flows to minimise issues due to stale data.
  • Removed the sdk-ark package and deprecated the ARK coin, cleaned up all related code, and fixed impacted tests.
  • Further cleanup of ARK-related logic included:
    • Removing temporary flags added during the migration.
    • Dropping the onlyMainsail argument from mockProfileWithPublicAndTestNetworks.
    • Deleting ARK-specific mock files and MSW handlers.
    • Updating tests to use Mainsail fixtures for full consistency.
  • Updated tests across the codebase—including app/components, app/contexts, and utils—to align with the Mainsail network.
  • Adjusted the copy-to-clipboard icon:
    • Aligned it with the header for visual consistency.
    • Changed its color to gray to match design guidelines.
  • Fixed a nonce issue that could occur when sending a vote in quick succession.
  • A warning block was added to notify users if a username is already registered to an address. It now warns users that registering a new name will overwrite the current one.
  • Introduced tooltips for the “Send” and “Receive” navbar buttons, providing clear hover-based descriptions.
  • Enabled unit tests for SendExchangeTransfer to validate exchange-related transfer logic.
  • Migrated sdk-mainsail directly into the arkvault project for better integration and maintainability.
  • Fixed wrapping issues in the “addressing” column of the transaction table—content now stays aligned even when only contract interactions are present.
  • Ensured all new text content is properly punctuated for grammatical consistency.
  • Added tooltips to all remaining navbar buttons, rounding out the interface enhancements.
  • Refactored the address and message services to use the typescript-crypto library, strengthening cryptographic handling and unifying service logic.

Next week, we’ll continue resolving reported issues. We’re also very close to finalizing the initial version of ARK Vault with full Mainsail support.

Mainsail Weekly Report

This week, we continued our work on the latest Node.js support and made progress on Ethereum’s naming conventions. The work completed includes:

  • Added missing HTTPS support to the HTTP client, addressing issues introduced by Node.js 22.x.
  • Corrected the commit key usage for blocks with a height offset in the consensus mechanism.
  • Renamed block, transaction, and receipt fields in both the Public API and consensus modules.
  • Removed the transform option from the Public API.

Next week, we’ll be wrapping up full support for pnpm v10 and beginning preparations for a custom repository for the Heed fork.

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.