28th Jun 2024
6 min read

ARK Development Report - June 28, 2024

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. ARK Connect has been focused on a few smaller UI updates and addressing reported issues. The ARK Scan team has been testing WebSockets integration on the main network and fixing some reported issues. The ARK Vault team has completed Mainsail’s multisig integration and worked on UI improvements. Meanwhile, the Mainsail team has released a significant testnet update and worked on EVM integration.

Development Summary

Below is a breakdown of total commits and authors by project for development activity over the last week from June 21st through June 28th, 2024.

Project Commits Authors
ARK Connect 15 2
ARK Scan 14 2
ARK Vault 42 3
Mainsail 19 2

Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 90 commits across all projects.

The number of commits and data for each project will fluctuate every week depending on internal sprints, objectives, and difficulty.

ARK Connect Weekly Progress

The ARK Connect team has been focused on a few smaller UI updates and addressing reported issues:

  • Refactored and updated the design of error pages for easier sharing of error codes.
  • Retained transaction information on error pages so that clicking the Back button preserves form data.
  • Refactored padding on the Ledger signature approval page to match other screens.
  • Additional refactor for the Approve With Ledger page.
  • Updated JavaScript dependencies to their latest version.

Next week, we’ll continue working on fixing reported issues and further improving the app based on feedback.

ARK Scan Weekly Progress

The ARK Scan team has been testing WebSockets integration on the main network and fixing reported issues:

  • Tweaked webhooks for the statistics page for real-time updates instead of relying on jobs.
  • Changed dynamic webhook initialization connections to use Reverb instead of the DOMContentLoaded event.
  • Refactored exchange update logic to remove jobs and rely on a command to update only non-updated exchanges, updating the command to run minutely.
  • Fixed intermittently failing tests related to the address page transactions and blocks not updating.
  • Added validator public key to vote URLs for proper functionality (Mainsail).

Next week, we’ll be fixing any issues reported or observed during WebSockets testing and addressing any Mainsail-related integration issues.

ARK Vault Weekly Progress

This week our team has been testing Mainsail multisignature server integration as well as starting the process of updating some of the UI elements within ARK Vault to align it with other apps in the ecosystem. Work done includes:

  • When an export runs into an issue, we now allow the user to download a partial export with details that were fetched correctly.
  • Implemented QR overwrite modal on the transfer screen, allowing re-scanning of a QR code after values have already been filled in.
  • Allowed multisignature validator transactions for the Mainsail network.
  • Fixed exit transaction confirmation check interval on unmount, which caused network request issues and rate limits for the multisignature server.
  • Fixed memory allocation errors on pnpm build.
  • Updated GitHub actions to Node version 20.
  • Updated Vitest dependencies to the latest version and removed Babel dependencies.
  • Adjusted ARKVault naming to ARK Vault when it is text and not a logo.

Next week we’ll continue working on any reported issues related to multisignature integration and continue refining the UI based on updated designs.

Mainsail Weekly Progress

This week the Mainsail team released a big testnet update with many new features and fixes. This includes:

  • The bootstrap process is now less verbose, providing a cleaner output.
  • The processor result is now set during the commit state, ensuring better stability.
  • After restoring, the genesis block is now properly set, enhancing the reliability of the system initialization.
  • The transaction pool now runs in a worker thread, enhancing overall performance.
  • Node verification and broadcasting have been implemented, improving transaction dissemination.
  • Transactions are re-added upon boot and milestone changes, maintaining consistency.
  • Invalid states now trigger the re-addition of transactions, ensuring robustness against state errors.
  • Proposal creation now awaits the necessary processes, reducing thread blocking and improving consensus efficiency.
  • The crypto-worker and transaction pool can now be optionally configured in the app.json file, providing greater flexibility in setup.
  • Worker thread names are now logged, aiding in debugging and monitoring.
  • Future blocks are now checked, adding an extra layer of validation to block processing.
  • Deserialization is skipped on make-for-crypto-blocks, enhancing performance.
  • Timeouts in the peer-to-peer module have been increased to improve network stability.
  • Extra logs have been removed from the transaction pool worker, streamlining the log output.
  • Events have been moved to contracts, and the EventDispatcher is now injected into transactions, improving code organization and maintainability.
  • The default export interval for the state has been increased, optimizing performance.
  • A time limit has been set for transaction collation, ensuring timely processing.
  • The network now runs with fewer validators during end-to-end tests, making the testing process more efficient.
  • Support for workers has been added to webhooks, expanding their functionality.
  • A deprecation warning in the continuous integration setup has been fixed, ensuring smoother CI processes.
  • The obsolete mempool transaction sync has been removed, cleaning up the API sync process.

If you’re interested in getting involved, you can check out our introductory blog post on the Testnet release.

You can see full changelogs for releases on Github (v0.0.1-alpha.19 & v0.0.1-alpha.20 ).

This week, we’ve made progress also on several fronts:

  • Fixed peer-to-peer (P2P) issues on a small end-to-end (E2E) network by reducing the number of validators.
  • Added support for webhooks in the transaction pool worker.
  • Removed the synchronization of unconfirmed transactions to PostgreSQL.
  • Fixed the build by including the api-transaction-pool package.
  • Merged the latest changes into the EVM branch.
  • Implemented stricter schema validation and added the maximumGasLimit milestone property.
  • Set the specId (EVM specification) in milestones, with Shanghai being the default.

The Mainsail Transaction Tester has also been updated:

  • Changed the transaction pool endpoint from /transaction-pool to /transactions.
  • Added support for EVM transactions and the ability to call EVM view functions.

Next week, we will continue to monitor the current release for any reported issues. Additionally, we will focus on further developing the EVM.

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.