Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team focused on additional Mainsail EVM integrations and UI improvements. The ARK Vault team worked on general improvements and fixes, alongside updating some UI and UX elements for the Mainsail EVM integration. Meanwhile, the Mainsail team concentrated on gas price improvements, bug fixes, and JSON RPC adjustments.
Weekly Development Summary
Below is a breakdown of total commits and contributing authors by project, highlighting development activity from January 17th 2025, through January 24th, 2025.
Project | Commits | Authors |
---|---|---|
ARK Connect | 0 | 0 |
ARK Scan | 111 | 2 |
ARK SDKs & Docs | 0 | 0 |
ARK Vault | 186 | 3 |
Mainsail | 24 | 2 |
During this period, the team maintained strong productivity and engagement, delivering a total of 321 commits across all projects.
It’s important to note that weekly commit counts and project-specific data may vary depending on the focus of internal sprints, evolving objectives, and the complexity of tasks undertaken.
ARK Scan Weekly Report
This week, we continued working on the Mainsail EVM integration and the necessary UI changes. Below is a summary of the work completed:
- Updated the “to” label when interacting with contracts to prevent width changes in the details row and ensure responsive alignment.
- Enhanced the address details page to include multi-payment incoming transactions for a recipient and removed an extra parameter in the address component.
- Improved readability of gas fees on the statistics page by:
- Moving gas fees to the top of the page.
- Adding a title, ‘Current gas prices’ to make it stand out.
- Reorganizing other stats to display the gas fees below.
- Truncated validator addresses on the statistics page for better readability, as usernames are now optional.
- Fixed an issue where the ‘Connect’ button appeared twice in the mobile menu.
- Improved blocks table address styling.
- Fixed recipient address resolution when clicked in multi-payment transactions.
- Improved validator monitor coverage with new tests.
- Fixed validator block export.
- Removed unused code for the validator public key.
- Refactored the display to show 8 decimals for address balances.
- Fixed handling of small-value exports. We updated the transaction export feature to include the recipient, sender, and fee (gas price).
- Re-integrated support for usernames, sorting, and caching.
- Resolved a PHPStan style warning.
- Hidden failed transactions are hidden in the ‘Recent Votes’ tab on the
/validators
page. - Removed the current average fee component.
Next week we will continue working on additional Mainsail EVM integration tasks, addressing reported and uncovered bugs, and developing new features to enhance the integration.
ARK Vault Weekly Report
This week’s focus has been on updating some of the design elements for better UX and UI, as well as preparing for the Mainsail EVM changes alongside general fixes and improvements. Work done this week included:
- The app now ensures that addresses are properly synced during transaction fetching.
- Added new portfolio header design:
- New Tailwind breakpoint
md-lg
has been added for the 960px landscape view. - Tailwind color palette has been updated, adding the
dark-navy
color. - Old mobile and desktop wallet header components have been removed from the codebase.
- The new
WalletHeader
component is fully responsive and supports dark mode. - Unit tests have been updated to support the changes.
- New Tailwind breakpoint
- Added a new side panel component that opens instead of full pages, improving UX and UI for initial actions (e.g., creating an address, importing an address, etc.).
- Implemented a new tab design on the Portfolio page:
The transaction history tab list has been refactored to match the new design.
- Other tab list implementations are affected by the refactor but will be addressed as part of future redesign phases (e.g., exchange tab list). The dropdown menu in mobile viewdown has been updated slightly to align with the designs (e.g., border, colors and radius).
- Unit tests and snapshots have been updated to reflect these changes.
- Implemented a new start page for user profile creation to enhance onboarding and visual appeal.
- Added a new votes section in the header design:
-
WalletVote
section has been refactored to be fully responsive. - Its implementation in
WalletDetails
has been slightly refactored, and unit tests have been updated to reflect these changes.
-
- Renamed the TYPE column to METHOD in the transaction tables.
- Made UI improvements to the wallet header component (e.g., better alignment of the skeleton loader for the voting section).
- Updated the 3-dot menu within the wallet header to match the new design.
- Improved the loading state on the Portfolio page by implementing a loading skeleton.
- Refactored the mobile tabs menu to align with the new designs.
- Updated vote blocks to support active, standby, and resigned delegate statuses.
- Adjusted the row hover background color in dark mode based on design specs.
- Fixed an
act
error that appeared in the wallet domain. - Fixed an issue where the app could crash due to a missing coin name in the transaction table.
Next week, we’ll continue improving and preparing the app for Mainsail EVM support, addressing any reported issues, and working on updated design elements to make the app even more intuitive for everyday users.
Mainsail Weekly Report
This week, we focused on gas price improvements, additions, and JSON RPC enhancements. The work completed included:
- Introduced
minimumGasPrice
andmaximumGasPrice
values. Transactions with out-of-range gas prices now result in a schema error. - Added letter capitalization for recipient addresses in the transaction deserializer to ensure compatibility with EIP-55 (address encoding and verification). This change results in a mixed-case address format. The local testnet network was regenerated to reflect these updates.
- Implemented the
eth_estimateGas
action, allowing transaction execution simulations without inclusion in a block. The endpoint returns the gas consumed if the transaction executes successfully. - Added
prefixedTransactionId
andprefixedBlockId
schemas to the JSON RPC API. The schema for theeth_call
action was also extended. - Included detailed error messages, such as “rate limit exceeded,” in JSON RPC error responses.
- Fixed the “out of gas” issue during rounds synchronization with the API database.
- Made the
evmPrice
parameter mandatory when calling the process on EVM. - Removed unnecessary logs during EVM processing.
Next week, we will add the remaining JSON RPC endpoints and verify compatibility with libraries like ethers
and viem
for client implementations. Additionally, we will continue working on legacy support for Core v3.
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.