ValidatorList::ValidatorList ( ManifestCache& validatorManifests, ManifestCache& publisherManifests, TimeKeeper& timeKeeper, beast::Journal j, boost::optional<std::size_t> minimumQuorum) : validatorManifests_ (validatorManifests) , publisherManifests_ (publisherManifests) , timeKeeper_ (timeKeeper) , j_ (j) , quorum_ (minimumQuorum.value_or(1)) // Genesis ledger quorum , minimumQuorum_ (minimumQuorum) { }
Transaction::pointer Transaction::transactionFromSQL ( boost::optional<std::uint64_t> const& ledgerSeq, boost::optional<std::string> const& status, Blob const& rawTxn, Validate validate) { std::uint32_t const inLedger = rangeCheckedCast<std::uint32_t>(ledgerSeq.value_or (0)); SerialIter it (makeSlice(rawTxn)); auto txn = std::make_shared<STTx> (it); std::string reason; auto tr = std::make_shared<Transaction> (txn, validate, reason); tr->setStatus (sqlTransactionStatus (status)); tr->setLedger (inLedger); return tr; }
void Manager::toggle(boost::optional<bool> &setting, const bool current) { setting = !setting.value_or(current); setChange(*setting == current ? -1 : 1); }