Weekly Firo Development Meeting Minutes

Week 1 September

Lelantus Spark

  • Team discussed f4jumble implementation. Engaged Sarang to take care of it with our own implementation to avoid any issues with licensing on f4jumble implementation. Agreed to use bech32m encoding.
  • Levon did some refactoring in the SpendTransaction class code. There were parts of the code that needed cleanup, and implementing serialization fixed a huge memory-consuming logic. Changes will be pushed and require Aram to review.
  • Bug fixing and testing are still ongoing. A regtest version is being prepared as well.
  • Sproxet has been auditing the spark code adherence to the paper and found two instances where undefined behavior was reliably invoked. Spark review tasks are still ongoing.

Bug fixes

  • Peter continued on with the Transaction Index bug. More changes and testing to be done. Hopefully, it will be completed within the week.
  • Levon will be investigating the “transaction too large” issue that was reported.

Elysium

  • There are some issues with using the command line for Elysium
    • The client gets the sets of available inputs and outputs from commands from client-api. When using the command line to spend funds, it does not mark the inputs as properly spent.
  • Sproxet will be refactoring the command line client-api code. The code will be much cleaner after refactoring.

Mobile Wallet

  • Hayk was unable to proceed with fixing the mobile wallet issue due to being unable to get the Electrumx server to deliver the full anonymity set.
    • A new electrumx server will be set up in Europe to see if this solves the issue.
    • There are instances where even a device with a closer server connection will fail to retrieve the anonymity data required.
  • Levon will be finding a way to compress anonymity set data which changesdata encoding and will use less network traffic.
    • Anonymity sets are saved as hex and transformed into JSON.
  • Levon spoke to Hayk about changing timeout parameters but couldn’t find it and said it might be in the mobile code or electrumx server.

Note: the Lelantus Spark implementation on the mobile wallet will be three times larger than the current Lelantus because it saves two group elements and more encrypted data.

Miscellaneous

  • Electrum-Firo: Gevorg fixed the Windows build and will push the fix after the meeting.
  • Ledger Live: Gevorg was finishing adding test cases for accounting syncing. Testing of the sending and receiving functions will start within the week.
5 Likes

Week 2 September

Lelantus Spark

  • Sproxet continues to audit Spark code adherence. Levon will be informed when it is finished.
  • Levon did some bug fixes in the spend creation code and refactored the Spark code. This will require Aram to review the fixes.
  • Peter continues to do reviews on Spark.
  • Mikerah from Hashcloak has delivered a quotation for Spark code review. 80,000 USD for a 4 week review.

Bug fixes

  • Levon fixed the “Transaction too large” issue. PR #1203 has been created and is awaiting review. It was a bug in the coin selection algorithm.
  • The transaction index issue has been fixed by Peter. The code is ready and working. Hopefully to push changes within the week.
  • A bug was discovered that restricts the block size to 500 kB. Needs to be fixed but not urgent
  • Peter to check the transaction relay issue. Wallet is able to create transactions but is not able to relay them.

Elysium

  • Sproxet found an issue where sometimes there is a large elysium value and the transaction will be negative as the client uses JavaScript.
  • BigInt will be replacing JavaScript for displaying integer values. Tests need to be done for coin swap in the use of BigInt.

Mobile wallet

  • Levon is refactoring mobile_api to reduce network traffic. Hex encoding was replaced with base64 that reduces the amount needed to transfer by half.
  • The new mobile wallet electrumx server is awaiting setup and testing by Hayk.

Miscellaneous

  • Ledger Live: Gervog fixed build problems on the Linux and Windows platforms. The Blue App repo needs to be updated to see new Nano devices. The current repo that we forked was limited to v1.6.5. A newer version needs to be forked and created as a new repo.
  • Electrum-Firo: Gervog pushed new changes to the repo
  • FiroDEX: Gervog to fix wrong balance issue
  • Gervog reviewed building issues brought up by Anwar, PR #1192, PR #1196, PR #1202
6 Likes

Week 3 September

Lelantus Spark

  • Reviews on Spark done by Peter are not yet ready to be published.
  • Levon reviewed and merged the new address encoding for Spark done by Sarang.
  • Sproxet was primarily working on auditing Spark and working on helper libraries code.
  • Levon resolved several review comments from Sproxet and pushed the changes.
  • Levon will start the implementation of Spark batch verification this week and will create a test release soon.
  • More tests and Spark bug fixes were still being done.

