diff --git a/src/common/sv2_noise.cpp b/src/common/sv2_noise.cpp index 4e00fcb10c7d8d..f4fbbb30828609 100644 --- a/src/common/sv2_noise.cpp +++ b/src/common/sv2_noise.cpp @@ -21,8 +21,10 @@ uint256 Sv2SignatureNoiseMessage::GetHash() DataStream ss{}; ss << m_version << m_valid_from - << m_valid_to - << m_static_key; + << m_valid_to; + // TODO: Stratum v2 spec requires signing the static key, but SRI currently + // implements this incorrectly. + // << m_static_key; CSHA256 hasher; hasher.Write(reinterpret_cast(&(*ss.begin())), ss.end() - ss.begin()); diff --git a/src/test/sv2_noise_tests.cpp b/src/test/sv2_noise_tests.cpp index 4998e6acb3f1f2..080e6eb2a19617 100644 --- a/src/test/sv2_noise_tests.cpp +++ b/src/test/sv2_noise_tests.cpp @@ -43,6 +43,10 @@ BOOST_AUTO_TEST_CASE(certificate_test) uint32_t valid_from = now; uint32_t valid_to = std::numeric_limits::max(); + // TODO: Stratum v2 spec requires signing the static key using the authority key, + // but SRI currently implements this incorrectly. + alice_authority_key = alice_static_key; + auto alice_certificate = Sv2SignatureNoiseMessage(version, valid_from, valid_to, XOnlyPubKey(alice_static_key.GetPubKey()), alice_authority_key); @@ -88,6 +92,9 @@ BOOST_AUTO_TEST_CASE(handshake_and_transport_test) uint32_t valid_from = static_cast(std::chrono::duration_cast(epoch_now).count()); uint32_t valid_to = std::numeric_limits::max(); + // TODO: Stratum v2 spec requires signing the static key using the authority key, + // but SRI currently implements this incorrectly. + bob_authority_key = bob_static_key; auto bob_certificate = Sv2SignatureNoiseMessage(version, valid_from, valid_to, XOnlyPubKey(bob_static_key.GetPubKey()), bob_authority_key);