mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-09 10:43:19 -05:00
[rpc] return full string for package_msg and package-error
This commit is contained in:
parent
158623b8e0
commit
9a29d470fb
3 changed files with 5 additions and 4 deletions
|
@ -199,7 +199,7 @@ static RPCHelpMan testmempoolaccept()
|
||||||
result_inner.pushKV("txid", tx->GetHash().GetHex());
|
result_inner.pushKV("txid", tx->GetHash().GetHex());
|
||||||
result_inner.pushKV("wtxid", tx->GetWitnessHash().GetHex());
|
result_inner.pushKV("wtxid", tx->GetWitnessHash().GetHex());
|
||||||
if (package_result.m_state.GetResult() == PackageValidationResult::PCKG_POLICY) {
|
if (package_result.m_state.GetResult() == PackageValidationResult::PCKG_POLICY) {
|
||||||
result_inner.pushKV("package-error", package_result.m_state.GetRejectReason());
|
result_inner.pushKV("package-error", package_result.m_state.ToString());
|
||||||
}
|
}
|
||||||
auto it = package_result.m_tx_results.find(tx->GetWitnessHash());
|
auto it = package_result.m_tx_results.find(tx->GetWitnessHash());
|
||||||
if (exit_early || it == package_result.m_tx_results.end()) {
|
if (exit_early || it == package_result.m_tx_results.end()) {
|
||||||
|
@ -909,7 +909,7 @@ static RPCHelpMan submitpackage()
|
||||||
case PackageValidationResult::PCKG_TX:
|
case PackageValidationResult::PCKG_TX:
|
||||||
{
|
{
|
||||||
// Package-wide error we want to return, but we also want to return individual responses
|
// Package-wide error we want to return, but we also want to return individual responses
|
||||||
package_msg = package_result.m_state.GetRejectReason();
|
package_msg = package_result.m_state.ToString();
|
||||||
CHECK_NONFATAL(package_result.m_tx_results.size() == txns.size() ||
|
CHECK_NONFATAL(package_result.m_tx_results.size() == txns.size() ||
|
||||||
package_result.m_tx_results.empty());
|
package_result.m_tx_results.empty());
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -29,7 +29,7 @@ def check_package_limits(func):
|
||||||
testres_error_expected = node.testmempoolaccept(rawtxs=package_hex)
|
testres_error_expected = node.testmempoolaccept(rawtxs=package_hex)
|
||||||
assert_equal(len(testres_error_expected), len(package_hex))
|
assert_equal(len(testres_error_expected), len(package_hex))
|
||||||
for txres in testres_error_expected:
|
for txres in testres_error_expected:
|
||||||
assert_equal(txres["package-error"], "package-mempool-limits")
|
assert "package-mempool-limits" in txres["package-error"]
|
||||||
|
|
||||||
# Clear mempool and check that the package passes now
|
# Clear mempool and check that the package passes now
|
||||||
self.generate(node, 1)
|
self.generate(node, 1)
|
||||||
|
|
|
@ -165,7 +165,8 @@ class BytesPerSigOpTest(BitcoinTestFramework):
|
||||||
# But together, it's exceeding limits in the *package* context. If sigops adjusted vsize wasn't being checked
|
# But together, it's exceeding limits in the *package* context. If sigops adjusted vsize wasn't being checked
|
||||||
# here, it would get further in validation and give too-long-mempool-chain error instead.
|
# here, it would get further in validation and give too-long-mempool-chain error instead.
|
||||||
packet_test = self.nodes[0].testmempoolaccept([tx_parent.serialize().hex(), tx_child.serialize().hex()])
|
packet_test = self.nodes[0].testmempoolaccept([tx_parent.serialize().hex(), tx_child.serialize().hex()])
|
||||||
assert_equal([x["package-error"] for x in packet_test], ["package-mempool-limits", "package-mempool-limits"])
|
expected_package_error = f"package-mempool-limits, package size {2*20*5000} exceeds ancestor size limit [limit: 101000]"
|
||||||
|
assert_equal([x["package-error"] for x in packet_test], [expected_package_error] * 2)
|
||||||
|
|
||||||
# When we actually try to submit, the parent makes it into the mempool, but the child would exceed ancestor vsize limits
|
# When we actually try to submit, the parent makes it into the mempool, but the child would exceed ancestor vsize limits
|
||||||
res = self.nodes[0].submitpackage([tx_parent.serialize().hex(), tx_child.serialize().hex()])
|
res = self.nodes[0].submitpackage([tx_parent.serialize().hex(), tx_child.serialize().hex()])
|
||||||
|
|
Loading…
Add table
Reference in a new issue