Bug fixes

  • Transaction index issue: Peter resolved the issue and is awaiting the results of a full sync test. The code is ready to be pushed out for everyone to test. This issue affects the balance displayed by getaddressbalance and the Firo Explorer, but Chainz and Blockbook are unaffected.
  • Transaction Creation but not Relaying: Peter will investigate this issue that has been brought up. The transaction was created but not in the mempool.

Elysium

  • Sproxet fixed known bugs on Elysium reported by Anwar and AJay.
  • A new internal testing binary was released and is to be tested.

Mobile Wallet

  • Android mobile wallet v0.1.20 has been released, which fixes crashing when sending Firo and Balance not showing up correctly.
  • Levon investigated an issue regarding the mobile Electrum server and fixed a timeout issue. There was some inefficiency in code when generating requested data, which has been fully solved.

Miscellaneous

  • FiroDex: Gervog changed the balance domination for BTC, USD and Firo.
    • Gervog also fixed the wrong balance shown on the wallet page.
      • It was merged with upstream and it resolved some conflicts. However, sometimes unexpectedly, Firo changed to Firo-BEP20 in the UI when the swap was not confirmed. The upstream merge fixes this issue as it updates MM2 Services, which correctly detects the coins.
  • Electrum-Firo: Gervog finished the Linux build and will push PR soon.
  • Ledger Live: Integration of Firo into Ledger Live is still being worked on.
7 Likes

Week 4 September

Lelantus Spark

  • Sproxet mostly did spark auditing for the week. The task is mostly finished except for one comment that needs Levon’s input.
  • Levon continues working on bug fixes and testing. All fixes will be finalised and pushed for review.
    • Some portions of the code were pushed related to Spark Spend verification.
    • Doing some refactoring to separate wallet-related logic from verification code to mitigate the risk of attacks.
    • Started implementing multi-threading on spent proof creation and batch verification.

Elysium

Bug fixes

  • Peter continues to work on the address index issue. It is more or less completed, but tests need to be redone because of personal hardware failures.
  • The 500kb block limit issue has also been fixed but not yet tested. PR #1204 was created.
  • Sproxet is assisting with the transaction creation issue and looking at the test cases.
    • To fix the issue with transactions that cannot be relayed
  1. The maximum size of transactions that can be relayed is less than the maximum size of transactions that can be created.
  2. can’t relay something that goes over the limit in some places (not size). Might be the number of outputs op_code etc
  • Levon is assisting in the transaction relay issue (transaction created but not mined). It might be related to Lelantus yet to be sure.

Miscellaneous

  • Peter fixed the compilation issue on newer MacOS. PR #1205
  • Mobile wallet: Levon looked into mobile transactions not broadcasted. For some reason, the extra payload is not serialised correctly. He has asked Hayk to look at the code.
  • Needs to take off IS lock from the transaction after a certain timeout (1-2 months)
  • New dash stuff that needs looking at, to see what needs to update. An executive summary is to be done to check what is relevant
  • Electrum-Firo: Gevorg has finished the MacOS build and added an all-in-one build script to the building binary.
  • Ledger-Live: Gevorg is adding full functionality for account syncing. This is to be finalised this week, and will be working on the sending stuff. A hardware wallet will be arriving to test the functionality.
  • Sporks to be brought up to the community and CFC
  • Reuben will be investigating the epoch and current trend of GPU VRAM size to determine whether to maintain or slow down growth of VRAM required.
4 Likes

Week 1 October

Lelantus Spark

  • Levon worked on fixing and cleaning up the spend verification code, batch verification, and multi-threading implementation. Most of the code has been pushed, and it will be finalized within a week and will have a testing version up for regtest.
  • The following week will be spent on preparing the code for testing and audit.
  • Designing the Lelantus Spark UI will begin after the code is mostly ready.
  • Peter did some PR reviews and will have more time on Firo tasks this week onwards.
  • The initial deadline for spark code was to be set on October 15th, 2022 for audit. However, an extra week will be required to add devnet functionality too (to reschedule to October 22nd, 2022).
  • Levon will go through all of Sproxet’s findings for the spark audit to answer and resolve them.

Bug fixes

  • Transaction Index bug: Peter fixed some problems regarding this issue. It might be related to two different kinds of transaction scripts (P2PKH, P2SH). Modifications need to be made to make it right. The code will be ready to be pushed in a day or two.
  • PR #1204: Firod’s default settings were changed to allow mining blocks of up to 2MB.
  • PR #1205: Resolved compilation issues on newer macOS versions have been merged.

