Test
This commit is contained in:
@@ -539,24 +539,32 @@ uint256 GatewaysReverseScan(uint256 &txid,int32_t height,uint256 reforacletxid,u
|
||||
{
|
||||
CTransaction tx; uint256 hash,mhash,hashBlock,oracletxid; int64_t val; int32_t numvouts; int64_t merkleht; CPubKey pk; std::vector<uint8_t>data;
|
||||
txid = zeroid;
|
||||
char str[65]; fprintf(stderr,"reverse scan %s\n",uint256_str(str,batontxid));
|
||||
char str[65]; fprintf(stderr,"start reverse scan %s\n",uint256_str(str,batontxid));
|
||||
while ( GetTransaction(batontxid,tx,hashBlock,false) != 0 && (numvouts= tx.vout.size()) > 0 )
|
||||
{
|
||||
fprintf(stderr,"reverse scan %s\n",uint256_str(str,batontxid));
|
||||
if ( DecodeOraclesData(tx.vout[numvouts-1].scriptPubKey,oracletxid,hash,pk,data) == 'D' && oracletxid == reforacletxid )
|
||||
{
|
||||
fprintf(stderr,"decoded %s\n",uint256_str(str,batontxid));
|
||||
if ( oracle_format(&hash,&merkleht,0,'I',(uint8_t *)data.data(),0,(int32_t)data.size()) == sizeof(int32_t) && merkleht == height )
|
||||
{
|
||||
fprintf(stderr,"found merkleht.%d\n",merkleht);
|
||||
if ( oracle_format(&hash,&val,0,'h',(uint8_t *)data.data(),sizeof(int32_t),(int32_t)data.size()) == sizeof(hash) &&
|
||||
oracle_format(&mhash,&val,0,'h',(uint8_t *)data.data(),(int32_t)(sizeof(int32_t)+sizeof(uint256)),(int32_t)data.size()) == sizeof(hash) && mhash != zeroid )
|
||||
{
|
||||
txid = batontxid;
|
||||
fprintf(stderr,"set txid\n");
|
||||
return(mhash);
|
||||
} else return(zeroid);
|
||||
}
|
||||
} //else break;
|
||||
batontxid = hash;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr,"missing hash\n");
|
||||
return(zeroid);
|
||||
}
|
||||
} else fprintf(stderr,"height.%d vs search ht.%d\n",merkleht,height);
|
||||
batontxid = hash;
|
||||
} else break;
|
||||
}
|
||||
fprintf(stderr,"end of loop\n");
|
||||
return(zeroid);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user