send creditSet to B

This commit is contained in:
jed
2012-11-11 16:51:11 -08:00
parent 3613c45962
commit 362e3da97d
6 changed files with 254 additions and 230 deletions

View File

@@ -185,108 +185,96 @@
<ClCompile Include="websocketpp\src\uri.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Account.h" />
<ClInclude Include="bitcoinUtil.h" />
<ClInclude Include="Conversion.h" />
<ClInclude Include="database\database.h" />
<ClInclude Include="database\sqlite3.h" />
<ClInclude Include="database\sqlite3ext.h" />
<ClInclude Include="database\SqliteDatabase.h" />
<ClInclude Include="KnownNodeList.h" />
<ClInclude Include="obj\src\newcoin.pb.h" />
<ClInclude Include="NetworkThread.h" />
<ClInclude Include="script.h" />
<ClInclude Include="src\AccountState.h" />
<ClInclude Include="src\Application.h" />
<ClInclude Include="src\base58.h" />
<ClInclude Include="src\bignum.h" />
<ClInclude Include="src\BinaryFormats.h" />
<ClInclude Include="src\BitcoinUtil.h" />
<ClInclude Include="src\CallRPC.h" />
<ClInclude Include="src\CanonicalTXSet.h" />
<ClInclude Include="src\Config.h" />
<ClInclude Include="src\ConnectionPool.h" />
<ClInclude Include="src\Contract.h" />
<ClInclude Include="src\Conversion.h" />
<ClInclude Include="src\FieldNames.h" />
<ClInclude Include="src\HashedObject.h" />
<ClInclude Include="src\HashPrefixes.h" />
<ClInclude Include="src\HttpReply.h" />
<ClInclude Include="src\HttpRequest.h" />
<ClInclude Include="src\HttpsClient.h" />
<ClInclude Include="src\InstanceCounter.h" />
<ClInclude Include="src\Interpreter.h" />
<ClInclude Include="src\JobQueue.h" />
<ClInclude Include="src\key.h" />
<ClInclude Include="src\Ledger.h" />
<ClInclude Include="src\LedgerAcquire.h" />
<ClInclude Include="src\LedgerConsensus.h" />
<ClInclude Include="src\LedgerEntrySet.h" />
<ClInclude Include="src\LedgerFormats.h" />
<ClInclude Include="src\LedgerHistory.h" />
<ClInclude Include="src\LedgerMaster.h" />
<ClInclude Include="src\LedgerProposal.h" />
<ClInclude Include="src\LedgerTiming.h" />
<ClInclude Include="src\Log.h" />
<ClInclude Include="src\NetworkOPs.h" />
<ClInclude Include="src\NetworkStatus.h" />
<ClInclude Include="src\NewcoinAddress.h" />
<ClInclude Include="src\NicknameState.h" />
<ClInclude Include="src\Operation.h" />
<ClInclude Include="src\OrderBook.h" />
<ClInclude Include="src\OrderBookDB.h" />
<ClInclude Include="src\PackedMessage.h" />
<ClInclude Include="src\ParseSection.h" />
<ClInclude Include="src\Pathfinder.h" />
<ClInclude Include="src\Peer.h" />
<ClInclude Include="src\PeerDoor.h" />
<ClInclude Include="src\PubKeyCache.h" />
<ClInclude Include="src\RangeSet.h" />
<ClInclude Include="src\RequestParser.h" />
<ClInclude Include="src\rfc1751.h" />
<ClInclude Include="src\ripple.pb.h" />
<ClInclude Include="src\RippleAddress.h" />
<ClInclude Include="src\RippleCalc.h" />
<ClInclude Include="src\RippleLines.h" />
<ClInclude Include="src\RippleState.h" />
<ClInclude Include="src\RPC.h" />
<ClInclude Include="src\RPCCommands.h" />
<ClInclude Include="src\RPCDoor.h" />
<ClInclude Include="src\RPCHandler.h" />
<ClInclude Include="src\RPCServer.h" />
<ClInclude Include="src\ScopedLock.h" />
<ClInclude Include="src\ScriptData.h" />
<ClInclude Include="src\SecureAllocator.h" />
<ClInclude Include="src\SerializedLedger.h" />
<ClInclude Include="src\SerializedObject.h" />
<ClInclude Include="src\SerializedTransaction.h" />
<ClInclude Include="src\SerializedTypes.h" />
<ClInclude Include="src\SerializedValidation.h" />
<ClInclude Include="src\SerializeProto.h" />
<ClInclude Include="src\Serializer.h" />
<ClInclude Include="src\SHAMap.h" />
<ClInclude Include="src\SHAMapSync.h" />
<ClInclude Include="src\SNTPClient.h" />
<ClInclude Include="src\Suppression.h" />
<ClInclude Include="src\TaggedCache.h" />
<ClInclude Include="src\Transaction.h" />
<ClInclude Include="src\TransactionEngine.h" />
<ClInclude Include="src\TransactionErr.h" />
<ClInclude Include="src\TransactionFormats.h" />
<ClInclude Include="src\TransactionMaster.h" />
<ClInclude Include="src\TransactionMeta.h" />
<ClInclude Include="src\types.h" />
<ClInclude Include="src\uint256.h" />
<ClInclude Include="src\UniqueNodeList.h" />
<ClInclude Include="src\utils.h" />
<ClInclude Include="src\ValidationCollection.h" />
<ClInclude Include="src\Version.h" />
<ClInclude Include="src\Wallet.h" />
<ClInclude Include="src\WSConnection.h" />
<ClInclude Include="src\WSDoor.h" />
<ClInclude Include="src\WSHandler.h" />
<ClInclude Include="TimingService.h" />
<ClInclude Include="ExtendedTransaction.h" />
<ClInclude Include="src\cpp\ripple\AccountState.h" />
<ClInclude Include="src\cpp\ripple\Application.h" />
<ClInclude Include="src\cpp\ripple\base58.h" />
<ClInclude Include="src\cpp\ripple\bignum.h" />
<ClInclude Include="src\cpp\ripple\BitcoinUtil.h" />
<ClInclude Include="src\cpp\ripple\CallRPC.h" />
<ClInclude Include="src\cpp\ripple\CanonicalTXSet.h" />
<ClInclude Include="src\cpp\ripple\Config.h" />
<ClInclude Include="src\cpp\ripple\ConnectionPool.h" />
<ClInclude Include="src\cpp\ripple\Contract.h" />
<ClInclude Include="src\cpp\ripple\FieldNames.h" />
<ClInclude Include="src\cpp\ripple\HashedObject.h" />
<ClInclude Include="src\cpp\ripple\HashPrefixes.h" />
<ClInclude Include="src\cpp\ripple\HTTPRequest.h" />
<ClInclude Include="src\cpp\ripple\HttpsClient.h" />
<ClInclude Include="src\cpp\ripple\InstanceCounter.h" />
<ClInclude Include="src\cpp\ripple\Interpreter.h" />
<ClInclude Include="src\cpp\ripple\JobQueue.h" />
<ClInclude Include="src\cpp\ripple\key.h" />
<ClInclude Include="src\cpp\ripple\Ledger.h" />
<ClInclude Include="src\cpp\ripple\LedgerAcquire.h" />
<ClInclude Include="src\cpp\ripple\LedgerConsensus.h" />
<ClInclude Include="src\cpp\ripple\LedgerEntrySet.h" />
<ClInclude Include="src\cpp\ripple\LedgerFormats.h" />
<ClInclude Include="src\cpp\ripple\LedgerHistory.h" />
<ClInclude Include="src\cpp\ripple\LedgerMaster.h" />
<ClInclude Include="src\cpp\ripple\LedgerProposal.h" />
<ClInclude Include="src\cpp\ripple\LedgerTiming.h" />
<ClInclude Include="src\cpp\ripple\Log.h" />
<ClInclude Include="src\cpp\ripple\NetworkOPs.h" />
<ClInclude Include="src\cpp\ripple\NetworkStatus.h" />
<ClInclude Include="src\cpp\ripple\NicknameState.h" />
<ClInclude Include="src\cpp\ripple\Operation.h" />
<ClInclude Include="src\cpp\ripple\OrderBook.h" />
<ClInclude Include="src\cpp\ripple\OrderBookDB.h" />
<ClInclude Include="src\cpp\ripple\PackedMessage.h" />
<ClInclude Include="src\cpp\ripple\ParseSection.h" />
<ClInclude Include="src\cpp\ripple\Pathfinder.h" />
<ClInclude Include="src\cpp\ripple\Peer.h" />
<ClInclude Include="src\cpp\ripple\PeerDoor.h" />
<ClInclude Include="src\cpp\ripple\ProofOfWork.h" />
<ClInclude Include="src\cpp\ripple\PubKeyCache.h" />
<ClInclude Include="src\cpp\ripple\RangeSet.h" />
<ClInclude Include="src\cpp\ripple\rfc1751.h" />
<ClInclude Include="src\cpp\ripple\ripple.pb.h" />
<ClInclude Include="src\cpp\ripple\RippleAddress.h" />
<ClInclude Include="src\cpp\ripple\RippleCalc.h" />
<ClInclude Include="src\cpp\ripple\RippleLines.h" />
<ClInclude Include="src\cpp\ripple\RippleState.h" />
<ClInclude Include="src\cpp\ripple\RPC.h" />
<ClInclude Include="src\cpp\ripple\RPCCommands.h" />
<ClInclude Include="src\cpp\ripple\RPCDoor.h" />
<ClInclude Include="src\cpp\ripple\RPCHandler.h" />
<ClInclude Include="src\cpp\ripple\RPCServer.h" />
<ClInclude Include="src\cpp\ripple\ScopedLock.h" />
<ClInclude Include="src\cpp\ripple\ScriptData.h" />
<ClInclude Include="src\cpp\ripple\SecureAllocator.h" />
<ClInclude Include="src\cpp\ripple\SerializedLedger.h" />
<ClInclude Include="src\cpp\ripple\SerializedObject.h" />
<ClInclude Include="src\cpp\ripple\SerializedTransaction.h" />
<ClInclude Include="src\cpp\ripple\SerializedTypes.h" />
<ClInclude Include="src\cpp\ripple\SerializedValidation.h" />
<ClInclude Include="src\cpp\ripple\SerializeProto.h" />
<ClInclude Include="src\cpp\ripple\Serializer.h" />
<ClInclude Include="src\cpp\ripple\SHAMap.h" />
<ClInclude Include="src\cpp\ripple\SHAMapSync.h" />
<ClInclude Include="src\cpp\ripple\SNTPClient.h" />
<ClInclude Include="src\cpp\ripple\Suppression.h" />
<ClInclude Include="src\cpp\ripple\TaggedCache.h" />
<ClInclude Include="src\cpp\ripple\Transaction.h" />
<ClInclude Include="src\cpp\ripple\TransactionEngine.h" />
<ClInclude Include="src\cpp\ripple\TransactionErr.h" />
<ClInclude Include="src\cpp\ripple\TransactionFormats.h" />
<ClInclude Include="src\cpp\ripple\TransactionMaster.h" />
<ClInclude Include="src\cpp\ripple\TransactionMeta.h" />
<ClInclude Include="src\cpp\ripple\types.h" />
<ClInclude Include="src\cpp\ripple\uint256.h" />
<ClInclude Include="src\cpp\ripple\UniqueNodeList.h" />
<ClInclude Include="src\cpp\ripple\utils.h" />
<ClInclude Include="src\cpp\ripple\ValidationCollection.h" />
<ClInclude Include="src\cpp\ripple\Version.h" />
<ClInclude Include="src\cpp\ripple\Wallet.h" />
<ClInclude Include="src\cpp\ripple\WSConnection.h" />
<ClInclude Include="src\cpp\ripple\WSDoor.h" />
<ClInclude Include="src\cpp\ripple\WSHandler.h" />
<ClInclude Include="util\pugiconfig.hpp" />
<ClInclude Include="util\pugixml.hpp" />
</ItemGroup>

