def serialize(self, writer: serialization.BinaryWriter) -> None: version_str = "{0}.{1}.{2}.{3}".format(self.major, self.minor, self.build, self.revision) from boa3.neo.vm.type.String import String version_bytes = String(version_str).to_bytes() + bytes( s.uint64 * 4 - len(version_str)) writer.write_bytes(version_bytes)
def serialize(self, writer: serialization.BinaryWriter) -> None: """ Serialize the object into a binary stream. Args: writer: instance. """ writer.write_serializable_list(self.headers)
def serialize(self, writer: serialization.BinaryWriter) -> None: """ Serialize the object into a binary stream. Args: writer: instance. """ writer.write_bytes(self._data)
def serialize(self, writer: BinaryWriter) -> None: """ Serialize the object into a binary stream. Args: writer: instance. """ writer.write_var_string(json.dumps(self.to_json()).replace(' ', ''))
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)
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)
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)
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)
def serialize(self, writer: serialization.BinaryWriter) -> None: """ Serialize the object into a binary stream. Args: writer: instance. """ writer.write_uint8(self.type) self.serialize_without_type(writer)
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)
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)
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_uint16(self.count)
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)
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)
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)
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)
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)
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())
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)
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)
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)
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)
def serialize(self, writer: serialization.BinaryWriter) -> None: """ Serialize the object into a binary stream. Args: writer: instance. """ writer.write_uint32(self.magic) writer.write_uint32(self.version) writer.write_uint32(self.timestamp) writer.write_uint32(self.nonce) writer.write_var_string(self.user_agent) writer.write_serializable_list(self.capabilities)
def serialize(self, writer: serialization.BinaryWriter, compress=True): if self == self.curve.Infinity: writer.write_uint8(b'\x00') else: byt = self.encode_point(compressed=compress) writer.write_bytes(byt)
def serialize_special(self, writer: serialization.BinaryWriter) -> None: self.serialize(writer) writer.write_uint8(self.vm_state) writer.write_uint32(self.block_height)
def serialize_unsigned(self, writer: serialization.BinaryWriter) -> None: writer.write_uint8(self.version) writer.write_uint32(self.nonce) writer.write_serializable(self.sender) writer.write_int64(self.system_fee) writer.write_int64(self.network_fee) writer.write_uint32(self.valid_until_block) writer.write_serializable_list(self.attributes) writer.write_serializable_list(self.cosigners) writer.write_var_bytes(self.script)
def serialize(self, writer: serialization.BinaryWriter) -> None: super(TrimmedBlock, self).serialize(writer) writer.write_serializable_list(self.hashes) if len(self.hashes) > 0: writer.write_serializable(self.consensus_data)
def tokens_to_array(self): from boa3.neo3.core.serialization import BinaryWriter with BinaryWriter() as bw: bw.write_var_bytes(bytes()) return bw._stream.getvalue()
def serialize(self, writer: serialization.BinaryWriter) -> None: writer.write_uint32(self.magic) writer.write_bytes(self.compiler_with_version) writer.write_uint16(0) # 2 reserved bytes writer.write_var_bytes(bytes()) # TODO: method tokens writer.write_uint16(0) # 2 reserved bytes writer.write_var_bytes(self.script) writer.write_bytes(self.checksum)
def serialize_unsigned(self, writer: serialization.BinaryWriter) -> None: writer.write_uint32(self.version) writer.write_serializable(self.prev_hash) writer.write_serializable(self.merkle_root) writer.write_uint64(self.timestamp) writer.write_uint32(self.index) writer.write_serializable(self.next_consensus)