1
0
mirror of https://github.com/GOSTSec/ccminer synced 2025-01-22 12:34:17 +00:00

Revert "decred: prepare full stratum support"

This reverts commit 4e769915d80b35d2294249040841155f830643fa.

proper v1.7.3 for yiimp
This commit is contained in:
Tanguy Pruvot 2016-02-18 11:10:53 +01:00
parent 4e769915d8
commit b0617ba0fc
2 changed files with 15 additions and 34 deletions

View File

@ -1344,16 +1344,9 @@ static bool stratum_gen_work(struct stratum_ctx *sctx, struct work *work)
/* Generate merkle root */ /* Generate merkle root */
switch (opt_algo) { switch (opt_algo) {
case ALGO_DECRED: case ALGO_DECRED:
//applog(LOG_BLUE, "block version %x", le32dec(sctx->job.version)); memcpy(merkle_root, sctx->job.coinbase, 32);
if (le32dec(sctx->job.version) & 0xFF) { memcpy(extraheader, &sctx->job.coinbase[32], (int)sctx->job.coinbase_size - 32);
// getwork over stratum headersize = (int)sctx->job.coinbase_size - 32;
memcpy(merkle_root, sctx->job.coinbase, 32);
memcpy(extraheader, &sctx->job.coinbase[32], (int)sctx->job.coinbase_size - 32);
headersize = (int)sctx->job.coinbase_size - 32;
} else {
// future stratum with coinbase
sha256d(merkle_root, sctx->job.coinbase, (int)sctx->job.coinbase_size);
}
break; break;
case ALGO_HEAVY: case ALGO_HEAVY:
case ALGO_MJOLLNIR: case ALGO_MJOLLNIR:
@ -1375,7 +1368,7 @@ static bool stratum_gen_work(struct stratum_ctx *sctx, struct work *work)
memcpy(merkle_root + 32, sctx->job.merkle[i], 32); memcpy(merkle_root + 32, sctx->job.merkle[i], 32);
if (opt_algo == ALGO_HEAVY || opt_algo == ALGO_MJOLLNIR) if (opt_algo == ALGO_HEAVY || opt_algo == ALGO_MJOLLNIR)
heavycoin_hash(merkle_root, merkle_root, 64); heavycoin_hash(merkle_root, merkle_root, 64);
else if (!headersize) else if (opt_algo != ALGO_DECRED)
sha256d(merkle_root, merkle_root, 64); sha256d(merkle_root, merkle_root, 64);
} }
@ -1391,25 +1384,13 @@ static bool stratum_gen_work(struct stratum_ctx *sctx, struct work *work)
work->data[9 + i] = be32dec((uint32_t *)merkle_root + i); work->data[9 + i] = be32dec((uint32_t *)merkle_root + i);
if (opt_algo == ALGO_DECRED) { if (opt_algo == ALGO_DECRED) {
// all is reversed to keep same endian as ocminer getwork pool (same as ZR5)
uint32_t* extradata = (uint32_t*) sctx->xnonce1; uint32_t* extradata = (uint32_t*) sctx->xnonce1;
if (headersize) { for (i = 0; i < 8; i++)
// getwork over stratum work->data[1 + i] = swab32(work->data[1 + i]);
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
work->data[1 + i] = swab32(work->data[1 + i]); work->data[9 + i] = swab32(work->data[9 + i]);
for (i = 0; i < 8; i++) for (i = 0; i < headersize/4; i++)
work->data[9 + i] = swab32(work->data[9 + i]); work->data[17 + i] = le32dec((uint32_t*)extraheader + i);
for (i = 0; i < headersize/4; i++)
work->data[17 + i] = le32dec((uint32_t*)extraheader + i);
} else {
work->data[0] = swab32(work->data[0]);
for (i = 0; i < 8; i++)
work->data[9 + i] = swab32(work->data[9 + i]);
// todo work->data[17..33], but how ? :p
work->data[29] = be32dec(sctx->job.nbits);
work->data[32] = sctx->job.height;
work->data[34] = be32dec(sctx->job.ntime);
}
for (i = 0; i < sctx->xnonce1_size/4; i++) for (i = 0; i < sctx->xnonce1_size/4; i++)
work->data[36 + i] = extradata[i]; work->data[36 + i] = extradata[i];
work->data[37] = (rand()*4) << 8; work->data[37] = (rand()*4) << 8;
@ -1417,7 +1398,6 @@ static bool stratum_gen_work(struct stratum_ctx *sctx, struct work *work)
work->data[i] = 0; work->data[i] = 0;
sctx->job.height = work->data[32]; sctx->job.height = work->data[32];
//applog_hex(work->data, 180); //applog_hex(work->data, 180);
//applog_hex(&work->data[17], 64);
} else { } else {
work->data[17] = le32dec(sctx->job.ntime); work->data[17] = le32dec(sctx->job.ntime);
work->data[18] = le32dec(sctx->job.nbits); work->data[18] = le32dec(sctx->job.nbits);
@ -3281,6 +3261,7 @@ int main(int argc, char *argv[])
if (opt_algo == ALGO_DECRED) { if (opt_algo == ALGO_DECRED) {
allow_gbt = false; allow_gbt = false;
allow_mininginfo = false;
} }
flags = !opt_benchmark && strncmp(rpc_url, "https:", 6) flags = !opt_benchmark && strncmp(rpc_url, "https:", 6)

View File

@ -60,8 +60,8 @@ IDI_ICON1 ICON "ccminer.ico"
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,7,2,0 FILEVERSION 1,7,3,0
PRODUCTVERSION 1,7,2,0 PRODUCTVERSION 1,7,3,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x21L FILEFLAGS 0x21L
@ -76,10 +76,10 @@ BEGIN
BEGIN BEGIN
BLOCK "040904e4" BLOCK "040904e4"
BEGIN BEGIN
VALUE "FileVersion", "1.7.2" VALUE "FileVersion", "1.7.3"
VALUE "LegalCopyright", "Copyright (C) 2016" VALUE "LegalCopyright", "Copyright (C) 2016"
VALUE "ProductName", "ccminer" VALUE "ProductName", "ccminer"
VALUE "ProductVersion", "1.7.2" VALUE "ProductVersion", "1.7.3"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"