diff --git a/blkmaker_jansson.c b/blkmaker_jansson.c index 5a6e083..533010e 100644 --- a/blkmaker_jansson.c +++ b/blkmaker_jansson.c @@ -241,6 +241,13 @@ const char *blktmpl_add_jansson(blktemplate_t *tmpl, const json_t *json, time_t } } + if ((v = json_object_get(json, "target")) && json_is_string(v)) + { + tmpl->target = malloc(sizeof(*tmpl->target)); + if (!my_hex2bin(tmpl->target, json_string_value(v), sizeof(*tmpl->target))) + return "Error decoding 'target'"; + } + if ((v = json_object_get(json, "mutable")) && json_is_array(v)) { for (size_t i = json_array_size(v); i--; ) diff --git a/blktemplate.c b/blktemplate.c index 197ff17..ce129a1 100644 --- a/blktemplate.c +++ b/blktemplate.c @@ -121,6 +121,7 @@ void blktmpl_free(blktemplate_t *tmpl) { blkaux_clean(&tmpl->auxs[i]); free(tmpl->auxs); free(tmpl->workid); + free(tmpl->target); free(tmpl->lp.id); free(tmpl->lp.uri); free(tmpl); diff --git a/blktemplate.h b/blktemplate.h index bc79cd4..7bed8ec 100644 --- a/blktemplate.h +++ b/blktemplate.h @@ -116,7 +116,7 @@ typedef struct { // BIP 23: Basic Pool Extensions int16_t expires; - blkhash_t target; + blkhash_t *target; // BIP 23: Mutations uint32_t mutations;