13th Sep 2024
5 min read

ARK Development Report - September 13, 2024

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. The ARK Scan team has been focused on resolving the breaking changes that resulted from the upgrade to the latest versions of Laravel and Livewire. Meanwhile, the ARK SDKs and Docs team are enhancing documentation for the newly developed crypto and client packages, while also progressing on the design of the new documentation site. The ARK Vault team is continuing its design refresh to align with the overall product suite. The Mainsail team has been working on further optimizations and improvements for the EVM.

Development Summary

Below is a breakdown of total commits and authors by project for development activity over the last week from September 6th through September 13th, 2024.

Project Commits Authors
ARK Connect 0 0
ARK Scan 4 1
ARK SDKs & Docs 19 1
ARK Vault 114 4
Mainsail 16 1

Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 153 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 Scan Weekly Report

We have continued working on updating ARK Scan to the latest major versions of Laravel and Livewire. However, there are a few breaking changes that we need to address, including:

  • The back button interferes with the query string, causing values not to revert to their previous state correctly.
  • Keys for specific tabs persist across other tabs (e.g., filters).
  • Similar to the above, when a page loads with a key (e.g., outgoing=false), it never gets removed, even when the “except” condition is used.
  • Pagination breaks when switching between tabs.
  • If a page loads with a specific page number in the URL (page=5), other tabs will attempt to load that page. This was temporarily fixed by specifying the page in the paginate methods, but this caused issues when the page number wasn’t in the URL.
  • The Transactions page does not update the URL with applied filters.

We started addressing these issues this week and will continue working on them next week. Additionally, we plan to conduct more thorough testing during this migration to the latest versions of Laravel and Livewire to resolve any other issues that arise.

ARK SDKs & Docs Weekly Report

We have been actively updating the documentation for the Crypto and Client packages, which have recently been developed to integrate with Mainsail. These updates cover packages for Python Java and PHP.

Additionally, we’ve made significant progress on the new documentation site, concentrating on user-friendly design elements that present code examples clearly across multiple programming languages, with a quick-switch option to easily toggle between the languages you’re interested in.

Next week, our efforts will continue to document additional packages and refine the design of the documentation pages.

ARK Vault Weekly Report

We’ve continued improving the app design and updating the user experience. This week’s work includes:

  • Refactored wallet pending transactions table for desktop and mobile versions:
    • PendingTransferRow, SignedTransactionRow, PendingTransferRowMobile, and SignTransactionRowMobile components have been fully refactored to align with the new designs.
    • Unit tests for these components have been updated, with some newly added. Test coverage for these files has now reached 100%.
    • AmountLabel has been refactored to accept custom class names.
    • PendingTransactionsTable has been refactored, with updated headers.
    • The with-x-padding class name bug, when used inside the new TableWrapper component, has been fixed.
    • Snapshots for related components have been updated.
  • Adjusted design for transaction pending & confirmed steps:
    • The header image has been removed, providing more space for relevant data.
    • Transaction ID has been moved to the top.
    • Transaction details are grouped into separate containers.
    • A line now connects the transaction ID to each container, similar to how it’s displayed on ARK Scan.
  • Added a network label to the ‘My Votes’ page to better distinguish between networks.
  • Refactored the padding and margins for the exchange transactions row component to match the updated designs.
  • Updated the create vote transaction step to reflect the new design.
  • Removed all expanded tables and their associated settings (enable/disable). The design refresh focuses on compact tables, and expanded tables are no longer part of the updated design.

Next week, we aim to finalize the app’s design refresh and begin more thorough testing of all changes. We’ll also start working on updates for the upcoming Mainsail changes, including the changes required for ‘Validator’ and ‘Voting’ contracts.

Mainsail Weekly Report

This week, we focused on performance and optimization improvements, alongside fixing various issues. Key work completed includes:

  • Fixed memory leak in the Consensus contract.
  • Implemented the DirectTransfer contract, allowing the transfer of native tokens to one or multiple addresses.
  • Added cursor support to the Heed database, significantly improving performance when handling larger contracts.
  • Implemented bootstrap logic, enabling nodes to restore without relying on snapshots and using the REVM database as the sole state storage.
  • Integrated logic for passing gas fees to the REVM.

Next week, we will shift towards performance testing by setting up a new internal network with all the recent changes included. We will also work on migrating these changes to the development branch on GitHub.

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.