From: svost Date: Thu, 10 Feb 2022 10:36:46 +0000 (+0300) Subject: Slit coincontrol.h to .h and .cpp files X-Git-Tag: nvc-v0.5.10~7 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=b462f4d88220b12edc66becceae3e06c1d894dec Slit coincontrol.h to .h and .cpp files --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 7210f2b..3fadffe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,7 @@ set(generic_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/qt/mintingtablemodel.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/qt/mintingview.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/bignum.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/coincontrol.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/kernelrecord.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/alert.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/version.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b21af95..34f4283 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -88,6 +88,7 @@ set(generic_sources ${CMAKE_CURRENT_SOURCE_DIR}/bignum.cpp ${CMAKE_CURRENT_SOURCE_DIR}/bitcoinrpc.cpp ${CMAKE_CURRENT_SOURCE_DIR}/checkpoints.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/coincontrol.cpp ${CMAKE_CURRENT_SOURCE_DIR}/crypter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/db.cpp ${CMAKE_CURRENT_SOURCE_DIR}/init.cpp diff --git a/src/coincontrol.cpp b/src/coincontrol.cpp new file mode 100644 index 0000000..04029ed --- /dev/null +++ b/src/coincontrol.cpp @@ -0,0 +1,44 @@ +#include "coincontrol.h" +#include "wallet.h" + +CCoinControl::CCoinControl() +{ + SetNull(); +} + +void CCoinControl::SetNull() +{ + destChange = CBitcoinAddress(); + setSelected.clear(); +} + +bool CCoinControl::HasSelected() const +{ + return (setSelected.size() > 0); +} + +bool CCoinControl::IsSelected(const uint256 &hash, unsigned int n) const +{ + COutPoint outpt(hash, n); + return (setSelected.count(outpt) > 0); +} + +void CCoinControl::Select(COutPoint &output) +{ + setSelected.insert(output); +} + +void CCoinControl::UnSelect(COutPoint &output) +{ + setSelected.erase(output); +} + +void CCoinControl::UnSelectAll() +{ + setSelected.clear(); +} + +void CCoinControl::ListSelected(std::vector &vOutpoints) +{ + vOutpoints.assign(setSelected.begin(), setSelected.end()); +} diff --git a/src/coincontrol.h b/src/coincontrol.h index a64a0ec..83f7a54 100644 --- a/src/coincontrol.h +++ b/src/coincontrol.h @@ -3,53 +3,23 @@ #include "base58.h" +class COutPoint; + /** Coin Control Features. */ class CCoinControl { public: CBitcoinAddress destChange; - CCoinControl() - { - SetNull(); - } + CCoinControl(); - void SetNull() - { - destChange = CBitcoinAddress(); - setSelected.clear(); - } - - bool HasSelected() const - { - return (setSelected.size() > 0); - } - - bool IsSelected(const uint256& hash, unsigned int n) const - { - COutPoint outpt(hash, n); - return (setSelected.count(outpt) > 0); - } - - void Select(COutPoint& output) - { - setSelected.insert(output); - } - - void UnSelect(COutPoint& output) - { - setSelected.erase(output); - } - - void UnSelectAll() - { - setSelected.clear(); - } - - void ListSelected(std::vector& vOutpoints) - { - vOutpoints.assign(setSelected.begin(), setSelected.end()); - } + void SetNull(); + bool HasSelected() const; + bool IsSelected(const uint256& hash, unsigned int n) const; + void Select(COutPoint& output); + void UnSelect(COutPoint& output); + void UnSelectAll(); + void ListSelected(std::vector& vOutpoints); private: std::set setSelected;