예제 #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
파일: nef.py 프로젝트: CityOfZion/neo-mamba
    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())