Commit 8c8ef6ff9b90bdb85f1ef77d238e6dca6275737a

Con Kolivas 2013-08-12T10:58:43

Rename pool gbt_coinbase variable to coinbase to combine it with the stratum coinbase data.

diff --git a/cgminer.c b/cgminer.c
index 1a83282..37e393b 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -1625,7 +1625,7 @@ static unsigned char *__gbt_merkleroot(struct pool *pool)
 	if (unlikely(!merkle_hash))
 		quit(1, "Failed to calloc merkle_hash in __gbt_merkleroot");
 
-	gen_hash(pool->gbt_coinbase, merkle_hash, pool->coinbase_len);
+	gen_hash(pool->coinbase, merkle_hash, pool->coinbase_len);
 
 	if (pool->gbt_txns)
 		memcpy(merkle_hash + 32, pool->txn_hashes, pool->gbt_txns * 32);
@@ -1698,7 +1698,7 @@ static void gen_gbt_work(struct pool *pool, struct work *work)
 		update_gbt(pool);
 
 	cg_wlock(&pool->gbt_lock);
-	memcpy(pool->gbt_coinbase + pool->nonce2_offset, &pool->nonce2, 4);
+	memcpy(pool->coinbase + pool->nonce2_offset, &pool->nonce2, 4);
 	pool->nonce2++;
 	cg_dwlock(&pool->gbt_lock);
 	merkleroot = __gbt_merkleroot(pool);
@@ -1710,7 +1710,7 @@ static void gen_gbt_work(struct pool *pool, struct work *work)
 
 	memcpy(work->target, pool->gbt_target, 32);
 
-	work->gbt_coinbase = bin2hex(pool->gbt_coinbase, pool->coinbase_len);
+	work->gbt_coinbase = bin2hex(pool->coinbase, pool->coinbase_len);
 
 	/* For encoding the block data on submission */
 	work->gbt_txns = pool->gbt_txns + 1;
@@ -1799,16 +1799,16 @@ static bool gbt_decode(struct pool *pool, json_t *res_val)
 	/* We add 4 bytes of extra data corresponding to nonce2 of stratum */
 	cal_len = pool->coinbase_len + 1;
 	align_len(&cal_len);
-	free(pool->gbt_coinbase);
-	pool->gbt_coinbase = calloc(cal_len, 1);
-	if (unlikely(!pool->gbt_coinbase))
-		quit(1, "Failed to calloc pool gbt_coinbase in gbt_decode");
-	hex2bin(pool->gbt_coinbase, pool->coinbasetxn, 42);
-	extra_len = (uint8_t *)(pool->gbt_coinbase + 41);
+	free(pool->coinbase);
+	pool->coinbase = calloc(cal_len, 1);
+	if (unlikely(!pool->coinbase))
+		quit(1, "Failed to calloc pool coinbase in gbt_decode");
+	hex2bin(pool->coinbase, pool->coinbasetxn, 42);
+	extra_len = (uint8_t *)(pool->coinbase + 41);
 	orig_len = *extra_len;
-	hex2bin(pool->gbt_coinbase + 42, pool->coinbasetxn + 84, orig_len);
+	hex2bin(pool->coinbase + 42, pool->coinbasetxn + 84, orig_len);
 	*extra_len += 4;
-	hex2bin(pool->gbt_coinbase + 42 + *extra_len, pool->coinbasetxn + 84 + (orig_len * 2),
+	hex2bin(pool->coinbase + 42 + *extra_len, pool->coinbasetxn + 84 + (orig_len * 2),
 		cbt_len - orig_len - 42);
 	pool->nonce2_offset = orig_len + 42;
 
diff --git a/miner.h b/miner.h
index 2ba39d6..915b244 100644
--- a/miner.h
+++ b/miner.h
@@ -1182,7 +1182,6 @@ struct pool {
 	char *sockbuf;
 	size_t sockbuf_size;
 	char *sockaddr_url; /* stripped url used for sockaddr */
-	char *stratum_coinbase;
 	char *nonce1;
 	unsigned char *nonce1bin;
 	size_t n1_len;
@@ -1212,13 +1211,14 @@ struct pool {
 	uint32_t gbt_version;
 	uint32_t curtime;
 	uint32_t gbt_bits;
-	unsigned char *gbt_coinbase;
 	unsigned char *txn_hashes;
 	int gbt_txns;
 	int coinbase_len;
 
 	/* Shared by both stratum & GBT */
+	unsigned char *coinbase;
 	int nonce2_offset;
+
 	struct timeval tv_lastwork;
 };