diff --git a/src/rpc/handlers/AccountLines.cpp b/src/rpc/handlers/AccountLines.cpp index a5ab872d..5644e7da 100644 --- a/src/rpc/handlers/AccountLines.cpp +++ b/src/rpc/handlers/AccountLines.cpp @@ -102,6 +102,12 @@ AccountLinesHandler::addLine( line.qualityIn = lineQualityIn; line.qualityOut = lineQualityOut; + if (lineNoRipple) + line.noRipple = true; + + if (lineNoRipplePeer) + line.noRipplePeer = true; + if (lineAuth) line.authorized = true; @@ -120,8 +126,6 @@ AccountLinesHandler::addLine( if (lineDeepFreezePeer) line.deepFreezePeer = true; - line.noRipple = lineNoRipple; - line.noRipplePeer = lineNoRipplePeer; lines.push_back(line); } @@ -257,8 +261,11 @@ tag_invoke( {JS(quality_out), line.qualityOut}, }; - obj[JS(no_ripple)] = line.noRipple; - obj[JS(no_ripple_peer)] = line.noRipplePeer; + if (line.noRipple) + obj[JS(no_ripple)] = *(line.noRipple); + + if (line.noRipplePeer) + obj[JS(no_ripple_peer)] = *(line.noRipplePeer); if (line.authorized) obj[JS(authorized)] = *(line.authorized); diff --git a/src/rpc/handlers/AccountLines.hpp b/src/rpc/handlers/AccountLines.hpp index 3388f316..38d6f523 100644 --- a/src/rpc/handlers/AccountLines.hpp +++ b/src/rpc/handlers/AccountLines.hpp @@ -70,8 +70,8 @@ public: std::string limitPeer; uint32_t qualityIn{}; uint32_t qualityOut{}; - bool noRipple{}; - bool noRipplePeer{}; + std::optional noRipple; + std::optional noRipplePeer; std::optional authorized; std::optional peerAuthorized; std::optional freeze; diff --git a/tests/unit/rpc/handlers/AccountLinesTests.cpp b/tests/unit/rpc/handlers/AccountLinesTests.cpp index 1fa5e00f..2d0b72aa 100644 --- a/tests/unit/rpc/handlers/AccountLinesTests.cpp +++ b/tests/unit/rpc/handlers/AccountLinesTests.cpp @@ -522,9 +522,7 @@ TEST_F(RPCAccountLinesHandlerTest, DefaultParameterTest) "limit": "100", "limit_peer": "200", "quality_in": 0, - "quality_out": 0, - "no_ripple": false, - "no_ripple_peer": false + "quality_out": 0 }, { "account": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", @@ -533,9 +531,7 @@ TEST_F(RPCAccountLinesHandlerTest, DefaultParameterTest) "limit": "200", "limit_peer": "100", "quality_in": 0, - "quality_out": 0, - "no_ripple": false, - "no_ripple_peer": false + "quality_out": 0 } ] })"; @@ -737,7 +733,6 @@ TEST_F(RPCAccountLinesHandlerTest, OptionalResponseField) "limit_peer": "200", "quality_in": 0, "quality_out": 0, - "no_ripple": false, "no_ripple_peer": true, "peer_authorized": true, "freeze_peer": true, @@ -752,7 +747,6 @@ TEST_F(RPCAccountLinesHandlerTest, OptionalResponseField) "quality_in": 0, "quality_out": 0, "no_ripple": true, - "no_ripple_peer": false, "authorized": true, "freeze": true, "deep_freeze": true @@ -992,9 +986,7 @@ TEST_F(RPCAccountLinesHandlerTest, LimitLessThanMin) "limit": "100", "limit_peer": "200", "quality_in": 0, - "quality_out": 0, - "no_ripple": false, - "no_ripple_peer": false + "quality_out": 0 }}, {{ "account": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", @@ -1003,9 +995,7 @@ TEST_F(RPCAccountLinesHandlerTest, LimitLessThanMin) "limit": "200", "limit_peer": "100", "quality_in": 0, - "quality_out": 0, - "no_ripple": false, - "no_ripple_peer": false + "quality_out": 0 }} ] }})", @@ -1073,9 +1063,7 @@ TEST_F(RPCAccountLinesHandlerTest, LimitMoreThanMax) "limit": "100", "limit_peer": "200", "quality_in": 0, - "quality_out": 0, - "no_ripple": false, - "no_ripple_peer": false + "quality_out": 0 }}, {{ "account": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", @@ -1084,9 +1072,7 @@ TEST_F(RPCAccountLinesHandlerTest, LimitMoreThanMax) "limit": "200", "limit_peer": "100", "quality_in": 0, - "quality_out": 0, - "no_ripple": false, - "no_ripple_peer": false + "quality_out": 0 }} ] }})",