diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-k8s.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-k8s.json.test.ts.snap index 2c94d25c..62f34589 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-k8s.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-k8s.json.test.ts.snap @@ -587,7 +587,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap index 52d8d72c..c5e57e94 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode-peer-dev-mode.json.test.ts.snap @@ -3562,7 +3562,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap index d08007f4..4fa61dc5 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-1chaincode.json.test.ts.snap @@ -3618,7 +3618,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap index 09a997dc..2e19d79a 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-1org-2chaincode-raft-ccaas.json.test.ts.snap @@ -3806,14 +3806,14 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end subgraph channel_my_channel2 [Channel: my-channel2] subgraph channel_my_channel2_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel2[[Chaincode: chaincode1]] end class channel_my_channel2_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap index cb0b88eb..f09cee95 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-private-data.yaml.test.ts.snap @@ -4578,8 +4578,8 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_or_policy_chaincode[[Chaincode: or-policy-chaincode]] - chaincode_and_policy_chaincode[[Chaincode: and-policy-chaincode]] + chaincode_or_policy_chaincode_my_channel1[[Chaincode: or-policy-chaincode]] + chaincode_and_policy_chaincode_my_channel1[[Chaincode: and-policy-chaincode]] end class channel_my_channel1_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap index fcf9ee38..af123298 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-2orgs-2chaincodes-raft.yaml.test.ts.snap @@ -6548,7 +6548,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end @@ -6563,7 +6563,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel3 [Channel: my-channel3] subgraph channel_my_channel3_padding [ ] - chaincode_chaincode2[[Chaincode: chaincode2]] + chaincode_chaincode2_my_channel3[[Chaincode: chaincode2]] end class channel_my_channel3_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap index 8398d3d2..a6749050 100644 --- a/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf2-3orgs-1chaincode-raft-explorer.json.test.ts.snap @@ -7154,7 +7154,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap index a27a933b..cf145454 100644 --- a/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf3-1orgs-1chaincode.json.test.ts.snap @@ -4018,7 +4018,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end diff --git a/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap b/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap index 45288e2c..4fd3bf81 100644 --- a/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap +++ b/e2e/__snapshots__/fablo-config-hlf3-bft-1orgs-1chaincode.json.test.ts.snap @@ -4043,7 +4043,7 @@ classDef subgraph_padding fill:none,stroke:none subgraph channel_my_channel1 [Channel: my-channel1] subgraph channel_my_channel1_padding [ ] - chaincode_chaincode1[[Chaincode: chaincode1]] + chaincode_chaincode1_my_channel1[[Chaincode: chaincode1]] end class channel_my_channel1_padding subgraph_padding end diff --git a/src/export-network-topology/generateMermaidDiagram.ts b/src/export-network-topology/generateMermaidDiagram.ts index 10cbbe73..41819e53 100644 --- a/src/export-network-topology/generateMermaidDiagram.ts +++ b/src/export-network-topology/generateMermaidDiagram.ts @@ -3,7 +3,7 @@ import { FabloConfigExtended, OrdererGroup } from "../types/FabloConfigExtended" const safeId = (id: string): string => id.replace(/[^a-zA-Z0-9_]/g, "_"); const ordererGroupId = (g: OrdererGroup): string => safeId(`ord_group_${g.name}_${g.orderers?.[0].address}`); const channelId = (channelName: string): string => safeId(`channel_${channelName}`); -const chaincodeId = (ccName: string): string => safeId(`chaincode_${ccName}`); +const chaincodeId = (ccName: string, channelName: string): string => safeId(`chaincode_${ccName}_${channelName}`); export function generateMermaidDiagram(config: FabloConfigExtended): string { const lines: string[] = ["graph LR"]; @@ -64,7 +64,7 @@ export function generateMermaidDiagram(config: FabloConfigExtended): string { // Add chaincodes for this channel (using cylinder shape) const channelChaincodes = config.chaincodes?.filter((cc) => cc.channel?.name === channel.name) ?? []; channelChaincodes.forEach((cc) => { - lines.push(` ${chaincodeId(cc.name)}[[Chaincode: ${cc.name}]]`); + lines.push(` ${chaincodeId(cc.name, channel.name)}[[Chaincode: ${cc.name}]]`); }); // Add dummy invisible node for empty channels to ensure visibility