Support switchover from 0.27 to 0.28 processing semantics based on time:

Changes made to support autobridging and improve the offer-crossing and
pathfinding logic result in transaction-breaking changes which cause
incompatibilities between 0.27 and 0.28 builds of RippleD.

This patch simplifies deployment of 0.28 on the Ripple network by allowing
RippleD to emulate the 0.27 semantics while the last closed ledger closed
before March 30, 2015 at 13:00:00 PDT, after which time the new 0.28
semantics will become active.

The transaction-breaking changes addressed in this commit are:
    3ccbd7c9b2
    b203db27a4
This commit is contained in:
Nik Bougalis
2015-03-05 20:17:35 -08:00
committed by Tom Ritchford
parent eaa1f47f00
commit 8f88d915ba
22 changed files with 2577 additions and 1 deletions

View File

@@ -2317,6 +2317,44 @@
</ClInclude>
<ClInclude Include="..\..\src\ripple\json\Writer.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Amount.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Amounts.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\BookTip.h">
</ClInclude>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\BookTip.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\OfferStream.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\Quality.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\Taker.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Offer.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\OfferStream.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Quality.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Taker.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Types.h">
</ClInclude>
<ClCompile Include="..\..\src\ripple\legacy\0.27\CreateOffer.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClInclude Include="..\..\src\ripple\legacy\0.27\CreateOffer.h">
</ClInclude>
<ClCompile Include="..\..\src\ripple\legacy\0.27\Emulate027.cpp">
<ExcludedFromBuild>True</ExcludedFromBuild>
</ClCompile>
<ClInclude Include="..\..\src\ripple\legacy\0.27\Emulate027.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\net\HTTPClient.h">
</ClInclude>
<ClInclude Include="..\..\src\ripple\net\HTTPRequest.h">
@@ -3410,6 +3448,10 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug.classic|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release.classic|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\unity\legacy.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug.classic|x64'">True</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release.classic|x64'">True</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\ripple\unity\lz4.c">
</ClCompile>
<ClCompile Include="..\..\src\ripple\unity\net.cpp">

View File

@@ -355,6 +355,18 @@
<Filter Include="ripple\json\tests">
<UniqueIdentifier>{BA646284-836B-B151-F2AA-D18535D6F3C1}</UniqueIdentifier>
</Filter>
<Filter Include="ripple\legacy">
<UniqueIdentifier>{312AABAF-FDD8-31C7-C7DB-022D83CEA84F}</UniqueIdentifier>
</Filter>
<Filter Include="ripple\legacy\0.27">
<UniqueIdentifier>{F042ABF9-9B55-1118-07DA-1EECFBF1237B}</UniqueIdentifier>
</Filter>
<Filter Include="ripple\legacy\0.27\book">
<UniqueIdentifier>{73645AAD-9270-EE60-82A6-DFD2DBF65D6C}</UniqueIdentifier>
</Filter>
<Filter Include="ripple\legacy\0.27\book\impl">
<UniqueIdentifier>{381C3650-0CBD-536A-DE2D-301216CB03A6}</UniqueIdentifier>
</Filter>
<Filter Include="ripple\net">
<UniqueIdentifier>{6649BD29-BE86-723F-501A-045E39310112}</UniqueIdentifier>
</Filter>
@@ -3072,6 +3084,54 @@
<ClInclude Include="..\..\src\ripple\json\Writer.h">
<Filter>ripple\json</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Amount.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Amounts.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\BookTip.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\BookTip.cpp">
<Filter>ripple\legacy\0.27\book\impl</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\OfferStream.cpp">
<Filter>ripple\legacy\0.27\book\impl</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\Quality.cpp">
<Filter>ripple\legacy\0.27\book\impl</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\legacy\0.27\book\impl\Taker.cpp">
<Filter>ripple\legacy\0.27\book\impl</Filter>
</ClCompile>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Offer.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\OfferStream.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Quality.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Taker.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\legacy\0.27\book\Types.h">
<Filter>ripple\legacy\0.27\book</Filter>
</ClInclude>
<ClCompile Include="..\..\src\ripple\legacy\0.27\CreateOffer.cpp">
<Filter>ripple\legacy\0.27</Filter>
</ClCompile>
<ClInclude Include="..\..\src\ripple\legacy\0.27\CreateOffer.h">
<Filter>ripple\legacy\0.27</Filter>
</ClInclude>
<ClCompile Include="..\..\src\ripple\legacy\0.27\Emulate027.cpp">
<Filter>ripple\legacy\0.27</Filter>
</ClCompile>
<ClInclude Include="..\..\src\ripple\legacy\0.27\Emulate027.h">
<Filter>ripple\legacy\0.27</Filter>
</ClInclude>
<ClInclude Include="..\..\src\ripple\net\HTTPClient.h">
<Filter>ripple\net</Filter>
</ClInclude>
@@ -4185,6 +4245,9 @@
<ClCompile Include="..\..\src\ripple\unity\json.cpp">
<Filter>ripple\unity</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\unity\legacy.cpp">
<Filter>ripple\unity</Filter>
</ClCompile>
<ClCompile Include="..\..\src\ripple\unity\lz4.c">
<Filter>ripple\unity</Filter>
</ClCompile>