Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
58430011f7
  1. 12
      iguana/iguana_ramchain.c

12
iguana/iguana_ramchain.c

@ -2261,7 +2261,7 @@ int32_t iguana_ramchain_expandedsave(struct iguana_info *coin,RAMCHAIN_FUNC,stru
{ {
destoffset = &Kspace[ramchain->H.scriptoffset]; destoffset = &Kspace[ramchain->H.scriptoffset];
srcoffset = &Kspace[ramchain->H.data->scriptspace - ramchain->H.stacksize]; srcoffset = &Kspace[ramchain->H.data->scriptspace - ramchain->H.stacksize];
if ( 0 && (long)destoffset < (long)srcoffset ) if ( 1 && (long)destoffset < (long)srcoffset )
{ {
for (i=0; i<ramchain->H.stacksize; i++) for (i=0; i<ramchain->H.stacksize; i++)
c = *srcoffset++, *destoffset++ = c; c = *srcoffset++, *destoffset++ = c;
@ -2270,11 +2270,11 @@ int32_t iguana_ramchain_expandedsave(struct iguana_info *coin,RAMCHAIN_FUNC,stru
} }
scriptoffset = ramchain->H.scriptoffset; scriptoffset = ramchain->H.scriptoffset;
stacksize = ramchain->H.stacksize; stacksize = ramchain->H.stacksize;
ramchain->H.scriptoffset = scriptoffset; ramchain->H.scriptoffset = scriptoffset + stacksize;
ramchain->H.data->scriptspace = scriptoffset + stacksize; ramchain->H.data->scriptspace = scriptoffset + stacksize;
ramchain->H.stacksize = ramchain->H.data->stackspace = stacksize; ramchain->H.stacksize = ramchain->H.data->stackspace = stacksize;
iguana_ramchain_setsize(ramchain,ramchain->H.data,bp->n); iguana_ramchain_setsize(ramchain,ramchain->H.data,bp->n);
//printf("Apresave T.%d U.%d S.%d P.%d X.%d -> size.%ld firsti.%d scriptoffset.%d stacksize.%d\n",ramchain->H.data->numtxids,ramchain->H.data->numunspents,ramchain->H.data->numspends,ramchain->H.data->numpkinds,ramchain->H.data->numexternaltxids,(long)ramchain->H.data->allocsize,firsti,ramchain->H.scriptoffset,ramchain->H.stacksize); printf("Apresave T.%d U.%d S.%d P.%d X.%d -> size.%ld firsti.%d scriptoffset.%d stacksize.%d\n",ramchain->H.data->numtxids,ramchain->H.data->numunspents,ramchain->H.data->numspends,ramchain->H.data->numpkinds,ramchain->H.data->numexternaltxids,(long)ramchain->H.data->allocsize,firsti,ramchain->H.scriptoffset,ramchain->H.stacksize);
*newchain = *ramchain; *newchain = *ramchain;
//memcpy(ramchain->roU2,ramchain->U2,sizeof(*ramchain->U2) * ramchain->H.data->numunspents); //memcpy(ramchain->roU2,ramchain->U2,sizeof(*ramchain->U2) * ramchain->H.data->numunspents);
//memcpy(ramchain->roP2,ramchain->P2,sizeof(*ramchain->P2) * ramchain->H.data->numpkinds); //memcpy(ramchain->roP2,ramchain->P2,sizeof(*ramchain->P2) * ramchain->H.data->numpkinds);
@ -2286,13 +2286,15 @@ int32_t iguana_ramchain_expandedsave(struct iguana_info *coin,RAMCHAIN_FUNC,stru
printf("ERROR.%d iterating presave ramchain hdrsi.%d\n",err,hdrsi); printf("ERROR.%d iterating presave ramchain hdrsi.%d\n",err,hdrsi);
else else
{ {
//printf("Bpresave T.%d U.%d S.%d P.%d X.%d -> size.%ld firsti.%d scriptoffset.%d stacksize.%d\n",ramchain->H.data->numtxids,ramchain->H.data->numunspents,ramchain->H.data->numspends,ramchain->H.data->numpkinds,ramchain->H.data->numexternaltxids,(long)ramchain->H.data->allocsize,firsti,ramchain->H.scriptoffset,ramchain->H.stacksize); printf("postiterate0.%d T.%d U.%d S.%d P.%d X.%d -> size.%ld firsti.%d scripts.%d:%d stack.%d:%d\n",bp->bundleheight,ramchain->H.data->numtxids,ramchain->H.data->numunspents,ramchain->H.data->numspends,ramchain->H.data->numpkinds,ramchain->H.data->numexternaltxids,(long)ramchain->H.data->allocsize,firsti,(int32_t)ramchain->H.scriptoffset,scriptoffset,(int32_t)ramchain->H.stacksize,stacksize);
if ( ramchain->H.scriptoffset > scriptoffset || ramchain->H.stacksize > stacksize )
printf("MEMORY OVERFLOW\n");
if ( (err= iguana_ramchain_verify(coin,ramchain)) != 0 ) if ( (err= iguana_ramchain_verify(coin,ramchain)) != 0 )
printf("ERROR.%d verifying presave ramchain hdrsi.%d\n",err,hdrsi); printf("ERROR.%d verifying presave ramchain hdrsi.%d\n",err,hdrsi);
else retval = 0; else retval = 0;
} }
printf("postiterateA.%d T.%d U.%d S.%d P.%d X.%d -> size.%ld firsti.%d scripts.%d:%d stack.%d:%d\n",bp->bundleheight,ramchain->H.data->numtxids,ramchain->H.data->numunspents,ramchain->H.data->numspends,ramchain->H.data->numpkinds,ramchain->H.data->numexternaltxids,(long)ramchain->H.data->allocsize,firsti,(int32_t)ramchain->H.scriptoffset,scriptoffset,(int32_t)ramchain->H.stacksize,stacksize); printf("postiterateA.%d T.%d U.%d S.%d P.%d X.%d -> size.%ld firsti.%d scripts.%d:%d stack.%d:%d\n",bp->bundleheight,ramchain->H.data->numtxids,ramchain->H.data->numunspents,ramchain->H.data->numspends,ramchain->H.data->numpkinds,ramchain->H.data->numexternaltxids,(long)ramchain->H.data->allocsize,firsti,(int32_t)ramchain->H.scriptoffset,scriptoffset,(int32_t)ramchain->H.stacksize,stacksize);
ramchain->H.scriptoffset = scriptoffset; ramchain->H.scriptoffset = scriptoffset + stacksize;
ramchain->H.data->scriptspace = scriptoffset + stacksize; ramchain->H.data->scriptspace = scriptoffset + stacksize;
ramchain->H.stacksize = ramchain->H.data->stackspace = stacksize; ramchain->H.stacksize = ramchain->H.data->stackspace = stacksize;
if ( iguana_ramchain_save(coin,RAMCHAIN_ARG,0,firsthash2,zero,0,bp) < 0 ) if ( iguana_ramchain_save(coin,RAMCHAIN_ARG,0,firsthash2,zero,0,bp) < 0 )

Loading…
Cancel
Save