Skip to content

Conversation

@aleflm
Copy link
Owner

@aleflm aleflm commented Aug 4, 2025

PR intention

DeleteMe: Mandatory: What this PR is intended to do, what change it introduces, what issue it solves.

Code changes brief

DeleteMe: Optional: What are the architectural, UX, or other kind of changes are made which are hard to induce from the code.

aleflm and others added 17 commits May 14, 2025 19:34
* secp256k1: CMake build system added

* cmake: add cmake folder

* bench: Add initial cmake support

* Add initial main CMakeLists.txt

* doc: add initial cmake support

* univalue: add initial cmake support

* zmq: add initial cmake support

* crypto: add initial cmake support

* wallet: add initial cmake support

* src: initial add of src/CMakeLists.txt

* toolchain.cmake.in: Adding toolchain.cmake.in support

* crypto: add support for CMake function check.

* bitcoin-cli: add CMake compilation.

* firo-tx: add CMake compilation.
Improve miscellaneous CMake files.

* firod: add CMake compilation support.
    * Improved misc CMake compilation support.
    * Add bitcoin-config.h generation support.

* gmp: fix gmp link on OS X

* build: generate Linux installable package.

* CMake: add tests (test_bitcoin) compilation support.

* Qt: CMake GUI compilation support (Ubuntu)

* src/qt: Add macOS support for GUI with CMake compilation.

* depends: fix gmp compilation issue with mingw

* build: Add MingW support for CMake build system

* src: add backtrace compilation support macOS

* src: add backtrace compilation support Linux and MinGW-w64

* CMake: apply CodeRabbitAI suggestions.

* CMake: Add CI tasks for CMake build.

* Remove static from functions to fix debug linking

In release builds, these functions are inlined, avoiding linkage issues.
Debug builds (without inlining) caused undefined references in dependent
libraries due to static visibility. Removing static resolves this while
maintaining intended behavior in optimized builds.

* Add removed testcases and make BUILD_GUI=ON default option

* Added documentation to readme.md and fixed a lelantus test issue

* Fixed documentation, set ENABLE_WALLET=ON by default
Remove outdated old sigma testcase
* Spark Name as labels in transaction list

* Add cs_main lock to GetSparkNameByAddress (renamed from IsSparkNameAddress)

* fix: return canonical Spark name in GetSparkNameByAddress
…ets (firoorg#1639)

* Fix: Add Spark name to address book after creation for encrypted wallets

* Minor fix
* Missing tx list fixed

* More freez fix

* Extra refresh removed
firoorg#1637)

* UI: show warning when insufficient Spark balance for name registration

* Minor fixes
* Fix doxygen warnings by modifying comments

* Fix preprocessor-related warnings by refactoring preprocessor directives

- Updated preprocessor checks to use defined macros (Wundef).
- Fixed header guards for SECP256K1* (removing _ at the begining because of Wreserved-id-macro / Wreserved-identifier)

* Fix Wsuggest-override by adding override to virtual functions.

* Fix Wmaybe-uninitialized by Initialize variables to default values

* Fix various warnings in code

 - Reordering initiaization order.
 - Removing unnecessary use of std::move.
 - Adding missed default operators for classes.
 - Removing unnecessary namespace.
 - Adding univalue to bitcoin_util and bitcoin_consensus
 - Define SECP256K1_BUILD=1 in cmake and use it as header guard for secp256k1.c.

* Fix Wimplicit-fallthrough by using custom macro (FIRO_FALLTHROUGH)

* Fix Wredundant-decls by using the main declaration.

- Creating rpcdump header file for more clarity.
- Removing extern or forward declaration and including related header files if needed.

* Fix Wunused-* by creating a custom macro (FIRO_UNUSED) for labeling unused variables/functions.

* Fix Wshadow by renaming member variables/parameters in derived class.

* Fix Wpedantic (anonymous class/unions) by naming them.

* Refactor CMakeLists.txt files to use CMAKE_CURRENT_SOURCE_DIR for source file paths.

* Fix Wthread-safety by removing or adding a lock.

- Removing unnecessary lock, preventing double locks.
- Adding necesarry lock.

* Fix type related warnings like Wsign-compare, Wignored-qualifiers and Wrange-loop-analysis.

- Renaming compat_macros.h to compat_layer.h.
- Creating the `cmp` namespace in `compat_layer.h` with comparison functions and replacing plain comparisons (e.g., `a < b`) with functions defined in `cmp` for ensuring correct comparisons between different types.
- Added C++17 requirement to secp256k1 configure.ac
- Change some types instead of changing the comparisons.

* Fix Wstring-int-plus by using std::to_string function.

* Fix Wcast-function by explicitly cast them with reinterpret_cast.

* Fix Wdeprecated-declarations by using snprintf instead of printf.

* Fix various minor warnings

- Fix Wgnu-folding-constant by moving definition outside of the class.
- Fix Wmismatched-tag by changing some classes to struct.
- Fix Wbraced-scalar-init by removing initializer list on a pointer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants