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:
parent
4e769915d8
commit
b0617ba0fc
41
ccminer.cpp
41
ccminer.cpp
@ -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)
|
||||||
|
@ -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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user