diff --git a/go.md b/go.md new file mode 100644 index 000000000..f99020203 --- /dev/null +++ b/go.md @@ -0,0 +1,320 @@ +# smartcontractkit Go modules +## Main module +```mermaid +flowchart LR + + ccip-contract-examples/chains/evm + click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" + ccip-owner-contracts --> chain-selectors + click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" + chain-selectors + click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" + chainlink-aptos --> chainlink-common + click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" + chainlink-ccip + click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm + chainlink-ccip/chains/evm --> chainlink-ccip/deployment + chainlink-ccip/chains/evm --> chainlink-deployments-framework + chainlink-ccip/chains/evm --> chainlink-evm + chainlink-ccip/chains/evm --> chainlink-evm/gethwrappers + chainlink-ccip/chains/evm --> chainlink-evm/gethwrappers/helpers + click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana --> chainlink-ccip + chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings + chainlink-ccip/chains/solana --> chainlink-common + click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana/gobindings + click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/deployment + click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-common --> chainlink-common/pkg/chipingress + chainlink-common --> chainlink-protos/billing/go + chainlink-common --> chainlink-protos/cre/go + chainlink-common --> chainlink-protos/linking-service/go + chainlink-common --> chainlink-protos/node-platform + chainlink-common --> chainlink-protos/storage-service + chainlink-common --> chainlink-protos/workflows/go + chainlink-common --> freeport + chainlink-common --> grpc-proxy + chainlink-common --> libocr + click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/chipingress + click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/monitoring + click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/values + click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" + chainlink-deployments-framework --> ccip-owner-contracts + chainlink-deployments-framework --> chainlink-ccip/chains/evm + chainlink-deployments-framework --> chainlink-protos/job-distributor + chainlink-deployments-framework --> chainlink-protos/op-catalog + chainlink-deployments-framework --> chainlink-testing-framework/seth + chainlink-deployments-framework --> chainlink-tron/relayer + chainlink-deployments-framework --> mcms + click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" + chainlink-evm + click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers + click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers/helpers + click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-framework/metrics + click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-protos/billing/go + click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/cre/go --> chain-selectors + click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/job-distributor + click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/linking-service/go + click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/node-platform + click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/op-catalog + click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/storage-service + click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/workflows/go + click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-sui --> chainlink-aptos + chainlink-sui --> chainlink-ccip + click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" + chainlink-testing-framework/framework --> chainlink-testing-framework/lib/grafana + chainlink-testing-framework/framework --> chainlink-testing-framework/wasp + click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/lib/grafana + click chainlink-testing-framework/lib/grafana href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/seth + click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/wasp + click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-ton --> chainlink-ccip + chainlink-ton --> chainlink-common + chainlink-ton --> chainlink-common/pkg/monitoring + chainlink-ton --> chainlink-framework/metrics + click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" + chainlink-tron/relayer --> chainlink-common + chainlink-tron/relayer --> chainlink-common/pkg/values + click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" + freeport + click freeport href "https://github.com/smartcontractkit/freeport" + grpc-proxy + click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" + libocr + click libocr href "https://github.com/smartcontractkit/libocr" + mcms --> chainlink-ccip/chains/solana + mcms --> chainlink-sui + mcms --> chainlink-testing-framework/framework + mcms --> chainlink-ton + click mcms href "https://github.com/smartcontractkit/mcms" + + subgraph chainlink-ccip-repo[chainlink-ccip] + chainlink-ccip + chainlink-ccip/chains/evm + chainlink-ccip/chains/solana + chainlink-ccip/chains/solana/gobindings + chainlink-ccip/deployment + end + click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" + + subgraph chainlink-common-repo[chainlink-common] + chainlink-common + chainlink-common/pkg/chipingress + chainlink-common/pkg/monitoring + chainlink-common/pkg/values + end + click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" + + subgraph chainlink-evm-repo[chainlink-evm] + chainlink-evm + chainlink-evm/gethwrappers + chainlink-evm/gethwrappers/helpers + end + click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" + + subgraph chainlink-protos-repo[chainlink-protos] + chainlink-protos/billing/go + chainlink-protos/cre/go + chainlink-protos/job-distributor + chainlink-protos/linking-service/go + chainlink-protos/node-platform + chainlink-protos/op-catalog + chainlink-protos/storage-service + chainlink-protos/workflows/go + end + click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" + + subgraph chainlink-testing-framework-repo[chainlink-testing-framework] + chainlink-testing-framework/framework + chainlink-testing-framework/lib/grafana + chainlink-testing-framework/seth + chainlink-testing-framework/wasp + end + click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" + + classDef outline stroke-dasharray:6,fill:none; + class chainlink-ccip-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-protos-repo,chainlink-testing-framework-repo outline +``` +## All modules +```mermaid +flowchart LR + + ccip-contract-examples/chains/evm + click ccip-contract-examples/chains/evm href "https://github.com/smartcontractkit/ccip-contract-examples" + ccip-owner-contracts --> chain-selectors + click ccip-owner-contracts href "https://github.com/smartcontractkit/ccip-owner-contracts" + chain-selectors + click chain-selectors href "https://github.com/smartcontractkit/chain-selectors" + chainlink-aptos --> chainlink-common + click chainlink-aptos href "https://github.com/smartcontractkit/chainlink-aptos" + chainlink-ccip --> chainlink-common + chainlink-ccip --> chainlink-common/pkg/values + chainlink-ccip --> chainlink-protos/rmn/v1.6/go + click chainlink-ccip href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/evm --> ccip-contract-examples/chains/evm + chainlink-ccip/chains/evm --> chainlink-ccip/deployment + chainlink-ccip/chains/evm --> chainlink-deployments-framework + chainlink-ccip/chains/evm --> chainlink-evm + chainlink-ccip/chains/evm --> chainlink-evm/gethwrappers + chainlink-ccip/chains/evm --> chainlink-evm/gethwrappers/helpers + click chainlink-ccip/chains/evm href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana --> chainlink-ccip + chainlink-ccip/chains/solana --> chainlink-ccip/chains/solana/gobindings + click chainlink-ccip/chains/solana href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/chains/solana/gobindings + click chainlink-ccip/chains/solana/gobindings href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-ccip/deployment + click chainlink-ccip/deployment href "https://github.com/smartcontractkit/chainlink-ccip" + chainlink-common --> chainlink-common/pkg/chipingress + chainlink-common --> chainlink-protos/billing/go + chainlink-common --> chainlink-protos/cre/go + chainlink-common --> chainlink-protos/linking-service/go + chainlink-common --> chainlink-protos/node-platform + chainlink-common --> chainlink-protos/storage-service + chainlink-common --> chainlink-protos/workflows/go + chainlink-common --> freeport + chainlink-common --> grpc-proxy + chainlink-common --> libocr + click chainlink-common href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/chipingress + click chainlink-common/pkg/chipingress href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/monitoring + click chainlink-common/pkg/monitoring href "https://github.com/smartcontractkit/chainlink-common" + chainlink-common/pkg/values + click chainlink-common/pkg/values href "https://github.com/smartcontractkit/chainlink-common" + chainlink-deployments-framework --> ccip-owner-contracts + chainlink-deployments-framework --> chainlink-ccip/chains/evm + chainlink-deployments-framework --> chainlink-protos/job-distributor + chainlink-deployments-framework --> chainlink-protos/op-catalog + chainlink-deployments-framework --> chainlink-testing-framework/seth + chainlink-deployments-framework --> chainlink-tron/relayer + chainlink-deployments-framework --> mcms + click chainlink-deployments-framework href "https://github.com/smartcontractkit/chainlink-deployments-framework" + chainlink-deployments/domains/testdomain --> chainlink-deployments-framework + click chainlink-deployments/domains/testdomain href "https://github.com/smartcontractkit/chainlink-deployments" + chainlink-evm + click chainlink-evm href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers + click chainlink-evm/gethwrappers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-evm/gethwrappers/helpers + click chainlink-evm/gethwrappers/helpers href "https://github.com/smartcontractkit/chainlink-evm" + chainlink-framework/metrics + click chainlink-framework/metrics href "https://github.com/smartcontractkit/chainlink-framework" + chainlink-protos/billing/go + click chainlink-protos/billing/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/cre/go --> chain-selectors + click chainlink-protos/cre/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/job-distributor + click chainlink-protos/job-distributor href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/linking-service/go + click chainlink-protos/linking-service/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/node-platform + click chainlink-protos/node-platform href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/op-catalog + click chainlink-protos/op-catalog href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/rmn/v1.6/go + click chainlink-protos/rmn/v1.6/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/storage-service + click chainlink-protos/storage-service href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-protos/workflows/go + click chainlink-protos/workflows/go href "https://github.com/smartcontractkit/chainlink-protos" + chainlink-sui --> chainlink-aptos + chainlink-sui --> chainlink-ccip + click chainlink-sui href "https://github.com/smartcontractkit/chainlink-sui" + chainlink-testing-framework/framework --> chainlink-testing-framework/lib/grafana + chainlink-testing-framework/framework --> chainlink-testing-framework/wasp + click chainlink-testing-framework/framework href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/lib/grafana + click chainlink-testing-framework/lib/grafana href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/seth + click chainlink-testing-framework/seth href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-testing-framework/wasp + click chainlink-testing-framework/wasp href "https://github.com/smartcontractkit/chainlink-testing-framework" + chainlink-ton --> chainlink-ccip + chainlink-ton --> chainlink-common/pkg/monitoring + chainlink-ton --> chainlink-framework/metrics + click chainlink-ton href "https://github.com/smartcontractkit/chainlink-ton" + chainlink-tron/relayer --> chainlink-common + chainlink-tron/relayer --> chainlink-common/pkg/values + click chainlink-tron/relayer href "https://github.com/smartcontractkit/chainlink-tron" + freeport + click freeport href "https://github.com/smartcontractkit/freeport" + grpc-proxy + click grpc-proxy href "https://github.com/smartcontractkit/grpc-proxy" + libocr + click libocr href "https://github.com/smartcontractkit/libocr" + mcms --> chainlink-ccip/chains/solana + mcms --> chainlink-sui + mcms --> chainlink-testing-framework/framework + mcms --> chainlink-ton + click mcms href "https://github.com/smartcontractkit/mcms" + + subgraph chainlink-ccip-repo[chainlink-ccip] + chainlink-ccip + chainlink-ccip/chains/evm + chainlink-ccip/chains/solana + chainlink-ccip/chains/solana/gobindings + chainlink-ccip/deployment + end + click chainlink-ccip-repo href "https://github.com/smartcontractkit/chainlink-ccip" + + subgraph chainlink-common-repo[chainlink-common] + chainlink-common + chainlink-common/pkg/chipingress + chainlink-common/pkg/monitoring + chainlink-common/pkg/values + end + click chainlink-common-repo href "https://github.com/smartcontractkit/chainlink-common" + + subgraph chainlink-evm-repo[chainlink-evm] + chainlink-evm + chainlink-evm/gethwrappers + chainlink-evm/gethwrappers/helpers + end + click chainlink-evm-repo href "https://github.com/smartcontractkit/chainlink-evm" + + subgraph chainlink-protos-repo[chainlink-protos] + chainlink-protos/billing/go + chainlink-protos/cre/go + chainlink-protos/job-distributor + chainlink-protos/linking-service/go + chainlink-protos/node-platform + chainlink-protos/op-catalog + chainlink-protos/rmn/v1.6/go + chainlink-protos/storage-service + chainlink-protos/workflows/go + end + click chainlink-protos-repo href "https://github.com/smartcontractkit/chainlink-protos" + + subgraph chainlink-testing-framework-repo[chainlink-testing-framework] + chainlink-testing-framework/framework + chainlink-testing-framework/lib/grafana + chainlink-testing-framework/seth + chainlink-testing-framework/wasp + end + click chainlink-testing-framework-repo href "https://github.com/smartcontractkit/chainlink-testing-framework" + + classDef outline stroke-dasharray:6,fill:none; + class chainlink-ccip-repo,chainlink-common-repo,chainlink-evm-repo,chainlink-protos-repo,chainlink-testing-framework-repo outline +``` diff --git a/scripts/modgraph b/scripts/modgraph new file mode 100755 index 000000000..c1fb78b67 --- /dev/null +++ b/scripts/modgraph @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# Generates go.md + +set -e + +echo "# smartcontractkit Go modules +## Main module +\`\`\`mermaid +flowchart LR +" +go mod graph | modgraph -prefix github.com/smartcontractkit/ +echo "\`\`\`" + +echo "## All modules +\`\`\`mermaid +flowchart LR +" +gomods graph | modgraph -prefix github.com/smartcontractkit/ +echo "\`\`\`"