) -> script::Builder { builder = builder .push_opcode(opcodes::OP_FALSE) .push_opcode(opcodes::all::OP_IF) .push_slice(envelope::PROTOCOL_ID); if let Some(content_type) = self.content_type.clone() { builder = builder .push_slice(envelope::CONTENT_TYPE_TAG) .push_slice(PushBytesBuf::try_from(content_type).unwrap()); } if let Some(content_encoding) = self.content_encoding.clone() { builder = builder .push_slice(envelope::CONTENT_ENCODING_TAG) .push_slice(PushBytesBuf::try_from(content_encoding).unwrap()); } if let Some(protocol) = self.metaprotocol.clone() { builder = builder .push_slice(envelope::METAPROTOCOL_TAG) .push_slice(PushBytesBuf::try_from(protocol).unwrap()); } if let Some(parent) = self.parent.clone() { builder = builder .push_slice(envelope::PARENT_TAG) .push_slice(PushBytesBuf::try_from(parent).unwrap()); } if let Some(pointer) = self.pointer.clone() {