diff options
| author | Jack Grigg <[email protected]> | 2017-10-04 14:41:40 +0100 |
|---|---|---|
| committer | Jack Grigg <[email protected]> | 2017-10-04 14:41:40 +0100 |
| commit | 63179d028347bf3e32c7ea61386df4c44307b4a7 (patch) | |
| tree | 13f96bb1dc55d166f3a9ec3a43aca14e3e923313 /src/key.h | |
| parent | Ensure that ECDSA constant sizes are correctly-sized (diff) | |
| download | discoin-63179d028347bf3e32c7ea61386df4c44307b4a7.tar.xz discoin-63179d028347bf3e32c7ea61386df4c44307b4a7.zip | |
Scope the ECDSA constant sizes to CPubKey / CKey classes
Diffstat (limited to 'src/key.h')
| -rw-r--r-- | src/key.h | 24 |
1 files changed, 14 insertions, 10 deletions
@@ -17,16 +17,6 @@ /** - * secp256k1: - */ -const unsigned int PRIVATE_KEY_SIZE = 279; -const unsigned int COMPRESSED_PRIVATE_KEY_SIZE = 214; -/** - * see www.keylength.com - * script supports up to 75 for single byte push - */ - -/** * secure_allocator is defined in allocators.h * CPrivKey is a serialized private key, with all parameters included * (PRIVATE_KEY_SIZE bytes) @@ -36,6 +26,20 @@ typedef std::vector<unsigned char, secure_allocator<unsigned char> > CPrivKey; /** An encapsulated private key. */ class CKey { +public: + /** + * secp256k1: + */ + static const unsigned int PRIVATE_KEY_SIZE = 279; + static const unsigned int COMPRESSED_PRIVATE_KEY_SIZE = 214; + /** + * see www.keylength.com + * script supports up to 75 for single byte push + */ + static_assert( + PRIVATE_KEY_SIZE >= COMPRESSED_PRIVATE_KEY_SIZE, + "COMPRESSED_PRIVATE_KEY_SIZE is larger than PRIVATE_KEY_SIZE"); + private: //! Whether this private key is valid. We check for correctness when modifying the key //! data, so fValid should always correspond to the actual state. |