From 080d57558fae532d5d16f01898d55e9cbdf94f80 Mon Sep 17 00:00:00 2001 From: jl777 Date: Fri, 4 Nov 2016 13:44:20 -0300 Subject: [PATCH] test --- iguana/dpow/dpow_fsm.c | 5 +++-- iguana/dpow/dpow_tx.c | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/iguana/dpow/dpow_fsm.c b/iguana/dpow/dpow_fsm.c index 23c8c38ba..5172db327 100755 --- a/iguana/dpow/dpow_fsm.c +++ b/iguana/dpow/dpow_fsm.c @@ -357,9 +357,10 @@ int32_t dpow_update(struct supernet_info *myinfo,struct dpow_info *dp,struct dpo } if ( bp->isratify != 0 || (rand() % 10) == 0 ) { - dpow_sendcoinentrys(myinfo,dp,bp); bp->bestmask = dpow_maskmin(bp->recvmask,bp,&bp->bestk); - dpow_signedtxgen(myinfo,dp,(bp->state < 1000) ? bp->destcoin : bp->srccoin,bp,bp->bestk,bp->bestmask,myind,bp->state < 1000 ? DPOW_SIGBTCCHANNEL : DPOW_SIGCHANNEL,bp->state < 1000); + dpow_sendcoinentrys(myinfo,dp,bp); + if ( bp->bestk >= 0 ) + dpow_signedtxgen(myinfo,dp,(bp->state < 1000) ? bp->destcoin : bp->srccoin,bp,bp->bestk,bp->bestmask,myind,bp->state < 1000 ? DPOW_SIGBTCCHANNEL : DPOW_SIGCHANNEL,bp->state < 1000); printf("ht.%d numnotaries.%d BEST.%llx from RECV.%llx bestk.%d\n",bp->height,bp->numnotaries,(long long)bp->bestmask,(long long)bp->recvmask,bp->bestk); } } diff --git a/iguana/dpow/dpow_tx.c b/iguana/dpow/dpow_tx.c index c9b99fbf4..5b96fe8ec 100755 --- a/iguana/dpow/dpow_tx.c +++ b/iguana/dpow/dpow_tx.c @@ -47,21 +47,23 @@ int32_t dpow_bestk(struct dpow_block *bp,uint64_t *maskp) uint64_t dpow_maskmin(uint64_t refmask,struct dpow_block *bp,int8_t *lastkp) { - int32_t j,m,k; uint64_t mask = 0; + int32_t j,m,k; uint64_t bestmask,mask; + bestmask = mask = 0; for (j=m=0; jnumnotaries; j++) { k = DPOW_MODIND(bp,j); if ( bits256_nonz(bp->notaries[k].src.prev_hash) != 0 && bits256_nonz(bp->notaries[k].dest.prev_hash) != 0 ) { mask |= (1LL << k); - if ( ++m >= DPOW_M(bp) ) + if ( ++m == DPOW_M(bp) ) { *lastkp = k; - break; + bestmask = mask; } } } - return(mask); + bp->recvmask = mask; + return(bestmask); } struct dpow_block *dpow_heightfind(struct supernet_info *myinfo,struct dpow_info *dp,int32_t height)