public void ReadWrite(BitcoinStream stream) { if (stream.Serializing) { ulong val = CompressAmount((ulong)_TxOut.Value.Satoshi); stream.ReadWriteAsCompactVarInt(ref val); } else { ulong val = 0; stream.ReadWriteAsCompactVarInt(ref val); _TxOut.Value = new Money(DecompressAmount(val)); } ScriptCompressor cscript = new ScriptCompressor(_TxOut.ScriptPubKey); stream.ReadWrite(ref cscript); if (!stream.Serializing) { _TxOut.ScriptPubKey = new Script(cscript.ScriptBytes); } }
public byte[] ToCompressedBytes() { var compressor = new ScriptCompressor(this); return compressor.ToBytes(); }
public Script(byte[] data, bool compressed) { if(!compressed) _Script = data.ToArray(); else { ScriptCompressor compressor = new ScriptCompressor(); compressor.ReadWrite(data); _Script = compressor.GetScript()._Script; } }
public byte[] ToCompressedBytes() { var compressor = new ScriptCompressor(this); return(compressor.ToBytes()); }
public void ReadWrite(BitcoinStream stream) { if(stream.Serializing) { ulong val = CompressAmount((ulong)_TxOut.Value.Satoshi); stream.ReadWriteAsCompactVarInt(ref val); } else { ulong val = 0; stream.ReadWriteAsCompactVarInt(ref val); _TxOut.Value = new Money(DecompressAmount(val)); } ScriptCompressor cscript = new ScriptCompressor(_TxOut.ScriptPubKey); stream.ReadWrite(ref cscript); if(!stream.Serializing) _TxOut.ScriptPubKey = new Script(cscript.ScriptBytes); }