Miscellaneous

  • Ledger Live: Gevorg finalized account syncing and is starting to work on send stuff.
  • Firo-QT: Gevorg will be investigating an extra line on a QT UI bug and adding a feature to hide RAP addresses by default (but have an option to show them in settings) to get ready for spark.
  • Electrum-Firo: An all-in-one build script will be added for all OS building purposes.
  • FiroDex: A new version is ready for release, Reuben will be testing the new version before releasing it to the public.
  • Sproxet worked on transaction creations and adding new functionality as there were no specific unit tests for createTransactions or specific logic for testing coin control features.
  • PR #1186 needs to be tested. This PR changes the qt signal-slot connect syntax from string-based to functor-based.
4 Likes

Week 2 October

Lelantus Spark

  • Levon worked on several Spark tasks:
    • Spark RPC tests and RPC code implementations.
    • Did some bug fixes and have some code to be pushed.
    • Trying to finalize fixing some failing tests within this week.
    • To work on Lelantus to Spark remint code (for transitioning privacy protocol). It will not be as difficult because it will just create transactions when spending Lelantus, creating Spark mint based on UTXO.
  • Peter reviewed some Spark code and looked at Sproxet comments. Peter will write a large number of reviews all at once.

Bug fixes

  • Peter fixed a major bug with the transaction index problem, but one minor bug remains. Still investigating it. The last resort is to update the code with the most recent bitcoin code, but this will involve a significant amount of work.
  • The fix to prevent certain large transactions from being created is working except when coincontrol is used to manually select inputs. A transaction was created, but it did not go into the mempool. The task was given to Gevorg to look into it. This task will be on hold until Sproxet’s transaction creation code is completed.

Miscellaneous

  • Levon will be creating a PR to merge mobile_api branch to master. Enabling it will require “-mobile” flag. This will simplify running mobile firod as there will be one binary version instead of two separate ones currently.
  • Ledger Live: Gevorg finished account syncing tests and will start working on the send stuff next.
  • Firo-QT: Gevorg fixed the UI issue and hid the RAP tab and will add an option for it to be displayed in options.
  • FiroDEX: AtomicDEX recently had a PR opened and a new release will be out soon 0.5.7. Gevorg will wait for a new update before applying to FiroDEX
  • Spork extension: The community is leaning in favor to extend spork. Will close the first question at the end of October 2022 regarding the extension of the current Lelantus emergency switch or letting it expire to give time for the ecosystem to update before the holidays.

Transaction IS Lock

New mining pools are having issues with IS locked transactions causing blocks which included this transaction to be rejected by quorum. This is a remnant of the earlier block generation bug from July wheresome transactions were dropped from the mempool but are still locked… There are 3 possible solutions to solve this:

  • Solution 1: Find the raw transaction and rebroadcast it.
  • Solution 2: Do a workaround which includes a list of transactions for which the lock can be dropped at a certain point of time
  • Solution 3: To introduce a mechanism to automatically drop the lock after some timeouts (eg time out after 3 months) [Hard]
4 Likes

Week 3 October

Lelantus Spark

  • Levon worked on testing and bug fixes. Most of the RPC code has been pushed, but some tests are failing and we are trying to fix them. Devnet is expected to complete this week with the assistance of Peter.
  • Most comments from Sproxet on Spark have been resolved by Peter and Levon, and parts with fixes are being pushed.

Bug fixes

  • Peter found a second issue with the addressindex problem. It has something to do with the order of transactions being processed during block disconnecting. It is hard to find because during a reindex, everything works fine. However, after a reindex, blocks were disconnected and during that process a number of amounts were recorded incorrectly. A fix is being tested to see if it’s good.

Miscellaneous

  • Ledger-live: Gevorg has finished syncing tests and is working on sending stuff.
  • Firo-QT: Gevorg has finished adding the option to hide RAP Address tab. The Ubuntu build is working and now checking the Windows build.
  • AtomicDex: Gevorg did some investigation and found out there are new updates.
    • Added new coins
    • Some warning indicators
    • Progress bar for transaction time
    • Other small changes
3 Likes

Week 4 October

Lelantus Spark

  • Levon worked on some Spark bug fixes. Most of the serious bugs are fixed. Changes regarding review comments are being pushed.
  • Peter did some reviews on Spark and found an issue that prevented the code from saving the state to the blockchain.
  • Devnet is expected to be available by this week.
  • After devnet is launched, code auditing will begin.

