aboutsummaryrefslogtreecommitdiff
path: root/src/key.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2015-05-06 18:36:56 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2015-05-06 18:37:49 +0200
commit6a877e870e0237f66414d0229f1b5cb38c5ca06d (patch)
treeff457ac79a7a7a95c10f68f03fbf155a83465439 /src/key.h
parent1fd2d39529b53fdf0a8451a1dd57ba8e51ddb77a (diff)
parenta574899671d428682b339ff988363ecaf7dfcd07 (diff)
downloadbitcoin-6a877e870e0237f66414d0229f1b5cb38c5ca06d.tar.xz
Merge pull request #6034
a574899 chaincodes: abstract away more chaincode behavior [squashme] replace struct CCainCode with a typedef uint256 ChainCode (Cory Fields) 8cf1485 Abstract chaincodes into CChainCode (Pieter Wuille)
Diffstat (limited to 'src/key.h')
-rw-r--r--src/key.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/key.h b/src/key.h
index 89f316a14e..021eac2a8d 100644
--- a/src/key.h
+++ b/src/key.h
@@ -6,6 +6,7 @@
#ifndef BITCOIN_KEY_H
#define BITCOIN_KEY_H
+#include "pubkey.h"
#include "serialize.h"
#include "support/allocators/secure.h"
#include "uint256.h"
@@ -13,9 +14,6 @@
#include <stdexcept>
#include <vector>
-class CPubKey;
-
-struct CExtPubKey;
/**
* secp256k1:
@@ -138,7 +136,7 @@ public:
bool SignCompact(const uint256& hash, std::vector<unsigned char>& vchSig) const;
//! Derive BIP32 child key.
- bool Derive(CKey& keyChild, unsigned char ccChild[32], unsigned int nChild, const unsigned char cc[32]) const;
+ bool Derive(CKey& keyChild, ChainCode &ccChild, unsigned int nChild, const ChainCode& cc) const;
/**
* Verify thoroughly whether a private key and a public key match.
@@ -157,13 +155,13 @@ struct CExtKey {
unsigned char nDepth;
unsigned char vchFingerprint[4];
unsigned int nChild;
- unsigned char vchChainCode[32];
+ ChainCode chaincode;
CKey key;
friend bool operator==(const CExtKey& a, const CExtKey& b)
{
return a.nDepth == b.nDepth && memcmp(&a.vchFingerprint[0], &b.vchFingerprint[0], 4) == 0 && a.nChild == b.nChild &&
- memcmp(&a.vchChainCode[0], &b.vchChainCode[0], 32) == 0 && a.key == b.key;
+ a.chaincode == b.chaincode && a.key == b.key;
}
void Encode(unsigned char code[74]) const;