View File

@@ -320,33 +320,15 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="KnownNodeList.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="util\pugiconfig.hpp">
<Filter>Header Files\util</Filter>
</ClInclude>
<ClInclude Include="util\pugixml.hpp">
<Filter>Header Files\util</Filter>
</ClInclude>
<ClInclude Include="NetworkThread.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="bitcoinUtil.h">
<Filter>Header Files\util</Filter>
</ClInclude>
<ClInclude Include="TimingService.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="script.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ExtendedTransaction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Account.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="database\database.h">
<Filter>Header Files\util</Filter>
</ClInclude>
@@ -359,277 +341,259 @@
<ClInclude Include="database\sqlite3ext.h">
<Filter>Header Files\util</Filter>
</ClInclude>
<ClInclude Include="Conversion.h">
<ClInclude Include="src\cpp\ripple\AccountState.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="obj\src\newcoin.pb.h">
<ClInclude Include="src\cpp\ripple\Application.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\AccountState.h">
<ClInclude Include="src\cpp\ripple\base58.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Application.h">
<ClInclude Include="src\cpp\ripple\bignum.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\base58.h">
<ClInclude Include="src\cpp\ripple\BitcoinUtil.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\bignum.h">
<ClInclude Include="src\cpp\ripple\CallRPC.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\BinaryFormats.h">
<ClInclude Include="src\cpp\ripple\CanonicalTXSet.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\BitcoinUtil.h">
<ClInclude Include="src\cpp\ripple\Config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\CallRPC.h">
<ClInclude Include="src\cpp\ripple\ConnectionPool.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\CanonicalTXSet.h">
<ClInclude Include="src\cpp\ripple\Contract.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Config.h">
<ClInclude Include="src\cpp\ripple\FieldNames.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConnectionPool.h">
<ClInclude Include="src\cpp\ripple\HashedObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Conversion.h">
<ClInclude Include="src\cpp\ripple\HashPrefixes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HashedObject.h">
<ClInclude Include="src\cpp\ripple\HTTPRequest.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HttpReply.h">
<ClInclude Include="src\cpp\ripple\HttpsClient.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HttpRequest.h">
<ClInclude Include="src\cpp\ripple\InstanceCounter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HttpsClient.h">
<ClInclude Include="src\cpp\ripple\Interpreter.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\key.h">
<ClInclude Include="src\cpp\ripple\JobQueue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Ledger.h">
<ClInclude Include="src\cpp\ripple\key.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerAcquire.h">
<ClInclude Include="src\cpp\ripple\Ledger.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerConsensus.h">
<ClInclude Include="src\cpp\ripple\LedgerAcquire.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerFormats.h">
<ClInclude Include="src\cpp\ripple\LedgerConsensus.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerHistory.h">
<ClInclude Include="src\cpp\ripple\LedgerEntrySet.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerMaster.h">
<ClInclude Include="src\cpp\ripple\LedgerFormats.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerProposal.h">
<ClInclude Include="src\cpp\ripple\LedgerHistory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerTiming.h">
<ClInclude Include="src\cpp\ripple\LedgerMaster.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Log.h">
<ClInclude Include="src\cpp\ripple\LedgerProposal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\NetworkOPs.h">
<ClInclude Include="src\cpp\ripple\LedgerTiming.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\NetworkStatus.h">
<ClInclude Include="src\cpp\ripple\Log.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\NewcoinAddress.h">
<ClInclude Include="src\cpp\ripple\NetworkOPs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\NicknameState.h">
<ClInclude Include="src\cpp\ripple\NetworkStatus.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PackedMessage.h">
<ClInclude Include="src\cpp\ripple\NicknameState.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ParseSection.h">
<ClInclude Include="src\cpp\ripple\Operation.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Peer.h">
<ClInclude Include="src\cpp\ripple\OrderBook.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PeerDoor.h">
<ClInclude Include="src\cpp\ripple\OrderBookDB.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PubKeyCache.h">
<ClInclude Include="src\cpp\ripple\PackedMessage.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RequestParser.h">
<ClInclude Include="src\cpp\ripple\ParseSection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\rfc1751.h">
<ClInclude Include="src\cpp\ripple\Pathfinder.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RippleState.h">
<ClInclude Include="src\cpp\ripple\Peer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RPC.h">
<ClInclude Include="src\cpp\ripple\PeerDoor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RPCCommands.h">
<ClInclude Include="src\cpp\ripple\ProofOfWork.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RPCDoor.h">
<ClInclude Include="src\cpp\ripple\PubKeyCache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RPCServer.h">
<ClInclude Include="src\cpp\ripple\RangeSet.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ScopedLock.h">
<ClInclude Include="src\cpp\ripple\rfc1751.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SecureAllocator.h">
<ClInclude Include="src\cpp\ripple\ripple.pb.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SerializedLedger.h">
<ClInclude Include="src\cpp\ripple\RippleAddress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SerializedObject.h">
<ClInclude Include="src\cpp\ripple\RippleCalc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SerializedTransaction.h">
<ClInclude Include="src\cpp\ripple\RippleLines.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SerializedTypes.h">
<ClInclude Include="src\cpp\ripple\RippleState.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SerializedValidation.h">
<ClInclude Include="src\cpp\ripple\RPC.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Serializer.h">
<ClInclude Include="src\cpp\ripple\RPCCommands.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SHAMap.h">
<ClInclude Include="src\cpp\ripple\RPCDoor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TaggedCache.h">
<ClInclude Include="src\cpp\ripple\RPCHandler.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Transaction.h">
<ClInclude Include="src\cpp\ripple\RPCServer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TransactionEngine.h">
<ClInclude Include="src\cpp\ripple\ScopedLock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TransactionFormats.h">
<ClInclude Include="src\cpp\ripple\ScriptData.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TransactionMaster.h">
<ClInclude Include="src\cpp\ripple\SecureAllocator.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\types.h">
<ClInclude Include="src\cpp\ripple\SerializedLedger.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\uint256.h">
<ClInclude Include="src\cpp\ripple\SerializedObject.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\UniqueNodeList.h">
<ClInclude Include="src\cpp\ripple\SerializedTransaction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\utils.h">
<ClInclude Include="src\cpp\ripple\SerializedTypes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ValidationCollection.h">
<ClInclude Include="src\cpp\ripple\SerializedValidation.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Wallet.h">
<ClInclude Include="src\cpp\ripple\SerializeProto.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Pathfinder.h">
<ClInclude Include="src\cpp\ripple\Serializer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RippleLines.h">
<ClInclude Include="src\cpp\ripple\SHAMap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OrderBookDB.h">
<ClInclude Include="src\cpp\ripple\SHAMapSync.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OrderBook.h">
<ClInclude Include="src\cpp\ripple\SNTPClient.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Contract.h">
<ClInclude Include="src\cpp\ripple\Suppression.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ScriptData.h">
<ClInclude Include="src\cpp\ripple\TaggedCache.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Interpreter.h">
<ClInclude Include="src\cpp\ripple\Transaction.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Operation.h">
<ClInclude Include="src\cpp\ripple\TransactionEngine.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RPCHandler.h">
<ClInclude Include="src\cpp\ripple\TransactionErr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WSHandler.h">
<ClInclude Include="src\cpp\ripple\TransactionFormats.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\FieldNames.h">
<ClInclude Include="src\cpp\ripple\TransactionMaster.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HashPrefixes.h">
<ClInclude Include="src\cpp\ripple\TransactionMeta.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\InstanceCounter.h">
<ClInclude Include="src\cpp\ripple\types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\JobQueue.h">
<ClInclude Include="src\cpp\ripple\uint256.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LedgerEntrySet.h">
<ClInclude Include="src\cpp\ripple\UniqueNodeList.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RangeSet.h">
<ClInclude Include="src\cpp\ripple\utils.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ripple.pb.h">
<ClInclude Include="src\cpp\ripple\ValidationCollection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RippleAddress.h">
<ClInclude Include="src\cpp\ripple\Version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\RippleCalc.h">
<ClInclude Include="src\cpp\ripple\Wallet.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SerializeProto.h">
<ClInclude Include="src\cpp\ripple\WSConnection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SHAMapSync.h">
<ClInclude Include="src\cpp\ripple\WSDoor.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SNTPClient.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Suppression.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TransactionErr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TransactionMeta.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\Version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WSConnection.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WSDoor.h">
<ClInclude Include="src\cpp\ripple\WSHandler.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

