void decred_be_build_stratum_request( char *req, struct work *work, struct stratum_ctx *sctx ) { unsigned char *xnonce2str; uint32_t ntime, nonce; char ntimestr[9], noncestr[9]; be32enc( &ntime, work->data[ DECRED_NTIME_INDEX ] ); be32enc( &nonce, work->data[ DECRED_NONCE_INDEX ] ); bin2hex( ntimestr, (char*)(&ntime), sizeof(uint32_t) ); bin2hex( noncestr, (char*)(&nonce), sizeof(uint32_t) ); xnonce2str = abin2hex( (char*)( &work->data[ DECRED_XNONCE_INDEX ] ), sctx->xnonce1_size ); snprintf( req, JSON_BUF_LEN, "{\"method\": \"mining.submit\", \"params\": [\"%s\", \"%s\", \"%s\", \"%s\", \"%s\"], \"id\":4}", rpc_user, work->job_id, xnonce2str, ntimestr, noncestr ); free(xnonce2str); }
void hodl_le_build_stratum_request( char* req, struct work* work, struct stratum_ctx *sctx ) { uint32_t ntime, nonce, nstartloc, nfinalcalc; char ntimestr[9], noncestr[9], nstartlocstr[9], nfinalcalcstr[9]; unsigned char *xnonce2str; le32enc( &ntime, work->data[ algo_gate.ntime_index ] ); le32enc( &nonce, work->data[ algo_gate.nonce_index ] ); bin2hex( ntimestr, (char*)(&ntime), sizeof(uint32_t) ); bin2hex( noncestr, (char*)(&nonce), sizeof(uint32_t) ); xnonce2str = abin2hex(work->xnonce2, work->xnonce2_len ); le32enc( &nstartloc, work->data[ HODL_NSTARTLOC_INDEX ] ); le32enc( &nfinalcalc, work->data[ HODL_NFINALCALC_INDEX ] ); bin2hex( nstartlocstr, (char*)(&nstartloc), sizeof(uint32_t) ); bin2hex( nfinalcalcstr, (char*)(&nfinalcalc), sizeof(uint32_t) ); sprintf( req, "{\"method\": \"mining.submit\", \"params\": [\"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\"], \"id\":4}", rpc_user, work->job_id, xnonce2str, ntimestr, noncestr, nstartlocstr, nfinalcalcstr ); free( xnonce2str ); }
unsigned char* std_get_xnonce2str( struct work* work, size_t xnonce1_size ) { return abin2hex(work->xnonce2, work->xnonce2_len); }