Closed
Conversation
- Add apt package caching for Ubuntu builds - Add Homebrew package caching for macOS builds - Add vcpkg package caching for Windows builds - Add Chocolatey package caching for Windows builds - Add CMake build cache for faster incremental builds - Cache keys based on CMakeLists.txt changes for proper invalidation - Separate cache keys for CI vs Release workflows - Significantly reduce build times by avoiding dependency reinstallation
- Correct executable names in artifact upload paths - Change fuego-wallet to fuego-wallet-cli (actual output name) - Change simplewallet to walletd (PaymentGateService output name) - Change payment_gate_service to optimizer (Optimizer output name) - Fixes 'No files were found' error in artifact uploads - Ensures all built executables are properly uploaded as artifacts
- Replace Logging::ERROR with Logging::Level::ERROR in header files - Fixes Windows compilation error where ERROR macro conflicts with Logging::ERROR - Affects UpgradeDetector.h, Blockchain.h, and SimpleWallet.h - Ensures Windows builds can compile successfully
- Use static_cast<Logging::Level>(1) instead of Logging::Level::ERROR - Avoids Windows ERROR macro redefinition conflicts - ERROR macro from Windows headers conflicts with enum value - Ensures Windows builds compile successfully
- Added BrightOrange color to ConsoleTools color enum - Updated color arrays for both Windows and Unix systems - Changed ASCII art color from default to bright orange in fuegod - Added comprehensive memory optimization strategy documentation - Fixed workflow issues and resolved Boost linking errors
- Add Windows-specific Boost library configuration in CMakeLists.txt - Set proper Boost environment variables in Windows workflow - Pass Boost paths to CMake configuration for Windows builds - Remove unnecessary Boost packages to reduce installation time - This should resolve the undefined reference errors for Boost libraries
- Update artifact paths from build/ to build/src/ for all executables - Fixes macOS artifact upload issue where no files were found - Ensures Windows and Ubuntu artifacts are also uploaded correctly - Executables are built in build/src/ directory, not build/ root
- Add boost-multi-index to CMakeLists.txt Boost components list - Add boost-multi-index to Windows vcpkg installation - Fixes fatal error: boost/multi_index_container.hpp: No such file or directory - Required for BlockIndex.cpp and Blockchain.cpp compilation
- Cache vcpkg buildtrees and downloads directories in addition to installed - Add cache hit/miss detection to skip Boost installation when cached - Add post-cache steps to ensure packages are saved after successful builds - Use more specific cache key for Boost packages - This should reduce Windows build time from 30-45 minutes to 5-10 minutes on cache hits
- Add libboost-multi-index-dev package to Ubuntu dependencies - Ubuntu's libboost-all-dev doesn't include multi-index component - Add comment clarifying macOS includes multi-index by default - Fixes CMake error: Could not find boost_multi_indexConfig.cmake
- Add brew install boost-multi-index to macOS dependencies - macOS Homebrew boost doesn't include multi-index component - Add CMake policies CMP0144 and CMP0167 to suppress warnings - Fixes CMake error: Could not find boost_multi_indexConfig.cmake on macOS
- Remove non-existent libboost-multi-index-dev package - Add diagnostic commands to check Boost installation - Check for multi_index headers and libraries in Ubuntu - This will help identify if Ubuntu Boost 1.74 includes multi_index
- Remove non-existent boost-multi-index Homebrew formula - Add diagnostic commands to check macOS Boost installation - Check for multi_index headers and libraries in Homebrew Boost - This will help identify if macOS Boost includes multi_index
- Revert to 40c2651 which uses Homebrew Boost with header check - Remove problematic Boost from source installation - Use standard Homebrew Boost package
- Extend Boost::targets approach from macOS to all Unix systems (APPLE OR UNIX) - This should resolve the undefined symbols errors for boost::filesystem and boost::program_options on Ubuntu - The Boost::targets approach provides proper CMake target linking instead of raw library paths
- Include MSVC (Windows) in the Boost::targets approach alongside macOS and Linux - This should resolve Windows build failures with vcpkg Boost libraries - All platforms now use the modern Boost::targets CMake approach for consistent linking
- Keep Boost::targets for macOS and Linux (which are working) - Use traditional Boost_LIBRARIES approach for Windows with vcpkg - This should resolve Windows build issues while maintaining success on other platforms
- Remove unnecessary #include <boost/foreach.hpp> from files that don't use BOOST_FOREACH - Replace BOOST_FOREACH with modern C++11 range-based for loop in NetNode.cpp - This fixes the Windows build failure caused by missing boost/foreach.hpp in newer Boost versions - boost/foreach.hpp was deprecated and removed in Boost 1.74+
- Replace BOOST_REVERSE_FOREACH with modern C++11 reverse iterators in Blockchain.cpp and PeerListManager.cpp - This completes the removal of all deprecated boost/foreach.hpp dependencies - Should fix Ubuntu build failure caused by missing BOOST_REVERSE_FOREACH macro
- Replace BOOST_SCOPE_EXIT_ALL with manual cleanup code in CryptoNoteProtocolHandler.cpp and HttpServer.cpp - Remove #include <boost/scope_exit.hpp> from both files - This completes the removal of all deprecated Boost headers - Should fix Ubuntu build failure caused by missing BOOST_SCOPE_EXIT_ALL macro
- Fix (*it).second to it->second in Blockchain.cpp reverse iterator loop - Fix connection variable scope issue in HttpServer.cpp by using pointer approach - This should resolve the remaining compilation errors
- Change (*it).second to it->second for proper iterator dereference - This should resolve the macOS compilation error
- Change it->second to (*it)->second since alt_chain is a list of map iterators - Each element in alt_chain is an iterator to a map entry, so we need to dereference it first - This should resolve the macOS compilation error
- Add boost-uuid package to the Windows vcpkg installation command - This should resolve the missing boost/uuid/uuid.hpp header error on Windows - Completes the Windows Boost dependency setup
This reverts commit 53ca832.
alias 0xEA commit, xfg-stark-cli rpc commands
move alias to protected, EF sig use levin buf, some name changes
command in test_wallet, incl libjsoncpp in check Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
libc++ Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
new wallet functions Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
still need fire_wallet Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
zone for sync, remove old burn amounts in favor of amount_tiers Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
min/max terms for walletservice, fire/test_wallet wording, rm old consts Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
getHeatcommitment impl Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
method for burns, skip Chkpnts in testnet mode, more TUI work using current/updated methods Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
calculation, total ethereal (burns)status now auto-tracks from chain not loading, add eternal flame call to rpc Signed-off-by: aejontargaryen <aejontargaryen@protonmail.com>
…derking_ceremony as EFid
- AliasIndex: standalone alias registry (moved from CommitmentIndex) - Dev team aliases reserved at construction (FUEGOXFG, fuegoxfg, FUEGODEV, fuegodev) - Elderfier aliases [A-Z0-9&], regular aliases [a-z0-9&], exactly 8 chars - voidAlias() removes alias when EFiD goes VOID - elderking_ceremony now requires <ALIAS> argument - Validates 8-char [A-Z0-9&] format + RPC availability check - Embeds alias in 0xEF deposit metadata (0xEA tag + 8 bytes) - Auto-registered in AliasIndex when 5th deposit confirms via tryRegisterElderfier() - completeElderfierUnstaking() now voids alias via m_aliasIndex - Blockchain proxies route alias queries to m_aliasIndex (not CommitmentIndex) - register_alias blocks uppercase (reserved for EFier ceremony flow) - CommitmentIndex::clear() cleaned of stale m_aliases references - xfg-stark submodule updated to cold-starks relay architecture Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Type
Enhancement, Bug fix, Tests
Description
Implements comprehensive Eldernode Index Manager system with deposit monitoring, Elder Council voting, and consensus mechanisms
Adds FuegoTor manager for Tor integration with SOCKS5 proxy support and cross-platform compatibility
Introduces complete testnet wallet implementation with mnemonic seed support, transfer commands, and mining control
Enhances wallet service with staged unlock storage, burn deposit support, and money supply statistics
Implements new transaction extra field types for Elderfier deposits, messages, and HEAT wallet commitments with encryption utilities
Adds block versioning, Dynamic Multi-Window Difficulty Adjustment (DMWDA) algorithm, and burn deposit infrastructure to Currency
Fixes integer overflow vulnerabilities in
BinaryInputStreamSerializerby addingLLsuffix to size validation literalsAdds comprehensive test suite for Eldernode Index Manager covering registration, consensus, slashing, and cross-chain proofs
Refactors platform-specific system components (Dispatcher, TcpConnection, TcpListener, TcpConnector, Timer) to unified implementation
Removes legacy CI/CD workflows and documentation files, consolidating build infrastructure
Diagram Walkthrough
File Walkthrough
6 files
EldernodeIndexManager.cpp
Complete Eldernode Index Manager Implementationsrc/EldernodeIndexManager/EldernodeIndexManager.cpp
lines of functionality
mechanisms
Elderfiers
management
Fuegotor.cpp
FuegoTor Manager Implementation with SOCKS5 Supportsrc/FuegoTor/src/Fuegotor.cpp
support
tracking
TestnetWallet.cpp
Complete testnet wallet implementation with advanced featuressrc/TestnetWallet/TestnetWallet.cpp
code
mnemonic seed support
payment ID handling
generation features
WalletService.cpp
Enhanced wallet service with deposits, supply stats, and BPDF supportsrc/PaymentGate/WalletService.cpp
deposits
getDepositWithStagedInfo()method to retrieve depositinformation with staged unlock preferences
term) and dynamic minimum amounts
circulating supply, eternal flame tracking, and dynamic supply
overview
getStatus()to include network ID in response(
MIN_TX_MIXIN_SIZE_V10)transactions
TransactionExtra.cpp
Comprehensive transaction extra field types and HEAT wallet supportsrc/CryptoNoteCore/TransactionExtra.cpp
TX_EXTRA_ELDERFIER_DEPOSIT,TX_EXTRA_ELDERFIER_MESSAGE,TX_EXTRA_HEAT_COMMITMENT,TX_EXTRA_YIELD_COMMITMENT,TX_EXTRA_COLD_COMMITMENT,TX_EXTRA_BURN_RECEIPT, andTX_EXTRA_COLD_RECEIPTdeposits and messages with consensus support (QUORUM, PROOF, WITNESS
types)
computeHeatRecipientHash(),computeHeatCommitment(), andbuildHeatExtra()for cross-chain commitment handlinghelper functions with full serialization support
Keccak256 hashing
Currency.cpp
Block versioning, difficulty adjustment V6, and burn depositinfrastructuresrc/CryptoNoteCore/Currency.cpp
blockMajorVersionAtHeight()method to determine block version ata given height
minimumFee()methodsupporting different fees for BMV10+ (0.0008 XFG), BMV8+ (0.008 XFG),
and BMV7 and below (0.08 XFG)
addEternalFlame(),removeEternalFlame(),getEternalFlame(), andgetBurnPercentage()nextDifficultyV6()using Dynamic Multi-Window DifficultyAdjustment (DMWDA) algorithm for BMV10+
isValidBurnDepositAmount(),isValidBurnDepositTerm(),isBurnDeposit()convertXfgToHeat()andconvertHeatToXfg()using Keccak256
emission calculations
1 files
NodeRpcProxy.cpp
Debug Logging for NodeRpcProxy Initializationsrc/NodeRpcProxy/NodeRpcProxy.cpp
execution
initialized_callbackinvocation
1 files
BinaryInputStreamSerializer.cpp
Copyright update and integer overflow fixessrc/Serialization/BinaryInputStreamSerializer.cpp
LLsuffix tomake it a long long literal
LLsuffixfix
1 files
EldernodeIndexTest.cpp
Eldernode Index Manager comprehensive test suitetests/ENindexTest/EldernodeIndexTest.cpp
Elderfier Service Node registration with custom names, hashed
addresses, and standard addresses
names, all caps, reserved name checking)
prioritized over Basic nodes
reduction verification
cross-chain proofs with creation, renewal, and revocation
1 files
main.cpp
Formatting cleanup in payment gate servicesrc/PaymentGateService/main.cpp
PaymentGateService pg;101 files