Welcome to our latest Weekly Development Report, where we spotlight the valiant efforts of our development team. This week, the ARK Scan team made significant progress on the Mainsail EVM, conducting extensive testing to refine its implementation. Our documentation team focused on expanding and updating the new documentation site while enhancing SDKs. Meanwhile, the ARK Vault team worked on general UI improvements, enhanced Mainsail EVM support, and addressed reported issues. The Mainsail team also continued refining the Mainsail EVM with additional improvements and fixes.
Development Activity Summary (Feb 21 – Feb 28, 2025)
Below is a breakdown of the total number of merged commits and contributing authors by project, highlighting development activity from February 21, 2025, to February 28, 2025.
Project | Commits | Authors |
---|---|---|
ARK Connect | 0 | 0 |
ARK Scan | 1 | 1 |
ARK SDKs & Docs | 24 | 4 |
ARK Vault | 16 | 4 |
Mainsail | 18 | 2 |
During this period, the team maintained strong productivity and engagement, delivering 59 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 Scan Weekly Report
This week, our team focused on advancing the development of the Mainsail EVM by conducting further testing of our current implementation. We’ve been diligently working to ensure its stability and functionality, and as part of this effort, we prepared a handful of pull requests (PRs) that are now ready for review.
Looking ahead to next week, we plan to build on this momentum. Our priorities will include continuing the testing process to refine the implementation, tackling any issues or bugs that have been flagged by the team or identified during our evaluations, and making progress on a few additional tasks to support the project’s goals.
ARK SDKs and Docs Weekly Report
This week, we continued developing the new documentation site by adding new content, updating existing docs, and working on SDKs. The work completed includes:
-
Documentation Site:
- Added RLP encoding documentation for the Python library.
- Removed an extra EVM section in the client’s documentation that contained incorrect endpoints.
- Added Python argument decoder documentation.
- Updated Python and PHP decode payload documentation.
- Revised transaction examples, changing gas price references from
gwei
towei
.
-
Platform SDK:
- Updated known wallet URLs in the Mainsail devnet configuration file.
- Refactored tests for
contact
andcontact address
repositories in Mainsail to support the new network. - Added new fixtures for fees by node and transaction type, along with additional tests for
fee.service
to improve file coverage. - Updated the
isSuccess
property inconfirmed-transaction.dto
to extract data from the receipt attribute in the API response, adjusting fixtures and unit tests accordingly. - Implemented multipayment transaction support and fixed various related bugs.
-
Python Crypto Package:
- Updated fixtures for transactions and identities.
- Removed the unused and undocumented
crypto.transactions.Transaction
class. - Switched hashing from
sha256
tokeccak256
. - Fixed an issue where trimming
0x
from the left of data could cause unintended modifications (e.g.,0x0123
becoming123
). - Adjusted gas price references from
gwei
towei
. - Implemented handling for deserializing transactions outside of the consensus contract.
- Set the contract address in the builder by default.
- Integrated multipayment support and resolved an issue with decoding array arguments and validating lowercase addresses.
- Renamed
devnet
totestnet
to align with Ethereum standards.
-
PHP Crypto Package:
- Updated fixtures for transactions and identities.
- Switched hashing from
sha256
tokeccak256
. - Added support for deserializing transactions outside of the consensus contract.
- Renamed
devnet
totestnet
to align with Ethereum standards. - Modified
UnitConverter
to return values usingBigDecimal
.
Next week, we will continue improving the documentation site and updating packages to support Mainsail EVM changes.
ARK Vault Weekly Report
This week, we continued working on general UI improvements, advancing Mainsail EVM support, and fixing reported issues. Work completed includes:
- The
Back to Wallet
button redirection has been fixed for both theVote
andTransfer
transaction flows. - When only one wallet is available, the
SendTransfer
form now pre-fills the sender field automatically. - Side Panel improvements:
- Improved user experience and design to allow visually deselecting all addresses.
- Prevented closing the side panel if no addresses are selected.
- Added a “shake” animation and error indicator when attempting to close with zero addresses selected.
- Fixed spacing issues in the transactions table to prevent column overlays on desktop when a single wallet is selected.
- Moved the Import Address flow to the side panel and made UI adjustments for better integration.
- Removed obsolete settings that will no longer be part of Vault (e.g., expanded table design, advanced mode, error reporting).
- Address deletion improvements:
- Replaced
Cancel / Done
buttons with aBack
button. - Added a warning when clicking the trash icon and enabled immediate deletion without requiring a
Save
. - Ensured only one delete confirmation is open at a time.
- Introduced a slide-in/out animation for a smoother UI.
- The selection of addresses in the side panel was properly updated upon deletion.
- Fixed an issue with address deletion from the three-dot menu.
- Replaced
- Added the ability to override address names with on-chain names.
- Navigation & design fixes:
- Fixed the navigation submenu UI on mobile according to designs.
- Adjusted text divider height to match the design specifications.
Next week, we will continue working on the remaining Mainsail support and compatibility tasks, addressing reported issues, and further refining UI improvements.
Mainsail Weekly Report
This week, we continued improving and fixing the Mainsail EVM. The work completed includes:
- Updated block serialization, changing transaction length from
uint16
touint32
. - Set the compression threshold on LMDB from the default
1000
to0
. - Implemented the
fromWif
method incrypto-address-keccak256
. - Calculated and stored
logsBloom
on blocks, a data structure that efficiently filters and searches for logs. - Removed
ExpirationService
andDynamicFeeMatcher
fromtransaction-pool-service
as they are no longer needed due to transaction structure changes. - Calculated and verified
stateHash
on the genesis block. - Fixed
totalFee
calculation on blocks so it now correctly uses actual gas consumption and gas price. - Extracted common blockchain code from the kernel and various packages into the new
blockchain-utils
package.
Next week, we will work on adding historical data support for methods with default parameters to fully support MetaMask. We will also add fees to the validator balance after a block is forged and address the genesis height offset to support a continuous chain after import.
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 on our journey towards making your decentralized future a reality.