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!"
|
||||
#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;
|
||||
if (!(req = json_object()))
|
||||
return NULL;
|
||||
@@ -266,7 +266,7 @@ const char *blktmpl_add_jansson(blktemplate_t *tmpl, const json_t *json, time_t
|
||||
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;
|
||||
if (!(jreq && json_is_object(jreq)))
|
||||
goto err;
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
extern "C" {
|
||||
#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 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_foreign_jansson(blktemplate_t *, const unsigned char *data, unsigned int dataid, blknonce_t);
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ blktemplate_t *blktmpl_create() {
|
||||
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
|
||||
// For now, it's a simple "filled" vs "not filled"
|
||||
if (tmpl->version)
|
||||
|
||||
@@ -123,7 +123,7 @@ typedef struct {
|
||||
blkhash_t target;
|
||||
|
||||
// BIP 23: Mutations
|
||||
blkmutations_t mutations;
|
||||
uint32_t mutations;
|
||||
blktime_t maxtime;
|
||||
blktime_diff_t maxtimeoff;
|
||||
blktime_t mintime;
|
||||
@@ -142,7 +142,7 @@ typedef struct {
|
||||
} blktemplate_t;
|
||||
|
||||
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 bool blktmpl_get_submitold(blktemplate_t *tmpl);
|
||||
extern void blktmpl_free(blktemplate_t *);
|
||||
|
||||
Reference in New Issue
Block a user