25th Apr 2025
6 min read

ARK Development Report - April 25, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, across the ecosystem, the ARK Vault team focused on resolving issues surfaced during internal testing while also tidying up the codebase for improved maintainability. Meanwhile, significant attention went into updating the documentation site to reflect recent changes, along with enhancements to our PHP, Python, and TypeScript packages—introducing new features and aligning them with the latest Mainsail EVM updates. On the Mainsail front, work continued on strengthening legacy import support from Core, cleaning up legacy code, and rolling out various general improvements.

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

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

Project Commits Authors
ARK Connect 0 0
ARK Scan 2 1
ARK SDKs & Docs 44 3
ARK Vault 12 3
Mainsail 21 2

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

The ARK Scan team has been actively testing the app to identify bugs and determine any additional changes needed for Mainsail. They’ve also done some code updates, including:

  • Adjusting the transaction and block export functionality to be compatible with upcoming changes in the Mainsail API.

Next week, testing will continue alongside the documentation of any remaining issues or required adjustments for Mainsail EVM.

ARK SDKs and Docs Weekly Report

This week, a lot of focus has been on updating the documentation site with all of the latest changes. We have also worked on PHP, Python, and TypeScript packages by adding new features and adjusting to Mainsail EVM changes. To be precise:

  • Documentation site:
    • Updated wording from delegate to validator across TypeScript, Python, and PHP crypto and client implementations, in accordance with recent schema changes.
    • Additional crypto updates:
    • Added Address.validate method (Python Crypto).
    • Removed internal deserializer methods (Python Crypto).
    • Removed old serializer methods (Python Crypto).
    • Updated Message section to match PHP/TS (Python Crypto).
    • Added missing PrivateKey.sign method (Python & PHP Crypto).
    • Improved Serializer and Deserializer examples (Python Crypto).
    • Updated Slot examples to match PHP/TS (Python Crypto).
    • Ensured all Inherits from references use full namespace paths.
    • Renamed duplicate “convert message to json” to toString (PHP Crypto).
    • Checked PublicKey.recover_from_signature method (Python & PHP Crypto).
    • Standardized API headings and order across SDKs.
    • Ensured examples import relevant packages.
    • Refactored PrivateKey class (PHP Crypto).
    • Verified consistency of example return types.
    • Updated the node fee response example in the docs to reflect the current structure post-Mainsail EVM transition, replacing the outdated pre-EVM format.
    • Removed outdated transaction endpoints from the /api/transactions documentation that are no longer relevant to Mainsail:
      • /transactions/types
      • /transactions/fees
      • /transactions/schemas
    • Added documentation for the new /api/contracts endpoint.
    • Updated the transaction response example in the docs to reflect changes in the /api/transactions endpoint. The endpoint now accepts a ?fullReceipt=true parameter to include full receipt details, and the success attribute has been moved to the receipt object.
  • Python Crypto Package:
    • Added validate method to provide address format validation.
    • Updated slot epoch to return an int instead of a datetime.
    • Refactored PublicKey to be a class instead of a string wrapper, allowing for future extensions and added functionality.
    • Updated the Message class in the Python Crypto package to align with PHP and TypeScript by adding a new method for creating a message instance. Also added the __str__ helper to support string casting of the object.
    • Adjusted the crypto package to align with recent API schema changes.
  • Python Client Package:
    • Added the new /api/contracts endpoint.
    • Adjusted the client package to align with recent API schema changes.
  • TypeScript Crypto Package:
    • Updated schema to accommodate recent API changes, ensuring continued compatibility and functionality.
    • Improved utils code coverage and removed unused decodePayload methods to streamline the codebase and enhance test reliability.
  • TypeScript Client Package:
    • Refactored schema by renaming ‘delegates’ to ‘validators’, updating the ‘Nodes’ type filename to ‘Node’, and applying other structural improvements for consistency and clarity.
  • PHP Crypto Package:
    • Refactored the PublicKey class to align with TypeScript, removing the wrapper/helper structure to allow for easier extensibility, replacing the previous return of a BitWasp PublicKey instance.
    • Refactored the PrivateKey class and removed the unused gmpToHex method from the AbstractTransaction class to improve code clarity and efficiency.
    • Renamed ‘delegates’ to ‘validators’ and updated the ‘Nodes’ type filename to ‘Node’, along with other schema adjustments for improved consistency and clarity.
  • PHP Client Package:
    • Updated the client package to ensure compatibility with recent API changes.
    • Added the /api/contracts endpoint to support contract-related features and enhance API functionality.

Next week, we’ll continue working on any necessary updates to the documentation site and additions to our SDK packages to be in line with Mainsail EVM changes.

ARK Vault Weekly Update

The ARK Vault team focused on testing, resolving issues from internal QA, and cleaning up the codebase. This week’s completed work includes:

  • Fixed an issue where the wallet encryption message could disappear when tabbing into the input field.
  • Moved sdk-profiles internally and removed the external dependency @ardenthq/sdk-profiles to streamline the project structure.
  • Updated transaction API attributes to align with the upcoming Mainsail changes.
  • Removed the @ardenthq/sdk dependency to reduce external dependencies and simplify the project structure.
  • Removed the remaining multisignature logic from Vault, including refactoring or deleting unused hooks, components, methods, translations, and validations.
  • Fixed the issue where block height was showing as NaN by renaming the blockId prop to blockHash in the useBlockHeight hook and updating the API response from data.height to data.number.
  • Moved @ardenthq/sdk-markets internally, following the same approach used for sdk-profiles, to streamline dependencies and project structure.

Next week, the team will continue refining reported issues and will work on moving additional flows to the side panel feature.

Mainsail Weekly Update

This week, we focused on enhancing legacy import support from Core, cleaning up parts of the codebase, and implementing several general improvements. Highlights include:

  • Renamed the testnet network to devnet. New naming convention:
    • Mainnet → Main public network
    • Testnet → Public test network
    • Devnet → Local development network
  • Added verification logic for legacy second signatures.
  • Made various improvements to the legacy importer.
  • Enabled management of api-sync and api-database plugins via the MAINSAIL_API_SYNC_ENABLED environment variable.
  • Replaced all CORE_ environment variable prefixes with MAINSAIL_.
  • Removed obsolete .env variables from test configurations.

Next week, we will focus on adding V3 BLS key registration support in ARK Core, resolving issues with snapshot file paths, and updating both Docker and installation scripts to incorporate the latest changes.

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.