Bugfix: enum types are not guaranteed to be large enough for a bitmask, so explicitly use uint32_t for gbt_capabilities_t/blkmutations_t bitmasks (this breaks ABI)
This commit is contained in:
@@ -21,7 +21,7 @@
|
|||||||
# error "Jansson 2.0 with long long support required!"
|
# error "Jansson 2.0 with long long support required!"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
json_t *blktmpl_request_jansson(gbt_capabilities_t caps, const char *lpid) {
|
json_t *blktmpl_request_jansson(const uint32_t caps, const char * const lpid) {
|
||||||
json_t *req, *jcaps, *jstr, *reqf, *reqa;
|
json_t *req, *jcaps, *jstr, *reqf, *reqa;
|
||||||
if (!(req = json_object()))
|
if (!(req = json_object()))
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -266,7 +266,7 @@ const char *blktmpl_add_jansson(blktemplate_t *tmpl, const json_t *json, time_t
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
json_t *blktmpl_propose_jansson(blktemplate_t * const tmpl, const gbt_capabilities_t caps, const bool foreign) {
|
json_t *blktmpl_propose_jansson(blktemplate_t * const tmpl, const uint32_t caps, const bool foreign) {
|
||||||
json_t *jreq = blktmpl_request_jansson(caps, NULL), *ja = NULL, *jparams;
|
json_t *jreq = blktmpl_request_jansson(caps, NULL), *ja = NULL, *jparams;
|
||||||
if (!(jreq && json_is_object(jreq)))
|
if (!(jreq && json_is_object(jreq)))
|
||||||
goto err;
|
goto err;
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern json_t *blktmpl_request_jansson(gbt_capabilities_t extracaps, const char *lpid);
|
extern json_t *blktmpl_request_jansson(uint32_t extracaps, const char *lpid);
|
||||||
extern const char *blktmpl_add_jansson(blktemplate_t *, const json_t *, time_t time_rcvd);
|
extern const char *blktmpl_add_jansson(blktemplate_t *, const json_t *, time_t time_rcvd);
|
||||||
extern json_t *blktmpl_propose_jansson(blktemplate_t *, gbt_capabilities_t caps, bool foreign);
|
extern json_t *blktmpl_propose_jansson(blktemplate_t *, uint32_t caps, bool foreign);
|
||||||
extern json_t *blkmk_submit_jansson(blktemplate_t *, const unsigned char *data, unsigned int dataid, blknonce_t);
|
extern json_t *blkmk_submit_jansson(blktemplate_t *, const unsigned char *data, unsigned int dataid, blknonce_t);
|
||||||
extern json_t *blkmk_submit_foreign_jansson(blktemplate_t *, const unsigned char *data, unsigned int dataid, blknonce_t);
|
extern json_t *blkmk_submit_foreign_jansson(blktemplate_t *, const unsigned char *data, unsigned int dataid, blknonce_t);
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ blktemplate_t *blktmpl_create() {
|
|||||||
return tmpl;
|
return tmpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
gbt_capabilities_t blktmpl_addcaps(const blktemplate_t *tmpl) {
|
uint32_t blktmpl_addcaps(const blktemplate_t *tmpl) {
|
||||||
// TODO: make this a lot more flexible for merging
|
// TODO: make this a lot more flexible for merging
|
||||||
// For now, it's a simple "filled" vs "not filled"
|
// For now, it's a simple "filled" vs "not filled"
|
||||||
if (tmpl->version)
|
if (tmpl->version)
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ typedef struct {
|
|||||||
blkhash_t target;
|
blkhash_t target;
|
||||||
|
|
||||||
// BIP 23: Mutations
|
// BIP 23: Mutations
|
||||||
blkmutations_t mutations;
|
uint32_t mutations;
|
||||||
blktime_t maxtime;
|
blktime_t maxtime;
|
||||||
blktime_diff_t maxtimeoff;
|
blktime_diff_t maxtimeoff;
|
||||||
blktime_t mintime;
|
blktime_t mintime;
|
||||||
@@ -142,7 +142,7 @@ typedef struct {
|
|||||||
} blktemplate_t;
|
} blktemplate_t;
|
||||||
|
|
||||||
extern blktemplate_t *blktmpl_create();
|
extern blktemplate_t *blktmpl_create();
|
||||||
extern gbt_capabilities_t blktmpl_addcaps(const blktemplate_t *);
|
extern uint32_t blktmpl_addcaps(const blktemplate_t *);
|
||||||
extern const struct blktmpl_longpoll_req *blktmpl_get_longpoll(blktemplate_t *);
|
extern const struct blktmpl_longpoll_req *blktmpl_get_longpoll(blktemplate_t *);
|
||||||
extern bool blktmpl_get_submitold(blktemplate_t *tmpl);
|
extern bool blktmpl_get_submitold(blktemplate_t *tmpl);
|
||||||
extern void blktmpl_free(blktemplate_t *);
|
extern void blktmpl_free(blktemplate_t *);
|
||||||
|
|||||||
Reference in New Issue
Block a user