View File

@@ -1045,13 +1045,15 @@ void NetworkOPs::pubLedger(Ledger::ref lpAccepted)
for (SHAMapItem::pointer item = txSet.peekFirstItem(); !!item; item = txSet.peekNextItem(item->getTag()))
{
SerializedTransaction::pointer stTxn = theApp->getMasterTransaction().fetch(item, false, 0);
if(stTxn)
{
// XXX Need to support other results.
// XXX Need to give failures too.
TER terResult = tesSUCCESS;
pubAcceptedTransaction(lpAccepted, *stTxn, terResult);
}
// TODO: remove old entries from the submit map
}
}
}
}
@@ -1103,7 +1105,16 @@ void NetworkOPs::pubAcceptedTransaction(Ledger::ref lpCurrent, const SerializedT
}
// TODO: tell the mSubmitMap people
// TODO: will need to rework this to get the affected accounts in a different way when we want finer granularity than just subAccount
// transactions to
// transactions from
// orderbook issuer <- weird since you are probably just interested in a particular pair
// orderbook receiver
// your credit setting?
// other people credit set
// other account changes
void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTransaction& stTxn, TER terResult, bool bAccepted)
{
boost::unordered_set<InfoSub*> notify;
@@ -1115,9 +1126,10 @@ void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTr
if (!mSubAccount.empty() || (!mSubRTAccount.empty()) )
{
BOOST_FOREACH(const RippleAddress& naAccountPublic, stTxn.getAffectedAccounts())
typedef const std::pair<RippleAddress,bool> AccountPair;
BOOST_FOREACH(AccountPair& affectedAccount, getAffectedAccounts(stTxn))
{
subInfoMapIterator simiIt = mSubRTAccount.find(naAccountPublic.getAccountID());
subInfoMapIterator simiIt = mSubRTAccount.find(affectedAccount.first.getAccountID());
if (simiIt != mSubRTAccount.end())
{
@@ -1128,7 +1140,7 @@ void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTr
}
if(bAccepted)
{
simiIt = mSubAccount.find(naAccountPublic.getAccountID());
simiIt = mSubAccount.find(affectedAccount.first.getAccountID());
if (simiIt != mSubAccount.end())
{
@@ -1153,6 +1165,36 @@ void NetworkOPs::pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTr
}
}
// JED: I know this is sort of ugly. I'm going to rework this to get the affected accounts in a different way when we want finer granularity than just "account"
std::map<RippleAddress,bool> NetworkOPs::getAffectedAccounts(const SerializedTransaction& stTxn)
{
std::map<RippleAddress,bool> accounts;
BOOST_FOREACH(const SerializedType& it, stTxn.peekData())
{
const STAccount* sa = dynamic_cast<const STAccount*>(&it);
if (sa)
{
bool found = false;
RippleAddress na = sa->getValueNCA();
accounts[na]=true;
}else
{
if( it.getFName() == sfLimitAmount )
{
const STAmount* amount = dynamic_cast<const STAmount*>(&it);
if(amount)
{
RippleAddress na;
na.setAccountID(amount->getIssuer());
accounts[na]=true;
}
}
}
}
return accounts;
}
//
// Monitoring
//
@@ -1231,7 +1273,7 @@ uint32 NetworkOPs::acceptLedger()
void NetworkOPs::storeProposal(const LedgerProposal::pointer& proposal, const RippleAddress& peerPublic)
{
std::list<LedgerProposal::pointer>& props = mStoredProposals[peerPublic.getNodeID()];
if (props.size() >= (mLastCloseProposers + 10))
if (props.size() >= (unsigned)(mLastCloseProposers + 10))
props.pop_front();
props.push_back(proposal);
}

View File

@@ -90,7 +90,7 @@ protected:
boost::interprocess::interprocess_upgradable_mutex mMonitorLock;
subInfoMapType mSubAccount;
subInfoMapType mSubRTAccount;
subSubmitMapType mSubmitMap;
subSubmitMapType mSubmitMap; // TODO: probably dump this
boost::unordered_set<InfoSub*> mSubLedger; // accepted ledgers
boost::unordered_set<InfoSub*> mSubServer; // when server changes connectivity state
@@ -107,6 +107,7 @@ protected:
void pubAcceptedTransaction(Ledger::ref lpCurrent, const SerializedTransaction& stTxn, TER terResult);
void pubAccountTransaction(Ledger::ref lpCurrent, const SerializedTransaction& stTxn, TER terResult,bool accepted);
std::map<RippleAddress,bool> getAffectedAccounts(const SerializedTransaction& stTxn);
public:
NetworkOPs(boost::asio::io_service& io_service, LedgerMaster* pLedgerMaster);

View File

@@ -49,6 +49,34 @@ void TransactionMetaSet::setAffectedNode(const uint256& node, SField::ref type)
obj.setFieldH256(sfLedgerIndex, node);
}
/*
std::vector<RippleAddress> TransactionMetaSet::getAffectedAccounts()
{
std::vector<RippleAddress> accounts;
BOOST_FOREACH(STObject& object, mNodes.getValue() )
{
const STAccount* sa = dynamic_cast<const STAccount*>(&it);
if (sa != NULL)
{
bool found = false;
RippleAddress na = sa->getValueNCA();
BOOST_FOREACH(const RippleAddress& it, accounts)
{
if (it == na)
{
found = true;
break;
}
}
if (!found)
accounts.push_back(na);
}
}
return accounts;
}
*/
STObject& TransactionMetaSet::getAffectedNode(const uint256& node, SField::ref type)
{
assert(&type);

View File

@@ -43,6 +43,7 @@ public:
STObject& getAffectedNode(const uint256&, SField::ref type);
STObject& getAffectedNode(const uint256&);
const STObject& peekAffectedNode(const uint256&) const;
//std::vector<RippleAddress> getAffectedAccounts();
Json::Value getJson(int p) const { return getAsObject().getJson(p); }
void addRaw(Serializer&, TER);