Bug fixes

  • Transaction Index: a fix has been made and requires testing. Changes will be pushed after testing within the next few days.
  • Peter will be looking into introducing an IS lock timeout fix. This fix will drop the IS-Locked transaction from the IS database after a certain amount of time.

Miscellaneous

  • Ledger-live: Gevorg is still working on send stuff on the ledger device.
  • Firo-QT: Gevorg found problems with text overlapping and UI scaling. Issues have been fixed and are being pushed.
  • Electrum-Firo: Missing Windows dependencies will be added
4 Likes

Week 5 October

Lelantus Spark

  • Levon worked on various tasks on Spark.
    • Did some bug fixes and fixed failing spark unittests.
    • Spark RPC calls implementation was finalized and tested on regtest. Everything is working.
    • Wallet rescan is set to be implemented this week, and work on moving wallet checks from the “AcceptToMemoryPool” and “AcceptBlock” functions will continue.
    • To develop a transition test for Lelantus spend->transparent->Spark mint from UTXO on testnet
  • Spark Devnet
    • New version update commit to be pushed for launch.
    • Peter to put in a new hard fork block number.
    • Levon will coordinate with Peter to start Devnet.

Bug fixes

  • Txindex issue: Test are still pending due to mistakes.
  • IS lock issue: Peter discovered that determining the time of inclusion of tx in the IS database was impossible.The hybrid approach will be done by including both whitelist for old txs and timeouts for new txs. Need to check the list of utxos locked by this transaction
  • Tx creation issue (Tx can be created but not included in mempool): Gevorg will be assisting in this issue.

Miscellaneous

  • Ledger-live: Gevorg is still working on the send function.
  • Firo-QT: Gevorg is finishing up the UI for hiding RAP addresses. Anwar put it to the test, and it works. Some work will be done on improving the restoration screen.
  • Electrum Firo: Gevorg added some missing dependencies, and it is to be finalized this week
3 Likes

Week 1 November

Lelantus Spark

  • Levon work on various task on Spark:
    • Launched Devnet by using Peter’s assistance in creating an executable and updating Devnet nodes. Smoke tests were done, mostly okay except for a crashing issue while running Spark due to Spark HF block on devnet has not passed yet
    • Did some work on wallet scanning where the “-rescan” argument was used when launching a wallet, during restoration with a fully synced blockchain, and when switching wallets.
    • Did some RPC tests and more C++ unittests
    • Implemented a RPC for Lelantus to transparent to Spark layer function
  • Devnet:
    • Levon and Peter will continue testing on devnet
    • Once the HF block is passed, the rest can assist with testing.
  • To set all Spark limits (input numbers, to be set the same as Lelantus). Mint and spend limits are the same as Lelantus for now (spend limit 5k). Limits might be removed in the future when spark launches.
  • To look into work required to have an explorer for Spark. If possible, to provide an example (devnet explorer) for the public.

Bug fixes

  • Peter continues to work on txindex issue and the IS lock whitelist
  • Gevorg assisted with the transaction creation bug where some tx were created but not accepted into mempool

Miscellaneous

  • Ledger-live: Gevorg continues working on send functions
  • Firo-QT: Gevorg finished the restoration screen changes. New strings need to be added but require some translation for other languages.
  • Electrum-Firo: Some dependencies that were missing were added, and some code was cleaned up.
  • Firo UI: Gevorg to investigate an Ubuntu UI window bug reported by a user
6 Likes

Week 2 November

Lelantus Spark

  • Lelantus Spark code security audit begins. Performed by Hashcloak https://firo.org/2022/11/11/lelantus-spark-code-audit-begins.html
  • Spark wallet scanning functionality is near completion.
  • Levon implemented Lelantus mints to Spark remints RPC functionality tests and more C++ unittests.
  • Spark’s mint and spend limits will be set.
  • Spark functionality and code review are still ongoing.

Bug Fixes

  • Peter found the cause of the txindex/addressindex bug. The fix (PR 1209) is working and deployed. This requires a reindex to the wallet.
  • InstantSend lock PR: Whitelisting transactions that have stuck or locked inputs. Introduced a timeout parameter that is saved to the database and, at a later time, can use the saved timestamp to not block any transactions based on InstantSend-locked databases that are too old. The introduction of a whitelist is a hard fork.

