Weekly Firo Development Meeting Minutes

August 2024 Week 1

Peter

  • CreateTransaction Refactor PR: Working on fixing tests for the CreateTransaction refactor PR. Encountered issues where tests fail on Linux but pass on macOS.
  • macOS Signing on Guix: Set up a repository for Guix signing.
  • Campfire/Stack Wallet Research: Researched the feasibility of implementing Campfire and Stack Wallet features. With prior experience in Flutter as a mobile developer, estimated implementation might take around a month.
  • Qt Wallet Bottleneck:
    • Investigated the bottlenecks in the Qt wallet, particularly reindexing performance.
    • Ported some optimizations from Bitcoin and noticed reindexing feels faster, though further timing tests are needed.

Levon

  • Qt Performance Fixes: Made fixes to improve Qt performance. Early testing with an old dev wallet shows promising results, but further testing with a current wallet is needed to verify the extent of the improvement.
  • Spark Spend 250kB Issue Investigation: Investigated an issue with Spark spending hitting the 250kB limit on extrapayload size. This was previously fixed for transparent spends (miner, masternode), but Spark might need adjustments, possibly requiring a hard fork.
  • Funding Website (funding.firo.org): Checked the funding website to add Spark support.

Narek

  • Wallet Scan Optimization:
    • Optimized wallet scanning by adding an option for users to choose the wallet start date, improving efficiency.
    • Completed the main logic for scanning with the wallet birth date and added a few UI elements for this feature.
  • FiroDEX: Planning to work on updating FiroDEX next.

Week 2

Levon

  • Code Review: Conducted code reviews for the multiscan code and spending optimization PR.
  • UI Improvements:
    • Worked on UI improvements, particularly testing solutions to freezing issues in big wallets.
    • Removed Lelantus UI code
    • Considering adding an option to not sync the transaction table on the UI for large wallets if a better solution isn’t found.

Peter

  • Guix Sign:
    • Successfully got Guix signing working.
    • Needs a repository on firoorg to store signatures (firoorg/firo-detached-sigs).
  • Qt Bottlenecks: Addressed Qt bottlenecks and identified the need to rebase on Levon’s work.

Narek

  • Scan Optimization: Completed scan optimization work and pushed it for review.
  • FiroDEX Updates: Finished upstreaming FiroDEX.
  • Funding Website: Plans to update the Firo funding website to support Spark address payouts.
4 Likes

Week 3

Narek

  • Spark Address Integration: Completed integration of Spark addresses on the funding.firo.org platform.
  • Wallet Scan Optimizations: Addressed Levon’s review feedback and made fixes. Will perform additional testing to finalize.
  • Upcoming Tasks: Finalize Spark address integration on the funding site.

Artur

  • macOS Build Instructions: In the process of finalizing the macOS build instruction updates.
  • Upcoming Task: to investigate UI freezing during batch verification.

Levon

  • Code Review & PRs: Continued reviewing PRs, working on finalizing Lelantus UI fixes.
  • Spark Coinbase.
  • Multisend PR Review
  • KomodoDEX/Campfire Research: Investigating what is required to implement DEX functionality in Campfire or similar projects.

Peter

  • CreateTransaction() Refactor: Fixed the major bugs identified by the tests. Still working on completing the refactor.
  • Guix Signatures: Populated the Guix sign repo and is in the process of setting up the complete signing process.
  • Code Review: Conducting code reviews for Levon’s PR.
  • Upcoming Work:
    • to add asynchronous console mode/finish review of Qt bottleneck
    • Begin coding for Spark aliases, which will allow users to register aliases for Spark addresses on the blockchain.
    • Variable registration fee for Spark aliases, with a max duration of 5 years.
    • Spark alias should resolve to a valid Spark address on the blockchain explorer.
    • Revisit warning PRs to address pending issues.

Week 4

Levon

  • Spark Coinbase:
    • Completed the Spark coinbase implementation. Now working on unit tests and conducting initial testing.
    • Finished the masternode payout to Spark address portion. Preparing for devnet launch with initial and smoke testing.
  • Spark Address Ownership Proof: Researched the feasibility of Spark address ownership proof and plans to meet with Aram this week for further discussion. The implementation might be straightforward.
  • Bitcore Masternodelist API
  • PR Review

Narek

  • Wallet Scan Optimization
  • Funding Site: Added Spark address support to the funding site, performed tests, and awaiting results.

Artur

  • UI Freezing During Batch Verification: Investigating the cause of UI hang during batch verification. Continued work to find a solution to the issue.

Peter

  • CreateTransaction() Refactor: Fixed most of the issues with the CreateTransaction() refactor. The UTXO selection mechanism still needs updates.
  • Spark Alias: Planning and started implementing Spark aliases, which are around 50% complete. Investigating whether this feature requires a hardfork for deployment.
  • Guix-Sign Testing: Conducted additional testing for Guix-sign functionality.
  • Warnings PR and Code Review
1 Like

September 2024 Week 1

Peter

  • Tokenomics Update:
    • Completed the update and PR will be up after redoing some tests
    • Planning to deploy devnet for the tokenomics update, and explorer will also need to be updated accordingly.
  • Warnings PR
  • Tokenomics Breakdown: Miners will receive 5%, masternodes 70%, with 15% allocated for development, and 10% for the community.
  • Testnet: Testnet has passed the second halving, and after a specific block number, the subsidy will increase.
  • Code Review

Levon

  • Spark Coinbase: Fixed bugs related to Spark coinbase implementation and continued unit tests and testing.
  • Sigma Mempool Close & Extrapayload: Prepared PR for closing Sigma mempool and extending the extrapayload size.
  • Bitcore: Worked on a Bitcore fix related to missing RPC functions.
  • Spark Ownership Proof: Had discussions with Aram regarding Spark address ownership proof.

Narek

  • Funding Site: Ongoing testing of Spark address support for the funding site. Will finalize it soon.

Artur

  • UI Hanging During Batch Verification:
    • Implemented changes that seem to resolve the UI hanging issue during batch verification. However, this has resulted in longer verification times.
    • Further testing is required to determine if the tradeoff between UI responsiveness and verification speed is acceptable or if further optimization is needed.

Week 2

Artur

  • UI Hanging Issue: Continued work on the issue of UI hanging during batch verification. Changes have successfully resolved the issue, and the fix will be pushed soon.

Narek

  • Spark Address Support:
    • Worked on adding Spark address support for the Funding Site.
    • Investigating Issue #1446.
    • Will rework the funding site to allow Spark addresses to be used for payouts.

Levon

  • Spark Alias Research:
    • Had a meeting with Aram regarding Spark alias.
    • Decided to prioritize registration as the first step, with additional features to be added later.
  • Spark Coinbase: Finished unit tests and fixed issues for Spark coinbase.
  • Bitcore: Finished work on Bitcore-related tasks.
  • Sigma Pool: Tested the PR for closing the Sigma pool.

Peter

  • Tokenomics Update: PR has been merged.
  • Devnet & Testnet Hard Forks:
    • Hard forks for Devnet and Testnet successfully took place
    • Planning to set up a simulated mainnet to test the transition process.
  • Stratum Proxy Research:
    • Researched the implementation of a stratum proxy and is nearing completion.

Week 3 Text update

Levon

