aboutsummaryrefslogtreecommitdiff
path: root/src/util/message.h
diff options
context:
space:
mode:
authorRyan Ofsky <ryan@ofsky.org>2024-05-10 15:45:07 -0400
committerRyan Ofsky <ryan@ofsky.org>2024-05-16 11:16:08 -0400
commit6861f954f8ff42c87ad638037adae86a5bd89600 (patch)
treeb0ffb5123448dab063e0ca4b5669d9f4024de23a /src/util/message.h
parentcc5f29fbea15d33e4d1aa95591253c6b86953fe7 (diff)
downloadbitcoin-6861f954f8ff42c87ad638037adae86a5bd89600.tar.xz
util: move util/message to common/signmessage
Move util/message to common/signmessage so it is named more clearly, and because the util library is not supposed to depend on other libraries besides the crypto library. The signmessage functions use CKey, CPubKey, PKHash, and DecodeDestination functions in the consensus and common libraries.
Diffstat (limited to 'src/util/message.h')
-rw-r--r--src/util/message.h77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/util/message.h b/src/util/message.h
deleted file mode 100644
index d0e2422574..0000000000
--- a/src/util/message.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright (c) 2009-2010 Satoshi Nakamoto
-// Copyright (c) 2009-2022 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
-#ifndef BITCOIN_UTIL_MESSAGE_H
-#define BITCOIN_UTIL_MESSAGE_H
-
-#include <uint256.h>
-
-#include <string>
-
-class CKey;
-
-extern const std::string MESSAGE_MAGIC;
-
-/** The result of a signed message verification.
- * Message verification takes as an input:
- * - address (with whose private key the message is supposed to have been signed)
- * - signature
- * - message
- */
-enum class MessageVerificationResult {
- //! The provided address is invalid.
- ERR_INVALID_ADDRESS,
-
- //! The provided address is valid but does not refer to a public key.
- ERR_ADDRESS_NO_KEY,
-
- //! The provided signature couldn't be parsed (maybe invalid base64).
- ERR_MALFORMED_SIGNATURE,
-
- //! A public key could not be recovered from the provided signature and message.
- ERR_PUBKEY_NOT_RECOVERED,
-
- //! The message was not signed with the private key of the provided address.
- ERR_NOT_SIGNED,
-
- //! The message verification was successful.
- OK
-};
-
-enum class SigningResult {
- OK, //!< No error
- PRIVATE_KEY_NOT_AVAILABLE,
- SIGNING_FAILED,
-};
-
-/** Verify a signed message.
- * @param[in] address Signer's bitcoin address, it must refer to a public key.
- * @param[in] signature The signature in base64 format.
- * @param[in] message The message that was signed.
- * @return result code */
-MessageVerificationResult MessageVerify(
- const std::string& address,
- const std::string& signature,
- const std::string& message);
-
-/** Sign a message.
- * @param[in] privkey Private key to sign with.
- * @param[in] message The message to sign.
- * @param[out] signature Signature, base64 encoded, only set if true is returned.
- * @return true if signing was successful. */
-bool MessageSign(
- const CKey& privkey,
- const std::string& message,
- std::string& signature);
-
-/**
- * Hashes a message for signing and verification in a manner that prevents
- * inadvertently signing a transaction.
- */
-uint256 MessageHash(const std::string& message);
-
-std::string SigningResultString(const SigningResult res);
-
-#endif // BITCOIN_UTIL_MESSAGE_H