Miscellaneous

  • Ledger-live: Gevorg is still working on the send function for the integration into Ledger Live.
  • Firo-QT: Gevorg has finished UI problems on Ubuntu. PR 1210
  • Lelantus Spork will be extended by 12 months. It is planned to release an update by the end of November, and hardfork date will be set mid-December 2022 or early January 2023.
2 Likes

Week 3 November

Lelantus Spark

  • Levon was working on testing the Lelantus to Spark function and the implementation of wallet transaction scanning.
  • On setting new input and output limits for Spark, Reuben will consult with Aaron. Devnet will start after setting limits.
  • Initial discussion for Lelantus Spark limits
  • Several bugs were fixed by Levon. Peter will be reviewing the Spark code this week.

Bug fixes

  • Peter worked on unlocking inputs that were previously InstantSend-locked but removed from the mempool. A test will be done for it. To dump the transaction in question from a long running masternode in order to investigate the transaction doesn’t lock some very large inputs. PR to be issued soon.
  • Peter will also be working with Gevorg on investigating the transaction that couldn’t be added into the mempool bug.

Miscellaneous

  • Firo: Gevorg discussed with Levon regarding the transaction creation and UI stuff.
  • Electrum-Firo: Gevorg is working on the build stuff for electrum and it will be the highest priority this week.
  • Ledger-Live: Gevorg is working on the Firo integration. He will consult with Levon after he has finished.
  • Lelantus Spork will be extended for 1 more year. A new update will be released soon.
  • Due to resource constraints, decided to only focus on the backend side of mobile wallets. For example, to assist Cypher Stack to integrate Lelantus Spark backend and let them handle the frontend.
4 Likes

How’s going on

1 Like

Week 4 November

Lelantus Spark

  • Levon worked on testing and bug fixes. Everything seems to be working on Levon’s side.
  • Limits to be entered into devnet. Numbers will be posted to get approval before inputting it
  • Devnet is planned to start the following day.
  • Mobile: Levon started on the mobile code for lib and server API for easy implementation for 3rd party mobile wallet. It will be tested and finalized this week

InstantSent Lock

  • Peter has finished the PR for allowing whitelist of transactions done by the InstantSend Lock
  • A special branch was created to run on long-running masternodes to get the list of UTOXs involved in the InstantSend lock
  • Some of these lost transactions are not very old but are problematic. This is most likely due to the transactions being dropped from the mempool
  • Suggest creating a watchdogto lookout for transactions that are not mined after a certain time (eg. 24 hours) and automatically dump from the mempool. This improves the integrity of the network. When a transaction is dumped, it is to be saved so that it can be rebroadcast later.
  • To limit whitelist to only the really old transactions first
  • The hardfork for the InstantSend fix will be set by time instead of block number

Tx Creation bug

  • Gevorg and Sproxet are assisting on the issue. Sproxet finishing up on the Tx creation bug and syncing up with Peter.

Firo-Client

  • Sproxet is looking at the masternode locking issue and further improving the coin control mechanism.

Miscellaneous

  • Firo-QT: Gevorg completed UI fixes for the Ubuntu side with the small resolution. There is more work to be done on other tabs. (Restoration and Lelantus tabs)
  • Electrum-Firo: Gevorgfixed the build procedure for Anwar to test.
  • FiroDEX: Preparing version 0.5.7
  • Spork extension PR is issued
  • There will be hardforks for Spork and InstantSend fix each
2 Likes

December 2022

Week 1 December

Lelantus Spark

  • Levon is working on wallet crashing bug during rescanning
  • Spark limits
    • Spend (unshield) limit per transaction 10k FIRO
    • Spend (unshield) limit per block 20k FIRO
    • Spend input limit per tx 50
    • Spend input limit per block
    • Shielded output number limit per tx 16
  • Levon finished libspark for mobile and is almost finished with the Spark mobile API. Documentation will be prepared for the mobile API and mobile backend. Documentation will also be prepared for the libspark API to make mobile implementation easier
  • Peter did code reviews and is preparing for the devnet launch this week

InstantSend Lock

  • Peter is preparing unit test for it

Firo-Client

  • Sproxet is working on a light client support for firo-client
  • Sproxet found the bug found regarding the masternode lock issue in Firo client and will be fixing it.

