示例#1
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_serializable_list(self.headers)
示例#2
0
    def serialize(self, writer: BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_var_string(str(self))
示例#3
0
    def serialize_without_type(self,
                               writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream without serializing the base class `type` property.

        Args:
            writer: instance.
        """
        writer.write_uint16(self.port)
示例#4
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_var_bytes(self.invocation_script)
        writer.write_var_bytes(self.verification_script)
示例#5
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_var_int(self.primary_index)
        writer.write_uint64(self.nonce)
示例#6
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint8(self.type)
        writer.write_uint8(self.view_number)
示例#7
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        super(Header, self).serialize(writer)
        writer.write_uint8(0)
示例#8
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        self.serialize_unsigned(writer)
        writer.write_serializable_list(self.witnesses)
示例#9
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_int32(self.id)
        writer.write_bytes(self.key)
示例#10
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint8(self.type_.value)
        self._serialize_without_type(writer)
示例#11
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint32(self.index_start)
        writer.write_int16(self.count)
示例#12
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint8(self.usage)
        writer.write_var_bytes(self.data)
示例#13
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_var_int(len(self.addresses))
        for address in self.addresses:
            address.serialize(writer)
示例#14
0
    def serialize_unsigned(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the unsigned part of the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_var_string(self.category)
        writer.write_uint32(self.valid_block_start)
        writer.write_uint32(self.valid_block_end)
        writer.write_serializable(self.sender)
        writer.write_var_bytes(self.data)
示例#15
0
    def serialize_unsigned(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream excluding the validation byte + witness.

        Args:
            writer: instance.
        """
        writer.write_uint32(self.version)
        writer.write_serializable(self.prev_hash)
        writer.write_uint32(self.block_index)
        writer.write_uint16(self.validator_index)
        writer.write_var_bytes(self.data)
示例#16
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_serializable(self.header)
        writer.write_var_int(self.tx_count)
        writer.write_serializable_list(self.hashes)
        writer.write_var_bytes(self.flags)
示例#17
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_serializable(self.hash)
        writer.write_var_string(self.method)
        writer.write_uint16(self.parameters_count)
        writer.write_uint8(self.has_return_value)
        writer.write_uint8(self.call_flags.value)
示例#18
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_serializable(self.account)
        writer.write_uint8(self.scope)

        if payloads.WitnessScope.CUSTOM_CONTRACTS in self.scope:
            writer.write_serializable_list(self.allowed_contracts)

        if payloads.WitnessScope.CUSTOM_GROUPS in self.scope:
            writer.write_serializable_list(self.allowed_groups)
示例#19
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_var_bytes(self.filter)
        writer.write_uint8(self.K)
        writer.write_uint32(self.tweak)
示例#20
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint32(self.current_height)
        writer.write_uint32(self.timestamp)
        writer.write_uint32(self.nonce)
示例#21
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint32(self.timestamp)
        ip = IPAddress(self.ip).ipv6()
        writer.write_bytes(ip.packed)
        writer.write_serializable_list(self.capabilities)
示例#22
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        super(MerkleBlockPayload, self).serialize(writer)
        writer.write_var_int(self.content_count)
        writer.write_serializable_list(self.hashes)
        writer.write_var_bytes(self.flags)
示例#23
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_int32(self.major)
        writer.write_int32(self.minor)
        writer.write_int32(self.build)
        writer.write_int32(self.revision)
示例#24
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_serializable(self.header)
        writer.write_var_int(len(self.transactions))
        for tx in self.transactions:
            writer.write_serializable(tx)
示例#25
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        writer.write_uint8(self.type)
        writer.write_var_int(len(self.hashes))
        for h in self.hashes:  # type: types.UInt256
            writer.write_bytes(h.to_array())
示例#26
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        super(Block, self).serialize(writer)
        writer.write_var_int(len(self.transactions) + 1)
        writer.write_serializable(self.consensus_data)
        for tx in self.transactions:
            writer.write_serializable(tx)
示例#27
0
    def serialize(self, writer: serialization.BinaryWriter) -> None:
        """
        Serialize the object into a binary stream.

        Args:
            writer: instance.
        """
        payload = self.payload.to_array()

        if len(self.payload) > self.COMPRESSION_MIN_SIZE and MessageConfig.COMPRESSED not in self.config:
            compressed_data = lz4.block.compress(self.payload.to_array(), store_size=False)
            if len(compressed_data) < len(self.payload) - self.COMPRESSION_THRESHOLD:
                payload = compressed_data
                self.config |= MessageConfig.COMPRESSED

        writer.write_uint8(self.config)
        writer.write_uint8(self.type.value)
        writer.write_var_bytes(payload)
示例#28
0
 def serialize(self, writer: serialization.BinaryWriter) -> None:
     writer.write_serializable_list(self._records)
示例#29
0
 def serialize(self, writer: serialization.BinaryWriter) -> None:
     writer.write_uint32(self.index)
     writer.write_var_bytes(self.gas_per_block.to_array())
示例#30
0
 def serialize(self, writer: serialization.BinaryWriter) -> None:
     writer.write_var_int(len(self._validators))
     for key, value in self._validators.items():
         writer.write_serializable(key)
         writer.write_var_bytes(value.to_array())