diff options
| author | tobtoht <tob@featherwallet.org> | 2025-07-10 17:32:31 +0000 |
|---|---|---|
| committer | tobtoht <tob@featherwallet.org> | 2025-07-10 17:32:31 +0000 |
| commit | 3e218c2021a8346e8adb87baaadfb7261ae1477a (patch) | |
| tree | ec15c69393fbf7919b50e99cc22fcbd253a1f391 /src | |
| parent | 0b739fdf5857b70b1c79675bc992b9f9c66f8216 (diff) | |
| parent | 9002681c1ef192bbdddcb1c5f49eac1b647af207 (diff) | |
| download | monzero-core-3e218c2021a8346e8adb87baaadfb7261ae1477a.tar.gz monzero-core-3e218c2021a8346e8adb87baaadfb7261ae1477a.tar.xz monzero-core-3e218c2021a8346e8adb87baaadfb7261ae1477a.zip | |
Merge pull request #9958
9002681 Add new dynamic fees to ZMQ (Lee Clagett)
Diffstat (limited to 'src')
| -rw-r--r-- | src/rpc/daemon_handler.cpp | 7 | ||||
| -rw-r--r-- | src/rpc/daemon_messages.cpp | 2 | ||||
| -rw-r--r-- | src/rpc/daemon_messages.h | 1 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/rpc/daemon_handler.cpp b/src/rpc/daemon_handler.cpp index f12a62891..c1e4c10bf 100644 --- a/src/rpc/daemon_handler.cpp +++ b/src/rpc/daemon_handler.cpp @@ -843,15 +843,20 @@ namespace rpc void DaemonHandler::handle(const GetFeeEstimate::Request& req, GetFeeEstimate::Response& res) { res.hard_fork_version = m_core.get_blockchain_storage().get_current_hard_fork_version(); - res.estimated_base_fee = m_core.get_blockchain_storage().get_dynamic_base_fee_estimate(req.num_grace_blocks); + if (res.hard_fork_version < HF_VERSION_PER_BYTE_FEE) { + res.fees.clear(); + res.estimated_base_fee = m_core.get_blockchain_storage().get_dynamic_base_fee_estimate(req.num_grace_blocks); res.size_scale = 1024; // per KiB fee res.fee_mask = 1; } else { + m_core.get_blockchain_storage().get_dynamic_base_fee_estimate_2021_scaling(req.num_grace_blocks, res.fees); + res.estimated_base_fee = res.fees.at(0); + res.size_scale = 1; // per byte fee res.fee_mask = Blockchain::get_fee_quantization_mask(); } diff --git a/src/rpc/daemon_messages.cpp b/src/rpc/daemon_messages.cpp index 090a566c7..5d1c75d5a 100644 --- a/src/rpc/daemon_messages.cpp +++ b/src/rpc/daemon_messages.cpp @@ -753,6 +753,7 @@ void GetFeeEstimate::Request::fromJson(const rapidjson::Value& val) void GetFeeEstimate::Response::doToJson(rapidjson::Writer<epee::byte_stream>& dest) const { + INSERT_INTO_JSON_OBJECT(dest, fees, fees); INSERT_INTO_JSON_OBJECT(dest, estimated_base_fee, estimated_base_fee); INSERT_INTO_JSON_OBJECT(dest, fee_mask, fee_mask); INSERT_INTO_JSON_OBJECT(dest, size_scale, size_scale); @@ -766,6 +767,7 @@ void GetFeeEstimate::Response::fromJson(const rapidjson::Value& val) throw json::WRONG_TYPE("json object"); } + GET_FROM_JSON_OBJECT(val, fees, fees); GET_FROM_JSON_OBJECT(val, estimated_base_fee, estimated_base_fee); GET_FROM_JSON_OBJECT(val, fee_mask, fee_mask); GET_FROM_JSON_OBJECT(val, size_scale, size_scale); diff --git a/src/rpc/daemon_messages.h b/src/rpc/daemon_messages.h index fb33f0d4a..d671840d7 100644 --- a/src/rpc/daemon_messages.h +++ b/src/rpc/daemon_messages.h @@ -423,6 +423,7 @@ BEGIN_RPC_MESSAGE_CLASS(GetFeeEstimate); RPC_MESSAGE_MEMBER(uint64_t, num_grace_blocks); END_RPC_MESSAGE_REQUEST; BEGIN_RPC_MESSAGE_RESPONSE; + RPC_MESSAGE_MEMBER(std::vector<uint64_t>, fees); RPC_MESSAGE_MEMBER(uint64_t, estimated_base_fee); RPC_MESSAGE_MEMBER(uint64_t, fee_mask); RPC_MESSAGE_MEMBER(uint32_t, size_scale); |