Miscellaneous

  • FiroDEX: Anwar tested all the swaps and appears working. There are issues with BNB withdrawal which gives an invalid address. A new version can be released soon.
  • Ledger-Live: Firo integrations currently works. Levon will review and can be tested internally
  • Electrum-Firo: Gevorg has finished the build procedure.
  • Gevorg to push changes to hideRAP address at the QTrestoration screen

Week 2 December

Lelantus Spark

  • Peter and Levon started testing devnet, Several mints and spends were created and works well so far.
  • Levon finished with the mobile library and api calls. This requires a new github repo. Will also prepare documentation. It is similar to Lelantus and should be easy to implement
  • Levon took a look at PR created by Aaron and merged it into the Spark working branch. 2-3 comments are yet to be resolved. Other than that everything looks fine.

Instantsend Lock

  • Peter to finalize testing

Firo Client

  • For light client support, Sproxet abstracts firod interaction in firod-client.It is progressing smoothly

Miscellaneous

  • Firo: Gevorg finished transaction creation issue and tested on regtest. Found that issue was caused by the size of the transaction. Limit the maximum size of the tx you can create so that you will not create a tx that cannot be accepted by the mempool. Changes will be made to increase the mempool limit & transaction creation code.
  • Firo-QT: Gevorg completed UI problems for Ubuntu but might crash on other OS. A Windows build will be made for testing.
  • Electrum-Firo: Enabled dependabot for dependencies repo.
  • FiroDEX: Investigating issues for v0.5.7
  • Ledger-live: To try finalizing with ledger

Week 3 December

Lelantus Spark

  • Peter and Levon continue monitoring and testing devnet. Spark’s second iteration is used in testing. Spark code cleanup and bug fixes were done too
  • Mobile: Levon did the mobile library and API code for Spark. The documentation for mobile implementation was done.
  • An Explorer for Spark devnet will be needed. There will be 3 types of explorers that needs to be updatedfor Spark
    • Blockbook
    • Bitcore
    • Insight

InstantSend Lock

  • Peter did some testing on InstantSend lock issues, but there were some tests that are failing. Additional unit tests and fixes are to be done, expected within a day.

Firo Client

  • Sproxet worked on the extraction of daemon code in Firo client for light client support
    • Estimation of completion extraction of code: Couple of weeks
    • Estimation of completion light client support: Additional month

Miscellaneous

  • Ledger-live: Gevorg worked on the Firo integration in ledger UI fixes and finalized with ledger
  • FiroDEX: Gevorg fixed linux build for 0.5.7 version. The coin configuration is being worked on.
  • Firo-qt: Gevorg finished the UI problems for Ubuntu, but found out that it broke coin control functionality. It’s not hard to fix it. He will push UI fixes with coin control fixes.

Week 4 December

Text update from dev team as most are on holiday

Lelantus spark

  • There were some bugs due to some corner case and being investigated.
  • Mobile: Levon worked on spark mobile stuff

InstantSend Lock

  • Peter continue to solve the InstantSend issue

Miscellaneous

  • Firo-Qt: Gevorg finished UI for small resolution display
  • FiroDEX: Gevorg almost finished coin config for v0.5.7
  • Electrum-firo: Gevorg checked and tested Dependabot updates for deprecated dependencies
  • Ledger live: works on Firo integration in ledger are still ongoing
2 Likes

January 2023

Week 1 January

Getbalance issue

  • Peter is investigating the get balance issue. The issue is the wallet doesn’t allow one to spend funds sometimes. This happens on a really old wallet that was before HD and Mnemonics. There is a dirty fix available but not recommended unless funds are urgently needed.

Lelantus Spark

  • Levon is working on the deadlock issue. This is probably related to devnet explorer crashing.

InstantSend Lock

  • On hold until getbalance issue is solved

Firo Client

  • Sproxet getting work done for light client and updated firo client dependencies (3 years out of date)

Miscellaneous

  • Electrum-Firo: Gevorg checked and tested Dependabot updates
  • Ledger-live: Finalize with ledger
  • FiroDEX: Finalized preparation for new version for release
  • Ubuntu UI: New issue of unable to resize window due to sigma stuff is in the way. Gevorg is working on trying to remove Sigma window from the UI

Week 2 January

Getbalance issue

  • Peter was able to reproduce but there were some kind of issues. Not sure if the reproduced issue is the one that mining pools are encountering. He suspects the main problem is non-HD wallet and its restoration. Trying to repro on regtest, no luck so far. Levon will be assisting however he can

