X-Git-Url: https://git.novaco.in/?p=NovacoinLibrary.git;a=blobdiff_plain;f=Novacoin%2FCBlockStore.cs;h=e8981ebebe49bd2e704fd484c4264443f2fa061c;hp=1b600b9de4d9d19bd70df2897d84933bddb3b17a;hb=fed302c65257c4124ec996f50ee228dd12acd6d3;hpb=d171cc68784f580b4dd334944014930f638eab89 diff --git a/Novacoin/CBlockStore.cs b/Novacoin/CBlockStore.cs index 1b600b9..e8981eb 100644 --- a/Novacoin/CBlockStore.cs +++ b/Novacoin/CBlockStore.cs @@ -1108,14 +1108,19 @@ namespace Novacoin /// Block reference /// Block position reference /// Result of operation - public bool GetBlockByTransactionID(uint256 TxID, ref CBlock block, ref long nBlockPos) + public bool GetBlockByTransactionID(uint256 TxID, out CBlock block, out long nBlockPos) { + block = null; + nBlockPos = -1; + var queryResult = dbConn.Query("select b.* from [BlockStorage] b left join [MerkleNodes] m on (b.[ItemID] = m.[nParentBlockID]) where m.[TransactionHash] = ?", (byte[])TxID); if (queryResult.Count == 1) { CBlockStoreItem blockCursor = queryResult[0]; + nBlockPos = blockCursor.nBlockPos; + return blockCursor.ReadFromFile(ref fStreamReadWrite, out block); } @@ -1273,7 +1278,7 @@ namespace Novacoin // TODO: proof-of-stake validation uint256 hashProofOfStake = 0, targetProofOfStake = 0; - if (!StakeModifier.CheckProofOfStake(block.vtx[1], block.header.nBits, ref hashProofOfStake, ref targetProofOfStake)) + if (!StakeModifier.CheckProofOfStake(block.vtx[1], block.header.nBits, out hashProofOfStake, out targetProofOfStake)) { return false; // do not error here as we expect this during initial block download }