// Copyright (c) 2011-2016 The Cryptonote developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #pragma once #include #include namespace CryptoNote { class IFusionManager { public: struct EstimateResult { size_t fusionReadyCount; size_t totalOutputCount; }; virtual ~IFusionManager() {} virtual size_t createFusionTransaction(uint64_t threshold, uint64_t mixin) = 0; virtual bool isFusionTransaction(size_t transactionId) const = 0; virtual EstimateResult estimate(uint64_t threshold) const = 0; }; }