diff --git a/blktemplate.c b/blktemplate.c index fd990b7..cbe4570 100644 --- a/blktemplate.c +++ b/blktemplate.c @@ -26,7 +26,7 @@ static const char *capnames[] = { "coinbase/append", "coinbase", - "generate", + "generation", "time/increment", "time/decrement", "transactions/add", @@ -53,6 +53,10 @@ gbt_capabilities_t blktmpl_getcapability(const char *n) { for (unsigned int i = 0; i < GBT_CAPABILITY_COUNT; ++i) if (capnames[i] && !strcasecmp(n, capnames[i])) return 1 << i; + if (!strcasecmp(n, "time")) { + // multi-capability + return BMM_TIMEINC | BMM_TIMEDEC; + } if (!strcasecmp(n, "transactions")) return BMM_TXNADD; // Odd one as it's overloaded w/"transactions/add" per spec return 0; diff --git a/blktemplate.h b/blktemplate.h index 83b92ee..6b2ec28 100644 --- a/blktemplate.h +++ b/blktemplate.h @@ -73,6 +73,7 @@ typedef enum { extern const char *blktmpl_capabilityname(gbt_capabilities_t); #define BLKTMPL_LONGEST_CAPABILITY_NAME (16) +// ABI FIXME: return uint32_t since "time" can yield a combination gbt_capabilities_t extern gbt_capabilities_t blktmpl_getcapability(const char *);