Skip to content

Fix build on modern systems (Boost 1.82+, GCC 13+)#1278

Open
imperatormk wants to merge 7 commits intoRavenProject:masterfrom
imperatormk:fix/modern-build-compat
Open

Fix build on modern systems (Boost 1.82+, GCC 13+)#1278
imperatormk wants to merge 7 commits intoRavenProject:masterfrom
imperatormk:fix/modern-build-compat

Conversation

@imperatormk
Copy link

Summary

Fixes build failures on modern toolchains (Ubuntu 24.04+, macOS with Boost 1.90).

Tested on

  • macOS (Apple Clang, Boost 1.90)
  • Ubuntu 24.04 (GCC 13.3, Boost 1.83)

- Replace deprecated boost::filesystem::path::is_complete() with
  is_absolute() (removed in Boost 1.82)
- Skip boost_system library check in configure.ac (header-only since
  Boost 1.69)
- Add missing #include <stdexcept> in lockedpool.cpp (required by
  GCC 14+ / Ubuntu 24.04+, fixes RavenProject#1263)
- Replace deprecated boost::filesystem::path::is_complete() with
  is_absolute() (removed in Boost 1.82)
- Skip boost_system library check in configure.ac (header-only since
  Boost 1.69)
- Add missing #include <stdexcept> in lockedpool.cpp (required by
  GCC 14+ / Ubuntu 24.04+, fixes RavenProject#1263)
- Use boost::signals2::connection objects instead of disconnect-by-
  function-pointer (invalid static_cast with GCC 13+ / Boost 1.83+)
- Replace removed boost::filesystem::basename() / extension() with
  path::stem() / path::extension() (removed in Boost 1.82)
- Replace boost::filesystem::copy_option with copy_options and
  overwrite_if_exists with overwrite_existing
The asset transaction data was already being computed in
ListTransactions() but the results were discarded by the
single-parameter overload. Add the asset entries to the
return array so listtransactions shows asset sends/receives
alongside RVN transactions.
New dedicated RPC for querying asset transfer history.
Returns only asset movements (sends/receives) with full
metadata including asset_name, asset_type, amount, destination.

Supports filtering by asset name and pagination:
  listassettransactions "*" 20 0
  listassettransactions "MYASSET" 50

This complements the listtransactions fix (which now includes
asset entries) by providing a focused, asset-only view.
Runtime wallet management without restarting the node:
- createwallet: create and load a new wallet
- loadwallet: load an existing wallet file
- unloadwallet: unload a wallet (cannot unload the last one)

Each wallet is fully isolated with separate keys, balances,
and asset holdings. Access per-wallet RPCs via:
  raven-cli -rpcwallet=<name> <command>

Also fixes listmyassets to be wallet-aware (was hardcoded to
vpwallets[0]). GetAllMyAssetBalances now accepts a CWallet*
parameter for proper per-wallet asset queries.
- RVN sends: skip outputs to own addresses (not real outflows)
- Asset sends: verify wallet owned an input of that asset before
  marking as sent, preventing phantom sends in atomic swaps
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.

crashes on make (Ubuntu 24.10) -> support/lockedpool.cpp:99:20: error: ‘runtime_error’ is not a member of ‘std’

1 participant