Last Week:

  • Spark Coinbase:
    • Continued testing for Spark coinbase.
    • Resolved Aaron’s review comments on Spats (Spark Assets).

This Week:

  • Spark Coinbase: Ongoing testing.
  • Spats: Further work and review.

Narek

Last Week:

  • Spark Address Support: Implemented Spark address support on the funding site.

This Week:

  • Working on Issue #1446.

Peter

Last Week:

  • Hard Fork Preparations: Made preparations for the upcoming hard fork.
  • Mining Testing: Tested mining setups with various stratum implementations
  • Code Reviews: Conducted reviews and refinements.
  • Aliases: Began working on alias features.

This Week:

  • Continue working on aliases.

Artur

Last Week:

  • Performance Investigation: Investigated an issue where one CPU core is fully utilized when processing new blocks in large wallets.

This Week:

  • Continuing to work on the CPU and memory usage issue.
3 Likes

Week 4

Levon

  • Spark Coinbase:
    • Worked on cleaning up Spark coinbase code.
    • Preparing for a discussion with Aram regarding the coinbase verifier on the miner side, particularly for miner and masternode payouts.
  • Spark Assets: Continued research and reviewing the Spark Assets paper and existing code.
  • Plans to finalize ownership proofs for Spark once the mathematical aspects are ready.
  • Testing: Continued Spark coinbase testing

Peter

  • Spark Aliases: Finalizing the code for Spark aliases. Most of the code is completed
  • Tokenomics Update: Oversaw the hard fork related to tokenomics. It went smoothly with a noted decrease in mining difficulty, which has now stabilized.
  • Memory Issue Investigation

Artur

  • Performance Profiling: Focused on profiling areas of high memory and CPU usage to locate specific bottlenecks.

Narek

  • Issue #1446: Continued working on addressing the issue.
  • Masternode UI: Fixed the masternode sorting UI bug.
  • Memory Optimization: Investigating and working on high memory usage issues related to firod on the masternode side.

Week 5

Levon

  • Spark Address Ownership Proof: Awaiting feedback from Aram to finalize the ownership proof. Preparing a presentation on the topic, to be completed this week.
  • Spark Coinbase Testing: Continued testing of Spark coinbase. Discussed the coinbase functionality with Aram, with plans to conduct Spark coinbase testing on devnet.
  • Spark Wallet API: Made improvements to the API for Spark wallet receiving addresses.
  • Continue working on Spark coinbase and Spark address ownership/proof.

Artur

  • Performance Profiling: Focused on profiling high memory and CPU usage in the Firo wallet, especially for large wallets with many transactions.
  • Memory Leak Detection: Used Valgrind to detect memory leaks, identified several leaks, and implemented fixes.
  • macOS Build Instructions: Updated the build instructions for macOS and resolved some associated issues.

Narek

  • Memory Optimization: Working on issue #1481, which involves investigating and addressing heavy memory usage.

Peter

  • SparkNames (previously SparkAliases): Continued development on SparkNames, previously referred to as SparkAliases. Some initial code has been pushed.
  • Guix-Sign Testing: Conducted testing on guix-sign and implemented small fixes as needed.
  • Code Review
  • Memory Usage Investigation: Performed further investigation into memory usage to optimize performance.
1 Like

October 2024 Week 1

Levon

  • Spark Address Ownership Proofs: Completed work on Spark address ownership proofs.
  • Spark Coinbase:
    • Continued work on Spark coinbase, which operates differently from regular coinbase transactions.
    • Decided to exclude Spark coinbase from the anonymity set until 100 blocks have passed.
  • Spats Library Integration research
  • Tx InstantSend Lock Status for Mobile: Planned to add InstantSend lock status for transactions on the mobile platform.
  • Assisting Narek: Will assist Narek with resolving the heavy memory usage issue and technical issues on the Funding site.

Narek

  • Funding Site Fixes: Worked on resolving issues with the Funding site but encountered technical challenges that require assistance.
  • Memory Optimization for Masternodes: Continued investigating and addressing heavy memory usage on masternodes.

Artur

CPU and Memory Profiling: Attempted to profile CPU and memory usage using Xcode tools, but could not yet identify the exact cause of the high memory usage.

Week 2

Peter

  • Spark Ownership Proof Integration: Integrated Spark ownership proof into Spark Names.
  • Spark Names UI: Started testing Spark Names and began drafting the UI dialog box/tab layout for it.
  • Electrum Server API for Spark Names: Need for someone to work on an API for the Electrum Server to retrieve a list of valid Spark names.
  • Code Review and Guix Sign: Conducted code review and continued guix sign testing

Artur

  • Memory Optimization: Continued work on memory usage optimizations.
  • Assisting Levon with Spats Library Refactoring

Narek

  • Funding Site:
    • Worked on Spark address support for the Funding site, including fixing a QR code issue and enhancing documentation.
    • Improved address validation on the Funding site.

Levon

  • Memory Usage:
    • Paused further work on the memory usage issue after running a profiler. Found around 1 GB usage for block index and the rest attributed to Spark state and other minor components. Concluded that there’s limited optimization left.
    • Removing Sigma state could potentially reduce memory usage.
  • Mobile and Spark Features:
    • Implemented IS (InstantSend) locked coins for mobile.
    • Continued work on Spark coinbase immature implementation.
  • Spats Refactoring and Research:
    • Focused on Spats refactoring and Spark coinbase testing on devnet.
    • Continued Spats research for further improvements.

Gevorg (New Developer)

  • Focus on Spark Assets:
    • Introduced as a new developer, Gevorg will be focusing on Spark assets.
    • Scheduled a meeting with Levon this week for a briefing on Spark assets.

Week 3

Peter

  • Spark Names Testing and UI Improvements:
    • Spark Names is not yet fully tested; plans to improve this.
    • Working on additional features for UI and RPCs related to Spark Names.
    • Added a new window in the Send tab for Spark Names.

Levon

  • Spats Library Refactoring and Testing: Continued refactoring the Spats library and working on unit tests, aiming to finalize this week.
  • Qt UI Improvements: Worked on fixing the Qt UI hanging issue.
  • Spark Coinbase Testing: Plans to continue work on Spark coinbase testing in devnet.

Narek

  • Funding Site and UI Work:
    • Completed Spark address integration for the funding site.
    • Worked on database updates for the funding website.
    • Addressed UI issue #1489.
  • FiroDEX Issues: Currently on hold.

Artur

  • Spats Library Work: Continued refactoring work on the Spats library.

Gevorg (New Developer)

  • Initial Setup and Learning:
    • Successfully built and ran Firo with unit tests, reported a test failure to Levon.
    • Had a meeting with Levon for a detailed briefing on the Spats project.

Week 4

Gevorg

  • Spats Design Specification: Completed the initial draft of the Spats design spec and sent it to Reuben and Levon for review. Waiting for feedback and comments to make necessary adjustments. Plans to address comments and finalize the design specification.

Peter

  • Spark Names Development:
    • Focused on finalizing the UI for Spark Names, with the primary functions of buttons completed. Plans to share a screenshot with Reuben before deploying a working version.
    • Continued work on the internal implementation and small refactor of Spark Names.
    • Decision pending on the cost for Spark Names registration.

Levon

  • Spats Library Development:
    • Continued refactoring the Spats library and working on unit tests.
    • Aiming to finalize the Spats library refactoring this week.

