mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-04 19:25:51 +00:00
Transactor refactoring:
- Reorganize transactor source files and VS project - Don't expose Transactor interfaces to anyone but the TransactionEngine - Improve compile times - Begin using Journal
This commit is contained in:
@@ -1223,6 +1223,7 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\ripple_app_pt9.cpp" />
|
||||
<ClCompile Include="..\..\src\ripple_app\rpc\RPCServerHandler.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
@@ -1295,43 +1296,55 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\AccountSetTransactor.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\AccountSetTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\ChangeTransactor.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\ChangeTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\OfferCancelTransactor.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\OfferCancelTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\OfferCreateTransactor.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\OfferCreateTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\PaymentTransactor.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\PaymentTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\RegularKeySetTransactor.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\RegularKeySetTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionAcquire.cpp">
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\Transactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\TrustSetTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\WalletAddTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
@@ -1343,6 +1356,12 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionAcquire.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionCheck.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
@@ -1373,30 +1392,12 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\Transactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TrustSetTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TxQueueEntry.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\WalletAddTransactor.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\websocket\WSConnection.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
@@ -2540,22 +2541,22 @@
|
||||
<ClInclude Include="..\..\src\ripple_app\shamap\SHAMapSyncFilters.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\shamap\RadixMapTest.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\shamap\SHAMapTreeNode.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\AccountSetTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\ChangeTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\OfferCancelTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\OfferCreateTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\PaymentTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\RegularKeySetTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionAcquire.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\AccountSetTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\ChangeTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\OfferCancelTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\OfferCreateTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\PaymentTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\RegularKeySetTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\Transactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\TrustSetTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\WalletAddTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\Transaction.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionAcquire.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionEngine.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionMaster.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionMeta.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TxQueue.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\Transactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TrustSetTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TxQueueEntry.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\WalletAddTransactor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\websocket\WSConnection.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\websocket\WSDoor.h" />
|
||||
<ClInclude Include="..\..\src\ripple_app\websocket\WSServerHandler.h" />
|
||||
|
||||
@@ -316,6 +316,9 @@
|
||||
<Filter Include="[2] Old Ripple\ripple_overlay\impl">
|
||||
<UniqueIdentifier>{0ff855ac-5038-4b16-a324-ba85d782c0e2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="[2] Old Ripple\ripple_app\transactors">
|
||||
<UniqueIdentifier>{dcb7c75c-4f1d-486c-8079-52dc43644ae6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\ripple_basics\containers\RangeSet.cpp">
|
||||
@@ -747,51 +750,6 @@
|
||||
<ClCompile Include="..\..\src\ripple_app\consensus\DisputedTx.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\consensus</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\AccountSetTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\ChangeTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\OfferCancelTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\OfferCreateTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\PaymentTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\RegularKeySetTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionAcquire.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\Transaction.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionCheck.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionEngine.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionMaster.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionMeta.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\Transactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TrustSetTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\WalletAddTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\main\RippleMain.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\main</Filter>
|
||||
</ClCompile>
|
||||
@@ -849,12 +807,6 @@
|
||||
<ClCompile Include="..\..\src\ripple_app\misc\ProofOfWork.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\misc</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TxQueue.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TxQueueEntry.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\protobuf_core.cpp">
|
||||
<Filter>[0] Libraries\protobuf</Filter>
|
||||
</ClCompile>
|
||||
@@ -1488,6 +1440,60 @@
|
||||
<ClCompile Include="..\..\src\ripple\peerfinder\impl\SlotImp.cpp">
|
||||
<Filter>[1] Ripple\peerfinder\impl</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\ripple_app_pt9.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\Transaction.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionAcquire.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionCheck.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionEngine.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionMaster.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TransactionMeta.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TxQueue.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\tx\TxQueueEntry.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\AccountSetTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\ChangeTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\OfferCancelTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\OfferCreateTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\PaymentTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\RegularKeySetTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\Transactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\TrustSetTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ripple_app\transactors\WalletAddTransactor.cpp">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\src\ripple_basics\containers\RangeSet.h">
|
||||
@@ -1973,48 +1979,6 @@
|
||||
<ClInclude Include="..\..\src\ripple_app\consensus\LedgerConsensus.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\consensus</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\AccountSetTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\ChangeTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\OfferCancelTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\OfferCreateTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\PaymentTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\RegularKeySetTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionAcquire.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\Transaction.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionEngine.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionMaster.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionMeta.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\Transactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TrustSetTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\WalletAddTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\main\RippleMain.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\main</Filter>
|
||||
</ClInclude>
|
||||
@@ -2063,27 +2027,18 @@
|
||||
<ClInclude Include="..\..\src\ripple_data\protocol\BuildInfo.h">
|
||||
<Filter>[1] Ripple\ripple_data\protocol</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\RippleSSLContext.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\HTTPRequest.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\HTTPClient.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\MultiSocket.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\RPCServer.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\SNTPClient.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\impl\MultiSocketType.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics\impl</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_net\basics\RPCDoor.h">
|
||||
<Filter>[1] Ripple\ripple_net\basics</Filter>
|
||||
</ClInclude>
|
||||
@@ -2120,12 +2075,6 @@
|
||||
<ClInclude Include="..\..\src\ripple_app\misc\ProofOfWorkFactory.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\misc</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TxQueue.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TxQueueEntry.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\misc\Validations.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\misc</Filter>
|
||||
</ClInclude>
|
||||
@@ -3051,6 +3000,54 @@
|
||||
<ClInclude Include="..\..\src\ripple\peerfinder\impl\StoreSqdb.h">
|
||||
<Filter>[1] Ripple\peerfinder\impl</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\Transaction.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionAcquire.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionEngine.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionMaster.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TransactionMeta.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TxQueue.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\tx\TxQueueEntry.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\tx</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\AccountSetTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\ChangeTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\OfferCancelTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\OfferCreateTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\PaymentTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\RegularKeySetTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\Transactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\TrustSetTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ripple_app\transactors\WalletAddTransactor.h">
|
||||
<Filter>[2] Old Ripple\ripple_app\transactors</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\src\ripple_data\protocol\ripple.proto">
|
||||
|
||||
@@ -207,6 +207,7 @@ COMPILED_FILES.extend([
|
||||
'src/ripple_app/ripple_app_pt6.cpp',
|
||||
'src/ripple_app/ripple_app_pt7.cpp',
|
||||
'src/ripple_app/ripple_app_pt8.cpp',
|
||||
'src/ripple_app/ripple_app_pt9.cpp',
|
||||
'src/ripple_basics/ripple_basics.cpp',
|
||||
'src/ripple_core/ripple_core.cpp',
|
||||
'src/ripple_data/ripple_data.cpp',
|
||||
|
||||
@@ -126,15 +126,11 @@ namespace ripple {
|
||||
#include "main/Application.h"
|
||||
namespace ripple {
|
||||
#include "ledger/OrderBookDB.h"
|
||||
#include "tx/Transactor.h"
|
||||
#include "tx/ChangeTransactor.h"
|
||||
#include "tx/TransactionAcquire.h"
|
||||
#include "consensus/DisputedTx.h"
|
||||
#include "consensus/LedgerConsensus.h"
|
||||
#include "ledger/LedgerTiming.h"
|
||||
#include "misc/Offer.h"
|
||||
#include "tx/OfferCancelTransactor.h"
|
||||
#include "tx/OfferCreateTransactor.h"
|
||||
#include "paths/RippleLineCache.h"
|
||||
#include "paths/PathRequest.h"
|
||||
#include "paths/PathRequests.h"
|
||||
@@ -143,12 +139,7 @@ namespace ripple {
|
||||
#include "paths/PathState.h"
|
||||
#include "paths/RippleCalc.h"
|
||||
#include "paths/Pathfinder.h"
|
||||
#include "tx/PaymentTransactor.h"
|
||||
#include "tx/RegularKeySetTransactor.h"
|
||||
#include "paths/RippleState.h"
|
||||
#include "tx/AccountSetTransactor.h"
|
||||
#include "tx/TrustSetTransactor.h"
|
||||
#include "tx/WalletAddTransactor.h"
|
||||
// VFALCO NOTE These contracts files are bunk
|
||||
#include "contracts/ScriptData.h"
|
||||
#include "contracts/Contract.h"
|
||||
|
||||
@@ -31,12 +31,10 @@ namespace ripple {
|
||||
#include "shamap/SHAMapMissingNode.cpp"
|
||||
|
||||
#include "misc/AccountItem.cpp"
|
||||
#include "tx/AccountSetTransactor.cpp"
|
||||
#include "misc/CanonicalTXSet.cpp"
|
||||
#include "ledger/LedgerProposal.cpp"
|
||||
#include "main/LoadManager.cpp"
|
||||
#include "misc/NicknameState.cpp"
|
||||
#include "tx/OfferCancelTransactor.cpp"
|
||||
#include "ledger/OrderBookDB.cpp"
|
||||
|
||||
#include "data/Database.cpp"
|
||||
|
||||
@@ -30,7 +30,6 @@ namespace ripple
|
||||
#include "shamap/SHAMapTreeNode.cpp"
|
||||
#include "misc/AccountItems.cpp"
|
||||
#include "misc/AccountState.cpp"
|
||||
#include "tx/ChangeTransactor.cpp"
|
||||
#include "contracts/Contract.cpp"
|
||||
#include "contracts/Operation.cpp"
|
||||
#include "contracts/ScriptData.cpp"
|
||||
|
||||
@@ -27,8 +27,9 @@
|
||||
|
||||
#include <fstream> // for UniqueNodeList.cpp
|
||||
|
||||
namespace ripple
|
||||
{
|
||||
#include "transactors/Transactor.h"
|
||||
|
||||
namespace ripple {
|
||||
|
||||
#include "paths/RippleState.cpp"
|
||||
|
||||
@@ -36,14 +37,10 @@ namespace ripple
|
||||
|
||||
#include "ledger/InboundLedger.cpp"
|
||||
|
||||
#include "tx/PaymentTransactor.cpp"
|
||||
#include "tx/RegularKeySetTransactor.cpp"
|
||||
#include "tx/TransactionCheck.cpp"
|
||||
#include "tx/TransactionMaster.cpp"
|
||||
#include "tx/TrustSetTransactor.cpp"
|
||||
#include "tx/Transaction.cpp"
|
||||
#include "tx/TransactionEngine.cpp"
|
||||
#include "tx/TransactionMeta.cpp"
|
||||
#include "tx/Transactor.cpp"
|
||||
|
||||
}
|
||||
|
||||
@@ -39,7 +39,5 @@ namespace ripple {
|
||||
#include "ledger/AcceptedLedgerTx.cpp"
|
||||
#include "main/LocalCredentials.cpp"
|
||||
#include "misc/Validations.cpp"
|
||||
#include "tx/OfferCreateTransactor.cpp"
|
||||
#include "tx/WalletAddTransactor.cpp"
|
||||
#include "misc/FeeVote.cpp"
|
||||
}
|
||||
|
||||
32
src/ripple_app/ripple_app_pt9.cpp
Normal file
32
src/ripple_app/ripple_app_pt9.cpp
Normal file
@@ -0,0 +1,32 @@
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
This file is part of rippled: https://github.com/ripple/rippled
|
||||
Copyright (c) 2012, 2013 Ripple Labs Inc.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
#include "BeastConfig.h"
|
||||
|
||||
#include "ripple_app.h"
|
||||
|
||||
#include "transactors/Transactor.cpp"
|
||||
#include "transactors/ChangeTransactor.cpp"
|
||||
#include "transactors/OfferCancelTransactor.cpp"
|
||||
#include "transactors/OfferCreateTransactor.cpp"
|
||||
#include "transactors/PaymentTransactor.cpp"
|
||||
#include "transactors/RegularKeySetTransactor.cpp"
|
||||
#include "transactors/AccountSetTransactor.cpp"
|
||||
#include "transactors/WalletAddTransactor.cpp"
|
||||
#include "transactors/TrustSetTransactor.cpp"
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (AccountSetTransactor)
|
||||
|
||||
TER AccountSetTransactor::doApply ()
|
||||
@@ -310,4 +312,4 @@ TER AccountSetTransactor::doApply ()
|
||||
return tesSUCCESS;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef ACCOUNTSETTRANSACTOR_H
|
||||
#define ACCOUNTSETTRANSACTOR_H
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class AccountSetTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -27,6 +29,7 @@ public:
|
||||
|
||||
TER doApply ();
|
||||
};
|
||||
#endif
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (ChangeTransactor)
|
||||
|
||||
TER ChangeTransactor::doApply ()
|
||||
@@ -136,3 +138,5 @@ TER ChangeTransactor::applyFee ()
|
||||
WriteLog (lsWARNING, ChangeTransactor) << "Fees have been changed";
|
||||
return tesSUCCESS;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class ChangeTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -43,4 +45,4 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (OfferCancelTransactor)
|
||||
|
||||
TER OfferCancelTransactor::doApply ()
|
||||
@@ -67,4 +69,4 @@ TER OfferCancelTransactor::doApply ()
|
||||
return terResult;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef OFFERCANCELTRANSACTOR_H
|
||||
#define OFFERCANCELTRANSACTOR_H
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class OfferCancelTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -27,6 +29,7 @@ public:
|
||||
|
||||
TER doApply ();
|
||||
};
|
||||
#endif
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (OfferCreateTransactor)
|
||||
|
||||
// Make sure an offer is still valid. If not, mark it unfunded.
|
||||
@@ -749,4 +751,5 @@ TER OfferCreateTransactor::doApply ()
|
||||
return terResult;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef __OFFERCREATETRANSACTOR__
|
||||
#define __OFFERCREATETRANSACTOR__
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class OfferCreateTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -57,6 +59,6 @@ private:
|
||||
std::set<missingOffer_t> usMissingOffers;
|
||||
};
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
#endif
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (PaymentTransactor)
|
||||
|
||||
#define RIPPLE_PATHS_MAX 6
|
||||
@@ -262,4 +264,5 @@ TER PaymentTransactor::doApply ()
|
||||
return terResult;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef __PAYMENTTRANSACTOR__
|
||||
#define __PAYMENTTRANSACTOR__
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class PaymentTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -27,6 +29,7 @@ public:
|
||||
|
||||
TER doApply ();
|
||||
};
|
||||
#endif
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (RegularKeySetTransactor)
|
||||
|
||||
uint64 RegularKeySetTransactor::calculateBaseFee ()
|
||||
@@ -68,4 +70,4 @@ TER RegularKeySetTransactor::doApply ()
|
||||
return tesSUCCESS;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef REGULARKEYSETTRANSACTOR_H
|
||||
#define REGULARKEYSETTRANSACTOR_H
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class RegularKeySetTransactor : public Transactor
|
||||
{
|
||||
uint64 calculateBaseFee ();
|
||||
@@ -28,6 +30,7 @@ public:
|
||||
TER checkFee ();
|
||||
TER doApply ();
|
||||
};
|
||||
#endif
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -17,36 +17,57 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
SETUP_LOG (Transactor)
|
||||
#include "Transactor.h"
|
||||
#include "ChangeTransactor.h"
|
||||
#include "OfferCancelTransactor.h"
|
||||
#include "OfferCreateTransactor.h"
|
||||
#include "PaymentTransactor.h"
|
||||
#include "RegularKeySetTransactor.h"
|
||||
#include "AccountSetTransactor.h"
|
||||
#include "TrustSetTransactor.h"
|
||||
#include "WalletAddTransactor.h"
|
||||
|
||||
std::unique_ptr<Transactor> Transactor::makeTransactor (const SerializedTransaction& txn, TransactionEngineParams params, TransactionEngine* engine)
|
||||
namespace ripple {
|
||||
|
||||
std::unique_ptr<Transactor> Transactor::makeTransactor (
|
||||
SerializedTransaction const& txn,
|
||||
TransactionEngineParams params,
|
||||
TransactionEngine* engine)
|
||||
{
|
||||
switch (txn.getTxnType ())
|
||||
{
|
||||
case ttPAYMENT:
|
||||
return std::unique_ptr<Transactor> (new PaymentTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new PaymentTransactor (txn, params, engine));
|
||||
|
||||
case ttACCOUNT_SET:
|
||||
return std::unique_ptr<Transactor> (new AccountSetTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new AccountSetTransactor (txn, params, engine));
|
||||
|
||||
case ttREGULAR_KEY_SET:
|
||||
return std::unique_ptr<Transactor> (new RegularKeySetTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new RegularKeySetTransactor (txn, params, engine));
|
||||
|
||||
case ttTRUST_SET:
|
||||
return std::unique_ptr<Transactor> (new TrustSetTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new TrustSetTransactor (txn, params, engine));
|
||||
|
||||
case ttOFFER_CREATE:
|
||||
return std::unique_ptr<Transactor> (new OfferCreateTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new OfferCreateTransactor (txn, params, engine));
|
||||
|
||||
case ttOFFER_CANCEL:
|
||||
return std::unique_ptr<Transactor> (new OfferCancelTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new OfferCancelTransactor (txn, params, engine));
|
||||
|
||||
case ttWALLET_ADD:
|
||||
return std::unique_ptr<Transactor> (new WalletAddTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new WalletAddTransactor (txn, params, engine));
|
||||
|
||||
case ttFEATURE:
|
||||
case ttFEE:
|
||||
return std::unique_ptr<Transactor> (new ChangeTransactor (txn, params, engine));
|
||||
return std::unique_ptr<Transactor> (
|
||||
new ChangeTransactor (txn, params, engine));
|
||||
|
||||
default:
|
||||
return std::unique_ptr<Transactor> ();
|
||||
@@ -54,15 +75,24 @@ std::unique_ptr<Transactor> Transactor::makeTransactor (const SerializedTransact
|
||||
}
|
||||
|
||||
|
||||
Transactor::Transactor (const SerializedTransaction& txn, TransactionEngineParams params, TransactionEngine* engine) : mTxn (txn), mEngine (engine), mParams (params)
|
||||
Transactor::Transactor (
|
||||
SerializedTransaction const& txn,
|
||||
TransactionEngineParams params,
|
||||
TransactionEngine* engine,
|
||||
Journal journal)
|
||||
: mTxn (txn)
|
||||
, mEngine (engine)
|
||||
, mParams (params)
|
||||
, mHasAuthKey (false)
|
||||
, mSigMaster (false)
|
||||
, m_journal (journal)
|
||||
{
|
||||
mHasAuthKey = false;
|
||||
mSigMaster = false;
|
||||
}
|
||||
|
||||
void Transactor::calculateFee ()
|
||||
{
|
||||
mFeeDue = STAmount (mEngine->getLedger ()->scaleFeeLoad (calculateBaseFee (), isSetBit (mParams, tapADMIN)));
|
||||
mFeeDue = STAmount (mEngine->getLedger ()->scaleFeeLoad (
|
||||
calculateBaseFee (), isSetBit (mParams, tapADMIN)));
|
||||
}
|
||||
|
||||
uint64 Transactor::calculateBaseFee ()
|
||||
@@ -80,9 +110,8 @@ TER Transactor::payFee ()
|
||||
// Only check fee is sufficient when the ledger is open.
|
||||
if (isSetBit (mParams, tapOPEN_LEDGER) && saPaid < mFeeDue)
|
||||
{
|
||||
WriteLog (lsINFO, Transactor) << boost::str (boost::format ("applyTransaction: Insufficient fee paid: %s/%s")
|
||||
% saPaid.getText ()
|
||||
% mFeeDue.getText ());
|
||||
m_journal.info << "Insufficient fee paid: " <<
|
||||
saPaid.getText () << "/" << mFeeDue.getText ();
|
||||
|
||||
return telINSUF_FEE_P;
|
||||
}
|
||||
@@ -96,10 +125,9 @@ TER Transactor::payFee ()
|
||||
// Will only write the account back, if the transaction succeeds.
|
||||
if (mSourceBalance < saPaid)
|
||||
{
|
||||
WriteLog (lsINFO, Transactor)
|
||||
<< boost::str (boost::format ("applyTransaction: Delay: insufficient balance: balance=%s paid=%s")
|
||||
% mSourceBalance.getText ()
|
||||
% saPaid.getText ());
|
||||
m_journal.info << "Insufficient balance:" <<
|
||||
" balance=" << mSourceBalance.getText () <<
|
||||
" paid=" << saPaid.getText ();
|
||||
|
||||
return terINSUF_FEE_B;
|
||||
}
|
||||
@@ -128,13 +156,12 @@ TER Transactor::checkSig ()
|
||||
}
|
||||
else if (mHasAuthKey)
|
||||
{
|
||||
WriteLog (lsINFO, Transactor) << "applyTransaction: Delay: Not authorized to use account.";
|
||||
|
||||
m_journal.info << "applyTransaction: Delay: Not authorized to use account.";
|
||||
return tefBAD_AUTH;
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteLog (lsINFO, Transactor) << "applyTransaction: Invalid: Not authorized to use account.";
|
||||
m_journal.info << "applyTransaction: Invalid: Not authorized to use account.";
|
||||
|
||||
return temBAD_AUTH_MASTER;
|
||||
}
|
||||
@@ -147,13 +174,13 @@ TER Transactor::checkSeq ()
|
||||
uint32 t_seq = mTxn.getSequence ();
|
||||
uint32 a_seq = mTxnAccount->getFieldU32 (sfSequence);
|
||||
|
||||
WriteLog (lsTRACE, Transactor) << "Aseq=" << a_seq << ", Tseq=" << t_seq;
|
||||
m_journal.trace << "Aseq=" << a_seq << ", Tseq=" << t_seq;
|
||||
|
||||
if (t_seq != a_seq)
|
||||
{
|
||||
if (a_seq < t_seq)
|
||||
{
|
||||
WriteLog (lsINFO, Transactor) << "applyTransaction: future sequence number";
|
||||
m_journal.info << "apply: transaction has future sequence number";
|
||||
|
||||
return terPRE_SEQ;
|
||||
}
|
||||
@@ -165,7 +192,7 @@ TER Transactor::checkSeq ()
|
||||
return tefALREADY;
|
||||
}
|
||||
|
||||
WriteLog (lsWARNING, Transactor) << "applyTransaction: past sequence number";
|
||||
m_journal.warning << "apply: transaction has past sequence number";
|
||||
|
||||
return tefPAST_SEQ;
|
||||
}
|
||||
@@ -198,8 +225,7 @@ TER Transactor::preCheck ()
|
||||
|
||||
if (!mTxnAccountID)
|
||||
{
|
||||
WriteLog (lsWARNING, Transactor) << "applyTransaction: bad source id";
|
||||
|
||||
m_journal.warning << "apply: bad transaction source id";
|
||||
return temBAD_SRC_ACCOUNT;
|
||||
}
|
||||
|
||||
@@ -216,7 +242,7 @@ TER Transactor::preCheck ()
|
||||
if (mTxn.isKnownBad () || (!isSetBit (mParams, tapNO_CHECK_SIGN) && !mTxn.checkSign (mSigningPubKey)))
|
||||
{
|
||||
mTxn.setBad ();
|
||||
WriteLog (lsWARNING, Transactor) << "applyTransaction: Invalid transaction: bad signature";
|
||||
m_journal.warning << "apply: Invalid transaction (bad signature)";
|
||||
return temINVALID;
|
||||
}
|
||||
|
||||
@@ -228,26 +254,29 @@ TER Transactor::preCheck ()
|
||||
|
||||
TER Transactor::apply ()
|
||||
{
|
||||
TER terResult = tesSUCCESS;
|
||||
terResult = preCheck ();
|
||||
TER terResult (preCheck ());
|
||||
|
||||
if (terResult != tesSUCCESS) return (terResult);
|
||||
if (terResult != tesSUCCESS)
|
||||
return (terResult);
|
||||
|
||||
// Restructure this to avoid the dependency on LedgerBase::mLock
|
||||
Ledger::ScopedLockType sl (mEngine->getLedger ()->mLock, __FILE__, __LINE__);
|
||||
|
||||
mTxnAccount = mEngine->entryCache (ltACCOUNT_ROOT, Ledger::getAccountRootIndex (mTxnAccountID));
|
||||
mTxnAccount = mEngine->entryCache (ltACCOUNT_ROOT,
|
||||
Ledger::getAccountRootIndex (mTxnAccountID));
|
||||
calculateFee ();
|
||||
|
||||
// Find source account
|
||||
// If are only forwarding, due to resource limitations, we might verifying only some transactions, this would be probabilistic.
|
||||
// If are only forwarding, due to resource limitations, we might verifying
|
||||
// only some transactions, this would be probabilistic.
|
||||
|
||||
if (!mTxnAccount)
|
||||
{
|
||||
if (mustHaveValidAccount ())
|
||||
{
|
||||
WriteLog (lsTRACE, Transactor) << boost::str (boost::format ("applyTransaction: Delay transaction: source account does not exist: %s") %
|
||||
mTxn.getSourceAccount ().humanAccountID ());
|
||||
|
||||
m_journal.trace <<
|
||||
"apply: delay transaction: source account does not exist " <<
|
||||
mTxn.getSourceAccount ().humanAccountID ();
|
||||
return terNO_ACCOUNT;
|
||||
}
|
||||
}
|
||||
@@ -276,4 +305,4 @@ TER Transactor::apply ()
|
||||
return doApply ();
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -20,17 +20,20 @@
|
||||
#ifndef __TRANSACTOR__
|
||||
#define __TRANSACTOR__
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class Transactor
|
||||
{
|
||||
public:
|
||||
typedef boost::shared_ptr<Transactor> pointer;
|
||||
|
||||
static std::unique_ptr<Transactor> makeTransactor (const SerializedTransaction& txn, TransactionEngineParams params, TransactionEngine* engine);
|
||||
static std::unique_ptr<Transactor> makeTransactor (
|
||||
SerializedTransaction const& txn,
|
||||
TransactionEngineParams params,
|
||||
TransactionEngine* engine);
|
||||
|
||||
TER apply ();
|
||||
|
||||
protected:
|
||||
const SerializedTransaction& mTxn;
|
||||
SerializedTransaction const& mTxn;
|
||||
TransactionEngine* mEngine;
|
||||
TransactionEngineParams mParams;
|
||||
|
||||
@@ -43,6 +46,8 @@ protected:
|
||||
bool mSigMaster;
|
||||
RippleAddress mSigningPubKey;
|
||||
|
||||
Journal m_journal;
|
||||
|
||||
virtual TER preCheck ();
|
||||
virtual TER checkSeq ();
|
||||
virtual TER payFee ();
|
||||
@@ -55,7 +60,11 @@ protected:
|
||||
virtual TER checkSig ();
|
||||
virtual TER doApply () = 0;
|
||||
|
||||
Transactor (const SerializedTransaction& txn, TransactionEngineParams params, TransactionEngine* engine);
|
||||
Transactor (
|
||||
const SerializedTransaction& txn,
|
||||
TransactionEngineParams params,
|
||||
TransactionEngine* engine,
|
||||
Journal journal = Journal ());
|
||||
|
||||
virtual bool mustHaveValidAccount ()
|
||||
{
|
||||
@@ -63,6 +72,6 @@ protected:
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
#endif
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (TrustSetTransactor)
|
||||
|
||||
TER TrustSetTransactor::doApply ()
|
||||
@@ -365,4 +367,4 @@ TER TrustSetTransactor::doApply ()
|
||||
return terResult;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef TRUSTSETTRANSACTOR_H
|
||||
#define TRUSTSETTRANSACTOR_H
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class TrustSetTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -27,6 +29,7 @@ public:
|
||||
|
||||
TER doApply ();
|
||||
};
|
||||
#endif
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -17,6 +17,8 @@
|
||||
*/
|
||||
//==============================================================================
|
||||
|
||||
namespace ripple {
|
||||
|
||||
SETUP_LOG (WalletAddTransactor)
|
||||
|
||||
TER WalletAddTransactor::doApply ()
|
||||
@@ -90,4 +92,4 @@ TER WalletAddTransactor::doApply ()
|
||||
return tesSUCCESS;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
@@ -20,6 +20,8 @@
|
||||
#ifndef WALLETADDTRANSACTOR_H
|
||||
#define WALLETADDTRANSACTOR_H
|
||||
|
||||
namespace ripple {
|
||||
|
||||
class WalletAddTransactor : public Transactor
|
||||
{
|
||||
public:
|
||||
@@ -27,6 +29,7 @@ public:
|
||||
|
||||
TER doApply ();
|
||||
};
|
||||
#endif
|
||||
|
||||
// vim:ts=4
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -109,119 +109,117 @@ TER TransactionEngine::applyTransaction (const SerializedTransaction& txn, Trans
|
||||
|
||||
std::unique_ptr<Transactor> transactor = Transactor::makeTransactor (txn, params, this);
|
||||
|
||||
if (transactor.get () != NULL)
|
||||
{
|
||||
TER terResult = transactor->apply ();
|
||||
std::string strToken;
|
||||
std::string strHuman;
|
||||
|
||||
transResultInfo (terResult, strToken, strHuman);
|
||||
|
||||
WriteLog (lsINFO, TransactionEngine) << "applyTransaction: terResult=" << strToken << " : " << terResult << " : " << strHuman;
|
||||
|
||||
if (isTesSuccess (terResult))
|
||||
didApply = true;
|
||||
else if (isTecClaim (terResult) && !isSetBit (params, tapRETRY))
|
||||
{
|
||||
// only claim the transaction fee
|
||||
WriteLog (lsDEBUG, TransactionEngine) << "Reprocessing to only claim fee";
|
||||
mNodes.clear ();
|
||||
|
||||
SLE::pointer txnAcct = entryCache (ltACCOUNT_ROOT, Ledger::getAccountRootIndex (txn.getSourceAccount ()));
|
||||
|
||||
if (!txnAcct)
|
||||
terResult = terNO_ACCOUNT;
|
||||
else
|
||||
{
|
||||
uint32 t_seq = txn.getSequence ();
|
||||
uint32 a_seq = txnAcct->getFieldU32 (sfSequence);
|
||||
|
||||
if (a_seq < t_seq)
|
||||
terResult = terPRE_SEQ;
|
||||
else if (a_seq > t_seq)
|
||||
terResult = tefPAST_SEQ;
|
||||
else
|
||||
{
|
||||
STAmount fee = txn.getTransactionFee ();
|
||||
STAmount balance = txnAcct->getFieldAmount (sfBalance);
|
||||
|
||||
if (balance < fee)
|
||||
terResult = terINSUF_FEE_B;
|
||||
else
|
||||
{
|
||||
txnAcct->setFieldAmount (sfBalance, balance - fee);
|
||||
txnAcct->setFieldU32 (sfSequence, t_seq + 1);
|
||||
entryModify (txnAcct);
|
||||
didApply = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
WriteLog (lsDEBUG, TransactionEngine) << "Not applying transaction " << txID;
|
||||
|
||||
if (didApply)
|
||||
{
|
||||
if (!checkInvariants (terResult, txn, params))
|
||||
{
|
||||
WriteLog (lsFATAL, TransactionEngine) << "Transaction violates invariants";
|
||||
WriteLog (lsFATAL, TransactionEngine) << txn.getJson (0);
|
||||
WriteLog (lsFATAL, TransactionEngine) << transToken (terResult) << ": " << transHuman (terResult);
|
||||
WriteLog (lsFATAL, TransactionEngine) << mNodes.getJson (0);
|
||||
didApply = false;
|
||||
terResult = tefINTERNAL;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Transaction succeeded fully or (retries are not allowed and the transaction could claim a fee)
|
||||
Serializer m;
|
||||
mNodes.calcRawMeta (m, terResult, mTxnSeq++);
|
||||
|
||||
txnWrite ();
|
||||
|
||||
Serializer s;
|
||||
txn.add (s);
|
||||
|
||||
if (isSetBit (params, tapOPEN_LEDGER))
|
||||
{
|
||||
if (!mLedger->addTransaction (txID, s))
|
||||
{
|
||||
WriteLog (lsFATAL, TransactionEngine) << "Tried to add transaction to open ledger that already had it";
|
||||
assert (false);
|
||||
throw std::runtime_error ("Duplicate transaction applied");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!mLedger->addTransaction (txID, s, m))
|
||||
{
|
||||
WriteLog (lsFATAL, TransactionEngine) << "Tried to add transaction to ledger that already had it";
|
||||
assert (false);
|
||||
throw std::runtime_error ("Duplicate transaction applied to closed ledger");
|
||||
}
|
||||
|
||||
// Charge whatever fee they specified.
|
||||
STAmount saPaid = txn.getTransactionFee ();
|
||||
mLedger->destroyCoins (saPaid.getNValue ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mTxnAccount.reset ();
|
||||
mNodes.clear ();
|
||||
|
||||
if (!isSetBit (params, tapOPEN_LEDGER) && isTemMalformed (terResult))
|
||||
{
|
||||
// XXX Malformed or failed transaction in closed ledger must bow out.
|
||||
}
|
||||
|
||||
return terResult;
|
||||
}
|
||||
else
|
||||
if (transactor.get () == NULL)
|
||||
{
|
||||
WriteLog (lsWARNING, TransactionEngine) << "applyTransaction: Invalid transaction: unknown transaction type";
|
||||
return temUNKNOWN;
|
||||
}
|
||||
|
||||
TER terResult = transactor->apply ();
|
||||
std::string strToken;
|
||||
std::string strHuman;
|
||||
|
||||
transResultInfo (terResult, strToken, strHuman);
|
||||
|
||||
WriteLog (lsINFO, TransactionEngine) << "applyTransaction: terResult=" << strToken << " : " << terResult << " : " << strHuman;
|
||||
|
||||
if (isTesSuccess (terResult))
|
||||
didApply = true;
|
||||
else if (isTecClaim (terResult) && !isSetBit (params, tapRETRY))
|
||||
{
|
||||
// only claim the transaction fee
|
||||
WriteLog (lsDEBUG, TransactionEngine) << "Reprocessing to only claim fee";
|
||||
mNodes.clear ();
|
||||
|
||||
SLE::pointer txnAcct = entryCache (ltACCOUNT_ROOT, Ledger::getAccountRootIndex (txn.getSourceAccount ()));
|
||||
|
||||
if (!txnAcct)
|
||||
terResult = terNO_ACCOUNT;
|
||||
else
|
||||
{
|
||||
uint32 t_seq = txn.getSequence ();
|
||||
uint32 a_seq = txnAcct->getFieldU32 (sfSequence);
|
||||
|
||||
if (a_seq < t_seq)
|
||||
terResult = terPRE_SEQ;
|
||||
else if (a_seq > t_seq)
|
||||
terResult = tefPAST_SEQ;
|
||||
else
|
||||
{
|
||||
STAmount fee = txn.getTransactionFee ();
|
||||
STAmount balance = txnAcct->getFieldAmount (sfBalance);
|
||||
|
||||
if (balance < fee)
|
||||
terResult = terINSUF_FEE_B;
|
||||
else
|
||||
{
|
||||
txnAcct->setFieldAmount (sfBalance, balance - fee);
|
||||
txnAcct->setFieldU32 (sfSequence, t_seq + 1);
|
||||
entryModify (txnAcct);
|
||||
didApply = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
WriteLog (lsDEBUG, TransactionEngine) << "Not applying transaction " << txID;
|
||||
|
||||
if (didApply)
|
||||
{
|
||||
if (!checkInvariants (terResult, txn, params))
|
||||
{
|
||||
WriteLog (lsFATAL, TransactionEngine) << "Transaction violates invariants";
|
||||
WriteLog (lsFATAL, TransactionEngine) << txn.getJson (0);
|
||||
WriteLog (lsFATAL, TransactionEngine) << transToken (terResult) << ": " << transHuman (terResult);
|
||||
WriteLog (lsFATAL, TransactionEngine) << mNodes.getJson (0);
|
||||
didApply = false;
|
||||
terResult = tefINTERNAL;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Transaction succeeded fully or (retries are not allowed and the transaction could claim a fee)
|
||||
Serializer m;
|
||||
mNodes.calcRawMeta (m, terResult, mTxnSeq++);
|
||||
|
||||
txnWrite ();
|
||||
|
||||
Serializer s;
|
||||
txn.add (s);
|
||||
|
||||
if (isSetBit (params, tapOPEN_LEDGER))
|
||||
{
|
||||
if (!mLedger->addTransaction (txID, s))
|
||||
{
|
||||
WriteLog (lsFATAL, TransactionEngine) << "Tried to add transaction to open ledger that already had it";
|
||||
assert (false);
|
||||
throw std::runtime_error ("Duplicate transaction applied");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!mLedger->addTransaction (txID, s, m))
|
||||
{
|
||||
WriteLog (lsFATAL, TransactionEngine) << "Tried to add transaction to ledger that already had it";
|
||||
assert (false);
|
||||
throw std::runtime_error ("Duplicate transaction applied to closed ledger");
|
||||
}
|
||||
|
||||
// Charge whatever fee they specified.
|
||||
STAmount saPaid = txn.getTransactionFee ();
|
||||
mLedger->destroyCoins (saPaid.getNValue ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mTxnAccount.reset ();
|
||||
mNodes.clear ();
|
||||
|
||||
if (!isSetBit (params, tapOPEN_LEDGER) && isTemMalformed (terResult))
|
||||
{
|
||||
// XXX Malformed or failed transaction in closed ledger must bow out.
|
||||
}
|
||||
|
||||
return terResult;
|
||||
}
|
||||
|
||||
// vim:ts=4
|
||||
|
||||
Reference in New Issue
Block a user