 |
Ethereum
PoC-8
The C++ Implementation of Ethereum
|
Go to the documentation of this file.
33 _out <<
"(@" << _s.m_addresses <<
"#" << _s.m_topics <<
">" << _s.m_earliest <<
"-" << _s.m_latest <<
"< )";
39 _s.
appendList(4) << m_addresses << m_topics << m_earliest << m_latest;
49 bool LogFilter::isRangeFilter()
const
51 if (m_addresses.size())
54 for (
auto const& t: m_topics)
63 if (m_addresses.size())
65 for (
auto const& i: m_addresses)
71 for (
auto const& t: m_topics)
74 for (
auto const& i: t)
83 bool LogFilter::matches(
Block const& _s,
unsigned _i)
const
85 return matches(_s.
receipt(_i)).size() > 0;
88 vector<LogBloom> LogFilter::bloomPossibilities()
const
94 for (
auto const& i: m_addresses)
106 for (
auto const& t: m_topics)
110 for (
auto const &j: t)
124 for (
auto const& i: m_addresses)
134 if (!m_addresses.size())
135 for (
auto const& t: m_topics)
139 for (
auto const &j: t)
154 if (matches(_m.
bloom()))
157 if (!m_addresses.empty() && !m_addresses.count(e.address))
159 for (
unsigned i = 0; i < 4; ++i)
160 if (!m_topics[i].empty() && (e.topics.size() < i || !m_topics[i].count(e.topics[i])))
FixedHash & shiftBloom(FixedHash< M > const &_h)
bool sha3(bytesConstRef _input, bytesRef o_output) noexcept
bytes const & out() const
Read the byte stream.
bool containsBloom(FixedHash< M > const &_h)
h2048 LogBloom
The log bloom's size (2048-bit).
std::vector< LogEntry > LogEntries
Class for writing to an RLP bytestream.
TransactionReceipt const & receipt(unsigned _i) const
Get the transaction receipt for the transaction of the given index.
std::ostream & operator<<(std::ostream &_out, BlockHeader const &_bi)
LogEntries const & log() const
LogBloom const & bloom() const
Active model of a block within the block chain. Keeps track of all transactions, receipts and state f...
RLPStream & appendList(size_t _items)
Appends a list.