# Module Differentiation using UI

## 1. **Modules differentiation**

To compare the modules, click on Compare button in the Modules page as shown below:

![image2.png](/files/4ClPaSBSU6vWWnSE0YQK)

Once, compare button is clicked, we need to select the first and second modules to compare:

![image3.png](/files/VTorKTcH2kTjXXV83iJK)

### 1.1 Result of comparison:

<figure><img src="/files/qsFTgHqWSy1678K3OrQN" alt=""><figcaption></figcaption></figure>

#### **1.1.1 Params**

1. “***Events***” – configures how differences in Events impact block comparison logic
   * “***Don't compare***” – event differences do not have effect on the block comparison
   * “***All events***” – event differences contributed to the decision of block comparison
2. “***Properties***” – configures how differences in Properties impact block comparison logic
   * “***Don't compare***” – Properties comparison results do not have any effect on the block comparison logic. (Only tag and block type are impactful for comparison).
   * “***Only simple properties***” – only simple Properties impact block comparison results
   * “***All properties***” – all Properties at all layers impact block comparison results
3. “***Children***” – configures if/how child blocks impact the comparison of the parent blocks
   * “***Don't compare***” – differences in child blocks do not impact the comparison results of the parent blocks
   * “***Only child blocks of the first level***” – only immediate children differences impact the comparison results of the parent blocks
   * “***All children***” – comparison results of all children in all layers are impactful on the results of the parent block comparison
4. “***UUID***” – configures if/how UUID and Hedera ID impact the comparison of the blocks
   * “***Don't compare***” – differences in UUID and Hedera ID (of schemas, tokens, topics, etc) do not impact the comparison results of the blocks.
   * “***All UUID***” – differences in UUID and Hedera ID are included in the comparison. When this option is enabled, for example, 2 tokens would be considered to be different even if their settings are absolutely the same. This is because their Hedera Token IDs would be different\_.\_

#### **1.2.2 Sections**

1. “***Description***” – module description
2. “***Module Blocks***” – comparison results for the block structures
3. ***“Input Events”*** – comparison results for the incoming events
4. ***“Output Events”*** – comparison results for the outgoing events

**Color legend \_–**\_ the mapping of the meaning/description of available block colors with the ability to switch on/off types

1. “***Green***” – blocks are identical, including their child blocks
2. “***Green/Yellow***” – blocks are identical, but the child blocks have differences
3. “***Yellow***” – blocks are partially identical
4. “***Red***” – no matching blocks found

Block comparison structure can be expanded to view the comparison of their Properties:

![image4.png](/files/y1aJM5sdIxb5IAPjTDGM)

1. **Data Format**

POST: /analytics/compare/modules

Input:

{

"moduleId1":"63……..1d7c" – ID of the first module

"moduleId2":"63……..1d7c" – ID of the second module

"eventsLvl":"0" – depth (level) of Event comparison (0/1)

"propLvl":"0" – depth (level) of Properties comparison (0/1/2)

"childrenLvl":"0" – depth (level) of child block comparison (0/1/2)

"idLvl":"0" – depth (level) of uuid comparison (0/1)

}

Output:

{

"left" – information about the first policy

"right " – information about the second policy

"blocks" – table with block comparison results

}

POST: /analytics/compare/modules/export?type=csv

Input:

{

"moduleId1":"63……..1d7c" – ID of the first module

"moduleId2":"63……..1d7c" – ID of the second module

"eventsLvl":"0" – depth (level) of Event comparison (0/1)

"propLvl":"0" – depth (level) of Properties comparison (0/1/2)

"childrenLvl":"0" – depth (level) of child block comparison (0/1/2)

"idLvl":"0" – depth (level) of uuid comparision (0/1)

}

Output:

сsv file


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guardian.hedera.com/guardian-dev/guardian/standard-registry/policies/modules/modules-differentiation/module-differentiation-using-ui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
