clboss/Boss/Msg/ProvideChannelFeeModifier.hpp
clboss-contributor 4057154967 feat: add clang C++20 build job to CI
Add clang build configuration to catch C++20 compatibility issues early.

Changes:
- Add build-clang job to .github/workflows/build.yml
- Add missing #include<cstdint> for std::uint* types (clang strict mode)
- Add -lexecinfo for FreeBSD in configure.ac (backtrace_symbols)
- Fix pessimizing-move warning in test_earningsrebalancer.cpp
- Fix CHANGELOG.md formatting

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 11:24:31 -08:00

37 lines
925 B
C++

#ifndef BOSS_MSG_PROVIDECHANNELFEEMODIFIER_HPP
#define BOSS_MSG_PROVIDECHANNELFEEMODIFIER_HPP
#include<cstdint>
#include<functional>
namespace Ev { template<typename a> class Io; }
namespace Ln { class NodeId; }
namespace Boss { namespace Msg {
/** Boss::Msg::ProvideChannelFeeModifier
*
* @brief emitted in response to the
* `Boss::Msg::SolicitChannelFeeModifier`
* message.
*
* @desc the function you put into this
* message is given the node ID, plus the
* raw base median feerate and raw
* proportional median feerate.
*
* The given function must then return a
* `double` that is multiplied, together
* with the results from other modifiers.
*/
struct ProvideChannelFeeModifier {
std::function< Ev::Io<double>( Ln::NodeId
, std::uint32_t /* base */
, std::uint32_t /* proportional */
)
> modifier;
};
}}
#endif /* !defined(BOSS_MSG_PROVIDECHANNELFEEMODIFIER_HPP) */