// Copyright (c) 2020-2023 The Zcash developers // Distributed under the MIT software license, see the accompanying // file COPYING or https://www.opensource.org/licenses/mit-license.php . #ifndef ZCASH_CONSENSUS_FUNDING_H #define ZCASH_CONSENSUS_FUNDING_H #include #include namespace Consensus { struct FSInfo { const char* recipient; const char* specification; uint64_t valueNumerator; uint64_t valueDenominator; /** * Returns the inherent value of this funding stream. * * For the active funding streams at a given height, use * GetActiveFundingStreams() or GetActiveFundingStreamElements(). */ CAmount Value(CAmount blockSubsidy) const; }; extern const struct FSInfo FundingStreamInfo[]; typedef std::pair FundingStreamElement; std::set GetActiveFundingStreamElements( int nHeight, CAmount blockSubsidy, const Consensus::Params& params); std::vector GetActiveFundingStreams( int nHeight, const Consensus::Params& params); } // namespace Consensus #endif // ZCASH_CONSENSUS_FUNDING_H