fix: ripple_flag logic in account lines (#1969)

fixes #1968
This commit is contained in:
Peter Chen
2025-03-19 10:26:04 -04:00
committed by GitHub
parent 7943f47939
commit a36aa3618f
3 changed files with 19 additions and 26 deletions

View File

@@ -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);

View File

@@ -70,8 +70,8 @@ public:
std::string limitPeer;
uint32_t qualityIn{};
uint32_t qualityOut{};
bool noRipple{};
bool noRipplePeer{};
std::optional<bool> noRipple;
std::optional<bool> noRipplePeer;
std::optional<bool> authorized;
std::optional<bool> peerAuthorized;
std::optional<bool> freeze;

View File

@@ -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
}}
]
}})",