Lelantus Spark

  • Levon continues on the deadlock issue. The issue was found and a fix is working so far. Further testing is still needed.
  • Few python tests and several C++ unit tests were added
  • Works on Spark mobile are still ongoing

Miscellaneous

  • Electrum-firo: Gevorg update python version to 3.8 as there were some problems with dependency on 3.6 when building electrum-firo
  • FiroDEX: Gevorg added local config files and will release new version after testing
  • firo-qt: Gevorg is finishing work on removing sigma dialog from UI. There are some deprecated signals that need to be removed.
  • Ledger-live: Work on Ledger and to be finalized this week.

Week 3 January

Firo

  • Hardfork regarding the extension of Lelantus emergency switch per community decision went smoothly
  • Peter monitored the hardfork transition. There are some nodes that have not been updated. It will be fine as there are no active sporks currently but if they update they will need to reindex
  • There are some performance issues when syncing with wallets that have huge transaction history. To test by starting the wallet with firod (instead of firoqt) when it hasn’t synced for quite awhile. It might be something to do with GUI part of transaction list.

Getbalance issue

  • There are discrepancy between “getbalance” and “getbalance *” RPC calls that are giving incorrect results. Peter did some investigation on testnet and was able to kind of reproduce the results. He suspects the problem is because the wallet is non-HD. Logs were taken from the reindex and UTXO list processed during these calls and analyzed. Hopefully a fix will be found soon.

Lelantus Spark

  • Levon is finished with mobile spark related stuff
  • Deadlock fix is also finished and levon will be doing a cleanup. After that he is to set up explorer for devnet and start with the UI backend implementation.

Miscellaneous

  • Electrum Firo: Gevorg is trying to fix a bug when creating an exe file for Windows. The fix is mostly done but has problems with naming and version. It will be fixed soon
  • Firo-QT: Gevorg finished removing sigma dialog from the UI. He reworked some Lelantus dialog box and will make ui smaller by 100px if approved
  • Ledger: to finalized ledger
  • FiroDEX: Some changes has been made but not yet tested

Week 4 January

Text update from dev team as some devs were unwell to attend meeting

Getbalance issue

  • Peter did a test for UTXOs in the wallet (if they are treated as “ours”) on regtest (non-HD wallet) and testnet (HD wallet). There is one issue and was able to repro it on testnet and a fix is underway.

Lelantus Spark

  • Levon is fixing failing unit test
  • Levon researched Spark explorer and implementation method

Miscellaneous

  • Electrum-Firo: Gevorg worked on electrum-firo build fix
  • Firo-QT: Gevorg is removing sigma dialog from UI and to finalized this week

Week 5 January

Getbalance issue

  • Peter received the wallet from 2miners and found that listed UTXOs that are treated by spendable by getbalance without paramaters and getbalance with * parameters.
  • There are discrepancies between those RPC outputs. He is investigating why this is happening and knowing what might be wrong. Testing has started but a huge wallet is taking 4 to 5 hours to go through. He is optimistic on finding the reason and a fix should be easy if right
  • There might be another problem which was found on testnet with a huge wallet.

Lelantus Spark

  • Levon started working on Devnet explorer implementation and spent most of the time familiarizing with explorer code. Estimated that it will be ready some time this week
  • Levon also investigate failing test on various platform

Firo Mobile

  • There were recovery issues on the Firo mobile wallet that was reported. Upon processing the recovery step 3 out of 5 (downloading set data) the app crashes to the home screen.
  • Levon is currently prioritizing this issue and investigating it

Miscellaneous

  • Electrum-Firo: Gevorg worked on Electrum Firo build fix but ran into some problems with BLS. To solve the issue, python needs to be downgraded to version 3.8. Levon is assisting with this.
  • Firo-QT: Levon reviewed Gevorg changes on removing the sigma UI cleanup
  • A new staff, Narek, joins the meeting for the first time, he has been helping Levon with Spark
2 Likes

February 2023

Week 1 Febuary

Getbalance issue

  • Peter found a bug. getbalance returns same output with and without “*”. The balance now works but spending is not possible yet. He is able to reproduce the issue on regtest with a non-HD wallet. Coinbase, reindex and rescan wallet, bugs will appear.

Lelantus Spark

  • Levon added several unit test and writing small documentation for Lelantus Spark flow
  • Levon continues with spark devnet explorer and other parts of Lelantus spark

