From f54a7de2d02c96882993ff77b3170b07cd162686 Mon Sep 17 00:00:00 2001 From: jl777 Date: Fri, 11 Mar 2016 15:38:59 -0300 Subject: [PATCH] test --- iguana/iguana_ramchain.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/iguana/iguana_ramchain.c b/iguana/iguana_ramchain.c index d4157279d..e25aece5a 100755 --- a/iguana/iguana_ramchain.c +++ b/iguana/iguana_ramchain.c @@ -1046,20 +1046,15 @@ uint32_t iguana_ramchain_addspend(struct iguana_info *coin,RAMCHAIN_FUNC,bits256 return(spendind); } -uint32_t iguana_ramchain_addspend256(struct iguana_info *coin,RAMCHAIN_FUNC,bits256 prev_hash,int32_t prev_vout,uint8_t *vinscript,int32_t vinscriptlen,uint32_t sequence,struct iguana_bundle *bp) +uint32_t iguana_ramchain_addspend256(struct iguana_info *coin,struct iguana_peer *addr,RAMCHAIN_FUNC,bits256 prev_hash,int32_t prev_vout,uint8_t *vinscript,int32_t vinscriptlen,uint32_t sequence,struct iguana_bundle *bp) { struct iguana_spend256 *s; uint32_t spendind; uint8_t *vinscriptptr; spendind = ramchain->H.spendind++; s = &S[spendind]; - /*if ( vinscriptlen > sizeof(s->vinscript) ) - { - fprintf(stderr,"vin scriptsave %d\n",vinscriptlen); - scriptfpos = iguana_scriptsave(coin,bp,spendind,1,vinscript,vinscriptlen); - fprintf(stderr,"done vin scriptsave %d\n",vinscriptlen); - //printf("S%d added sig.%d len.%d %08x\n",spendind,scriptfpos,vinscriptlen,calc_crc32(0,vinscript,vinscriptlen)); - }*/ if ( ramchain->H.ROflag != 0 ) { + if ( addr != 0 ) + printf("iguana_ramchain_addspend256 unexpected nonz addr for RO\n"); if ( vinscriptlen != s->vinscriptlen || s->sequenceid != sequence || memcmp(s->prevhash2.bytes,prev_hash.bytes,sizeof(bits256)) != 0 || s->prevout != prev_vout ) //|| s->hdrsi != hdrsi { char str[65],str2[65]; printf("check offset %d (%d %d) addspend.%d v %d RO value mismatch sequenceid.%x seq.%x prev_vout(%d vs %d) %s vs %s\n",s->scriptoffset,vinscriptlen,s->vinscriptlen,spendind,s->spendind,s->sequenceid,sequence,s->prevout,prev_vout,bits256_str(str,s->prevhash2),bits256_str(str2,prev_hash)); @@ -1071,6 +1066,8 @@ uint32_t iguana_ramchain_addspend256(struct iguana_info *coin,RAMCHAIN_FUNC,bits } else { + if ( addr == 0 ) + printf("iguana_ramchain_addspend256 unexpected zero addr for RO\n"); s->sequenceid = sequence; s->prevhash2 = prev_hash, s->prevout = prev_vout; s->spendind = spendind; @@ -1999,8 +1996,8 @@ int32_t iguana_ramchain_iterate(struct iguana_info *coin,struct iguana_ramchain prevout = S[ramchain->H.spendind].prevout; if ( S[ramchain->H.spendind].scriptoffset != 0 ) { - scriptdata = &Kspace[S[ramchain->H.spendind].scriptoffset]; - scriptlen = S[ramchain->H.spendind].vinscriptlen; + //scriptdata = &Kspace[S[ramchain->H.spendind].scriptoffset]; + //scriptlen = S[ramchain->H.spendind].vinscriptlen; } /*if ( scriptdata != 0 && scriptlen > 0 ) { @@ -2008,7 +2005,7 @@ int32_t iguana_ramchain_iterate(struct iguana_info *coin,struct iguana_ramchain printf("%02x",scriptdata[i]); printf(" spendind.%d vinscript\n",ramchain->H.spendind); }*/ - if ( iguana_ramchain_addspend256(coin,RAMCHAIN_ARG,prevhash,prevout,scriptdata,scriptlen,sequenceid,bp) == 0 ) + if ( iguana_ramchain_addspend256(coin,0,RAMCHAIN_ARG,prevhash,prevout,scriptdata,scriptlen,sequenceid,bp) == 0 ) return(-8); } if ( dest != 0 ) @@ -2198,7 +2195,7 @@ long iguana_ramchain_data(struct iguana_info *coin,struct iguana_peer *addr,stru for (j=0; jtx_in; j++) { //char str[65]; printf("PT vin.%d %s vout.%d\n",j,bits256_str(str,tx->vins[j].prev_hash),tx->vins[j].prev_vout); - iguana_ramchain_addspend256(coin,RAMCHAIN_ARG,tx->vins[j].prev_hash,tx->vins[j].prev_vout,tx->vins[j].vinscript,tx->vins[j].scriptlen,tx->vins[j].sequence,bp);//,bp->hdrsi,bundlei); + iguana_ramchain_addspend256(coin,addr,RAMCHAIN_ARG,tx->vins[j].prev_hash,tx->vins[j].prev_vout,tx->vins[j].vinscript,tx->vins[j].scriptlen,tx->vins[j].sequence,bp);//,bp->hdrsi,bundlei); //int32_t k; for (k=0; kvins[j].scriptlen; k++) // printf("%02x",tx->vins[j].vinscript[k]); //printf(" msg spendind.%d\n",ramchain->H.spendind);