Narek

  • Funding Site and Build Fixes:
    • Finalized the funding site database updates.
    • Fixed issues with build and run configurations for --disable-wallet.
  • To return to txlist issue task.

Artur

  • Spats Library Refactoring: Continued work on refactoring the Spats library, specifically focusing on the SpendTransaction component.
1 Like

November 2024 Week 1

Narek

  • Transaction List & UI Improvements:
    • Working on the transaction list but hasn’t been able to reproduce the issue yet.
    • Added a field for memos in the UI and needs to implement additional validation checks.
    • To work on addressing a Trezor issue for Electrum.

Artur

  • Spats Library Development:
    • Continued refactoring the Spats library.
    • Working on implementing additional unit tests for the Spats library.

Peter

  • Spark Names Development:
    • Progressed on Spark Names UI design and code, which is now successfully running.
    • Still needs to finalize the price list and tokenomics for Spark Names.
    • Plans to remove the limit on the number of years for Spark Names registration.
    • Working on pushing additional RPC codes required for Spark Names.
    • Cleaning up Spark Names code and performing code reviews.
    • Preparing for Spark Names deployment on devnet this week.

Levon

  • Spark Assets:
    • Continued with libspats refactoring, which now technically supports the desired features for Spats.
    • Doing further research on Spark assets as needed.
    • Focusing on Spark coinbase testing on devnet.
    • Considering whether to include a Spats ownership transfer feature.

Gevorg

  • Spats Design Spec & Research:
    • Conducted research on Zano Ionic Swaps.
    • Studied Firo’s code further to deepen understanding.
    • Had a brainstorming session with Levon on the overall Spats design.
    • Wrote a new “Design Cornerstones” section in the spec, summarizing key points of contention for which there’s no strong consensus.

Week 2

Peter

  • Spark Names Development:
    • Worked on Spark Names UI. Development took longer than expected, but is preparing to roll out updates tomorrow for testing.
    • Known issues:
      • Prolongation of Spark Names for multiple years not working at GUI level.
      • Missing GUI for listing Spark Names and address book.
      • Needs to ensure Spark Names do not interfere with the consensus layer.
    • To write additional RPCs for Spark Names.
    • Implemented autocomplete for Spark Names, debating whether it should pull from the address book only or from a global list of Spark Names.
  • Code review for other PRs.

Levon

  • Spark Coinbase Development:
    • Finalized Spark Coinbase PR, implementing the immature functionality that requires 100 confirmations.
    • Continued research on Spark Assets and ionic swap requirements, with plans to discuss with the CL team.
  • Worked on positive transparent balance addresses, expected to be completed by the end of the day.

Narek

  • Electrum and GUI Updates:
    • Addressed an invalid prev_hash issue with Electrum on Trezor.
    • Added Spark memo functionality to the GUI.

Artur

  • Spats Library Testing: Implemented unit tests for the Spats library.

Alef

  • Upcoming Tasks:
    • Will focus on transaction creation refactoring.
    • To investigate if Firo could benefit from adopting Bitcoin’s new CMake build system, replacing the old GNU autotools.

Gevorg

  • Spats GUI:
    • Addressed feedback from Reuben and Levon on the Spats design spec and updated it to version 0.3.
    • Had a call with Levon to determine the starting point in the codebase, agreeing to start with the UI.
    • Attempted a cross-compile Windows build of Firo on WSL (Windows Subsystem for Linux). Encountered errors but didn’t dive into resolving them as the main dev system is a Linux desktop without these issues.
    • To work on the Spats GUI and set up a Qt development environment on the Windows laptop currently available.
5 Likes

November Week 3

Peter

  • Spark Names:
    • Worked on core bug fixes and continued testing.
    • Added mempool conflict resolver.
    • Progressed on the Spark Names UI, including plans to introduce two icons to differentiate between global and local Spark Names.
  • Code Review
  • MacOS Build: Addressed warnings and compilation issues on the newest macOS version.

Gevorg

  • Qt Development for Spats:
    • Set up a Qt development environment
    • Created an initial draft for the “My Own Spats” tab in the Qt GUI.
  • Research:
    • Reviewed the Zano send/receive interface and compared it with ideas for Spats, discussing findings with Reuben.
    • Had a call with Levon to clarify development and testing questions.
  • Updated the Spats spec to remove symbol/name uniqueness constraints, following discussions with Reuben.
  • To continue to work on the business logic for the “My Own Spats” tab functionality.

Narek

  • Electrum Development: Continued working on the Electrum Firo issue related to Trezor wallet compatibility.

Artur

  • Awaiting Tasks: Was on leave the previous week and is currently waiting for new tasks.

Levon

  • Completed the address number with a positive balance RPC call. There may be slight deviations, but it seems acceptable for now.
  • Fixed bugs related to Spark Coinbase and addressed review comments from Gevorg.
  • Explorer Issue: Investigating a block explorer issue where it fails when trying to open blocks containing Sigma mint transactions.
  • Continued Spark Assets research, waiting for confirmation from the Confidential Layer (CL) team.
  • Upcoming Work:
    • Further Spark Coinbase testing.
    • Fixing the explorer issue.
    • Additional Spats library research and refactoring.

Alef

  • Initial Setup:
    • Set up a basic development environment.
    • Began reading through PRs to get familiar with the codebase.
1 Like

November Week 4

Peter

  • Spark Names Core:
    • Implemented fixes and unit tests.
    • Developed helper RPCs for listing all Spark Names (both global and user-specific).
  • Spark Names UI: Worked on the dialog for displaying personal and global Spark Names.
  • Spark Names functionality is based on Spark spend transactions.

Artur

  • Investigated the _send_server_features issue, which was caused by the updated PEERS list.

Narek

  • Continued work on resolving the Trezor issue in Electrum Firo.

Gevorg

  • Spats Development: Created PR for spats_admin_gui and started implementing the business logic for the “My Own Spats” tab in the GUI.

Levon

  • Worked on fixes for the Explorer.
  • Spats Library:
    • Cleaned up libspats, removing old and duplicated code from the Spark Library.
    • Finalized Spats library refactoring and initiated work on state implementation.
  • Spark Coinbase: Fixed bugs and completed unit tests. Planned to launch Spark Coinbase devnet testing this week.

Alef

  • Reviewed PR #1348 and ran it under tests to understand its functionality.
  • CMake:
    • Investigated Bitcoin’s CMake implementation.
    • Started writing small CMake scripts for Firo components.
1 Like

December 2024 Week 1

Peter

  • Spark Names (Core): Fixed mempool conflicts and refined tests.
  • Spark Names (UI):
    • Improved the UI for creating Spark Name transactions and distinguishing address book entries.
    • Merged transparent and Spark local address book entries, creating two clear categories: “Local Address” and “Spark Names.”
  • Completed additional work for Spark Names RPCs.
  • Finalized preparations for the Spark Names launch on the devnet.
  • Code Review

Levon

  • Spats Library: Refactoring nearly complete.
  • Public Transaction Refactoring: Began reviewing related PRs and will finalize soon.
  • Electrum RPC: Investigated RPC-related issues
  • Upcoming Tasks:
    • Finalizing Spats refactoring and moving on to implementing its state.
    • Addressing issue #1500.
    • Updating firod (daemon) to prevent splitting during minting and adding a GUI flag for this functionality.

