Welcome to our final Weekly Development Report of 2024! This week, we’re shining a light on the incredible efforts of our development team. Don’t worry—regular weekly updates will resume on January 10th. We’d like to take this opportunity to wish everyone a joyful and happy holiday season. A heartfelt thanks go out to our community and all those who follow our updates, help with testing, and report issues. Your support means the world to us! Now, let’s dive into this week’s report.
Below is a breakdown of total commits and authors by a project for development activity over the last week from December 13th, 2024 through December 20th, 2024.
Overall, the team has demonstrated consistent productivity and engagement over this period, with a total of 364 commits across all projects.
The number of commits and data for each project will fluctuate every week depending on internal sprints, objectives, and difficulty.
This week, the primary focus was on enhancing and maintaining the testing framework, addressing reported issues, and performing code refactoring. Key accomplishments included:
- Resolved issues with cache transactions command tests.
- Added tests for the service monitor to utilize addresses instead of public keys.
- Fixed tests for the wallet view model, forging state view model, and block view model.
- Introduced new commands: cache address statistics and cache blocks.
- Developed a test for transaction aggregates by type.
- Added a test for identifying the largest transaction aggregate.
- Implemented tests for various Livewire components.
- Fixed tests for the wallet repository and service transactions.
- Addressed issues with the analysis test.
- Added a new test for the latest wallet aggregate.
- Fixed the Livewire validators monitor test and the build for forging stats tests.
- Resolved issues in the show wallet controller test.
- Added a test to skip username redirection.
- Fixed the forging stats migrations test and the navbar search test.
- Corrected the cache annual statistics test and the handling of empty strings in public key popups.
- Fixed cache validator voter counts tests and addressed AlpineJS errors in the validator monitor.
- Resolved issues with validators, transaction direction, transaction direction icons, and cache fee tests.
- Refactored the newest & oldest functionality for the cache validator statistics command.
- Fixed tests for the latest wallet webhook job and unique addresses event webhook.
- Addressed a forging stats migration issue.
Looking ahead, the focus will remain on improving test coverage, implementing new tests required for the Mainsail EVM integration, and making additional enhancements to support its development.
This week, our team made significant progress on the Platform SDK, PHP library, and the upcoming documentation site. Here’s a summary of the work completed:
- Platform SDK:
Added comprehensive test coverage for key services in the Mainsail project, including:address.service
public-key.service
transaction-type.service
private-key.service
known-wallet.service
link.service
Refactored and removed deprecated ARK transaction signing code.
- PHP Crypto:Introduced support for passing custom ABI paths.
Enabled compatibility with all existing contract ABIs.
Removed requirements of recipientAddress for known contract interactions.
Added support for username registrations and resignations.
Added support for multipayment transactions.
- Documentation Site:Improved PHP Crypto examples and turned them into easy-to-follow copy-paste examples.
Enhanced the PHP Crypto API documentation for better clarity and usability.
Looking ahead, we will continue to improve the Platform SDK and focus on the development of the new documentation site.
This week, we continued enhancing and adding support for the Mainsail EVM, addressing various tasks and improvements:
- Transaction Table & Overview Modal Fixes: We fixed the display issues to correctly show the amounts and fee values in the transactions table and the overview modal.
- Removal of Emotion in favor of TailwindCSS:Refactored components using emotion, including select dropdowns, switches, and toggle inputs.
Other components like Toast, Tabs, and Pagination were also refactored.
Added custom class names for input interactions to prevent Tailwind CSS from becoming disorganized.
Removed all Emotion and Twin.macro components, including the css(), tw(), and styled() functions, streamlining the code.
Removed Twin.macro entirely from the repository.
- UI Fixes:Fixed the double arrow icon styles in the exchange form for dark mode.
Set default color styles in the Spinner loader component.
Adjusted input field colors to work properly in dark mode.
Fixed the height of the transaction detail divider component to ensure it’s correctly positioned.
- Performance and Functionality Enhancements:Disabled periodic requests to the musig server to improve performance.
Implemented lazy loading on images by default for better performance.
Adjusted the simple fee input to align with Mainsail EVM functionality.
Resolved an issue where clicking the ‘Send All’ button caused a crash by setting a default fee value.
Moving forward, we will continue our focus on integrating Mainsail EVM and address any additional issues as they arise.
This week, we continued enhancing the transaction pool and implemented additional improvements based on feedback from developers integrating Mainsail EVM into their products. Key updates included:
- Enhanced EVM error handling.
- Ensured invalid transactions are consistently evicted from the transaction pool.
- Fixed transaction pool collator priority to account for nonces.
- Added a missing unique index to the wallets table, treating its absence as null.
- Adjusted sorting in the /receipts controller.
Next, our focus will shift to improving the Multipayment contract and updating transaction tools to facilitate easier testing.
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 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.