Firo Mobile

  • Levon is investigating lost funds and trying to restore funds to send to the user. He is trying to identify the reason for the issue. His theory is it seems skipping a lot of mintpool elements leaves some huge gap from one Mint to another, compared to QT/Electron. Further investigation is ongoing.

Miscellaneous

  • Electrum-Firo: Gevorg finished the build, there are some problems during startup (X11) and will fix it soon. He will try to add build procedure with Github Actions
  • FiroDEX: A new version is being prepared
  • Ledger: Works on Ledger implementation is underway
  • Electrum-Firo: To bump version from 4.1.5.1 to 4.1.5.2
  • Reuben to start talking to geometry labs for additional assistance with lite wallet implementation
6 Likes

Week 2 February 2023

Getbalance issue

  • Peter has mostly got the grasp of the bug. For the issue to occur, the wallet has to be a non-HD wallet. can create a send with a protected wallet by using some dirty fixes, but a proper fix is still in the works.
  • There is another bug that manifests itself where getbalance amounts are reversed (asterisk vs. without asterisk). This is being investigated and tested.

Lelantus Spark

  • Levon added more unit test and finalizing Spark devnet explorer
  • Spark Mobile: API and library are being finalized

Firo Mobile

  • Levon is investigating a mobile lost funds issue. There is 1 case of duplicated serial numbers of mints which makes some parts of users’ funds unspendable.

Miscellaneous

  • Electrum-Firo: Gevorg pushed the PR and will discuss with Anwar regarding the script to update dependencies.
  • FiroDex: Gevorg is finalizing FiroDex
4 Likes

Week 3 February 2023

Lelantus Spark

  • Levon was cleaning up and fixing some bugs on unit tests.
  • Levon is finalizing the implementation of Spark support for Explorer.
  • There are some tests and preparation before launching the testnet.
  • Mobile Spark:
    • Levon finalizing everything related to mobile APIs. There are some minor improvements to be made to lib code for mobile. The documentation for mobile implementation is being prepared.
  • To support Spark RPC calls, some changes must be made to electurmx.

Bug: wallet not displaying transactions

  • Peter found the cause of the wallet problem because it got corrupted. Transactions are missing from non-HD wallet.dat. During a rescan, somehow the wallet tx was not rescanned and put into the wallet. To recover the transactions for this wallet using the private key and public addresses of blockchain data to create a new wallet and spend from that (short term fix)

Firo

  • Peter will be trying to figure out how to fix the wallet scanning code to avoid any issues in the future.

Miscellaneous

  • Electrum-Firo: Gevorg finally finished with the build process and it works well. There are problems with the macOS packaging, but it will be fixed in a few hours. The Windows and Linux versions worked well. PR that supports Ledger Nano S Plus will need to be merged to support it.
  • FiroDex: Gevorg is almost finished with it.
5 Likes

Week 4 February 2023

Lelantus Spark

  • Levon is working on testing and fixing mobile_api and mobile_lib. Mobile_api branch was merged for Lelantus and working.
  • There were additional tests done on regtest, and more unit tests were added.
  • Cleanup of the mobile documentation for mobile_api and lib was done to ensure presentability for light wallet implementation, etc.

Getbalance () bug

  • Peter finally found the cause of the bug. How the bug occurs goes back to an issue where a transaction is created but not accepted into the mempool. The transaction is still saved to the wallet, which means the wallet thinks the transaction is created and the UTXOs used to create this transaction are spent. This in fact decreases the wallet balance, which is why the problem occurs.
  • getbalance * returned the correct amount that is stored in the wallet and does not actually look at the transaction that isn’t in the mempool or the blockchain, which is whythe output is different from just getbalance…
  • Dumped the transaction in question when accidentally reproduced the issue., The transaction in question is safe because all the inputs are already spent and nothing will happen if the transaction goes into the wild, so it’s possible to test what exactly made it so that it is not able to be accepted in the mempool. Once we fix this, there won’t be any problems like this in the future.
  • zapwallettxes=1 fixes this problem, and no further work is needed. Need to create a wallet with the following settings before importing: usemnemonic=0, usehd=1, upgradewallet=0. usehd=1 works in this case but not usehd=0, a bit counterintuitive

Miscellaneous

  • Electrum-Firo: There is a new release. Gevorg finished all working build processes on Github Actions for all platforms.
  • FiroDex: There are some minor issues to be fixed.
  • MasternodeTool: Gevorg will be looking into an issue reported by Anwar.
2 Likes