Alef

  • CMake Integration:
    • Implemented CMake build for Firo’s secp256k1 fork.
    • Added CMake support for other subfolders, with plans to work on libspark and others next.
  • Node Testing: Successfully ran real-world tests with the #1348 node.

Gevorg

  • Spats Business Logic: Focused on coding the central registry for Spark Assets.
  • To continue developing the business logic for Spats functionality.

Narek

  • Electrum & Trezor Issue:
    • Investigated a problem where transaction input sequences are null.
    • Found the root cause: Coinbase transaction inputs had a sequence of 0, causing errors in Trezor transactions.

Artur

  • Electrum Server Issue:
    • Investigated why peers are marked as “bad” in the _send_server_features response due to mismatched hosts.
    • Identified the cause as a host mismatch in the server.features response.
7 Likes

Week 2

Narek

  • Trezor Issue: Continued testing the solution for the Trezor issue with Electrum Firo.

Artur

  • Electrum Server Fixes: Investigated the missing host issue with ElectrumX servers. Updated the server configuration to ensure proper host retrieval.

Levon

  • Mint Creation Refactoring: Added support for the “no split” option in mint creation for RPC calls, addressing issue #1500.
  • Started investigating the root cause of the crash.
  • Continued implementation of Spats state.
  • Finalize mint creation refactoring and further investigate Blockbook issues.

