Weekly Firo Development Meeting Minutes

Week 4 May 2025

Peter

  • Continued work on:
    • Spark Name Transfer: testing and fixing remaining issues
    • Increasing Spark spend limits
    • Clamping ProgPOW memory usage after a certain epoch
    • Addressing Qt build issues on the latest macOS
  • Preparing for major merges into the master branch

Levon

  • Returned from vacation
  • Began reviewing Gevorg’s Spats PR
  • Preparing for Spats devnet deployment and coordinating cleanup with Gevorg

Gevorg

  • Merged Levon’s Spats spend code into his spats_central_logic branch
  • Resolved git conflicts and compile errors
  • Next steps:
    • Fix logic issues post-merge
    • Integrate Spats spend functionality
    • Test the branch and prepare the PR for final review

Samizdat

  • Completed View Key support for Stack Wallet
  • Finalizing code quality improvements before submitting PR to Cypherstack

Narek

  • Applied cosmetic fixes to Spark Name page on Insight
  • Working on resolving a Tor-related issue

Alef

  • Guix CI:
    • All platforms working except Darwin (macOS)
    • Will finalize full Guix CI setup
  • Started reviewing Qt 6 update feasibility

Week 1 June 2025

Peter

  • Spark Name Transfer: Added unit tests
  • Spark Limits: Increased Spark spend limit by 3x and unit tests
  • ProgPoW: Clamped GPU memory usage and unit tests
  • Build & Performance:
    • Fixed macOS compilation issue (long-term: may require Qt upgrade)
    • Investigating Spark spend performance bottlenecks
      • Currently <6 spends per block
      • CPU load spikes during mempool tx acceptance
      • Aims to speed up getblocktemplate

Levon

  • Fixed Insight crashes
  • Investigating firod crash during wallet rescan after v0.14.14.1 update
  • Optimized Qt performance and addressed freezes
    • Fix for transaction list issue pushed
  • Will return to Spats after current fixes

Gevorg

  • Fixed multiple logic issues post Spats Spend merge
  • Integrated (partially) spend functionality into Spats
  • Encountered libspark crash during testing
    • Some resolved, one referred to Levon
  • Next Steps:
    • Integrate Levon’s libspark fix
    • Revalidate previous functionality post-spend merge
    • Resolve test compilation issues
    • Complete integration of Spats spend

Narek

  • Finalized:
    • Spark name bug fixes
    • Spark name on transaction label
    • firod scan optimization
  • To work on: Tor Local Address support

Alef

  • Continued work on Guix CI
    • Removed extra packages
    • Issues with Boost detection and cross-compiler path resolution
    • Guix pre-built toolchain doesn’t properly detect /usr/bin/env
  • Evaluating next steps and working toward final fix

Samizdat

  • Completed changes to view key support

Week 2

Samizdat

  • Reworking flutter_libspark memory management
  • Rewriting Stack Wallet view key implementation
  • Next: Finish current work and begin on firod-related tasks

Alef

  • Continued progress on Guix CI:
    • Fixed all builds on updated Guix
    • All dependencies now compile successfully
    • Final step pending: compiling Firo itself (noted as straightforward)
  • Next: Finalize and complete Guix CI

Gevorg

  • Progress limited due to a libspark crash still unresolved
  • Next:
    • Integrate fix once available
    • Test to ensure pre-merge functionality is retained
    • Resolve test compilation issues
    • Complete integration of Spats spend

Peter

  • Spark Spend Limit: Bump limit completed with coding and tests
  • ProgPoW GPU Clamp:
    • Implementation done
    • Real-world tests pending (no 8GB GPU available)
  • Spark Name Transfer: Implementation done and partially tested
  • Spark Name Deregistration:
    • Merged into transfer branch
    • New RPC deregistersparkname added with fixed 1 FIRO fee
  • Next:
    • Determine testnet hard fork block
    • Merge all features

Narek

  • Tor Support: - Updated to support v3 .onion addresses
  • firod Scan Optimization: - Changed scanning logic for new wallets
  • Spark Names RPC: - Updated getsparknames to support --disablewallet=1
  • Next:
    • Test Tor functionality
    • Address Issue #1626: “My Own Spark Names” not updating with mined txs

Levon

  • Fixing wallet crash issue
  • Pushed fixes for transaction list UI freezes
  • Reviewed and answered Gevorg’s questions
  • Ongoing review of warning fix PRs
  • Next:
    • Finalize Spats unit tests

Week 3

Gevorg

  • Fixed compilation issues in tests
  • Integrated libspark crash fix from Levon; crash resolved
  • Found other issues post-spats spend merge
  • Next:
    • Resolve remaining issues, starting with “Not enough fee estimated” error
    • Complete integration of Spats spend into existing functionality

Levon

  • Completed code review
  • Resolved comments from Gevorg
  • Fixed several bugs and finished several unit tests
  • Next:
    • Finish remaining code reviews
    • Fix remaining bugs and push all unit and RPC tests
    • Work on proving provenance of NFTs on Spark Assets

Narek

  • Fixed Spark Names issues:
    • #1626 – “My own Spark Names” not updating
    • #1625 – Label not updated after tx
    • #1537 – Label not showing in tx list
    • #1534 – Label disappears after restart
    • #1559 – Unable to set label on first Spark address
  • Next:
    • Continue Tor testing with Anwar
    • Open for new tasks

Samizdat

  • Updated libsparkmobile:
    • Unified view key and spend key checking logic

Peter

  • Testing and sanity checks for Spark Name transfer (reordered RPCs)
  • Tests for Spark spend limit bump and ProgPoW memory clamp
  • Changed dev wallet address
  • Completed multiple code reviews
  • Offloading ZK calculation checks to background for transactions
  • Next:
    • Continue working on background ZK verification task

Week 4

Alef

  • Addressed 3 out of 4 issues raised by Anwar on GUIX
  • Verified binary size correctness
  • Added debug build CI and fixed folder names
  • Next:
    • Finalize the fixes and push final PR
    • Start work on the next project

Gevorg

  • Merged Levon’s latest changes, resolved conflicts, and made adaptations
  • Tested existing Spats functionality – working as it did before the Spats spend merge
  • Pushed latest state of branch; PR ready pending Levon’s approval
  • Attempted Spats burn via sending to burn address – approach revised after discussion with Reuben and Levon
  • Next:
    • Continue with Spats spend/burn testing and issue resolution
    • Address Levon’s PR comments and merge if approved
    • Implement “Send Spats” UI
    • Read through ERC-721 and ERC-1155 specifications

Levon

  • Fixed all unit tests (finalizing today)
  • Next:
    • Continue Spats testing
    • Explore alternative solutions for Qt UI freezes

Narek

  • Finalized and pushed Tor support
  • Fixed and pushed Insight XSS issue
  • Next:
    • Open for new task assignments

Peter

  • Updated dev wallet address for mainnet
  • Modified Spark Names registration rules:
    • After a specific block, registration fees go to the community address
    • Grace period: 100 blocks where both dev and community addresses are accepted
  • Conducted more tests on Spark Names and Spark spend limit increase
  • Began coding checks for ZK proof verification during mempool transaction acceptance
  • Tested ProgPoW DAG size
2 Likes