14th Jun 2024
5 min read

ARK Development Report - June 14, 2024

Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, we focused on finalizing the voting feature in ARK Connect. Most of our time on ARK Scan was spent testing and improving WebSockets integration. The ARK Vault team has been finalizing the multisignature server implementation for Mainsail and addressing some reported issues. The Mainsail team continued their work on general improvements as well as EVM implementation.

Development Summary

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

Project Commits Authors
ARK Connect 45 3
ARK Scan 8 1
ARK Vault 15 3
Mainsail 17 2

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

We’ve been working on adding a new feature to ARK Connect called ‘Voting’, which will allow native voting for delegates in ARK Connect along with some other fixes. Here’s what we’ve done this week:

  • Fixed the scrollbar color in Firefox, to make sure it’s blue in the blue theme.
  • Limited the delegate list to show only the top 51, with access to other delegates via search.
  • Adjusted the padding between the list and the button on the voting page.
  • Implemented Formik on the voting page to handle the underlying data.
  • Refactored selected delegate management to store only the address instead of the object.
  • Implemented in-extension vote functionality, which redirects to the voting approval page after all fields are validated.
  • Refactored padding to avoid layout shifts when the scrollbar is present.
  • Fixed an issue where scrollbars appeared when hovering over tooltips.
  • Added different action button states based on the selected delegate:
    • ‘Vote’ - if the address is not currently voting for anyone (grayed button), or if the user selects an initial delegate (actionable button).
    • ‘Swap Vote’ - if the user is voting and selects a different delegate.
    • ‘Unvote’ - if the user is voting for someone and doesn’t select a new one.
  • Implemented a fee section on the voting page so users can select or set a custom fee.
  • Ensured errors persist in the address book when there are errors on the create contact page.
  • Trimmed delegate names at the end and displayed a tooltip with the full name on hover.
  • Added persistence to the vote page.

Next week, we aim to finalize the voting feature and start internal testing in preparation for the public release.

ARK Scan Weekly Report

The ARK Scan team has been focused on testing WebSockets integration this week. Most of the time has been spent testing with real-time data over an extended period to identify improvements compared to the current implementation and to fine-tune and optimize it. This process also involves fixing any issues that are observed or reported.

Additionally, we have been updating ARK Scan to the latest versions of Livewire v3.0 and Laravel v11 to benefit from the new features and improvements these releases offer. This update will take some time due to breaking changes in the new releases and the need for some refactoring to fully utilize the new features.

Our aim for next week is to continue running the ARK Scan instance with WebSockets internally to observe its behavior with further optimizations. We will also keep working on upgrading ARK Scan to the latest Laravel and LiveWire versions.

ARK Vault Weekly Report

We’ve been in the final stretch of development for Mainsail’s support for multisignature server integration and the development of the package. Most of the time was spent testing the integration. Here’s a summary of other work done this week:

  • Fixed issues to prevent Mainsail from caching data during migration.
  • Added E2E tests for Mainsail transaction types:
    • Validator registration/resignation
    • Username registration/resignation
  • Fixed failing unit tests due to PSDK changes.
  • Implemented the option to register (or resign) a validator when using a multisignature address.
  • Added public key validation when registering a validator.
  • Fixed date ranges in the transaction export test.

Next week, we’ll switch our focus towards user interface improvements to align some designs more closely with ARK Scan and ARK Connect. We’ll update UI elements and wording to ensure a more seamless experience across ARK’s products.

Mainsail Weekly Report

This week we have been working on general improvements as well as further EVM integration. To go over work done:

  • Fixed API process boot by making crypto-worker and transaction-pool optional properties in app.json.
  • Awaited proposal creation at the beginning of the round to handle large blocks that might take longer to forge.
  • Reduced thread blocking on block deserialization.
  • Fixed bootstrap by setting processor result.
  • Used ephemeral EVM instance when collating transactions, skipping transaction caching.
  • Provided block context to EVM consisting of commitKey, gasLimit, timestamp, and generatorPublicKey.
  • Stored TX commit receipts with fields: gasUsed, gasRefunded, success, logs, and output.
  • Synced TX receipts to PG database.

Next week we’ll be focusing on performance improvements based on internal observations on testnet as well as general EVM improvements.

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.