Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team addressed data issues affecting the statistics page, while updates to the documentation site were made to reflect recent changes in the TypeScript client, alongside several enhancements to the TypeScript libraries themselves. The ARK Vault team focused on a major upgrade to Tailwind CSS v4, updated various minor dependencies, and implemented fixes based on internal testing. Meanwhile, the Mainsail team worked on resolving transaction-related issues and continued improving the test coverage.
Development Activity Summary (May 23 – May 30, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from May 23, 2025, to May 30, 2025.
Project | Commits | Authors |
---|---|---|
ARK Connect | 0 | 0 |
ARK Scan | 4 | 1 |
ARK SDKs & Docs | 8 | 1 |
ARK Vault | 44 | 4 |
Mainsail | 28 | 2 |
During this period, the team maintained strong productivity and engagement, delivering 84 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 fixing data issues on the statistics page. Work completed included:
- Fixed an issue where all-time transaction fees in the statistics view were calculated or displayed incorrectly. The fix ensures that fee values are now aggregated correctly with proper decimal handling, so the displayed totals accurately reflect the actual on-chain data.
- Fixed an issue where daily transaction averages were not updating correctly, often showing zero despite active network activity. Adjusted the logic to ensure consistent updates now that automated scripts are running. Also improved the readability of the multipayment transaction query.
Next week, we will continue working on any issues reported by internal testing.
ARK SDKs & Docs Weekly Report
This week, we made updates to the documentation site to reflect recent changes to the TypeScript client and made several additions to the TypeScript libraries. Work completed included:
-
Documentation Site:
- Updated all TypeScript import references from
@arkecosystem/crypto
and@arkecosystem/client
to@arkecosystem/typescript-crypto
and@arkecosystem/typescript-client
to reflect the current package structure. - Updated the TypeScript examples in the documentation to include wrapper functions around
await
calls. This helps make the examples clearer and more accessible for developers who may not be familiar with usingawait
at the top level.
- Updated all TypeScript import references from
-
TypeScript Client:
- Implemented the
eth_estimateGas
JSON-RPC method to dynamically determine gas estimates instead of using hardcoded values. This method is now used wherever gas fees are calculated, providing a more accurate default value to display to users. A corresponding unit test has also been added to ensure reliability. - Adjusted the
ethCall
method to take the full requestbody
as a parameter instead of fixed arguments. This allows support for additional EVM JSON-RPC methods beyond justeth_call
, increasing flexibility and compatibility with other EVM interactions.
- Implemented the
Next week, we will continue working on improvements to the libraries and begin preparing the documentation site for the Public Mainsail Devnet.
ARK Vault Weekly Report
This week, we focused on a major update to Tailwind CSS v4. In addition, we made several updates to minor dependencies and implemented various fixes based on internal testing. Highlights of the work completed include:
- ARK Vault has been updated to use Tailwind CSS v4, along with several related configuration and codebase changes to ensure full compatibility and functionality:
- PostCSS configuration has been updated to use the new
@tailwindcss/postcss
package as required by Tailwind v4. - Vite and Vitest configurations have been adjusted to support the updated Tailwind setup and its dependencies.
- Multiple components have been refactored to align with the new class name structure introduced in Tailwind v4.
- Unit tests and snapshot files have been updated to reflect changes in class names and component structure.
- The format workflow has been disabled temporarily to prevent issues with the new Tailwind class name syntax.
- PostCSS configuration has been updated to use the new
- Updated all dependencies to their latest patch versions to ensure compatibility and incorporate minor bug fixes without introducing breaking changes.
- Performed additional cleanup and removed unused code. Replaced legacy unit formatting with the
UnitConverter
fromtypescript-crypto
. Removed remaining coin-related references such aswallet.coinId()
andwallets.findByCoinWithNetwork()
. Also updated the last occurrences of delegate references to validator for consistency across the codebase. - Implemented the
eth_estimateGas
call for transaction sending. This replaces hardcoded gas values with dynamically fetched estimates using theeth_estimateGas
JSON-RPC method. The value returned is now used as the default gas value during fee calculations, ensuring more accurate and network-aware transaction fee handling. - Updated all test-related dependencies including Vitest, MSW, and Testing Library. Removed the
jest-when
package and refactored affected tests to simplify and reduce dependency overhead. - Updated dependencies to their latest minor versions. Removed
rollup
since Vite already includes it internally. Droppedtype-fest
as its utility was replaced by TypeScript’s built-inOmit<>
. Removedquery-string
in favor of usingURLSearchParams
for query handling. ESLint and Vite dependencies were also bumped to their latest minor versions. - Replaced all instances of “delegate” with “validator” across unit tests, component props, interfaces, and types to align with the updated API. Updated test-ids, method names, and test cases accordingly. The Mainsail manifest and relevant translations were also revised to reflect this terminology change. Removed outdated snapshots and unused components as part of the cleanup.
- The
ValidatorStatus
component has been refactored to includegroup-hover
styles, resolving the issue of the label blending into the background when hovering over the row. - Fixed an issue with sending transfer transactions involving large amounts. The advanced fee adjustment buttons now use min and max values from the API. A bug with the fee mode switch has been resolved—when switching from advanced to simple view, the estimated fee is correctly retained.
gasPrice
andgasLimit
are now handled asBigNumber
instead of plain numbers, and the related types have been updated accordingly. Unit tests were added and fixed to cover these changes, and gas limit defaults have been restored. - Integrated
knip
with a customized configuration to detect unused code and files usingpnpm unused
. This setup serves as a proof of concept to validate its accuracy in identifying truly unused parts of the codebase.
Next week, we will continue resolving any remaining issues, cleaning up unused parts of the codebase, and working to make the ARK Vault codebase even more streamlined and efficient.
Mainsail Weekly Report
This week, we focused on resolving reported issues related to transactions and enhancing our testing infrastructure. Most notably:
- Fixed an issue where the Transaction Pool was not expiring transactions under specific conditions.
- Resolved a problem with transaction rebroadcasting that affected very large transactions.
- Improved the stability of end-to-end (E2E) client tests.
- Restored functional consensus tests.
- Updated unit tests for
@mainsail/crypto-messages
to ensure accuracy and coverage.
Next week, our attention will shift toward preparations for the Internal Devnet, which serves as a precursor to the upcoming Public Devnet. We will focus on integrating validator fees into the Consensus contract, performing snapshot testing for the V3 Devnet, and enhancing overall test coverage.
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.