|
|
@ -1668,18 +1668,13 @@ static bool parse_extranonce(struct pool *pool, json_t *val) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char s[RBUFSIZE], *nonce1; |
|
|
|
char s[RBUFSIZE], *nonce1; |
|
|
|
int n2size; |
|
|
|
int n2size; |
|
|
|
int id = json_integer_value(json_object_get(val, "id")); |
|
|
|
|
|
|
|
json_t *params = json_object_get(val, "params"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!id) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nonce1 = json_array_string(params, 0); |
|
|
|
nonce1 = json_array_string(val, 0); |
|
|
|
if (!nonce1) { |
|
|
|
if (!nonce1) { |
|
|
|
// applog(LOG_INFO, "Failed to get nonce1 in ");
|
|
|
|
// applog(LOG_INFO, "Failed to get nonce1 in ");
|
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
n2size = json_integer_value(json_array_get(params, 1)); |
|
|
|
n2size = json_integer_value(json_array_get(val, 1)); |
|
|
|
if (!n2size) { |
|
|
|
if (!n2size) { |
|
|
|
// applog(LOG_INFO, "Failed to get n2size in ");
|
|
|
|
// applog(LOG_INFO, "Failed to get n2size in ");
|
|
|
|
free(nonce1); |
|
|
|
free(nonce1); |
|
|
@ -1697,10 +1692,6 @@ static bool parse_extranonce(struct pool *pool, json_t *val) |
|
|
|
pool->n2size = n2size; |
|
|
|
pool->n2size = n2size; |
|
|
|
cg_wunlock(&pool->data_lock); |
|
|
|
cg_wunlock(&pool->data_lock); |
|
|
|
|
|
|
|
|
|
|
|
sprintf(s, "{\"id\": %d, \"result\": \"true\", \"error\": null}", id); |
|
|
|
|
|
|
|
if (!stratum_send(pool, s, strlen(s))) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
applog(LOG_NOTICE, "%s coin change requested", get_pool_name(pool)); |
|
|
|
applog(LOG_NOTICE, "%s coin change requested", get_pool_name(pool)); |
|
|
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
@ -1849,7 +1840,7 @@ bool parse_method(struct pool *pool, char *s) |
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!strncasecmp(buf, "mining.set_extranonce", 21) && parse_extranonce(pool, val)) { |
|
|
|
if (!strncasecmp(buf, "mining.set_extranonce", 21) && parse_extranonce(pool, params)) { |
|
|
|
ret = true; |
|
|
|
ret = true; |
|
|
|
json_decref(val); |
|
|
|
json_decref(val); |
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|