Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the focus continued on refining the client and crypto packages, with updates to the documentation site reflecting recent changes and the addition of a new feature in PSDK. The ARK Vault team has been addressing feedback from internal testing, resolving reported issues, implementing design updates, and enhancing the user experience with a new side panel. Over at Mainsail, work has been underway on renaming fields for the public HTTP API and adding support for the latest Node.js 22.x.
Development Activity Summary (April 4 – April 11, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from April 4, 2025, to April 11, 2025.
Project | Commits | Authors |
---|---|---|
ARK Connect | 0 | 0 |
ARK Scan | 0 | 0 |
ARK SDKs & Docs | 22 | 3 |
ARK Vault | 35 | 4 |
Mainsail | 13 | 3 |
During this period, the team maintained strong productivity and engagement, delivering 70 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 Documentation Weekly Report
This week, we focused on enhancements across the client and crypto packages, along with updates to the documentation site and a new feature addition in PSDK. Below is a summary of the completed tasks:
-
Documentation Site:
- Updated TypeScript definitions for BigNumber handling, particularly for
transfer
values ints-crypto
. - Removed the
getBytes
method in TypeScript. - Removed outdated complementary examples.
- Refreshed network documentation.
- Added builder types, including support for username and multipayment transactions.
- Improved example type hints for clarity and consistency.
- Updated TypeScript definitions for BigNumber handling, particularly for
-
Python Crypto Package:
- Refactored the
Network
,Address
,Slot
, andWif
modules to be class-based, enhancing structure and maintainability. - Removed the unused
to_hex
method from thePublicKey
class. - Updated internal
Deserializer
methods to be private, improving encapsulation and discouraging external usage.
- Refactored the
-
TypeScript Crypto Package:
- Renamed
getWif
towif
in the network module for consistency across SDKs. - Made
Deserializer
methods private to enforce encapsulation. - Added support for
BigNumber
values in transaction fields: transfer value, multipayment recipient value, gas price, and gas limit. - Renamed
toArray
methods totoObject
to better represent the returned structure and reduce confusion.
- Renamed
-
TypeScript Client Package:
- Exposed the
ArkHttpException
type for better error handling and assertions in TypeScript applications.
- Exposed the
-
PHP Crypto Package:
- Introduced the
wif
method in the network module to match other SDKs. - Removed
fromMultiSignatureAsset
from theAddress
class.
- Introduced the
-
Platform SDK (PSDK):
- Added a new feature to return the host selector from the environment, enabling:
- Accurate request URL resolution.
- Generation of precise cache keys.
- Selective clearing of cache entries before transactions.
- Added a new feature to return the host selector from the environment, enabling:
Next week, we’ll continue improving Mainsail EVM compatibility across all client and crypto packages, as well as the Platform SDK. Further updates to the documentation site are also planned.
ARK Vault Weekly Report
We’ve continued focusing on feedback from the internal testing team—resolving reported issues, refining the design, and enhancing the user experience, particularly around the new side panel. Here’s what was completed:
- The side panel now automatically closes when switching addresses in single view mode, reducing unnecessary clicks and improving usability.
- Refactored hooks tests to use the Mainsail network, replacing all Ark-related dependencies for consistency.
- Added logic to refetch the latest wallet attributes before starting transaction flows to minimise issues due to stale data.
- Removed the
sdk-ark
package and deprecated theARK
coin, cleaned up all related code, and fixed impacted tests. - Further cleanup of ARK-related logic included:
- Removing temporary flags added during the migration.
- Dropping the
onlyMainsail
argument frommockProfileWithPublicAndTestNetworks
. - Deleting ARK-specific mock files and MSW handlers.
- Updating tests to use Mainsail fixtures for full consistency.
- Updated tests across the codebase—including
app/components
,app/contexts
, andutils
—to align with the Mainsail network. - Adjusted the copy-to-clipboard icon:
- Aligned it with the header for visual consistency.
- Changed its color to gray to match design guidelines.
- Fixed a nonce issue that could occur when sending a vote in quick succession.
- A warning block was added to notify users if a username is already registered to an address. It now warns users that registering a new name will overwrite the current one.
- Introduced tooltips for the “Send” and “Receive” navbar buttons, providing clear hover-based descriptions.
- Enabled unit tests for
SendExchangeTransfer
to validate exchange-related transfer logic. - Migrated
sdk-mainsail
directly into thearkvault
project for better integration and maintainability. - Fixed wrapping issues in the “addressing” column of the transaction table—content now stays aligned even when only contract interactions are present.
- Ensured all new text content is properly punctuated for grammatical consistency.
- Added tooltips to all remaining navbar buttons, rounding out the interface enhancements.
- Refactored the address and message services to use the
typescript-crypto
library, strengthening cryptographic handling and unifying service logic.
Next week, we’ll continue resolving reported issues. We’re also very close to finalizing the initial version of ARK Vault with full Mainsail support.
Mainsail Weekly Report
This week, we continued our work on the latest Node.js support and made progress on Ethereum’s naming conventions. The work completed includes:
- Added missing HTTPS support to the HTTP client, addressing issues introduced by Node.js 22.x.
- Corrected the commit key usage for blocks with a height offset in the consensus mechanism.
- Renamed block, transaction, and receipt fields in both the Public API and consensus modules.
- Removed the
transform
option from the Public API.
Next week, we’ll be wrapping up full support for pnpm v10 and beginning preparations for a custom repository for the Heed fork.
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.