diff --git a/src/ipc/capnp/mining-types.h b/src/ipc/capnp/mining-types.h index 2e60b43fcf3..62789759490 100644 --- a/src/ipc/capnp/mining-types.h +++ b/src/ipc/capnp/mining-types.h @@ -14,13 +14,7 @@ #include namespace mp { -// Custom serialization for BlockValidationState. -void CustomBuildMessage(InvokeContext& invoke_context, - const BlockValidationState& src, - ipc::capnp::messages::BlockValidationState::Builder&& builder); -void CustomReadMessage(InvokeContext& invoke_context, - const ipc::capnp::messages::BlockValidationState::Reader& reader, - BlockValidationState& dest); +// Custom serializations } // namespace mp #endif // BITCOIN_IPC_CAPNP_MINING_TYPES_H diff --git a/src/ipc/capnp/mining.capnp b/src/ipc/capnp/mining.capnp index 32048e0ed19..f3327bf2e7b 100644 --- a/src/ipc/capnp/mining.capnp +++ b/src/ipc/capnp/mining.capnp @@ -44,13 +44,3 @@ struct BlockWaitOptions $Proxy.wrap("node::BlockWaitOptions") { timeout @0 : Float64 $Proxy.name("timeout"); feeThreshold @1 : Int64 $Proxy.name("fee_threshold"); } - -# Note: serialization of the BlockValidationState C++ type is somewhat fragile -# and using the struct can be awkward. It would be good if testBlockValidity -# method were changed to return validity information in a simpler format. -struct BlockValidationState { - mode @0 :Int32; - result @1 :Int32; - rejectReason @2 :Text; - debugMessage @3 :Text; -} diff --git a/src/ipc/capnp/mining.cpp b/src/ipc/capnp/mining.cpp index 0f9533c1c73..f598f1b2d8e 100644 --- a/src/ipc/capnp/mining.cpp +++ b/src/ipc/capnp/mining.cpp @@ -8,40 +8,4 @@ #include namespace mp { -void CustomBuildMessage(InvokeContext& invoke_context, - const BlockValidationState& src, - ipc::capnp::messages::BlockValidationState::Builder&& builder) -{ - if (src.IsValid()) { - builder.setMode(0); - } else if (src.IsInvalid()) { - builder.setMode(1); - } else if (src.IsError()) { - builder.setMode(2); - } else { - assert(false); - } - builder.setResult(static_cast(src.GetResult())); - builder.setRejectReason(src.GetRejectReason()); - builder.setDebugMessage(src.GetDebugMessage()); -} - -void CustomReadMessage(InvokeContext& invoke_context, - const ipc::capnp::messages::BlockValidationState::Reader& reader, - BlockValidationState& dest) -{ - if (reader.getMode() == 0) { - assert(reader.getResult() == 0); - assert(reader.getRejectReason().size() == 0); - assert(reader.getDebugMessage().size() == 0); - } else if (reader.getMode() == 1) { - dest.Invalid(static_cast(reader.getResult()), reader.getRejectReason(), reader.getDebugMessage()); - } else if (reader.getMode() == 2) { - assert(reader.getResult() == 0); - dest.Error(reader.getRejectReason()); - assert(reader.getDebugMessage().size() == 0); - } else { - assert(false); - } -} } // namespace mp diff --git a/src/test/ipc_test.capnp b/src/test/ipc_test.capnp index 7fd59cf5882..e33f711bf3c 100644 --- a/src/test/ipc_test.capnp +++ b/src/test/ipc_test.capnp @@ -19,6 +19,5 @@ interface FooInterface $Proxy.wrap("FooImplementation") { passUniValue @2 (arg :Text) -> (result :Text); passTransaction @3 (arg :Data) -> (result :Data); passVectorChar @4 (arg :Data) -> (result :Data); - passBlockState @5 (arg :Mining.BlockValidationState) -> (result :Mining.BlockValidationState); - passScript @6 (arg :Data) -> (result :Data); + passScript @5 (arg :Data) -> (result :Data); } diff --git a/src/test/ipc_test.cpp b/src/test/ipc_test.cpp index dd46883fb09..b4d7ad354cc 100644 --- a/src/test/ipc_test.cpp +++ b/src/test/ipc_test.cpp @@ -102,25 +102,6 @@ void IpcPipeTest() std::vector vec2{foo->passVectorChar(vec1)}; BOOST_CHECK_EQUAL(std::string_view(vec1.begin(), vec1.end()), std::string_view(vec2.begin(), vec2.end())); - BlockValidationState bs1; - bs1.Invalid(BlockValidationResult::BLOCK_MUTATED, "reject reason", "debug message"); - BlockValidationState bs2{foo->passBlockState(bs1)}; - BOOST_CHECK_EQUAL(bs1.IsValid(), bs2.IsValid()); - BOOST_CHECK_EQUAL(bs1.IsError(), bs2.IsError()); - BOOST_CHECK_EQUAL(bs1.IsInvalid(), bs2.IsInvalid()); - BOOST_CHECK_EQUAL(static_cast(bs1.GetResult()), static_cast(bs2.GetResult())); - BOOST_CHECK_EQUAL(bs1.GetRejectReason(), bs2.GetRejectReason()); - BOOST_CHECK_EQUAL(bs1.GetDebugMessage(), bs2.GetDebugMessage()); - - BlockValidationState bs3; - BlockValidationState bs4{foo->passBlockState(bs3)}; - BOOST_CHECK_EQUAL(bs3.IsValid(), bs4.IsValid()); - BOOST_CHECK_EQUAL(bs3.IsError(), bs4.IsError()); - BOOST_CHECK_EQUAL(bs3.IsInvalid(), bs4.IsInvalid()); - BOOST_CHECK_EQUAL(static_cast(bs3.GetResult()), static_cast(bs4.GetResult())); - BOOST_CHECK_EQUAL(bs3.GetRejectReason(), bs4.GetRejectReason()); - BOOST_CHECK_EQUAL(bs3.GetDebugMessage(), bs4.GetDebugMessage()); - auto script1{CScript() << OP_11}; auto script2{foo->passScript(script1)}; BOOST_CHECK_EQUAL(HexStr(script1), HexStr(script2));