Browse Source

Rename headers.

cl-refactor
Gav Wood 10 years ago
parent
commit
82d29fa979
  1. 1
      alethzero/MainWin.h
  2. 1
      libethereum/BlockDetails.h
  3. 4
      libethereum/Client.h
  4. 7
      libethereum/Interface.h
  5. 81
      libethereum/MessageFilter.cpp
  6. 69
      libethereum/MessageFilter.h
  7. 1
      libethereum/TransactionReceipt.h

1
alethzero/MainWin.h

@ -44,7 +44,6 @@ class Main;
namespace dev { namespace eth { namespace dev { namespace eth {
class Client; class Client;
class State; class State;
class MessageFilter;
}} }}
class QQuickView; class QQuickView;

1
libethereum/BlockDetails.h

@ -28,7 +28,6 @@
#include <libdevcore/Log.h> #include <libdevcore/Log.h>
#include <libdevcore/RLP.h> #include <libdevcore/RLP.h>
#include "Manifest.h"
#include "TransactionReceipt.h" #include "TransactionReceipt.h"
namespace ldb = leveldb; namespace ldb = leveldb;

4
libethereum/Client.h

@ -37,7 +37,7 @@
#include "State.h" #include "State.h"
#include "CommonNet.h" #include "CommonNet.h"
#include "PastMessage.h" #include "PastMessage.h"
#include "MessageFilter.h" #include "LogFilter.h"
#include "Miner.h" #include "Miner.h"
#include "Interface.h" #include "Interface.h"
@ -79,8 +79,6 @@ static const int GenesisBlock = INT_MIN;
struct InstalledFilter struct InstalledFilter
{ {
// InstalledFilter(MessageFilter const& _f): filter(_f) {}
// MessageFilter filter;
InstalledFilter(LogFilter const& _f): filter(_f) {} InstalledFilter(LogFilter const& _f): filter(_f) {}
LogFilter filter; LogFilter filter;

7
libethereum/Interface.h

@ -26,7 +26,7 @@
#include <libdevcore/Guards.h> #include <libdevcore/Guards.h>
#include <libdevcrypto/Common.h> #include <libdevcrypto/Common.h>
#include <libevm/FeeStructure.h> #include <libevm/FeeStructure.h>
#include "MessageFilter.h" #include "LogFilter.h"
#include "Transaction.h" #include "Transaction.h"
#include "AccountDiff.h" #include "AccountDiff.h"
#include "BlockDetails.h" #include "BlockDetails.h"
@ -84,11 +84,6 @@ public:
virtual bytes codeAt(Address _a, int _block) const = 0; virtual bytes codeAt(Address _a, int _block) const = 0;
virtual std::map<u256, u256> storageAt(Address _a, int _block) const = 0; virtual std::map<u256, u256> storageAt(Address _a, int _block) const = 0;
// // [MESSAGE API]
//
// virtual PastMessages messages(unsigned _watchId) const = 0;
// virtual PastMessages messages(MessageFilter const& _filter) const = 0;
// [LOGS API] // [LOGS API]
virtual LogEntries logs(unsigned _watchId) const = 0; virtual LogEntries logs(unsigned _watchId) const = 0;

81
libethereum/MessageFilter.cpp

@ -1,81 +0,0 @@
/*
This file is part of cpp-ethereum.
cpp-ethereum is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
cpp-ethereum is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file MessageFilter.cpp
* @author Gav Wood <i@gavwood.com>
* @date 2014
*/
#include "MessageFilter.h"
#include <libdevcrypto/SHA3.h>
#include "State.h"
using namespace std;
using namespace dev;
using namespace dev::eth;
void LogFilter::streamRLP(RLPStream& _s) const
{
_s.appendList(6) << m_addresses << m_topics << m_earliest << m_latest << m_max << m_skip;
}
h256 LogFilter::sha3() const
{
RLPStream s;
streamRLP(s);
return dev::sha3(s.out());
}
bool LogFilter::matches(LogBloom _bloom) const
{
if (m_addresses.size())
{
for (auto i: m_addresses)
if (_bloom.containsBloom<3>(dev::sha3(i)))
goto OK1;
return false;
}
OK1:
if (m_topics.size())
{
for (auto i: m_topics)
if (_bloom.containsBloom<3>(dev::sha3(i)))
goto OK2;
return false;
}
OK2:
return true;
}
bool LogFilter::matches(State const& _s, unsigned _i) const
{
return matches(_s.receipt(_i)).size() > 0;
}
LogEntries LogFilter::matches(TransactionReceipt const& _m) const
{
LogEntries ret;
for (LogEntry const& e: _m.log())
{
if (!m_addresses.empty() && !m_addresses.count(e.address))
continue;
for (auto const& t: m_topics)
if (!std::count(e.topics.begin(), e.topics.end(), t))
continue;
ret.push_back(e);
}
return ret;
}

69
libethereum/MessageFilter.h

@ -1,69 +0,0 @@
/*
This file is part of cpp-ethereum.
cpp-ethereum is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
cpp-ethereum is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file MessageFilter.h
* @author Gav Wood <i@gavwood.com>
* @date 2014
*/
#pragma once
#include <libdevcore/Common.h>
#include <libdevcore/RLP.h>
#include <libethcore/CommonEth.h>
#include "TransactionReceipt.h"
namespace dev
{
namespace eth
{
class State;
class LogFilter
{
public:
LogFilter(int _earliest = 0, int _latest = -1, unsigned _max = 10, unsigned _skip = 0): m_earliest(_earliest), m_latest(_latest), m_max(_max), m_skip(_skip) {}
void streamRLP(RLPStream& _s) const;
h256 sha3() const;
int earliest() const { return m_earliest; }
int latest() const { return m_latest; }
unsigned max() const { return m_max; }
unsigned skip() const { return m_skip; }
bool matches(LogBloom _bloom) const;
bool matches(State const& _s, unsigned _i) const;
LogEntries matches(TransactionReceipt const& _r) const;
LogFilter address(Address _a) { m_addresses.insert(_a); return *this; }
LogFilter topic(h256 const& _t) { m_topics.insert(_t); return *this; }
LogFilter withMax(unsigned _m) { m_max = _m; return *this; }
LogFilter withSkip(unsigned _m) { m_skip = _m; return *this; }
LogFilter withEarliest(int _e) { m_earliest = _e; return *this; }
LogFilter withLatest(int _e) { m_latest = _e; return *this; }
private:
AddressSet m_addresses;
h256Set m_topics;
int m_earliest = 0;
int m_latest = -1;
unsigned m_max;
unsigned m_skip;
};
}
}

1
libethereum/TransactionReceipt.h

@ -26,7 +26,6 @@
#include <libdevcore/Common.h> #include <libdevcore/Common.h>
#include <libdevcore/RLP.h> #include <libdevcore/RLP.h>
#include <libevm/ExtVMFace.h> #include <libevm/ExtVMFace.h>
#include "Manifest.h"
namespace dev namespace dev
{ {

Loading…
Cancel
Save