Skip to content

Commit 6076b66

Browse files
committed
add module graph
1 parent fa42dad commit 6076b66

File tree

3 files changed

+354
-1
lines changed

3 files changed

+354
-1
lines changed

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,13 @@ mockery: $(mockery) ## Install mockery.
124124
rm-mocked:
125125
grep -rl "^// Code generated by mockery" | grep .go$ | xargs -r rm
126126

127+
.PHONY: modgraph
128+
modgraph:
129+
go install github.com/jmank88/[email protected]
130+
./scripts/modgraph.sh > go.md
131+
127132
.PHONY: generate
128-
generate: mockery gomods
133+
generate: mockery gomods modgraph
129134
gomods -w go generate -x ./...
130135
mockery
131136

go.md

Lines changed: 328 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,328 @@
1+
# smartcontractkit Go modules
2+
## Main module
3+
```mermaid
4+
flowchart LR
5+
6+
chain-selectors
7+
click chain-selectors href "https://github.com/smartcontractkit/chain-selectors"
8+
chainlink-ccip --> chainlink-common
9+
chainlink-ccip --> chainlink-protos/rmn/v1.6/go
10+
click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip"
11+
chainlink-ccip/chains/solana --> chainlink-ccip
12+
click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip"
13+
chainlink-ccip/chains/solana/gobindings
14+
click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip"
15+
chainlink-common --> chain-selectors
16+
chainlink-common --> chainlink-common/pkg/chipingress
17+
chainlink-common --> chainlink-protos/billing/go
18+
chainlink-common --> chainlink-protos/cre/go
19+
chainlink-common --> chainlink-protos/storage-service
20+
chainlink-common --> chainlink-protos/workflows/go
21+
chainlink-common --> freeport
22+
chainlink-common --> grpc-proxy
23+
chainlink-common --> libocr
24+
click chainlink-common href "https://github.com/smartcontractkit/chainlink-common"
25+
chainlink-common/pkg/chipingress
26+
click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common"
27+
chainlink-common/pkg/monitoring --> chainlink-common
28+
click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common"
29+
chainlink-framework/capabilities --> chainlink-common
30+
click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework"
31+
chainlink-framework/metrics --> chainlink-common
32+
click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework"
33+
chainlink-framework/multinode --> chainlink-framework/metrics
34+
click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework"
35+
chainlink-protos/billing/go
36+
click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos"
37+
chainlink-protos/cre/go
38+
click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos"
39+
chainlink-protos/rmn/v1.6/go
40+
click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos"
41+
chainlink-protos/storage-service
42+
click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos"
43+
chainlink-protos/workflows/go
44+
click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos"
45+
chainlink-solana --> chainlink-ccip/chains/solana
46+
chainlink-solana --> chainlink-ccip/chains/solana/gobindings
47+
chainlink-solana --> chainlink-common/pkg/monitoring
48+
chainlink-solana --> chainlink-framework/capabilities
49+
chainlink-solana --> chainlink-framework/multinode
50+
click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana"
51+
freeport
52+
click freeport href "https://github.com/smartcontractkit/freeport"
53+
grpc-proxy
54+
click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy"
55+
libocr
56+
click libocr href "https://github.com/smartcontractkit/libocr"
57+
58+
subgraph chainlink-ccip-repo[chainlink-ccip]
59+
chainlink-ccip
60+
chainlink-ccip/chains/solana
61+
chainlink-ccip/chains/solana/gobindings
62+
end
63+
click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip"
64+
65+
subgraph chainlink-common-repo[chainlink-common]
66+
chainlink-common
67+
chainlink-common/pkg/chipingress
68+
chainlink-common/pkg/monitoring
69+
end
70+
click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common"
71+
72+
subgraph chainlink-framework-repo[chainlink-framework]
73+
chainlink-framework/capabilities
74+
chainlink-framework/metrics
75+
chainlink-framework/multinode
76+
end
77+
click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework"
78+
79+
subgraph chainlink-protos-repo[chainlink-protos]
80+
chainlink-protos/billing/go
81+
chainlink-protos/cre/go
82+
chainlink-protos/rmn/v1.6/go
83+
chainlink-protos/storage-service
84+
chainlink-protos/workflows/go
85+
end
86+
click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos"
87+
88+
classDef outline stroke-dasharray:6,fill:none;
89+
class chainlink-ccip-repo,chainlink-common-repo,chainlink-framework-repo,chainlink-protos-repo outline
90+
```
91+
## All modules
92+
```mermaid
93+
flowchart LR
94+
95+
ccip-owner-contracts
96+
click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts"
97+
chain-selectors
98+
click chain-selectors href "https://github.com/smartcontractkit/chain-selectors"
99+
chainlink-aptos --> chainlink-common
100+
click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos"
101+
chainlink-automation --> chainlink-common
102+
click chainlink-automation href "https://github.com/smartcontractkit/chainlink-automation"
103+
chainlink-ccip --> chainlink-common
104+
chainlink-ccip --> chainlink-common/pkg/values
105+
chainlink-ccip --> chainlink-protos/rmn/v1.6/go
106+
click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip"
107+
chainlink-ccip/chains/solana --> chainlink-ccip
108+
chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings
109+
click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip"
110+
chainlink-ccip/chains/solana/gobindings
111+
click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip"
112+
chainlink-common --> chain-selectors
113+
chainlink-common --> chainlink-common/pkg/chipingress
114+
chainlink-common --> chainlink-protos/billing/go
115+
chainlink-common --> chainlink-protos/cre/go
116+
chainlink-common --> chainlink-protos/storage-service
117+
chainlink-common --> freeport
118+
chainlink-common --> grpc-proxy
119+
chainlink-common --> libocr
120+
click chainlink-common href "https://github.com/smartcontractkit/chainlink-common"
121+
chainlink-common/pkg/chipingress
122+
click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common"
123+
chainlink-common/pkg/monitoring --> chainlink-common
124+
click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common"
125+
chainlink-common/pkg/values
126+
click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common"
127+
chainlink-data-streams --> chainlink-common
128+
click chainlink-data-streams href "https://github.com/smartcontractkit/chainlink-data-streams"
129+
chainlink-deployments-framework --> chainlink-evm/gethwrappers
130+
chainlink-deployments-framework --> chainlink-protos/chainlink-catalog
131+
chainlink-deployments-framework --> chainlink-protos/job-distributor
132+
chainlink-deployments-framework --> chainlink-testing-framework/seth
133+
chainlink-deployments-framework --> chainlink-tron/relayer
134+
chainlink-deployments-framework --> mcms
135+
click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework"
136+
chainlink-evm --> chainlink-evm/gethwrappers
137+
chainlink-evm --> chainlink-framework/capabilities
138+
chainlink-evm --> chainlink-framework/chains
139+
chainlink-evm --> chainlink-protos/svr
140+
chainlink-evm --> chainlink-tron/relayer
141+
click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm"
142+
chainlink-evm/gethwrappers
143+
click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm"
144+
chainlink-feeds --> chainlink-common
145+
click chainlink-feeds href "https://github.com/smartcontractkit/chainlink-feeds"
146+
chainlink-framework/capabilities --> chainlink-common
147+
click chainlink-framework/capabilities href "https://github.com/smartcontractkit/chainlink-framework"
148+
chainlink-framework/chains --> chainlink-framework/multinode
149+
click chainlink-framework/chains href "https://github.com/smartcontractkit/chainlink-framework"
150+
chainlink-framework/metrics --> chainlink-common
151+
click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework"
152+
chainlink-framework/multinode --> chainlink-framework/metrics
153+
click chainlink-framework/multinode href "https://github.com/smartcontractkit/chainlink-framework"
154+
chainlink-protos/billing/go --> chainlink-protos/workflows/go
155+
click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos"
156+
chainlink-protos/chainlink-catalog
157+
click chainlink-protos/chainlink-catalog href "https://github.com/smartcontractkit/chainlink-protos"
158+
chainlink-protos/cre/go
159+
click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos"
160+
chainlink-protos/job-distributor
161+
click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos"
162+
chainlink-protos/orchestrator --> wsrpc
163+
click chainlink-protos/orchestrator href "https://github.com/smartcontractkit/chainlink-protos"
164+
chainlink-protos/rmn/v1.6/go
165+
click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos"
166+
chainlink-protos/storage-service
167+
click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos"
168+
chainlink-protos/svr
169+
click chainlink-protos/svr href "https://github.com/smartcontractkit/chainlink-protos"
170+
chainlink-protos/workflows/go
171+
click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos"
172+
chainlink-solana --> chainlink-ccip/chains/solana
173+
chainlink-solana --> chainlink-common/pkg/monitoring
174+
chainlink-solana --> chainlink-framework/capabilities
175+
chainlink-solana --> chainlink-framework/multinode
176+
click chainlink-solana href "https://github.com/smartcontractkit/chainlink-solana"
177+
chainlink-solana/integration-tests --> chainlink/integration-tests
178+
click chainlink-solana/integration-tests href "https://github.com/smartcontractkit/chainlink-solana"
179+
chainlink-testing-framework/framework
180+
click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework"
181+
chainlink-testing-framework/havoc
182+
click chainlink-testing-framework/havoc href "https://github.com/smartcontractkit/chainlink-testing-framework"
183+
chainlink-testing-framework/lib --> chainlink-testing-framework/parrot
184+
chainlink-testing-framework/lib --> chainlink-testing-framework/seth
185+
click chainlink-testing-framework/lib href "https://github.com/smartcontractkit/chainlink-testing-framework"
186+
chainlink-testing-framework/lib/grafana
187+
click chainlink-testing-framework/lib/grafana href "https://github.com/smartcontractkit/chainlink-testing-framework"
188+
chainlink-testing-framework/parrot
189+
click chainlink-testing-framework/parrot href "https://github.com/smartcontractkit/chainlink-testing-framework"
190+
chainlink-testing-framework/sentinel
191+
click chainlink-testing-framework/sentinel href "https://github.com/smartcontractkit/chainlink-testing-framework"
192+
chainlink-testing-framework/seth
193+
click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework"
194+
chainlink-testing-framework/wasp
195+
click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework"
196+
chainlink-tron/relayer --> chainlink-common
197+
chainlink-tron/relayer --> chainlink-common/pkg/values
198+
click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron"
199+
chainlink/deployment --> ccip-owner-contracts
200+
chainlink/deployment --> chainlink-deployments-framework
201+
chainlink/deployment --> chainlink-testing-framework/lib
202+
chainlink/deployment --> chainlink/v2
203+
click chainlink/deployment href "https://github.com/smartcontractkit/chainlink"
204+
chainlink/integration-tests --> chainlink-testing-framework/havoc
205+
chainlink/integration-tests --> chainlink-testing-framework/lib/grafana
206+
chainlink/integration-tests --> chainlink-testing-framework/sentinel
207+
chainlink/integration-tests --> chainlink-testing-framework/wasp
208+
chainlink/integration-tests --> chainlink/deployment
209+
click chainlink/integration-tests href "https://github.com/smartcontractkit/chainlink"
210+
chainlink/v2 --> chainlink-aptos
211+
chainlink/v2 --> chainlink-automation
212+
chainlink/v2 --> chainlink-data-streams
213+
chainlink/v2 --> chainlink-evm
214+
chainlink/v2 --> chainlink-feeds
215+
chainlink/v2 --> chainlink-protos/orchestrator
216+
chainlink/v2 --> chainlink-solana
217+
chainlink/v2 --> cre-sdk-go
218+
chainlink/v2 --> cre-sdk-go/capabilities/networking/http
219+
chainlink/v2 --> cre-sdk-go/capabilities/scheduler/cron
220+
chainlink/v2 --> tdh2/go/ocr2/decryptionplugin
221+
click chainlink/v2 href "https://github.com/smartcontractkit/chainlink"
222+
cre-sdk-go
223+
click cre-sdk-go href "https://github.com/smartcontractkit/cre-sdk-go"
224+
cre-sdk-go/capabilities/networking/http
225+
click cre-sdk-go/capabilities/networking/http href "https://github.com/smartcontractkit/cre-sdk-go"
226+
cre-sdk-go/capabilities/scheduler/cron
227+
click cre-sdk-go/capabilities/scheduler/cron href "https://github.com/smartcontractkit/cre-sdk-go"
228+
freeport
229+
click freeport href "https://github.com/smartcontractkit/freeport"
230+
grpc-proxy
231+
click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy"
232+
libocr
233+
click libocr href "https://github.com/smartcontractkit/libocr"
234+
mcms --> chainlink-aptos
235+
mcms --> chainlink-ccip/chains/solana
236+
mcms --> chainlink-testing-framework/framework
237+
click mcms href "https://github.com/smartcontractkit/mcms"
238+
tdh2/go/ocr2/decryptionplugin --> libocr
239+
tdh2/go/ocr2/decryptionplugin --> tdh2/go/tdh2
240+
click tdh2/go/ocr2/decryptionplugin href "https://github.com/smartcontractkit/tdh2"
241+
tdh2/go/tdh2
242+
click tdh2/go/tdh2 href "https://github.com/smartcontractkit/tdh2"
243+
wsrpc
244+
click wsrpc href "https://github.com/smartcontractkit/wsrpc"
245+
246+
subgraph chainlink-repo[chainlink]
247+
chainlink/deployment
248+
chainlink/integration-tests
249+
chainlink/v2
250+
end
251+
click chainlink-repo href "https://github.com/smartcontractkit/chainlink"
252+
253+
subgraph chainlink-ccip-repo[chainlink-ccip]
254+
chainlink-ccip
255+
chainlink-ccip/chains/solana
256+
chainlink-ccip/chains/solana/gobindings
257+
end
258+
click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip"
259+
260+
subgraph chainlink-common-repo[chainlink-common]
261+
chainlink-common
262+
chainlink-common/pkg/chipingress
263+
chainlink-common/pkg/monitoring
264+
chainlink-common/pkg/values
265+
end
266+
click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common"
267+
268+
subgraph chainlink-evm-repo[chainlink-evm]
269+
chainlink-evm
270+
chainlink-evm/gethwrappers
271+
end
272+
click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm"
273+
274+
subgraph chainlink-framework-repo[chainlink-framework]
275+
chainlink-framework/capabilities
276+
chainlink-framework/chains
277+
chainlink-framework/metrics
278+
chainlink-framework/multinode
279+
end
280+
click chainlink-framework-repo href "https://github.com/smartcontractkit/chainlink-framework"
281+
282+
subgraph chainlink-protos-repo[chainlink-protos]
283+
chainlink-protos/billing/go
284+
chainlink-protos/chainlink-catalog
285+
chainlink-protos/cre/go
286+
chainlink-protos/job-distributor
287+
chainlink-protos/orchestrator
288+
chainlink-protos/rmn/v1.6/go
289+
chainlink-protos/storage-service
290+
chainlink-protos/svr
291+
chainlink-protos/workflows/go
292+
end
293+
click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos"
294+
295+
subgraph chainlink-solana-repo[chainlink-solana]
296+
chainlink-solana
297+
chainlink-solana/integration-tests
298+
end
299+
click chainlink-solana-repo href "https://github.com/smartcontractkit/chainlink-solana"
300+
301+
subgraph chainlink-testing-framework-repo[chainlink-testing-framework]
302+
chainlink-testing-framework/framework
303+
chainlink-testing-framework/havoc
304+
chainlink-testing-framework/lib
305+
chainlink-testing-framework/lib/grafana
306+
chainlink-testing-framework/parrot
307+
chainlink-testing-framework/sentinel
308+
chainlink-testing-framework/seth
309+
chainlink-testing-framework/wasp
310+
end
311+
click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework"
312+
313+
subgraph cre-sdk-go-repo[cre-sdk-go]
314+
cre-sdk-go
315+
cre-sdk-go/capabilities/networking/http
316+
cre-sdk-go/capabilities/scheduler/cron
317+
end
318+
click cre-sdk-go-repo href "https://github.com/smartcontractkit/cre-sdk-go"
319+
320+
subgraph tdh2-repo[tdh2]
321+
tdh2/go/ocr2/decryptionplugin
322+
tdh2/go/tdh2
323+
end
324+
click tdh2-repo href "https://github.com/smartcontractkit/tdh2"
325+
326+
classDef outline stroke-dasharray:6,fill:none;
327+
class chainlink-repo,chainlink-ccip-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-framework-repo,chainlink-protos-repo,chainlink-solana-repo,chainlink-testing-framework-repo,cre-sdk-go-repo,tdh2-repo outline
328+
```

scripts/modgraph.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
3+
# Generates go.md
4+
5+
set -e
6+
7+
echo "# smartcontractkit Go modules
8+
## Main module
9+
\`\`\`mermaid
10+
flowchart LR
11+
"
12+
go mod graph | modgraph -prefix github.com/smartcontractkit/
13+
echo "\`\`\`"
14+
15+
echo "## All modules
16+
\`\`\`mermaid
17+
flowchart LR
18+
"
19+
gomods graph | modgraph -prefix github.com/smartcontractkit/
20+
echo "\`\`\`"

0 commit comments

Comments
 (0)