public TransactionSerializer(IProtocolTypeSerializer <TransactionInput> transactionInputSerializer,
                              IProtocolTypeSerializer <TransactionOutput> transactionOutputSerializer,
                              IProtocolTypeSerializer <TransactionWitness> transactionWitnessSerializer)
 {
     _transactionInputSerializer   = transactionInputSerializer;
     _transactionOutputSerializer  = transactionOutputSerializer;
     _transactionWitnessSerializer = transactionWitnessSerializer;
 }
 public static int WriteWithSerializer <TSerializableType>(this IBufferWriter <byte> writer, TSerializableType item, int protocolVersion, IProtocolTypeSerializer <TSerializableType> serializer, ProtocolTypeSerializerOptions?options = null)
 {
     return(serializer.Serialize(item, protocolVersion, writer, options));
 }
        public static int WriteArray <TSerializableType>(this IBufferWriter <byte> writer, TSerializableType[]?items, int protocolVersion, IProtocolTypeSerializer <TSerializableType> serializer, ProtocolTypeSerializerOptions?options = null)
        {
            if ((items?.Length ?? 0) == 0)
            {
                return(writer.WriteVarInt(0));
            }

            int size = WriteVarInt(writer, (ulong)items !.Length);

            for (int i = 0; i < items.Length; i++)
            {
                size += serializer.Serialize(items[i], protocolVersion, writer, options);
            }

            return(size);
        }
 public BlockHeaderHashCalculator(IProtocolTypeSerializer <BlockHeader> blockHeaderSerializer)
 {
     _blockHeaderSerializer = blockHeaderSerializer;
 }
 public GetBlocksMessageSerializer(IProtocolTypeSerializer <BlockLocator> blockLocatorSerializer, IProtocolTypeSerializer <UInt256> uint256Serializer)
 {
     _blockLocatorSerializer = blockLocatorSerializer;
     _uint256Serializer      = uint256Serializer;
 }
Exemplo n.º 6
0
 public CheckSize(ILogger <CheckSize> logger, IProtocolTypeSerializer <Protocol.Types.Block> blockSerializer, IConsensusParameters consensusParameters)
 {
     _logger              = logger;
     _blockSerializer     = blockSerializer;
     _consensusParameters = consensusParameters;
 }
Exemplo n.º 7
0
 public TransactionHashCalculator(IProtocolTypeSerializer <Transaction> transactionSerializer)
 {
     _transactionSerializer = transactionSerializer;
 }
 public GetDataMessageSerializer(IProtocolTypeSerializer <InventoryVector> inventoryVectorSerializer)
 {
     _inventoryVectorSerializer = inventoryVectorSerializer;
 }
Exemplo n.º 9
0
 public OutPointSerializer(IProtocolTypeSerializer <UInt256> uInt256Serializator)
 {
     _uInt256Serializator = uInt256Serializator;
 }
 public VersionMessageSerializer(IProtocolTypeSerializer <NetworkAddressNoTime> networkAddressNoTimeSerializer)
 {
     _networkAddressNoTimeSerializer = networkAddressNoTimeSerializer;
 }
Exemplo n.º 11
0
 public CheckTransactions(ILogger <CheckTransactions> logger, IProtocolTypeSerializer <Transaction> transactionSerializer, IConsensusParameters consensusParameters)
 {
     _logger = logger;
     _transactionSerializer = transactionSerializer;
     _consensusParameters   = consensusParameters;
 }
Exemplo n.º 12
0
 public PongMessageSerializer(IProtocolTypeSerializer <PongFancyResponse> pongFancyResponseSerializator)
 {
     /// since the pong message has a complex type that can be reused in other payload (well, this is specific to pong but you get the idea) we are implementing a custom
     /// type serializer and inject it into this message serializer
     _pongFancyResponseSerializator = pongFancyResponseSerializator;
 }
Exemplo n.º 13
0
 public BlockSerializer(IProtocolTypeSerializer <BlockHeader> blockHeaderSerializer, IProtocolTypeSerializer <Transaction> transactionSerializer)
 {
     _blockHeaderSerializer = blockHeaderSerializer;
     _transactionSerializer = transactionSerializer;
 }
 public HeadersMessageSerializer(IProtocolTypeSerializer <BlockHeader> blockHeaderSerializer)
 {
     _blockHeaderSerializer = blockHeaderSerializer;
 }
 public InventoryVectorSerializer(IProtocolTypeSerializer <UInt256> uInt256Serializator)
 {
     _uInt256Serializator = uInt256Serializator;
 }
 public TransactionInputSerializer(IProtocolTypeSerializer <OutPoint> outPointSerializator)
 {
     _outPointSerializator = outPointSerializator;
 }
Exemplo n.º 17
0
 public BlockLocatorSerializer(IProtocolTypeSerializer <UInt256> uInt256Serializator)
 {
     _uInt256Serializator = uInt256Serializator;
 }
 public TransactionWitnessSerializer(IProtocolTypeSerializer <TransactionWitnessComponent> transactionWitnessComponentSerializer)
 {
     _transactionWitnessComponentSerializer = transactionWitnessComponentSerializer;
 }
 public BlockMessageSerializer(IProtocolTypeSerializer <Block> blockSerializer)
 {
     _blockSerializer = blockSerializer;
 }
Exemplo n.º 20
0
 public AddrMessageSerializer(IProtocolTypeSerializer <NetworkAddress> networkAddressSerializer)
 {
     _networkAddressSerializer = networkAddressSerializer;
 }