// ECOin - Copyright (c) - 2014/2022 - GPLv3 - epsylon@riseup.net (https://03c8.net) #ifndef COINCONTROL_H #define COINCONTROL_H class CCoinControl { public: CTxDestination destChange; CCoinControl() { SetNull(); } void SetNull() { destChange = CNoDestination(); 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()); } private: std::set setSelected; }; #endif // COINCONTROL_H