Alef

  • CMake Integration: Investigated all necessary components for CMake integration (#1504).
  • LevelDB Upgrade:
    • Upgraded LevelDB to version 1.22 for better performance and bug fixes.
    • Addressed compatibility by adding crc32c to the base system due to LevelDB’s new SSE requirements.

Gevorg

  • Spats Development: Continued coding business logic for Spats, focusing on the wallet management component.
  • System Setup:
    • Configured a new laptop and upgraded OS on both laptop and desktop systems.
    • Resolved issues with ./autogen.sh crashing after OS updates.
  • Meet with Levon to discuss further progress on Spats.

Peter

  • Spark Names:
    • Ironing out issues with core part of spark names
    • Making transition for the hardfork, as Spark Name transactions need to be recognized as valid by previous versions.
    • Fine-tuned parameters and made further UI design adjustments.
  • Code Review

Week 3

Alef

CMake Port Progress:

  • Customized and added the main CMakeLists.txt file for Firo with target adjustments.
  • Successfully added and tested CMake for multiple components:
    • bench
    • univalue
    • ZMQ
    • doc

Gevorg

  • Spats Development: Continued coding the Spats implementation and finalized changes needed for C++20 compatibility.
  • Code Review: Addressed comments from CodeRabbitAI on the spats_admin_gui PR.

Levon

  • RPC Improvements: Added new RPC calls to enable pagination for downloading anonymity sets on mobile wallets.
  • Completed mint creation refactoring. Added options for users to enable/disable splitting and Allowing user to choose from certain address like coincontrol
  • Spats:
    • Continued development to integrate Spats into the existing Spark structure and anonymity set.

Narek

  • Wallet Fixes: Fixed wallet scan for newly created wallets.
  • Trezor Issue: Implemented a fix for the Trezor issue but is currently exploring more robust solutions.

Artur

  • ElectrumX Enhancements: Finalized updates to improve peer discovery and network connectivity in ElectrumX.

Peter

  • Spark Names:
    • Added an information field to Spark Name records for additional details.
    • Implemented multiple UI fixes.
    • Tweaked core parameters for Spark Names.
    • To Launch Spark Names on devnet.
  • Next Steps:
    • To conduct final testing and prepare Spark Names for deployment.
3 Likes

December 2024 Week 4

Levon

  • PR Review: Reviewed Spark Assets GUI and C++ version update.
  • Spats: Continued work on Spats state implementation.
  • Spark Coinbase: Progressed devnet testing for Spark Coinbase functionality.
  • Proposed assigning Narek to work on Spark Name Explorer, pending Peter’s approval.
  • Work needed for Spark Names support on mobile platforms.

Alef

  • CMake Progress:
    • Added CMake configurations for:
      • Crypto component.
      • Wallet component.
      • src directory.
    • Successfully generating makefiles/ninja via CMake.
    • Debugging generation of multiple targets (firo_cli, firo_wallet, etc.).

Next Steps:

  • Debug all CLI targets to ensure correct generation.
  • Transition Firo’s dependency system to a toolchain similar to Bitcoin’s, including generating a CMake toolchain file post-dependencies setup.
  • Begin compilation for the GUI component.

Narek

  • Successfully fixed the Electrum Firo Trezor issue.

Artur

  • Started investigation and work on resolving Blockbook errors.
  • Progressing with repository updates to address related issues.

Gevorg

  • Continued work on Spats coding.
  • Suggested burning Spats fees, a decision to be reviewed.

December 2024 Week 5 Text Update

Artur

Last Week:

  • Merged the upstream master branch with Firo’s master branch via update-from-trezor.
  • Rebased the spendingIndex and specialAddresses branches with the upstream master branch.

This Week:

  • Continue resolving errors related to these updates and rebases.

Narek

Last Week:

  • Studied Spark Names code to understand its structure for future work.
  • Created the “getsparknames” RPC to return all Spark Names.

This Week:

  • Update the SparkMobile repository to support Spark Names functionality.

Levon

Last Week:

  • Held regular meetings with Gevorg to discuss progress and assign new tasks.
  • Worked on Spats Library: bug fixes and state implementation.

This Week:

  • Continue working on Spark Assets.

Peter

Last Week:

  • Continued bug fixing and testing Spark Names on devnet.
  • Worked on implementing the remaining missing RPCs for Spark Names.

This Week:

  • Finalize bug fixes and complete testing for Spark Names.
  • Address any outstanding RPC implementations.

Gevorg

Last Week:

  • Reviewed PR to fix wallet scanning for newly created wallets.
  • Continued coding work on Spats.
  • Fixed CI errors after getting access to ci.firo.org and pushed an update.
  • Created a new Docker image for CI builds based on Ubuntu 24.04.
  • Held a meeting with Levon to clarify tasks and collect action items.

This Week:

  • Address action items identified in the meeting with Levon.
  • Implement GUI binding code to connect asset creation functionality.
  • Prepare for testing asset creation on regtest.

Alef

Last Week:

  • Worked on fixing targets in src/CMakeLists.txt, focusing on firo_cli and firo_wallet, though some compilation issues persist.
  • Progressed on updating the toolchain.cmake.in file in the depends folder.

This Week:

  • Finalize required targets for firo_cli and firo_wallet.
  • Complete the toolchain.cmake.in file generation.
  • Use CPack to generate binary files, following Bitcoin’s approach.
  • Begin the final stage of the CMake process: GUI compilation.
4 Likes

January 2025 Week 1

Levon

  • To launch Spark Coinbase on devnet.
  • Progressed with Spark Assets State Implementation, converting the existing Spark state code to support a new scheme.

Narek

  • Added ownership proof functionality on Spark Mobile.

This Week:

  • Testing ownership proof cases on Spark Mobile.
  • Integrated ownership proof code from core to the SparkMobile repo and added relevant tests.
  • Fixing any issues identified during the testing phase.

Artur

  • Addressed various Blockbook errors, including broken pipe and context deadline exceeded issues.

This Week:

  • Continuing efforts to resolve the remaining Blockbook errors.

Gevorg

  • Completed all action items from prior meetings with Levon.
  • Finished backend code for creating new Spark Assets.

This Week:

  • Merge completed backend work with the spats_admin_gui branch.
  • Implement GUI binding code to fully integrate asset creation functionality.
  • Begin testing asset creation locally on regtest.

Peter

  • Fixed a bug that allowed ill-formed Spark Name transactions to be accepted.
  • Added unit tests to ensure correct transaction formation and to address Spark Name conflicts.

This Week:

  • Finalize the deployment of Spark Names.

Alef

  • Continued fixing targets in src/CMakeLists.txt, focusing on firo_cli and firo_wallet.
  • Completed the toolchain.cmake.in file and tested it to enable make depends to generate a CMake toolchain file.

This Week:

  • Finalize the targets for firo_cli and firo_wallet.
  • Utilize CPack to generate binary files, following Bitcoin’s methodology.
  • Begin GUI CMake compilation, which is the final phase of the CMake integration process.

Week 2

Peter

  • Spark Names:
    • Updated hard fork (HF) configurations and resolved mempool/block conflicts related to duplicate Spark Names.
    • Fixed several UI-related bugs for Spark Names.
    • Added automated tests to ensure Spark Names’ reliability.
  • New HF block number is needed for Sigma pool closure, aligning it with the Spark Name HF.

Gevorg

  • Integrated previous work on the spats_admin_gui branch.
  • Successfully implemented GUI binding code for end-to-end asset creation functionality.
  • Began local testing for asset creation on regtest and resolved a few testing errors.
  • Currently investigating a diversifier decrypt error while generating address ownership proof, collaborating with Levon for a resolution.
  • Upcoming:
    • Continue testing asset creation on regtest and address all errors encountered.
    • Expected to complete the base Spats functionality by the end of February.

Levon

  • Advanced Spats state implementation to support send and receive functionality.
  • Preparing for devnet testing of Spark Coinbase.
  • To conduct benchmarks during testing.

Artur

  • Resolved several Blockbook errors and is finalizing the remaining issues.
  • Preparing to push updates once all issues are resolved.

Narek

  • Spark Names: Developed additional RPCs and functionality for Spark Names.
  • Begin further development on Spark Mobile integration.

Alef

  • Successfully tested and pushed the toolchain.cmake.in file, which is now fully functional.
  • Continued work on src/CMakeLists.txt for firo_cli and firo_wallet, troubleshooting and fixing compilation issues. Currently, firo_cli is linked to libspark.
  • Upcoming Tasks:
    • Complete target fixes for firo_cli and begin work on firo_wallet and other targets.
    • Utilize CPack to generate binary files, adopting Bitcoin’s approach.
    • Start the GUI CMake compilation phase.

Week 3

Peter

  • Spark Names:
    • Conducted testing and bug fixes.
    • Refactored verification mechanisms.
    • Streamlined transaction creation workflows for Spark Names.
  • Conducted code reviews.
  • Planned to perform testing and fixes for the CMake build system.

Alef

  • CMake Progress:
    • firo_cli compilation with CMake is now complete and functioning.
    • Currently working on the firo_wallet compilation.
  • Upcoming Tasks:
    • Utilize CPack to generate binary files, modeled after Bitcoin’s approach.
    • Begin GUI CMake compilation, marking the final phase of the CMake integration process.

Artur

  • Blockbook Updates:
    • Finalized and pushed some updates.
    • Investigating post-merger changes in Blockbook.
    • Preparing to include new modifications and push updated branches.

Narek

  • Development Progress:
    • Fixed GitHub Actions for the firoorg/firo repository.
    • Worked on FiroDEX upstream sync, pending testing.
    • Added Spark Name support in both Spark Mobile and Insight (Explorer).
  • Upcoming Tasks:
    • Add new seed nodes to FiroDEX and re-enable Market Maker (MM) functionality.
    • Perform sanity checks for FiroDEX to ensure stability.

Levon

  • Spats: Focused on and nearing completion of Spats state implementation.

Gevorg

  • Asset Creation Testing:
    • Continued testing and debugging asset creation on regtest, resolving numerous issues.
    • Achieved a key milestone: Successfully creating new assets, having them recorded on the blockchain, and displaying them in the GUI.
  • Next Steps:
    • Perform additional testing with various input combinations, resolving any remaining errors.
    • Address known rough edges in the implementation.
    • Begin work on asset unregistration functionality.
1 Like

January 2025 Week 4

Peter

  • Spark Names:
    • Worked on Spark Names devnet, with instructions to be shared soon.
    • Addressed fixes and RPCs for Spark Names.
    • Continued testing and UI development for Spark Names.
  • Conducted code reviews.
  • Performed CMake testing.
  • Upcoming: Finalize the UI for Spark Names.

Gevorg

  • Asset Creation & Spats:
    • Continued testing asset creation on regtest, experimenting with various input combinations, and resolved a few errors.
    • Addressed some known rough edges, with a few remaining.
    • Began implementation of asset unregistration.
  • Next Steps:
    • Finalize and test asset unregistration.
    • Further refine rough edges.
    • Add block ID to Spats registry bookkeeping as requested by Levon.
    • Begin work on asset modification implementation.

Levon

  • Spats Development: Progressed on Spats state implementation.
  • Upcoming Tasks:
    • Complete the state implementation.
    • Begin work on transaction creation for Spats.

Narek

  • Continued Spark Name support integration into Spark Mobile.
  • Updated FiroDEX to the latest upstream version.
  • Re-enabled the DEX button in FiroDEX.
  • Added seed nodes to FiroDEX.
  • Upcoming Tasks:
    • Finalize work on Spark Mobile and FiroDEX updates.

Artur

  • Blockbook: Investigated post-merger changes in Blockbook and pushed updates to named branches.
  • Next Steps:
    • Create PRs for recent changes.
    • Test all updates and merge them with the current branches.

Alef

  • CMake Build System: Completed firod, firo-tx, and firo-cli compilation with CMake.
  • Upcoming Tasks:
    • Utilize CPack to generate binary files, following Bitcoin’s approach.
    • Begin work on GUI CMake compilation, which will be the final step in the process.
3 Likes

February 2025 Week 1

Gevorg

  • Completed and tested asset unregistration.
  • Fixed GUI issues, including:
    • Handling 64-bit inputs for asset type and identifier.
    • Adding destination public address input for Spats.
    • Added block ID (hash) to Spats registry bookkeepings as requested by Levon.
  • Next to Implement asset modification.
  • To Improve GUI further:
    • Ask users to confirm fees before proceeding.
    • Ensure total supply value reflects precision setting.
    • Improve thread safety in some functions.

Alef

  • All executables built with CMake, including firod.
  • To Complete CPack integration for binary distribution.
  • To Start work on GUI CMake compilation.

Peter

  • Made Spark Names case insensitive.
  • Optimized and refactored Spark Names code.
  • Conducted code reviews and testing.
  • To Roll out Spark Names on testnet.

Levon

  • Almost finished Spats state modifications.
  • Started implementing Spats transaction creation.
  • To Continue Spats transaction work.
  • To Conduct code reviews.
  • To Update hard fork block number (1477) once Spark Names PR is merged.

Narek

  • Made progress on FiroDEX and Spark Mobile Spark Name support.
  • To Finalize Spark Mobile integration.

Artur

  • Created PRs for Blockbook repository.
  • Encountered issues testing changes on Linux.
  • To Resolve minor issues and finalize changes.

Week 2

Peter

  • Improved Spark Names:
    • Made Spark Names case insensitive, allowing both formats.
    • Modified block index structure for safer rollbacks in case of block disconnection.
    • Fixed edge cases for Spark Name extensions.
  • Spark Names on devnet: RPC is the current focus—some errors remain, but it’s works
  • Updated UI to align with recent changes.
  • Code reviews.
  • Add additional RPCs for easier access to Spark Name features.

Gevorg

  • Worked on asset modification.
  • Fixed unit test failures on Spats branch.
  • Improved thread safety for spats::Registry::get_* functions.
  • Added spats::Registry::get_asset() for Levon.
  • Fixed issues:
    • Corrected Spats headers listing in Makefile.am.
    • Resolved assertion failure for specific NFT unregistration cases.
    • Added a user prompt for unregistering an entire NFT line if multiple NFTs exist on the same line.
  • To Finalize and test asset modification.
  • To Implement asset minting.
  • To Fix Windows build failure in the spats-integration branch.
  • To Rebase Spats branch over the latest spats-integration branch.

Levon

  • Addressed UI improvements PR: Resolved more review comments.
  • Investigated a “vulnerability” report—found and fixed a minor UX bug.
  • Began implementing Spats minting.
  • Reviewing Gevorg’s code.
  • To Finalize minting and begin working on Spats spending.

Alef

  • Fixed macOS CMake build for CLI.
  • [Completed, testing before pushing] Integrated CPack for binary file generation (.tar.gz format).
  • To Create .deb and .rpm packages for Linux distributions.

Narek

  • Continued work on Spark Name support for SparkMobile.
  • To Addressed a FiroDEX transaction broadcast issue.

Artur

  • Continued work on Blockbook.
  • To Finalize and push the latest changes.
5 Likes

Week 3

Alef

  • Successfully built all tests and ran them on Ubuntu and macOS.
  • Enabled CPack to generate binary files for macOS and Ubuntu (.tar.gz and .sh files).
  • To Begin work on GUI CMake compilation, the final step in the process.

Peter

  • Made fixes for Spark Names and API communication with lower-level components.
  • Updated the UI to reflect changes in Spark Names at the core level.
  • Conducted code reviews.
  • To do Testing, deployment, and fixing any issues.
  • View Keys: to Implement a feature to watch Spark addresses for receiving/sending transactions.
  • Decide on implementation for watch Spark address:
    • Campfire route
    • -wallet (Qt) route

Levon

  • Completed Spats Mint implementation.
  • Began working on Spats Spend.
  • To Finalize Spats Spend.
  • To Implement unit tests and RPC calls.
  • To Start integrating Campfire for Spark Names implementation.

Gevorg

  • Completed asset modification implementation and testing.
  • Fixed GitHub CI Windows build failure on spats-integration branch.
  • Rebased Spats branch over the latest spats-integration branch.
  • Added missing validations and behavioral improvements.
  • Started Spats Mint implementation.
  • To Finalize and test Minting.
  • To Fix GitHub CI failures on Spats branch and attempt Jenkins fixes if time allows.
  • To Implement Burn functionality.

Narek

  • Completed Spark Name support on SparkMobile.
  • Worked on Spark Names RPC.
  • Addressed a FiroDEX transaction display issue.
  • Updated FiroDEX Git CI workflow.
  • To continue work on FiroDEX improvements.

Artur

  • Blockbook: Finalized changes and conducted testing. Encountered upstream update issues during testing.
  • To Work on resolving upstream issues to stabilize Blockbook.

Week 4

Peter

  • Fixed several Spark Name core issues, including names older than one year.
  • Fixed UI problems and refactored name creation in the UI for better clarity.
  • Implemented address book support for Spark Names.
  • Conducted code reviews.
  • Reviewed CMake build progress.

Alef

  • Completed GUI compilation for Linux-based systems.
  • Successfully ran CMake build GUI tests on Ubuntu.
  • To Finalize GUI compilation for macOS this week.
  • To Initiate full Windows support (MSVC).

Levon

  • Worked on Spats Spend implementation, refactoring functions and adding new validation checks.
  • To Finalize Spend creation and add unit tests.
  • To Implement new RPC calls for Spats.

Gevorg

  • Completed Minting implementation (excluding crediting new supply, pending integration with libspats).
  • Fixed GitHub CI failures on Spats branch.
  • Improved Spark Asset Dialog:
    • Proper handling of precision changes.
    • Correct display of precision & total supply for NFTs.
  • Made behavioral improvements in Spats core.
  • To Complete Burn implementation (excluding GUI).
  • To Modify Overview page to display Spats balances.
  • To Add Burn functionality to the Overview page.
  • If feasible, to start integrating with libspats.

Narek

  • Investigated FiroDEX transaction history issue:
    • Debugging why some transactions are missing.
    • Verified API responses to ensure correct transaction retrieval.
    • Checked for frontend-backend connection issues.

Samizdat

  • Successfully set up IDE for development.
  • Started working on Qt improvements.

Anwar

  • Released FiroDEX 0.8.2.
  • Tested Spark Name RPCs on testnet.
  • Prepared figures and comparisons for total supply posts.
  • To Update Insight Explorer with:
    • gettotalsupply for firod.
    • getmoneysupply API.
  • To Test Spark Name UI:
7 Likes

March 2025 Week 1

Alef

  • Completed CMake GUI build on macOS.
  • CMake build branch is ready for review (Ubuntu & macOS).
  • To start on full Windows support (MSVC), the final step for CMake build support.

Peter

  • Fixed various Spark Names issues and improved the UI.
  • Implemented unit test updates for Spark Names.
  • Started reviewing UI improvements PR from Levon.
  • To address missing QR code in QT

Gevorg

  • Finished Burn implementation for Spats.
  • Updated the Overview page to display Spats balances.
  • Added Burn functionality UI to the Overview page.
  • Made some minor fixes and improvements.
  • To Implement Levon’s suggested changes, mainly adding Spats transaction checks in more areas.
  • To Start integration with libspats after Levon merges pending Spats changes.
  • GUI improvements: to change transaction list to differentiate

Artur

  • Reviewed final Blockbook changes.
  • To Merge Blockbook updates into the master branch.

Narek

  • Investigating FiroDEX transaction broadcasting issue.

Levon

  • Continued Spats Spend implementation, focusing on code refactoring.
  • Debugged transactions from Enkrypt.
  • To Finalize Mint and Spend implementation.
  • To Merge changes into spats-integration branch.
  • To Add unit tests and RPC implementations.

Samizdat

  • Nearly finished implementing view key exporting in Qt/RPC.

Week 2

Alef

  • Worked on full Windows support (MSVC).
  • vcpkg is functioning, but bls-dash and relic libraries are outdated and lack proper Windows support.
  • Implemented workarounds but need a few more fixes.
  • Other required libraries are available via vcpkg.

Peter

  • Spark Names: Fixed minor bugs and improved code quality.
  • Resolved incorrect fee issue that was interfering with transaction propagation.
  • Implemented multiple unit tests for Spark Names.
  • UI Refactor: Reviewed code and explored ideas to improve UI performance.
  • Addressed warnings in Spark Names code.

Levon

  • Spats Spend implementation: Nearly finished, now working on bug fixes. Unit tests failing, currently debugging.
  • Code review: bitcore-node-zcoin and Blockbook.
  • To Push Sigma pool closure to testnet once Spark Names testing is complete.

Artur

  • Blockbook: Sent changes to Levon for review.

Narek

  • Worked on EvoZnode count API for Insight Explorer.
  • Started addressing Masternode Tool issue.
  • To Continue working on FiroDEX.
  • To Update GitHub Actions for Windows.
  • To Introduce a new RPC for Spark-to-exchange transactions.

Week 3

Samizdat

  • Exporting Spark View Key implementation is in progress.
  • Researching Flutter and Stack Wallet for possible integration.

Levon

  • Insight Znode count API: Reviewed and completed (originally started by Narek).
  • Blockbook upstream upgrade: Reviewed and finalized (originally started by Artur).
  • Testnet HF block pushed for Sigma pool closure PR and synced with Spark Names branch.
  • Bug fixes for Spats Mint.
  • Assisting Enkrypt developers.
  • Upgraded Tor to v0.4.8.9.
  • Continue Spats backend integration with asset registry & UI, plus unit tests.

Narek

  • FiroDEX: Resolved transaction parsing issue related to Spark.
  • Masternode Tool issue: Debugging Trezor error (‘unsupported hash type ripemd160’)
  • To Continue working on the Masternode Tool fix.

Alef

  • Discontinued vcpkg support (temporarily) due to libtor compatibility issues.
  • Fixed BLS-Dash in vcpkg, but libtor was unfixable.
  • Started working on MinGW support for Windows.
  • Firo-tx compilation completed, but minor linking issues with ZMQ remain.
  • To Finalize MinGW (CMake) compilation.

Peter

  • Spark Names UI & RPC improvements:
    • Separated “own” vs. “someone else’s” Spark Names in UI and RPC.
    • Cosmetic improvements.
    • Developing Spark Name creation for mobile (APIs/RPCs).
    • Spark Names testing in progress.
  • Possible implementation of Spark Address Ownership Proof RPCs.
  • To get mainnet hard fork (HF) block for Spark Names.
5 Likes

Week 4

Samizdat

  • Backend view key implementation is mostly completed for Stack Wallet. UI for Stack Wallet is already mostly done.

Alef

  • Finished CMake MinGW cross-compilation.
  • Completed Stacktrace support with CMake compilation.
  • To Start the next task and fix warning issues.

Levon

  • Reviewed spats_central_logic branch.
  • Worked on minor fixes.
  • To Continue refining Spats logic and integration.

Narek

  • Tested Spark support on mm2.
  • Tested Spark Name support on Spark Mobile.
  • Identified the cause of the “unsupported hash type” issue on Trezor in the Masternode Tool.
  • To Fix Masternode Tool issue and finalize it.

Artur

  • Started working on Firod Tor support.
  • Creating automatic onion services for better privacy and network security.

Gevorg

  • Developed Spats actions user confirmation dialog, with final adjustments needed.
  • Worked on integrating Spats minting functionality with Levon’s implementation.
  • Finalize Spats actions confirmation dialog.
  • Complete Spats minting integration.

Week 5

Peter

  • Conducted code and UI reviews, with planned PR updates tomorrow.
  • Thinking implementation for Spark Name transfer protocol
  • To Issue full-fledged UI improvement PR.
  • To Continue code review and finish the last Spark Name fixes.
  • To Conduct thorough testing before the hard fork.
  • To Further develop Spark Name transfer mechanics.

Levon

  • Reviewed Gevorg’s Spats code and worked on spend integration.
  • Finalize Spats functionality and begin regtest testing.

Alef

  • Fixed Clang/LLVM warnings in multiple components, including bip47, bls, liblelantus, libspark, rpc, wallet, and zmq.
  • Finalized the CMake build branch.
  • To Complete remaining Clang/LLVM warning fixes.
  • To Work on GCC and MinGW warnings.

Samizdat

  • Worked on View Key import/export functionality.
  • Studied Dart and Flutter.

Narek

  • Fixed Masternode Tool invalid hashtype issue.
  • Updated CI/CD pipeline and requirements list for Masternode Tool.
  • Pushed Spark integration for mm2 to the mm2 team for review.
  • To Work on CFC Wallet Anonymize button issue.

Artur

  • Investigated Bitcoin commits related to Tor integration.
  • Begin integrating Tor-related Bitcoin commits into Firo’s codebase.
3 Likes

Week 1 April 2025

Peter

  • Finalized changes to Spark Names.
  • Conducted UI PR review and may complete it today.
  • Reviewed CMake PR.
  • Designed a secure protocol for Spark Name transfers.
  • Began RPC-side implementation of Spark Name transfers (UI component still undecided).

Levon

  • Continued work on Spats spend; nearly complete. Running final unit tests and checking critical logic.
  • Ongoing code review for Gevorg’s mint functionality.
  • Started reviewing Spark Names PR, expected to finish within a day or two.

Narek

  • Tested CMake PR.
  • Fixed bug related to the Anonymize All button in the Qt wallet.
  • Finalized and merged Spark integration on mm2.
  • Began work on Spark Name integration on Insight.

Samizdat

  • Continued implementing View Key export.
  • Encountered CMake build errors while compiling flutter_libsparkmobile.
  • Finalizing View Key export PR—only minor spelling fixes remain.

Alef

  • Resolved all issues raised by Narek for the CMake PR, and added relevant documentation.
  • Continued working on the fix-warning PR, aiming to complete it this week.
  • Debugging a bug in one of the tests, discovered during CMake work (ongoing collaboration with Peter).

Artur

  • Progressed with Tor integration.
  • Successfully merged relevant Bitcoin commits into Firo’s codebase.

Week 2

Peter

  • Addressed a potential premature hard fork issue in Spark Names, along with a corresponding unit test.
  • Finalized Spark Names PR, including last tests and polish.
  • Made preparatory adjustments to Spark Name transfer implementation, including versioning logic and version name flags.
  • Continued UI improvements review, expected to complete the review today.
  • CMake PR under review and testing.

Levon

  • Continued Spark Names PR review.
  • Conducted Spats code review.
  • Worked on Spats spend bug fixes and testing.
  • Will continue progressing on Spats backend integration.

Gevorg

  • Completed integration of Spats minting with Levon’s work.
  • Encountered a runtime error in libspark (Bad Schnorr Statement); discussed and identified a local fix from Levon.
  • To do:
    • Merge latest from Levon’s branch and verify the fix.
    • Test Spats mint end-to-end.
    • Add Spats balances to the Overview page.
    • Integrate minting during Spark asset creation when an initial supply is set.

Alef

  • Completed 13 warning fix patches across multiple modules.
  • Validated with both GCC and Clang/LLVM on Ubuntu 22.04.
  • Combined and prepared a large final fix-warning PR (2-3k lines) for submission.

Narek

  • Implemented new RPC/API: getsparknametxdetails for Spark Name support in Insight.
  • Updated Insight to support Spark Names.
  • Next steps: Test Spark Name APIs on Insight.

Artur

  • Finished testing the new Tor integration changes.
  • Preparing to push the changes for review.

Week 3

Peter

  • Finalized Spark Names tweaks for proper hard fork readiness.
  • Continued Spark Name transfer implementation:
    • Introduced two new RPCs.
    • Updated existing Spark Name creation RPC to support transfers.
  • Performed code reviews.
  • Tested CMake across various environments.
  • This week’s priority: Complete Spark Name transfer implementation.

Levon

  • Addressed review comments and did final cleanups for release prep.
  • Ongoing Spats testing and cleanup.
  • Working on a fix for missing transaction history in the UI – PR expected soon.

Gevorg

  • Completed Spats mint integration testing; newly minted coins now show in Spark Wallet.
  • Merged with Levon’s latest changes, which fixed the “Bad Schnorr Statement” error.
  • Began adapting Spark Wallet to support Spats coins.
  • Continued development on displaying Spats balances on the Overview page.
  • Next steps:
    • Finalize Spats balance display.
    • Enable coin minting during Spark asset creation if an initial supply is provided.

Narek

  • Improved Insight explorer: Added Spark Name details and output type.
  • Will add a dedicated page for Spark Name details.
  • To add more information to Spark Name details.

Alef

  • Completed 13 warning fix patches; confirmed working with GCC and Clang/LLVM on Ubuntu 22.04.
  • Encountered a segfault in one patch and a CI issue in another (not reproducible locally).

Artur

  • Tor integration still in progress
  • Will continue working to finalize and push the remaining updates.

Samizdat

  • Updated liblelantus and libspark_mobile for compatibility with CMake LLVM v22.
  • UI for view key export is almost complete.
2 Likes

Week 4 April 2025

Peter

  • Continued work on the core logic and RPCs for Spark Name transfers.
  • Developed a simplified UI flow for interwallet Spark Name transfers.
  • Conducted code reviews.
  • Began writing preliminary code for Spark spend limit adjustments.

Levon

  • Worked on the missing transaction list fix; proposed adding a “Refresh Wallet” button for dev wallet.
  • Performed code reviews.
  • Continued Spats code cleanup and review.

Gevorg

  • Finalized refactoring of CSparkWallet to fully support Spats coins, with improvements to:
    • Efficiency
    • Const-correctness
    • Readability and maintainability
  • Display of Spats balances on the Overview page is complete.
  • Integrated coin minting during Spark Asset creation, if an initial supply is set. Testing/commit to follow.
  • Next tasks:
    • Fix issue where modified assets don’t update correctly in balance display.
    • Mark Spats-related actions clearly on the Transactions page.

Narek

  • Developed the Spark Name details page for Insight Explorer.
  • Enhanced Spark Name RPCs to return more detailed data.
  • Next: Test and finalize the Insight Spark Name page.

Alef

  • Rebased the CMake build branch to latest master.
  • Merged 80–90% of warning fix patches into cmake-build-branch-fix-warnings.
  • Identified a segfault issue (signed vs. unsigned comparison) and reported a Spark test segfault to Peter.
  • CI is passing so far; only 3 patches remaining.
  • Waiting for reviews on the CMake and warning PRs.

Samizdat

  • Fixed the Windows build issue in flutter_libsparkmobile.
  • Made minor progress on Stack Wallet’s view key functionality.
  • Next: Begin drafting the UI for view key handling in Stack Wallet.

Week 1 May 2025

Peter

  • Spark Name transfer is ~90% complete.
    • Tested on regtest—mostly functional, but needs updates for some edge cases and RPC signature changes.
  • Started preliminary review of the CMake PR.
    • If testing is successful and files are generated correctly, recommends merging it ahead of the warning fixes.
  • Preparing for devnet launch.
  • Planning:
    • To increase the Spark transparent transaction limit.
    • To limit memory usage during block generation.
  • To review the Spark coinbase PR and verify masternode registration impact.

Alef

  • Fixed the Spark wallet segfault.
  • Continues merging warning patches into cmake-build-branch-fix-warnings on GitHub.
    • Remaining work: bookkeeping and cleanup before finalizing the mega warning PR.
  • To complete and push the final version of the warning fixes PR.

Levon

  • Working on Spark Assets:
    • Fixing RPC calls and unit tests for regtest compatibility.
  • Will meet with Gevorg this week to address PR comments, merge their work, and begin basic testing.

Gevorg

  • Tested coin minting during Spark Asset creation
    • Found and fixed multiple issues during testing.
  • Addressing a bug where asset modifications weren’t reflected on the Overview page balance if a previous balance existed.
  • Worked with the Enkrypt Wallet team to resolve a balance calculation issue.
  • Next:
    • Complete the fix for the balance display bug.
    • Add proper markings of Spats actions on the Transactions page.

Narek

  • Building a new Spark Names page on Insight Explorer (push expected today).
  • Updated Spark Name RPCs to include more detailed data.
  • To revisit the Multisend PR and address Coderabbit’s review comments.

Samizdat

  • Continued work on Stack Wallet UI elements related to view key functionality.
  • Investigating Windows build issues with dependencies.

Week 2

Peter

  • Finalized the Spark Name Transfer protocol, including:
    • Security self-review
    • Implementation tweaks
  • Conducted code reviews
  • Continued testing the CMake PR
  • Ran tests on devnet
  • Preparing for the testnet release

Alef

  • Finished the warning fixes PR — ready for review and merge.
  • Developed a new Dockerfile for the firoorg/firo-builder image.
  • Submitted PR to test updated CMake configuration and warnings:
    #1582
  • To finalize cleanups for warning-related PRs
  • Plan and prioritize upcoming tasks with Peter

Narek

  • Finalized the Spark Name page on Insight
  • Improved search functionality for Spark Names
  • Assisted Levon with the DEX website reskin
  • Fixing --disablewallet argument behavior

Samizdat

  • Continued improvements on flutter_libsparkmobile
  • Nearing completion of View Key export implementation

Gevorg

  • Fixed a bug where asset modifications weren’t reflected in Overview balances when a balance already existed
  • Resolved a thread-safety issue in Spats Wallet
  • Reverted Jenkins to use firo-builder-depends Docker image
  • Prepared the big Spats PR, targeting spats-integration branch
  • To address Levon’s review comments and Merge if approved

Week 3

Peter

  • Continued Spark Name Transfer work:
    • Fixed outstanding issues
    • Expanded test coverage
    • Split getSparkNames RPC into two versions to support disablewallet mode
  • Increased Spark spend limits
  • Conducted code reviews
  • To Finalize Spark Name Transfer implementation

Alef

  • CMake refactoring completed
  • Submitted PR to update all mk dependencies
  • Fixed QR code height display bug (#1609)
  • Warning PR finalized and awaiting merge
  • Investigating reported QR code rendering issue
  • Upcoming: Address outstanding GitHub issues and align on next development task with Peter

Gevorg

  • Tested and committed asset modification fix for balance display
  • Fixed thread-safety issue in Spats wallet
  • Jenkins now using firo-builder-depends Docker image
  • Finalized and submitted big Spats PR targeting the spats-integration branch
  • enKrypt wallet technical issues resolved

Narek

  • Fixed --disablewallet run issue
  • Started development on Tor and .onion address support

Samizdat

  • Continued work on:
    • flutter_libsparkmobile reorganization and FFI fixes
    • Firod build compatibility with LLVM 17
    • Stack Wallet integration

Levon

  • Finalized Spats spend
  • Contributed to code reviews
  • On vacation this week
2 Likes