mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
Merge pull request #6034
a574899chaincodes: abstract away more chaincode behavior [squashme] replace struct CCainCode with a typedef uint256 ChainCode (Cory Fields)8cf1485Abstract chaincodes into CChainCode (Pieter Wuille)
This commit is contained in:
10
src/key.h
10
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;
|
||||
|
||||
Reference in New Issue
Block a user