21st Mar 2025
7 min read

ARK Development Report - March 21, 2025

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we made strides in enhancing the Platform SDK and the upcoming new documentation site by adding fresh content, while also rolling out updates to the TypeScript Crypto package. The ARK Vault team focused on refining Mainsail EVM with key improvements and Ledger integration, alongside resolving issues and bugs reported by our internal testing team. The Mainsail team continued refining the codebase with general fixes, updates, and optimizations.

Development Activity Summary (March 14 – March 21, 2025)

Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from March 14, 2025, to March 21, 2025.

Project Commits Authors
ARK Connect 0 0
ARK Scan 0 0
ARK SDKs & Docs 29 3
ARK Vault 27 4
Mainsail 23 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 SDKs and Docs Weekly Update

This week, we’ve made progress in enhancing the Platform SDK and upcoming new documentation site by adding new documentation. We’ve also rolled out updates to the TypeScript Crypto package. The completed tasks include:

  • ARK Documentation Site:
    • Added TypeScript crypto setup documentation to provide clear guidance for developers on configuration and usage.
    • Added initial TypeScript crypto API documentation to provide a reference for developers on its usage and implementation.
    • Updated crypto SDK examples by adding TypeScript and missing Python examples, while correcting any inaccuracies to improve clarity and accuracy.
    • Added TypeScript crypto utils API documentation.
  • Platform SDK:
    • Deprecated ARK endpoints were removed from the Mainsail mainnet config to ensure a clean and up-to-date configuration.
    • Updated the avatar component to use solid random colors and aligned the upload avatar component with the design for consistency.
  • Typescript Crypto Package:
    • Adjusted message signing to use the existing signCompact method that’s used across all SDK languages, ensuring consistency and signing the hashed message correctly.
    • Implemented an argument decoder to parse and process function arguments effectively.
    • Refactored the deserializer to automatically determine the transaction type by decoding the transaction, improving its ability to handle various transaction types.
    • Refactored builders to include generic types, allowing the correct type to be passed and ensuring TypeScript properly supports method chaining for specific builders.
    • Included ABI JSON files in the build to support handling transaction types beyond transfers.
    • Refactored custom ABI handling to ensure compatibility with browser environments, allowing inclusion in projects like ARK Vault, and removed the use of require.js for ABI JSON imports in Next.js projects.
    • Refactored the code to replace the bcrypto package with the lightweight noble library, focusing solely on secp256k1 to reduce unnecessary dependencies.
    • Added a release workflow and updated the README to improve the release process and provide clear project documentation.
    • Refactored with small adjustments and updated the return type for the refresh payload data to ensure accuracy and consistency.

As we look to the week ahead, our focus will remain on further enhancing the documentation site, while also updating packages and the PSDK to align with the latest changes in Mainsail EVM.

ARK Vault Weekly Report

This week, our efforts were centered around refining Mainsail EVM with key improvements and Ledger integration. We also worked on resolving issues and bugs reported by our internal testing team. The tasks completed include:

  • Updated the onboarding message to use “Address” instead of “Wallet” for consistency.
  • Updated contact domain tests to use the Mainsail network, replacing the ARK network for improved consistency and removal of legacy dependencies.
  • Fixed UI issues on the Create Profile page by aligning the icon with the header and adjusting the profile creation container width to the correct size.
  • Refactored the meta image to reflect the updated UI in the metatags.
  • Moved fee options to the review step for validator and username transactions to streamline the transaction process.
  • Added margin to the X-axis in the dropdown items’ hover state for improved visual spacing.
  • Fixed progress line styles by updating the StepStyled component height and radius to 4px, and adjusting the StepIndicator div containers’ width to “min” to prevent it from reducing. This resulted in thicker progress step lines.
  • Added support for importing and saving Ledger addresses to the profile, ensuring proper scanning and listing of addresses in the ledger import flow.
  • Fixed the tooltip blur issue by ensuring that toasts remain above the overlay, while tooltips and other elements, including the PWA message, are correctly positioned below the overlay.
  • Moved the fee input to the review step for vote transactions, adjusting the vote flow to include fee options in the review step and skipping the form step if the sender address is already selected.
  • Implemented the updated address encryption design by creating a new WalletEncryptionBanner component, replacing the previous implementations in the Create and Import wallet flows. The new toggle introduces an “Accept Responsibility” checkbox, which is now required for enabling address encryption. Dark mode designs were also updated, along with unit tests and translation files.
  • Adjusted the settings page UI to match the new design, including updates to the side menu, adding a settings page icon, and making general UI adjustments for each settings tab.
  • Updated dashboard tests to use the Mainsail network, fixing failing tests and refactoring them for improved compatibility.
  • Fixed failing exchange and message domain tests and refactored them to use the Mainsail network.
  • Moved the “Send All” button to the opposite side of the “Amount” label and adjusted the selected address balance to align with the design. These changes were also reflected in dark mode. New unit tests were added, and snapshots were updated to support the changes.
  • Updated the “Manage” button with a hover state by changing its button variant to primary-transparent and adjusting the padding to align with the designs.
  • Refactored the address switch button to support the primary-transparent button styles, including the hover state.
  • Fixed the transaction review padding by adjusting it to 24px and adding the necessary padding between the Old Validator and New Validator titles and addresses.
  • Updated the padding and font size of the user balance in the navigation bar to match the designs. Adjusted the border radius of the avatar and refactored the HideBalance component to display the user balance with a new hover effect.
  • Updated the SVGs for avatar upload images in profile settings to align with the latest design.
  • Updated the font size for confirmation text on mobile to 14px, while keeping it at 16px for other views.

Next week, we’ll prioritize resolving additional fixes and making changes based on feedback from our internal testing team. In addition, we’ll continue working on integrating the Ledger app to fully support Mainsail EVM.

Mainsail Weekly Report

This week, we continued working on general fixes and updates to the Mainsail codebase based on internal testing, along with further improvements. Work completed includes:

  • Improved error handling during the bootstrap procedure.
  • Updated ESLint and TypeScript to the latest versions and applied code fixes.
  • Removed the 27 offset on signatures’ v value. The v value is now represented as 0 and 1 to match the ETH v2 transaction type.
  • Resolved circular dependencies and added a GitHub workflow to check for them.
  • Fixed benchmarks in the utils package.
  • Deduplicated wallets for upsert in api-sync.
  • Added support for signing transactions with a legacy second signature.
  • Implemented snapshot restore fixes.

Next week, we will rename fields to match the Ethereum naming convention. Additionally, we will move the LMDB database into EVM to support atomic commits for block and state 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.