27th Jun 2025
6 min read

ARK Development Report - June 27, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team tackled several issues related to multipayment handling and transaction amount accuracy, while a new method for retrieving the validator registration value was added to the documentation site. The ARK Vault team continued refining the Dim Theme and made further improvements to both the Validator Registration and Resignation flows. Meanwhile, the Mainsail team focused on enhancing the transaction pool and API, along with implementing several additional improvements across the codebase.

Development Activity Summary (June 20 – June 27, 2025)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from June 20, 2025, to June 27, 2025.

Project Commits Authors
ARK Connect 0 0
ARK Scan 5 1
ARK SDKs & Docs 4 1
ARK Vault 54 4
Mainsail 33 3

During this period, the team maintained strong productivity and engagement, delivering 96 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 addressed several issues related to multipayment handling and transaction amount accuracy, including:

  • Updating the block pagination logic to account for the snapshot starting point on the Mainsail network. This prevents the explorer from incorrectly showing extra pages by no longer assuming that blocks start at height 0.
  • Fixing how received amounts are displayed in multipayment transactions so that only the amount received by the address is shown, instead of incorrectly showing the total sent minus the received portion.
  • Correcting the transaction amount component to properly handle validator resignations by passing the amount directly, rather than using the transaction model as the amount argument.

Next week, we’ll focus on additional improvements based on internal testing and address any issues that come up.

ARK SDKs and Documentation Weekly Report

This week we’ve added a new method for retrieving the validator registration value to our documentation site. The documentation has been updated accordingly to reflect this change.

Our focus for next week will be on extending the SDKs to support the recent changes made to the validator contract. This includes implementing additional methods aligned with the latest updates. Once these enhancements are complete, we will also update the documentation site to ensure it accurately reflects the new functionality and provides developers with the necessary integration details.

ARK Vault Weekly Report

This week, we continued work on the Dim Theme, as well as improvements to the Validator Registration and Resignation flows, along with various other fixes and enhancements. Highlights include:

  • Refactored validator fetching on the portfolio page to improve sync time and reduce unnecessary requests. Introduced caching to avoid refetching validators if the data is less than 5 minutes old. Increased batch size from 10 to 100 per request, and optimized early fetching of relevant validator details to speed up loading of the “voting for” section.
  • Fixed an issue where an empty address in the transaction query parameter triggered a 422 error by adding validation to ensure only non-empty, valid addresses are processed.
  • Resolved a bug causing multiple rerenders on the voting success page, which could freeze the UI. Now, navigation proceeds smoothly after a transaction confirms.
  • Added Dim Theme support to votes pages, updating components like Toasts, validator footers and rows (both desktop and mobile), addresses, list items, pagination, and the trash icon.
  • Updated the send and receive modals to support Dim Theme styling, covering components like Switches, Buttons, control groups, labels, QR modals, address selectors, fee input, and the receive funds screen.
  • Applied Dim Theme updates across the settings pages, including button groups, lists, network selectors, sidebars, toggles, export functions, and various settings forms to ensure consistent styling.
  • Fixed an issue where the simple fee option sometimes showed zero fees due to Mainsail returning 0. Now, fallback fee values are used in these cases to avoid invalid zero-fee transactions.
  • Improved the validator registration flow to correctly show network fees for both simple and advanced options instead of falling back to default or zero values.
  • A validation step was added to the validator registration form to enforce minimum balance requirements, preventing users from proceeding if their balance is insufficient for the locked and transaction fees.
  • Fixed vote transactions that were incorrectly being sent as “Transfer” by correcting the access to the vote array, ensuring the proper transaction type is used.
  • Updated the validator name UI to show up to 20 characters on desktop when possible, applying truncation only when necessary.
  • Refactored wallet selection by removing the usePortfolio hook and moving wallet-related state into the profile and wallet interfaces for cleaner management.
  • Fixed a confirmation page issue where leaving the page open during transaction confirmation triggered a request loop due to repeated failures followed by error transitions.
  • Implemented locked fee handling in the validator resignation flow, displaying the unlocked value based on the original registration fee and caching transaction details to avoid redundant requests.
  • Added a tip to the validator registration form to help users correctly enter their BLS key.
  • Upgraded the PWA Vite plugin and other dependencies, including jest-extended, dot-prop, and replaced big.js with bignumber.js for better type compatibility. Also removed rambda in favor of existing utility functions.
  • Handled locked fees in the transactions table by only displaying the locked amount for successful validator registration and resignation transactions. Failed transactions now show only the fee.
  • Improved type definitions across several files to maintain alignment with app types and avoid suppressions.
  • Updated react-toastify styling to align with version 11’s new approach, eliminating reliance on !important and ensuring correct application of custom styles.
  • Updated minor dependencies related to Ledger and Viem, and modernized linting by upgrading ESLint dependencies to their latest major versions.
  • Fixed flaky tests in the exchange domain to improve test reliability.
  • Adjusted wallet vote info display so that the rank is now properly center-aligned for improved visual consistency.

Next week, we’ll continue refining the Dim Theme and begin work on additional features recently added to Mainsail EVM. We’ll also address any issues identified during internal testing.

Mainsail Weekly Report

This week, we focused on improving the transaction pool and API, along with several other improvements. The completed work includes:

  • Added rebroadcasting for local transactions on API nodes to improve reliability in the transaction pool.
  • Fixed an issue where transactions with higher fees were not properly replacing existing ones in the transaction pool.
  • Implemented a filter in the API to exclude legacy validators that lack a registered BLS key.
  • Introduced a simulate API in the EVM-RPC to provide more accurate and dependable gas estimations.
  • Fixed a bug in the snapshot module that caused some attributes to be missing when restoring legacy wallets.

Next week, we will continue reviewing and adding support for legacy transactions to ensure broader compatibility across clients. Additionally, we will address any issues identified during internal snapshot testing.

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.