{
reader.Seek(nBlockPos + nTxOffset, SeekOrigin.Begin); // Seek to transaction offset
- if (nTxSize != reader.Read(buffer, 0, nTxSize))
+ if (nTxSize != reader.Read(buffer, 0, (int)nTxSize))
{
return false;
}
/// Transaction size accessor
/// </summary>
[Ignore]
- public int nTxSize
+ public uint nTxSize
{
- get { return (int)VarInt.DecodeVarInt(TxSize); }
+ get { return (uint)VarInt.DecodeVarInt(TxSize); }
private set { TxSize = VarInt.EncodeVarInt(value); }
}
get { return TransactionFlags == TxFlags.TX_COINSTAKE; }
}
+ public CMerkleNode()
+ {
+ }
+
public CMerkleNode(CTransaction tx)
{
nTime = tx.nTime;
public class TxOutItem
{
/// <summary>
+ /// Outpoint identifier.
+ /// </summary>
+ [PrimaryKey, AutoIncrement]
+ public long nOutpointID { get; set; }
+
+ /// <summary>
/// Reference to transaction item.
/// </summary>
[ForeignKey(typeof(CMerkleNode), Name = "nMerkleNodeID")]
public class InputsJoin : TxOutItem
{
public byte[] TransactionHash { get; set; }
+
+ /// <summary>
+ /// To avoid awkwardness of sqlite wrapper.
+ /// </summary>
+ /// <returns></returns>
+ public TxOutItem getTxOutItem()
+ {
+ return new TxOutItem()
+ {
+ nOutpointID = nOutpointID,
+ nMerkleNodeID = nMerkleNodeID,
+ outputFlags = outputFlags,
+ OutputNumber = OutputNumber,
+ OutputValue = OutputValue,
+ scriptPubKey = scriptPubKey
+ };
+ }
}