Skip to content

Commit

Permalink
cleanup of POW functions etc
Browse files Browse the repository at this point in the history
cleanup of POW functions, removal of the ODD/EVEN pair functions, fusion into just a single one.
Better structure and readability of POW.
Cleanup of POW-Version-Selector.
  • Loading branch information
zettel-kasten committed Apr 10, 2019
1 parent 899b31c commit df31b48
Show file tree
Hide file tree
Showing 8 changed files with 363 additions and 609 deletions.
102 changes: 46 additions & 56 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1558,75 +1558,65 @@ uint256 SDKPGABSPCSSWSSBP_GetPublicKeyFromPrivateKey(uint256 priv_key){
}

uint256 CBlock::GetPoWHash() const
{
CBufferStream<185> Header = SerializeHeaderForHash2();

ABCBytesForSDKPGAB bytes;

if (nHeight >= SDKPGABSPCSSWSSBP_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);
{
CBufferStream<185> Header = SerializeHeaderForHash2();

uint32_t SDKPGABSPC_sinetable_pos = nHeight%64;
bool nHeight_even;
ABCBytesForSDKPGAB bytes;
uint32_t SDKPGABSPC_sinetable_pos;
uint256 pubkey_hashPrevBlock;

uint256 pubkey_hashPrevBlock;
SDKPGABSPC_sinetable_pos = nHeight%64;
nHeight_even = (nHeight%2 == 0);

if(!SDKPGABSPCSSWSSBP_keymap.count(hashPrevBlock)){
pubkey_hashPrevBlock = SDKPGABSPCSSWSSBP_GetPublicKeyFromPrivateKey(hashPrevBlock);
SDKPGABSPCSSWSSBP_keymap.insert(std::make_pair(hashPrevBlock,pubkey_hashPrevBlock));
};

pubkey_hashPrevBlock = SDKPGABSPCSSWSSBP_keymap[hashPrevBlock];
if (nHeight >= SDKPGABSPCSSWSSBP_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);

if(nHeight%2 == 0){
return HashSDKPGABSPCSSWSSBP_EVEN(Header.begin(), Header.end(), bytes.A, bytes.B, SDKPGABSPC_sinetable_pos, pubkey_hashPrevBlock);
}
if(nHeight%2 == 1){
return HashSDKPGABSPCSSWSSBP_ODD(Header.begin(), Header.end(), bytes.A, bytes.B, SDKPGABSPC_sinetable_pos, pubkey_hashPrevBlock);
}
}
if(!SDKPGABSPCSSWSSBP_keymap.count(hashPrevBlock)){
pubkey_hashPrevBlock = SDKPGABSPCSSWSSBP_GetPublicKeyFromPrivateKey(hashPrevBlock);
SDKPGABSPCSSWSSBP_keymap.insert(std::make_pair(hashPrevBlock,pubkey_hashPrevBlock));
};

else if (nHeight >= SDKPGABSPCSSWS_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);
pubkey_hashPrevBlock = SDKPGABSPCSSWSSBP_keymap[hashPrevBlock];

uint32_t SDKPGABSPC_sinetable_pos = nHeight%64;
return HashSDKPGABSPCSSWSSBP(Header.begin(), Header.end(),
nHeight_even,
bytes.A, bytes.B,
SDKPGABSPC_sinetable_pos,
pubkey_hashPrevBlock);
}

if(nHeight%2 == 0){
return HashSDKPGABSPCSSWS_EVEN(Header.begin(), Header.end(), bytes.A, bytes.B, SDKPGABSPC_sinetable_pos);
}
if(nHeight%2 == 1){
return HashSDKPGABSPCSSWS_ODD(Header.begin(), Header.end(), bytes.A, bytes.B, SDKPGABSPC_sinetable_pos);
}
}
else if (nHeight >= SDKPGABSPCSSWS_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);

else if (nHeight >= SDKPGABSPC_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);
return HashSDKPGABSPCSSWS(Header.begin(), Header.end(),
nHeight_even,
bytes.A, bytes.B,
SDKPGABSPC_sinetable_pos);
}

uint32_t SDKPGABSPC_sinetable_pos = nHeight%64;
else if (nHeight >= SDKPGABSPC_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);

if(nHeight%2 == 0){
return HashSDKPGABSPC_EVEN(Header.begin(), Header.end(), bytes.A, bytes.B, SDKPGABSPC_sinetable_pos);
}
if(nHeight%2 == 1){
return HashSDKPGABSPC_ODD(Header.begin(), Header.end(), bytes.A, bytes.B, SDKPGABSPC_sinetable_pos);
}
}
return HashSDKPGABSPC(Header.begin(), Header.end(),
nHeight_even,
bytes.A, bytes.B,
SDKPGABSPC_sinetable_pos);
}

else if(nHeight >= SDKPGAB_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);
else if(nHeight >= SDKPGAB_START_HEIGHT)
{
bytes = GetABCBytesForSDKPGABFromHash(hashPrevBlock);

if(nHeight%2 == 0){
return HashSDKPGAB_EVEN(Header.begin(), Header.end(),bytes.A,bytes.B);
}
if(nHeight%2 == 1){
return HashSDKPGAB_ODD(Header.begin(), Header.end(),bytes.A,bytes.B);
}
}
return HashSDKPGAB(Header.begin(), Header.end(),
nHeight_even,
bytes.A,bytes.B);
}

return HashSDK(Header.begin(), Header.end());
return HashSDK(Header.begin(), Header.end());
}

FirstBytesForSDKPGAB GetFirstBytesForSDKPGABFromHash(const uint256& hash) {
Expand Down
Loading

0 comments on commit df31b48

Please sign in to comment.