h256s BlockChain::blockChain(h256Set const& _earlyExit) const { // Return the current valid block chain from most recent to genesis. // Arguments for specifying a set of early-ends h256s ret; ret.reserve(m_details[m_lastBlockHash].number + 1); auto i = m_lastBlockHash; for (; i != m_genesisHash && !_earlyExit.count(i); i = m_details[i].parent) ret.push_back(i); ret.push_back(i); return ret; }
void MixClient::noteChanged(h256Set const& _filters) { for (auto& i: m_watches) if (_filters.count(i.second.id)) { if (m_filters.count(i.second.id)) i.second.changes += m_filters.at(i.second.id).changes; else i.second.changes.push_back(LocalisedLogEntry(SpecialLogEntry, 0)); } for (auto& i: m_filters) i.second.changes.clear(); }