9th May 2025
5 min read

ARK Development Report - May 9, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week on the SDK front, the focus was on enhancing the new Vault Crypto package used by ARK Vault, along with refactoring parts of the PHP and TypeScript packages for better consistency and performance. In ARK Vault, efforts centered on fixing the multipayment bug, improving and re-enabling a range of tests, and upgrading to the latest version of Vault Crypto. Meanwhile, the Mainsail team continued working on legacy support from Core v3 and made solid progress on expanding test coverage.

Development Activity Summary (May 2 – May 9, 2025)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 2, 2025, to May 9, 2025.

Project Commits Authors
ARK Connect 0 0
ARK Scan 0 0
ARK SDKs & Docs 9 2
ARK Vault 24 4
Mainsail 18 2

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

This week, our primary focus was on enhancing the new Vault Crypto package used by ARK Vault. We also carried out several refactors across the PHP and TypeScript packages. The key updates include:

  • Vault Crypto Package:

    • Exposed the BLS class and added BLS key support to enable proper validation, resolving issues caused by previously missing checks.
    • Removed the redundant secp256k1 package from arkvault-crypto and replaced it with the @noble/curves implementation. Added tests to ensure all functionality remains consistent.
    • Updated the PBKDF2 implementation to prevent exceptions in the Node.js environment used by ARK Vault, ensuring stable performance.
    • Fixed the “invalid private key” error by ensuring Uint8Array or Buffer is passed to @noble/curves instead of ArrayBuffer.
  • PHP Client Package:

    • Reorganized API endpoint definitions and connection handling logic to align with the Python and TypeScript SDK structures. The SDK now clearly defines endpoints and separates connection concerns from the main client logic.
  • TypeScript Crypto Package:

    • Replaced Buffer.from with toUtf8Bytes from ethers to resolve a TypeError: invalid BytesLike value encountered during testing.

Next week, we will continue focusing on the Vault Crypto package, aiming to further enhance and integrate essential features required by ARK Vault.

ARK Vault Weekly Report

This week, the focus was on resolving the multipayment bug, improving and enabling various tests, and updating to the latest Vault Crypto package. Work completed includes:

  • Fixed the issue preventing users from adding recipients in multipayment transactions by adjusting properties in network.ts to correctly reflect the network configuration—specifically updating maxRecipients, which was previously set to 0.
  • Enabled BLS key validation by integrating the necessary checks into the transaction flow. To verify, send a validator transaction and confirm the BLS key is properly validated during submission.
  • Refactored the onboarding hint tooltip to appear only when more than one wallet is imported in single address mode, and updated the tooltip text to better reflect that context.
  • Updated username and validator public key validations to use the hosts configuration via hostSelector instead of hard-coded URLs. This enables dynamic public API selection and supports request cancellation to avoid false positives.
  • Enabled and fixed tests across multiple domains and components:
    • Application components/hooks tests: Ensured core components and hooks are properly tested.
    • Transactions domain A–O tests: Fixed tests related to error handling and exchange logic.
    • Dashboard domain tests: Ensured complete test coverage for dashboard features.
    • Portfolio domain tests: Enabled and fixed tests within the portfolio domain.
    • Contact domain tests: Enabled and resolved issues with contact-related tests.
  • Fixed a bug where the BLS key was never accepted by updating the arkvault-crypto package to version 0.0.7. The publicKeyExists method was refactored to pass validation when a 404 is returned from the public keys endpoint, indicating that the public key is available for use.

Next week we’ll continue work on Vault Crypto package integration to make ARK Vault even more lean. In addition, we plan to implement further Side Panel updates based on recent feedback.

Mainsail Weekly Report

This week, our focus has been on legacy support from Core v3, along with improvements to our test coverage. Key highlights include:

  • Implemented default configuration path for storing legacy snapshot files.
    • The configuration generator now saves the snapshot file to this path.
    • The snapshot importer reads from it during Mainsail boot.
  • Added an end-to-end (E2E) test to verify import from a legacy snapshot.
  • Expanded E2E tests to include:
    • Transaction sending
    • API response validation
  • Added support for the activeValidators milestone change.
  • Updated EVM Rust dependencies.
  • Enabled support for specifying a BLS private key or passphrase for validators in the validators.json file.

Next week, we plan to upgrade inversify to the latest version and focus on optimizing transaction inclusion within blocks.

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.