公开记录
软件健康报告模式 0.26.0 · 指标 1.13.0 · 2026-07-21 23:20 UTC

lightningnetwork / lnd

Lightning Network Daemon ⚡️

GoMIT★ 8,165 星标⑂ 2,281 复刻始于 2016年1月在 GitHub 上查看 ↗

lightningnetwork/lnd 的健康指数为 100 分中的 82 分,处于「良好」区间。 其得分最高的类别是Vitality(99/100),最低的是Security(53/100)。 最近一次更新在 3 天前。 近期的大部分工作由 4 位贡献者完成。

82
总分 / 100
良好

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

82
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

429 关注者3 个公开仓库始于 2015年7月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

注册表软件包版本月下载量版本数最近发布
Gogithub.com/lightningnetwork/lndv0.21.1-beta-24125 天前
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.9-10288 天前
Gogithub.com/lightningnetwork/lnd/tlvv1.4.0-1925 天前
Gogithub.com/lightningnetwork/lnd/torv1.2.0-1225 天前
Gogithub.com/lightningnetwork/lnd/certv1.2.2-91050 天前
Gogithub.com/lightningnetwork/lnd/kvdbv1.6.1-333 天前
Gogithub.com/lightningnetwork/lnd/actorv0.0.6-6101 天前
Gogithub.com/lightningnetwork/lnd/clockv1.1.1-41050 天前

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

99优秀 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 3 天前
36/36提交节奏 — 52 周中有 52 周有提交
18/18提交量 — 最近一年 1,604 次提交
10/10OpenSSF Scorecard:Maintained — 30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year1,604
human_commit_share1
days_since_last_push3
active_weeks_last_year52

发布纪律

98优秀
评分方式
27/27有发布版本 — 已发布 100 个发布版本
36/36发布时效 — 最近一次发布版本于 13 天前
27/27发布节奏 — 约每 27.2 天发布一次
8/10OpenSSF Scorecard:Signed-Releases — 5 out of the last 5 releases have a total of 5 signed artifacts.
所用输入
releases_count100
latest_release_tagv0.20.2-beta
releases_from_tags
days_since_latest_release13
mean_days_between_releases27.2

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

79良好 · 占总体的 18%
评分方式
60/60星标 — 8,165 个星标
25/25复刻 — 2,281 个复刻
13.9/15关注者 — 315 位关注者
所用输入
forks2,281
stars8,165
watchers315
growth_stateorganic
growth_factor_pct100

社区健康

57中等
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
0/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
6.3/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

82良好 · 占总体的 24%
评分方式
43.2/54巴士系数 — 4 位贡献者贡献了半数提交
15.8/22.5提交分布 — 头号贡献者编写了 30% 的提交
13.5/13.5贡献者广度 — 99 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 23 contributing companies or organizations
所用输入
bus_factor4
contributors_sampled99
top_contributor_share0.297
评分方式
40.9/46.8议题解决 — 88% 的议题已关闭
30.1/38.3PR 接受 — 已裁定的 PR 中 4,462/5,668 已合并
15/15OpenSSF Scorecard:Code-Review — all changesets reviewed
所用输入
merged_prs4,462
open_issues565
closed_issues3,948
issue_closed_ratio0.875
closed_unmerged_prs1,206
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
18.9/25所有者影响力 — lightningnetwork 有 429 位关注者
16.4/25既往记录 — 3 个公开仓库,账户约 11 年
所用输入
followers429
owner_typeOrganization
is_verified
owner_loginlightningnetwork
public_repos3
account_age_days4,019
评分方式
25/25已发布且可解析 — go 上有 8 个软件包
35/35发布时效 — 最近一次发布于 3 天前
20/20版本历史 — 241 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesgithub.com/lightningnetwork/lnd, github.com/lightningnetwork/lnd/fn/v2, github.com/lightningnetwork/lnd/tlv, github.com/lightningnetwork/lnd/tor, github.com/lightningnetwork/lnd/cert, github.com/lightningnetwork/lnd/kvdb, github.com/lightningnetwork/lnd/actor, github.com/lightningnetwork/lnd/clock
ecosystemsgo
any_deprecated
min_days_since_publish3

工程质量

基础的工程与文档实践是否到位?

88优秀 · 占总体的 20%

工程实践

90优秀
评分方式
24/24CI 工作流 — 11 个工作流
24/24存在测试
16/16Linter 配置 — .golangci.yml
0/9.6Pre-commit 钩子
6.4/6.4.editorconfig
20/20OpenSSF Scorecard:CI-Tests — 8 out of 8 merged PRs checked by a CI test -- score normalized to 10
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

85优秀
评分方式
30/30README
25/25文档目录
0/15文档 / 主页站点
10/10仓库描述
10/10主题标签 — 10 个主题标签
10/10Wiki
所用输入
topicsbitcoin, lightning-network, blockchain, micropayments, lightning, protocol, cryptocurrency, cryptography, peer-to-peer, payments
has_wiki
homepage
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

53中等 · 占总体的 16%

安全态势

57中等
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 8 out of 8 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 23 contributing companies or organizations
0/10Dangerous-Workflow — dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — 无数据
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
6/7.5Signed-Releases — 5 out of the last 5 releases have a total of 5 signed artifacts.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 39 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate5.7
已排除计分(无数据或不适用):packaging。 其余权重已重新归一化。

依赖安全公告

36存在风险
评分方式
2.9/35直接依赖不含已知公告 — 11 个受影响:golang.org/x/crypto v0.40.0 (critical 10.0), golang.org/x/crypto v0.41.0 (critical 10.0), golang.org/x/crypto v0.46.0 (critical 10.0),另有 8 个
0/25间接依赖不含已知公告 — 在此范围内,传递依赖集合无法与开发和测试依赖区分
24.1/40没有长期未处理的公告 — 3 个携带公告的软件包超过 90 天未处理;最早一条发布于 250 天前
所用输入
sourceosv
advisories145
affected_packages17
assessed_packages428
unassessed_packages0
affected_by_severitycritical 4, high 4, moderate 3, low 1, unknown 5
direct_affected_packages11
已排除计分(无数据或不适用):间接依赖不含已知公告。 其余权重已重新归一化。 已将 428 个已解析依赖与 OSV 比对。 该仓库未发布任何索引可解析的软件包,因此改为评估仓库依赖图。该图将开发与测试版本固定同交付的依赖混在一起,因此仅对声明的运行时依赖计分;传递性发现仅作为背景信息列出,不计入评分。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

62中等 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 100 次人类提交中有 97 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.97
agent_instruction_files
agent_instruction_max_bytes
评分方式
18/18一条命令的引导启动 — Makefile
22/22自动化测试
11/11Lint / 格式化配置 — .golangci.yml
11/11静态类型检查 — Go(静态类型)
10/10可复现环境 — Dockerfile, lockfile
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
0/8自动化维护 — 未观察到自动依赖更新
1/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
所用输入
has_nix
has_tests
lockfilesgo.sum
has_dockerfile
typed_language
bootstrap_filesMakefile
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0
toolchain_manifestsactor/go.mod, cert/go.mod, clock/go.mod, fn/go.mod, go.mod, healthcheck/go.mod, kvdb/go.mod, queue/go.mod, sqldb/go.mod, sqldb/v2/go.mod, ticker/go.mod, tlv/go.mod, tools/go.mod, tools/linters/go.mod, tor/go.mod
dependency_bot_commit_share0
评分方式
45/45可类型检查的代码 — Go(静态类型)
52.7/55可控的文件大小 — 采样的 1,876 个源文件中有 79 个超过 60KB
所用输入
primary_languageGo
largest_source_bytes712,868
source_files_sampled1,876
oversized_source_files79

机器可读接口

40存在风险
评分方式
40/40API 模式(OpenAPI/GraphQL/proto) — lnrpc/autopilotrpc/autopilot.proto, lnrpc/chainrpc/chainkit.proto, lnrpc/chainrpc/chainnotifier.proto, lnrpc/devrpc/dev.proto, lnrpc/invoicesrpc/invoices.proto, lnrpc/lightning.proto, lnrpc/lnclipb/lncli.proto, lnrpc/neutrinorpc/neutrino.proto, lnrpc/peersrpc/peers.proto, lnrpc/routerrpc/router.proto, lnrpc/signrpc/signer.proto, lnrpc/stateservice.proto, lnrpc/verrpc/verrpc.proto, lnrpc/walletrpc/walletkit.proto, lnrpc/walletunlocker.proto, lnrpc/watchtowerrpc/watchtower.proto, lnrpc/wtclientrpc/wtclient.proto
0/20MCP 服务器
0/40可运行示例
所用输入
example_dirs
has_mcp_signal
api_schema_fileslnrpc/autopilotrpc/autopilot.proto, lnrpc/chainrpc/chainkit.proto, lnrpc/chainrpc/chainnotifier.proto, lnrpc/devrpc/dev.proto, lnrpc/invoicesrpc/invoices.proto, lnrpc/lightning.proto, lnrpc/lnclipb/lncli.proto, lnrpc/neutrinorpc/neutrino.proto, lnrpc/peersrpc/peers.proto, lnrpc/routerrpc/router.proto, lnrpc/signrpc/signer.proto, lnrpc/stateservice.proto, lnrpc/verrpc/verrpc.proto, lnrpc/walletrpc/walletkit.proto, lnrpc/walletunlocker.proto, lnrpc/watchtowerrpc/watchtower.proto, lnrpc/wtclientrpc/wtclient.proto

关键数据

8,165GitHub 星标
99贡献者
1,604最近 12 个月提交数
3距最近推送天数
100发布版本数
4巴士系数(bus factor)
565开放议题
Go软件包生态系统数

更多细节

Star 与 Fork 历史 8,165 ★ / 2,281 ⇿
8,165Star
2,281Fork
100发布

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

仅显示最近的历史——该仓库超出采集窗口,因此未采集最早的历史记录。

1,2502,5003,7505,0006,2507,5008,7508,1652,281162021-062023-122026-07
主版本 0次版本 0修订 0

每个点涵盖 5 天。

OpenSSF Scorecard 5.7 / 10
5.7综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-21 23:19 UTC

10Binary-Artifactsno binaries found in the repo
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests8 out of 8 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 23 contributing companies or organizations
0Dangerous-Workflowdangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10
不适用Packagingpackaging workflow not detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
8Signed-Releases5 out of the last 5 releases have a total of 5 signed artifacts.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities39 existing vulnerabilities detected
直接依赖 125
注册表软件包版本约束清单文件
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250602222548-9967d19bb084actor/go.mod
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.8actor/go.mod
Gogithub.com/lightningnetwork/lnd/queuev1.1.1actor/go.mod
Gogithub.com/stretchr/testifyv1.8.1actor/go.mod
Gopgregory.net/rapidv1.2.0actor/go.mod
Gogithub.com/stretchr/testifyv1.8.2cert/go.mod
Gogithub.com/stretchr/testifyv1.8.2clock/go.mod
Gogithub.com/stretchr/testifyv1.8.1fn/go.mod
Gogolang.org/x/expv0.0.0-20231226003508-02704c960a9bfn/go.mod
Gogolang.org/x/syncv0.7.0fn/go.mod
Gogithub.com/NebulousLabs/go-upnpv0.0.0-20180202185039-29b680b06c82go.mod
Gogithub.com/Yawning/aezv0.0.0-20211027044916-e49e68abd344go.mod
Gogithub.com/andybalholm/brotliv1.0.4go.mod
Gogithub.com/btcsuite/btcdv0.26.0go.mod
Gogithub.com/btcsuite/btcd/address/v2v2.0.0go.mod
Gogithub.com/btcsuite/btcd/btcec/v2v2.5.0go.mod
Gogithub.com/btcsuite/btcd/btcutil/v2v2.0.0go.mod
Gogithub.com/btcsuite/btcd/chaincfg/v2v2.0.0go.mod
Gogithub.com/btcsuite/btcd/chainhash/v2v2.0.0go.mod
Gogithub.com/btcsuite/btcd/psbt/v2v2.0.0go.mod
Gogithub.com/btcsuite/btcd/txscript/v2v2.0.0go.mod
Gogithub.com/btcsuite/btcd/wire/v2v2.0.0go.mod
Gogithub.com/btcsuite/btclogv1.0.0go.mod
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250728225537-6090e87c6c5bgo.mod
Gogithub.com/btcsuite/btcwalletv0.18.0go.mod
Gogithub.com/btcsuite/btcwallet/wallet/txauthorv1.4.0go.mod
Gogithub.com/btcsuite/btcwallet/wallet/txrulesv1.3.0go.mod
Gogithub.com/btcsuite/btcwallet/walletdbv1.6.0go.mod
Gogithub.com/btcsuite/btcwallet/wtxmgrv1.6.0go.mod
Gogithub.com/coreos/go-systemdv0.0.0-20190719114852-fd7a80b32e1fgo.mod
Gogithub.com/davecgh/go-spewv1.1.1go.mod
Gogithub.com/decred/dcrd/dcrec/secp256k1/v4v4.4.0go.mod
Gogithub.com/gorilla/websocketv1.5.3go.mod
Gogithub.com/grpc-ecosystem/go-grpc-middlewarev1.3.0go.mod
Gogithub.com/grpc-ecosystem/go-grpc-prometheusv1.2.0go.mod
Gogithub.com/grpc-ecosystem/grpc-gateway/v2v2.16.0go.mod
Gogithub.com/jackc/pgx/v5v5.9.2go.mod
Gogithub.com/jackpal/gatewayv1.0.5go.mod
Gogithub.com/jackpal/go-nat-pmpv0.0.0-20170405195558-28a68d0c24adgo.mod
Gogithub.com/jedib0t/go-pretty/v6v6.2.7go.mod
Gogithub.com/jessevdk/go-flagsv1.6.1go.mod
Gogithub.com/jrick/logrotatev1.1.2go.mod
Gogithub.com/kkdai/bstreamv1.0.0go.mod
Gogithub.com/lightninglabs/neutrinov0.18.0go.mod
Gogithub.com/lightninglabs/neutrino/cachev1.1.4go.mod
Gogithub.com/lightningnetwork/lightning-onionv1.4.0go.mod
Gogithub.com/lightningnetwork/lnd/actorv0.0.6go.mod
Gogithub.com/lightningnetwork/lnd/certv1.2.2go.mod
Gogithub.com/lightningnetwork/lnd/clockv1.1.1go.mod
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.9go.mod
Gogithub.com/lightningnetwork/lnd/healthcheckv1.2.6go.mod
Gogithub.com/lightningnetwork/lnd/kvdbv1.5.1go.mod
Gogithub.com/lightningnetwork/lnd/queuev1.2.0go.mod
Gogithub.com/lightningnetwork/lnd/sqldbv1.0.13go.mod
Gogithub.com/lightningnetwork/lnd/tickerv1.1.1go.mod
Gogithub.com/lightningnetwork/lnd/tlvv1.4.0go.mod
Gogithub.com/lightningnetwork/lnd/torv1.2.0go.mod
Gogithub.com/ltcsuite/ltcdv0.0.0-20190101042124-f37f8bf35796go.mod
Gogithub.com/miekg/dnsv1.1.43go.mod
Gogithub.com/prometheus/client_golangv1.23.2go.mod
Gogithub.com/stretchr/testifyv1.11.1go.mod
Gogithub.com/tv42/zbase32v0.0.0-20160707012821-501572607d02go.mod
Gogithub.com/urfave/cliv1.22.14go.mod
Gogo.etcd.io/etcd/client/pkg/v3v3.5.12go.mod
Gogo.etcd.io/etcd/client/v3v3.5.12go.mod
Gogolang.org/x/cryptov0.46.0go.mod
Gogolang.org/x/expv0.0.0-20250811191247-51f88131bc50go.mod
Gogolang.org/x/mobilev0.0.0-20190719004257-d2bd2a29d028go.mod
Gogolang.org/x/syncv0.19.0go.mod
Gogolang.org/x/termv0.38.0go.mod
Gogolang.org/x/timev0.3.0go.mod
Gogoogle.golang.org/grpcv1.79.3go.mod
Gogoogle.golang.org/protobufv1.36.11go.mod
Gogopkg.in/macaroon-bakery.v2v2.0.1go.mod
Gogopkg.in/macaroon.v2v2.0.0go.mod
Gopgregory.net/rapidv1.2.0go.mod
Gogithub.com/klauspost/compressv1.18.0go.mod
Gogithub.com/pmezard/go-difflibv1.0.0go.mod
Gogolang.org/x/textv0.32.0go.mod
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250602222548-9967d19bb084healthcheck/go.mod
Gogithub.com/lightningnetwork/lnd/tickerv1.1.0healthcheck/go.mod
Gogithub.com/lightningnetwork/lnd/torv1.1.8-0.20260615022959-a067468f0f45healthcheck/go.mod
Gogithub.com/stretchr/testifyv1.10.0healthcheck/go.mod
Gogolang.org/x/sysv0.35.0healthcheck/go.mod
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250602222548-9967d19bb084kvdb/go.mod
Gogithub.com/btcsuite/btcwallet/walletdbv1.6.0kvdb/go.mod
Gogithub.com/davecgh/go-spewv1.1.1kvdb/go.mod
Gogithub.com/fergusstrange/embedded-postgresv1.25.0kvdb/go.mod
Gogithub.com/google/btreev1.0.1kvdb/go.mod
Gogithub.com/jackc/pgx/v5v5.9.2kvdb/go.mod
Gogithub.com/lightningnetwork/lnd/healthcheckv1.2.4kvdb/go.mod
Gogithub.com/lightningnetwork/lnd/sqldbv1.0.6kvdb/go.mod
Gogithub.com/stretchr/testifyv1.11.1kvdb/go.mod
Gogo.etcd.io/bboltv1.4.3kvdb/go.mod
Gogo.etcd.io/etcd/api/v3v3.5.12kvdb/go.mod
Gogo.etcd.io/etcd/client/pkg/v3v3.5.12kvdb/go.mod
Gogo.etcd.io/etcd/client/v3v3.5.12kvdb/go.mod
Gogo.etcd.io/etcd/server/v3v3.5.12kvdb/go.mod
Gomodernc.org/sqlitev1.29.10kvdb/go.mod
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.8queue/go.mod
Gogithub.com/lightningnetwork/lnd/tickerv1.0.0queue/go.mod
Gogithub.com/stretchr/testifyv1.8.1queue/go.mod
Gopgregory.net/rapidv1.2.0queue/go.mod
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250602222548-9967d19bb084sqldb/go.mod
Gogithub.com/davecgh/go-spewv1.1.1sqldb/go.mod
Gogithub.com/golang-migrate/migrate/v4v4.17.0sqldb/go.mod
Gogithub.com/jackc/pgerrcodev0.0.0-20240316143900-6e2875d9b438sqldb/go.mod
Gogithub.com/jackc/pgx/v5v5.9.2sqldb/go.mod
Gogithub.com/ory/dockertest/v3v3.10.0sqldb/go.mod
Gogithub.com/pmezard/go-difflibv1.0.0sqldb/go.mod
Gogithub.com/stretchr/testifyv1.11.1sqldb/go.mod
Gogolang.org/x/expv0.0.0-20240325151524-a685a6edb6d8sqldb/go.mod
Gomodernc.org/sqlitev1.29.10sqldb/go.mod
Gogithub.com/btcsuite/btcd/btcec/v2v2.5.0tlv/go.mod
Gogithub.com/btcsuite/btcd/wire/v2v2.0.0tlv/go.mod
Gogithub.com/davecgh/go-spewv1.1.1tlv/go.mod
Gogithub.com/decred/dcrd/dcrec/secp256k1/v4v4.4.0tlv/go.mod
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.2tlv/go.mod
Gogithub.com/stretchr/testifyv1.10.0tlv/go.mod
Gogolang.org/x/expv0.0.0-20231226003508-02704c960a9btlv/go.mod
Gogithub.com/btcsuite/btcdv0.26.0tor/go.mod
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250602222548-9967d19bb084tor/go.mod
Gogithub.com/miekg/dnsv1.1.43tor/go.mod
Gogithub.com/stretchr/testifyv1.10.0tor/go.mod
Gogolang.org/x/netv0.41.0tor/go.mod
全部依赖 428

来自 GitHub 依赖图的完整解析依赖集合:99 个直接依赖与 329 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

注册表软件包版本关系
Gogithub.com/andybalholm/brotliv1.0.4直接
Gogithub.com/btcsuite/btcdv0.26.0直接
Gogithub.com/btcsuite/btcd/address/v2v2.0.0直接
Gogithub.com/btcsuite/btcd/btcec/v2v2.5.0直接
Gogithub.com/btcsuite/btcd/btcutil/v2v2.0.0直接
Gogithub.com/btcsuite/btcd/chaincfg/v2v2.0.0直接
Gogithub.com/btcsuite/btcd/chainhash/v2v2.0.0直接
Gogithub.com/btcsuite/btcd/psbt/v2v2.0.0直接
Gogithub.com/btcsuite/btcd/txscript/v2v2.0.0直接
Gogithub.com/btcsuite/btcd/wire/v2v2.0.0直接
Gogithub.com/btcsuite/btclogv0.0.0-20241003133417-09c4e92e319c直接
Gogithub.com/btcsuite/btclogv1.0.0直接
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250602222548-9967d19bb084直接
Gogithub.com/btcsuite/btclog/v2v2.0.1-0.20250728225537-6090e87c6c5b直接
Gogithub.com/btcsuite/btcwalletv0.18.0直接
Gogithub.com/btcsuite/btcwallet/wallet/txauthorv1.4.0直接
Gogithub.com/btcsuite/btcwallet/wallet/txrulesv1.3.0直接
Gogithub.com/btcsuite/btcwallet/walletdbv1.6.0直接
Gogithub.com/btcsuite/btcwallet/wtxmgrv1.6.0直接
Gogithub.com/coreos/go-systemdv0.0.0-20190719114852-fd7a80b32e1f直接
Gogithub.com/davecgh/go-spewv1.1.1直接
Gogithub.com/decred/dcrd/dcrec/secp256k1/v4v4.4.0直接
Gogithub.com/fergusstrange/embedded-postgresv1.25.0直接
Gogithub.com/golang-migrate/migrate/v4v4.17.0直接
Gogithub.com/google/btreev1.0.1直接
Gogithub.com/gorilla/websocketv1.5.3直接
Gogithub.com/grpc-ecosystem/go-grpc-middlewarev1.3.0直接
Gogithub.com/grpc-ecosystem/go-grpc-prometheusv1.2.0直接
Gogithub.com/grpc-ecosystem/grpc-gateway/v2v2.16.0直接
Gogithub.com/jackc/pgerrcodev0.0.0-20240316143900-6e2875d9b438直接
Gogithub.com/jackc/pgx/v5v5.9.2直接
Gogithub.com/jackpal/gatewayv1.0.5直接
Gogithub.com/jackpal/go-nat-pmpv0.0.0-20170405195558-28a68d0c24ad直接
Gogithub.com/jedib0t/go-pretty/v6v6.2.7直接
Gogithub.com/jessevdk/go-flagsv1.6.1直接
Gogithub.com/jrick/logrotatev1.1.2直接
Gogithub.com/kkdai/bstreamv1.0.0直接
Gogithub.com/klauspost/compressv1.18.0直接
Gogithub.com/lightninglabs/neutrinov0.18.0直接
Gogithub.com/lightninglabs/neutrino/cachev1.1.4直接
Gogithub.com/lightningnetwork/lightning-onionv1.4.0直接
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.2直接
Gogithub.com/lightningnetwork/lnd/fn/v2v2.0.8直接
Gogithub.com/lightningnetwork/lnd/healthcheckv1.2.4直接
Gogithub.com/lightningnetwork/lnd/sqldbv1.0.6直接
Gogithub.com/lightningnetwork/lnd/tickerv1.1.0直接
Gogithub.com/lightningnetwork/lnd/tlvv1.4.0直接
Gogithub.com/lightningnetwork/lnd/torv1.0.0直接
Gogithub.com/lightningnetwork/lnd/torv1.1.8-0.20260615022959-a067468f0f45直接
Gogithub.com/lightningnetwork/lnd/torv1.2.0直接
Gogithub.com/ltcsuite/ltcdv0.0.0-20190101042124-f37f8bf35796直接
Gogithub.com/miekg/dnsv1.1.43直接
Gogithub.com/nebulouslabs/go-upnpv0.0.0-20180202185039-29b680b06c82直接
Gogithub.com/ory/dockertest/v3v3.10.0直接
Gogithub.com/pmezard/go-difflibv1.0.0直接
Gogithub.com/prometheus/client_golangv1.23.2直接
Gogithub.com/stretchr/testifyv1.10.0直接
Gogithub.com/stretchr/testifyv1.11.1直接
Gogithub.com/stretchr/testifyv1.8.1直接
Gogithub.com/stretchr/testifyv1.8.2直接
Gogithub.com/tv42/zbase32v0.0.0-20160707012821-501572607d02直接
Gogithub.com/urfave/cliv1.22.14直接
Gogithub.com/yawning/aezv0.0.0-20211027044916-e49e68abd344直接
Gogo.etcd.io/bboltv1.4.3直接
Gogo.etcd.io/etcd/api/v3v3.5.12直接
Gogo.etcd.io/etcd/client/pkg/v3v3.5.12直接
Gogo.etcd.io/etcd/client/v3v3.5.12直接
Gogo.etcd.io/etcd/server/v3v3.5.12直接
Gogolang.org/x/cryptov0.40.0直接
Gogolang.org/x/cryptov0.41.0直接
Gogolang.org/x/cryptov0.46.0直接
Gogolang.org/x/expv0.0.0-20231226003508-02704c960a9b直接
Gogolang.org/x/expv0.0.0-20240325151524-a685a6edb6d8直接
Gogolang.org/x/expv0.0.0-20250620022241-b7579e27df2b直接
Gogolang.org/x/expv0.0.0-20250811191247-51f88131bc50直接
Gogolang.org/x/mobilev0.0.0-20190719004257-d2bd2a29d028直接
Gogolang.org/x/netv0.41.0直接
Gogolang.org/x/netv0.48.0直接
Gogolang.org/x/syncv0.16.0直接
Gogolang.org/x/syncv0.17.0直接
Gogolang.org/x/syncv0.19.0直接
Gogolang.org/x/syncv0.2.0直接
Gogolang.org/x/syncv0.7.0直接
Gogolang.org/x/sysv0.34.0直接
Gogolang.org/x/sysv0.35.0直接
Gogolang.org/x/sysv0.45.0直接
Gogolang.org/x/termv0.38.0直接
Gogolang.org/x/textv0.28.0直接
Gogolang.org/x/textv0.29.0直接
Gogolang.org/x/textv0.32.0直接
Gogolang.org/x/timev0.3.0直接
Gogoogle.golang.org/grpcv1.79.3直接
Gogoogle.golang.org/protobufv1.36.10直接
Gogoogle.golang.org/protobufv1.36.8直接
Gogopkg.in/macaroon-bakery.v2v2.0.1直接
Gogopkg.in/macaroon.v2v2.0.0直接
Gomodernc.org/sqlitev1.29.10直接
Gomodernc.org/sqlitev1.38.2直接
Gopgregory.net/rapidv1.2.0直接
Go4d63.com/gocheckcompilerdirectivesv1.3.0间接
Go4d63.com/gochecknoglobalsv0.2.2间接
Gocodeberg.org/chavacava/garifv0.2.0间接
Godario.cat/mergov1.0.1间接
Godario.cat/mergov1.0.2间接
Godev.gaijin.team/go/exhaustruct/v4v4.0.0间接
Godev.gaijin.team/go/golibv0.6.0间接
Gogithub.com/4meepo/tagalignv1.4.3间接
Gogithub.com/abirdcfly/dupwordv0.1.6间接
Gogithub.com/aead/chacha20v0.0.0-20180709150244-8b13a72661da间接
Gogithub.com/aead/siphashv1.0.1间接
Gogithub.com/alecthomas/chroma/v2v2.20.0间接
Gogithub.com/alecthomas/go-check-sumtypev0.3.1间接
Gogithub.com/alexkohler/nakedret/v2v2.0.6间接
Gogithub.com/alexkohler/preallocv1.0.0间接
Gogithub.com/alfatraining/structtagv1.0.0间接
Gogithub.com/alingse/asasalintv0.0.11间接
Gogithub.com/alingse/nilnesserrv0.2.0间接
Gogithub.com/alwxsin/noinlineerrv1.0.5间接
Gogithub.com/antonboom/errnamev1.1.0间接
Gogithub.com/antonboom/nilnilv1.1.0间接
Gogithub.com/antonboom/testifylintv1.6.1间接
Gogithub.com/ashanbrown/forbidigo/v2v2.1.0间接
Gogithub.com/ashanbrown/makezero/v2v2.0.1间接
Gogithub.com/aymanbagabas/go-osc52/v2v2.0.1间接
Gogithub.com/azure/go-ansitermv0.0.0-20230124172434-306776ec8161间接
Gogithub.com/beorn7/perksv1.0.1间接
Gogithub.com/bkielbasa/cyclopv1.2.3间接
Gogithub.com/blizzy78/varnamelenv0.8.0间接
Gogithub.com/bombsimon/wsl/v4v4.7.0间接
Gogithub.com/bombsimon/wsl/v5v5.1.1间接
Gogithub.com/breml/bidichkv0.3.3间接
Gogithub.com/breml/errchkjsonv0.4.1间接
Gogithub.com/btcsuite/btcd/v2transportv1.0.1间接
Gogithub.com/btcsuite/btcwallet/wallet/txsizesv1.3.0间接
Gogithub.com/btcsuite/go-socksv0.0.0-20170105172521-4720035b7bfd间接
Gogithub.com/btcsuite/websocketv0.0.0-20150119174127-31079b680792间接
Gogithub.com/btcsuite/winsvcv1.0.0间接
Gogithub.com/burntsushi/tomlv1.3.2间接
Gogithub.com/burntsushi/tomlv1.5.0间接
Gogithub.com/butuzov/ireturnv0.4.0间接
Gogithub.com/butuzov/mirrorv1.3.0间接
Gogithub.com/catenacyber/perfsprintv0.9.1间接
Gogithub.com/ccojocar/zxcvbn-gov1.0.4间接
Gogithub.com/cenkalti/backoff/v4v4.1.3间接
Gogithub.com/cenkalti/backoff/v4v4.2.1间接
Gogithub.com/cespare/xxhash/v2v2.3.0间接
Gogithub.com/charithe/durationcheckv0.0.10间接
Gogithub.com/charmbracelet/colorprofilev0.2.3-0.20250311203215-f60798e515dc间接
Gogithub.com/charmbracelet/lipglossv1.1.0间接
Gogithub.com/charmbracelet/x/ansiv0.8.0间接
Gogithub.com/charmbracelet/x/cellbufv0.0.13-0.20250311204145-2c3ea96c31dd间接
Gogithub.com/charmbracelet/x/termv0.2.1间接
Gogithub.com/ckaznocha/intrangev0.3.1间接
Gogithub.com/containerd/continuityv0.3.0间接
Gogithub.com/containerd/errdefsv1.0.0间接
Gogithub.com/containerd/errdefs/pkgv0.3.0间接
Gogithub.com/coreos/go-semverv0.3.0间接
Gogithub.com/coreos/go-systemd/v22v22.5.0间接
Gogithub.com/cpuguy83/go-md2man/v2v2.0.4间接
Gogithub.com/curioswitch/go-reassignv0.3.0间接
Gogithub.com/daixiang0/gciv0.13.7间接
Gogithub.com/dave/dstv0.27.3间接
Gogithub.com/decred/dcrd/crypto/blake256v1.1.0间接
Gogithub.com/decred/dcrd/lruv1.1.3间接
Gogithub.com/denis-tingaikin/go-headerv0.5.0间接
Gogithub.com/distribution/referencev0.6.0间接
Gogithub.com/djarvur/go-err113v0.0.0-20210108212216-aea10b59be24间接
Gogithub.com/dlclark/regexp2v1.11.5间接
Gogithub.com/docker/cliv28.1.1+incompatible间接
Gogithub.com/docker/dockerv28.1.1+incompatible间接
Gogithub.com/docker/dockerv28.3.3+incompatible间接
Gogithub.com/docker/go-connectionsv0.4.0间接
Gogithub.com/docker/go-connectionsv0.5.0间接
Gogithub.com/docker/go-unitsv0.5.0间接
Gogithub.com/dustin/go-humanizev1.0.1间接
Gogithub.com/ettle/strcasev0.2.0间接
Gogithub.com/fatih/colorv1.18.0间接
Gogithub.com/fatih/structtagv1.2.0间接
Gogithub.com/felixge/httpsnoopv1.1.0间接
Gogithub.com/firefart/nonamedreturnsv1.0.6间接
Gogithub.com/fsnotify/fsnotifyv1.5.4间接
Gogithub.com/fzipp/gocyclov0.6.0间接
Gogithub.com/ghostiam/protogetterv0.3.15间接
Gogithub.com/go-critic/go-criticv0.13.0间接
Gogithub.com/go-logr/logrv1.4.3间接
Gogithub.com/go-logr/stdrv1.2.2间接
Gogithub.com/go-toolsmith/astcastv1.1.0间接
Gogithub.com/go-toolsmith/astcopyv1.1.0间接
Gogithub.com/go-toolsmith/astequalv1.2.0间接
Gogithub.com/go-toolsmith/astfmtv1.1.0间接
Gogithub.com/go-toolsmith/astpv1.1.0间接
Gogithub.com/go-toolsmith/strparsev1.1.0间接
Gogithub.com/go-toolsmith/typepv1.1.0间接
Gogithub.com/go-viper/mapstructure/v2v2.3.0间接
Gogithub.com/go-viper/mapstructure/v2v2.4.0间接
Gogithub.com/go-xmlfmt/xmlfmtv1.1.3间接
Gogithub.com/gobwas/globv0.2.3间接
Gogithub.com/gofrs/flockv0.12.1间接
Gogithub.com/gogo/protobufv1.3.2间接
Gogithub.com/golang-jwt/jwt/v4v4.5.2间接
Gogithub.com/golang/protobufv1.5.4间接
Gogithub.com/golang/snappyv1.0.0间接
Gogithub.com/golangci/asciicheckv0.5.0间接
Gogithub.com/golangci/duplv0.0.0-20250308024227-f665c8d69b32间接
Gogithub.com/golangci/go-printf-func-namev0.1.0间接
Gogithub.com/golangci/gofmtv0.0.0-20250106114630-d62b90e6713d间接
Gogithub.com/golangci/golangci-lint/v2v2.4.1-0.20250818164121-838684c5bc0c间接
Gogithub.com/golangci/golinesv0.0.0-20250217134842-442fd0091d95间接
Gogithub.com/golangci/misspellv0.7.0间接
Gogithub.com/golangci/plugin-module-registerv0.1.1间接
Gogithub.com/golangci/plugin-module-registerv0.1.2间接
Gogithub.com/golangci/revgrepv0.8.0间接
Gogithub.com/golangci/swaggoswagv0.0.0-20250504205917-77f2aca3143e间接
Gogithub.com/golangci/unconvertv0.0.0-20250410112200-a129a6e6413e间接
Gogithub.com/google/go-cmpv0.7.0间接
Gogithub.com/google/shlexv0.0.0-20191202100458-e7afc7fbc510间接
Gogithub.com/google/uuidv1.6.0间接
Gogithub.com/gordonklaus/ineffassignv0.1.0间接
Gogithub.com/gostaticanalysis/analysisutilv0.7.1间接
Gogithub.com/gostaticanalysis/commentv1.5.0间接
Gogithub.com/gostaticanalysis/forcetypeassertv0.2.0间接
Gogithub.com/gostaticanalysis/nilerrv0.1.1间接
Gogithub.com/grpc-ecosystem/grpc-gatewayv1.16.0间接
Gogithub.com/hashicorp/errwrapv1.1.0间接
Gogithub.com/hashicorp/go-immutable-radix/v2v2.1.0间接
Gogithub.com/hashicorp/go-multierrorv1.1.1间接
Gogithub.com/hashicorp/go-versionv1.7.0间接
Gogithub.com/hashicorp/golang-lru/v2v2.0.7间接
Gogithub.com/hashicorp/hclv1.0.0间接
Gogithub.com/hexops/gotextdiffv1.0.3间接
Gogithub.com/inconshreveable/mousetrapv1.1.0间接
Gogithub.com/jackc/chunkreader/v2v2.0.1间接
Gogithub.com/jackc/pgconnv1.14.3间接
Gogithub.com/jackc/pgiov1.0.0间接
Gogithub.com/jackc/pgpassfilev1.0.0间接
Gogithub.com/jackc/pgproto3/v2v2.3.3间接
Gogithub.com/jackc/pgservicefilev0.0.0-20240606120523-5a60cdf6a761间接
Gogithub.com/jackc/puddle/v2v2.2.2间接
Gogithub.com/jgautheron/goconstv1.8.2间接
Gogithub.com/jingyugao/rowserrcheckv1.1.1间接
Gogithub.com/jjti/go-spancheckv0.6.5间接
Gogithub.com/jonboulle/clockworkv0.2.2间接
Gogithub.com/json-iterator/gov1.1.12间接
Gogithub.com/juju/loggov0.0.0-20210728185423-eebad3a902c4间接
Gogithub.com/juju/testingv0.0.0-20220203020004-a0ff61f03494间接
Gogithub.com/julz/importasv0.2.0间接
Gogithub.com/karamaru-alpha/copyloopvarv1.2.1间接
Gogithub.com/kcalvinalvin/anetv0.0.0-20251112173137-d8ddc1f6dbee间接
Gogithub.com/kisielk/errcheckv1.9.0间接
Gogithub.com/kkhaike/contextcheckv1.1.6间接
Gogithub.com/kr/prettyv0.3.0间接
Gogithub.com/kr/prettyv0.3.1间接
Gogithub.com/kr/textv0.2.0间接
Gogithub.com/kulti/thelperv0.6.3间接
Gogithub.com/kunwardeep/paralleltestv1.0.14间接
Gogithub.com/lasiar/canonicalheaderv1.1.2间接
Gogithub.com/ldez/exptostdv0.4.4间接
Gogithub.com/ldez/gomoddirectivesv0.7.0间接
Gogithub.com/ldez/grignotinv0.10.0间接
Gogithub.com/ldez/tagliatellev0.7.1间接
Gogithub.com/ldez/usetestingv0.5.0间接
Gogithub.com/leonklingele/grouperv1.1.2间接
Gogithub.com/lib/pqv1.10.9间接
Gogithub.com/lightninglabs/gozmqv0.0.0-20191113021534-d20a764486bf间接
Gogithub.com/lucasb-eyer/go-colorfulv1.2.0间接
Gogithub.com/macabu/inamedparamv0.2.0间接
Gogithub.com/magiconair/propertiesv1.8.6间接
Gogithub.com/manuelarte/embeddedstructfieldcheckv0.4.0间接
Gogithub.com/manuelarte/funcorderv0.5.0间接
Gogithub.com/maratori/testableexamplesv1.0.0间接
Gogithub.com/maratori/testpackagev1.1.1间接
Gogithub.com/masterminds/semver/v3v3.3.1间接
Gogithub.com/matoous/godoxv1.1.0间接
Gogithub.com/mattn/go-colorablev0.1.14间接
Gogithub.com/mattn/go-isattyv0.0.20间接
Gogithub.com/mattn/go-runewidthv0.0.13间接
Gogithub.com/mattn/go-runewidthv0.0.16间接
Gogithub.com/mgechev/revivev1.11.0间接
Gogithub.com/microsoft/go-winiov0.6.1间接
Gogithub.com/microsoft/go-winiov0.6.2间接
Gogithub.com/mitchellh/go-homedirv1.1.0间接
Gogithub.com/mitchellh/mapstructurev1.5.0间接
Gogithub.com/moby/docker-image-specv1.3.1间接
Gogithub.com/moby/sys/userv0.3.0间接
Gogithub.com/moby/termv0.5.0间接
Gogithub.com/modern-go/concurrentv0.0.0-20180306012644-bacd9c7ef1dd间接
Gogithub.com/modern-go/reflect2v1.0.2间接
Gogithub.com/moricho/tparallelv0.3.2间接
Gogithub.com/muesli/termenvv0.16.0间接
Gogithub.com/munnerz/goautonegv0.0.0-20191010083416-a7dc8b61c822间接
Gogithub.com/nakabonne/nestifv0.3.1间接
Gogithub.com/ncruces/go-strftimev0.1.9间接
Gogithub.com/nebulouslabs/fastrandv0.0.0-20181203155948-6fb6489aac4e间接
Gogithub.com/nishanths/exhaustivev0.12.0间接
Gogithub.com/nishanths/predeclaredv0.2.2间接
Gogithub.com/nunnatsa/ginkgolinterv0.20.0间接
Gogithub.com/nvveen/gottyv0.0.0-20120604004816-cd527374f1e5间接
Gogithub.com/nxadm/tailv1.4.8间接
Gogithub.com/onsi/gomegav1.26.0间接
Gogithub.com/opencontainers/go-digestv1.0.0间接
Gogithub.com/opencontainers/image-specv1.0.2间接
Gogithub.com/opencontainers/image-specv1.1.0间接
Gogithub.com/opencontainers/runcv1.2.8间接
Gogithub.com/openpeedeep/depguard/v2v2.2.1间接
Gogithub.com/pelletier/go-tomlv1.9.5间接
Gogithub.com/pelletier/go-toml/v2v2.2.4间接
Gogithub.com/pkg/errorsv0.9.1间接
Gogithub.com/polyfloyd/go-errorlintv1.8.0间接
Gogithub.com/prometheus/client_modelv0.6.2间接
Gogithub.com/prometheus/commonv0.66.1间接
Gogithub.com/prometheus/procfsv0.16.1间接
Gogithub.com/quasilyte/go-ruleguardv0.4.4间接
Gogithub.com/quasilyte/go-ruleguard/dslv0.3.22间接
Gogithub.com/quasilyte/gogrepv0.5.0间接
Gogithub.com/quasilyte/regex/syntaxv0.0.0-20210819130434-b3f0c404a727间接
Gogithub.com/quasilyte/stdinfov0.0.0-20220114132959-f7386bf02567间接
Gogithub.com/raeperd/recvcheckv0.2.0间接
Gogithub.com/remyoudompheng/bigfftv0.0.0-20230129092748-24d4a6f8daec间接
Gogithub.com/rinchsan/gosimportsv0.3.8间接
Gogithub.com/rivo/unisegv0.2.0间接
Gogithub.com/rivo/unisegv0.4.7间接
Gogithub.com/rogpeppe/fastuuidv1.2.0间接
Gogithub.com/rogpeppe/go-internalv1.12.0间接
Gogithub.com/rogpeppe/go-internalv1.14.1间接
Gogithub.com/rogpeppe/go-internalv1.9.0间接
Gogithub.com/russross/blackfriday/v2v2.1.0间接
Gogithub.com/ryancurrah/gomodguardv1.4.1间接
Gogithub.com/ryanrolds/sqlclosecheckv0.5.1间接
Gogithub.com/sanposhiho/wastedassign/v2v2.1.0间接
Gogithub.com/santhosh-tekuri/jsonschema/v6v6.0.2间接
Gogithub.com/sashamelentyev/interfacebloatv1.1.0间接
Gogithub.com/sashamelentyev/usestdlibvarsv1.29.0间接
Gogithub.com/securego/gosec/v2v2.22.8间接
Gogithub.com/sirupsen/logrusv1.9.3间接
Gogithub.com/sivchari/containedctxv1.0.3间接
Gogithub.com/soheilhy/cmuxv0.1.5间接
Gogithub.com/sonatard/noctxv0.4.0间接
Gogithub.com/sourcegraph/go-diffv0.7.0间接
Gogithub.com/spf13/aferov1.14.0间接
Gogithub.com/spf13/castv1.5.0间接
Gogithub.com/spf13/cobrav1.9.1间接
Gogithub.com/spf13/jwalterweathermanv1.1.0间接
Gogithub.com/spf13/pflagv1.0.6间接
Gogithub.com/spf13/pflagv1.0.7间接
Gogithub.com/spf13/viperv1.12.0间接
Gogithub.com/ssgreg/nlreturn/v2v2.2.1间接
Gogithub.com/stbenjam/no-sprintf-host-portv0.2.0间接
Gogithub.com/stretchr/objxv0.5.2间接
Gogithub.com/subosito/gotenvv1.4.1间接
Gogithub.com/syndtr/goleveldbv1.0.1-0.20210819022825-2ae1ddf74ef7间接
Gogithub.com/tetafro/godotv1.5.1间接
Gogithub.com/timakin/bodyclosev0.0.0-20241222091800-1db5c5ca4d67间接
Gogithub.com/timonwong/loggercheckv0.11.0间接
Gogithub.com/tmc/grpc-websocket-proxyv0.0.0-20201229170055-e5319fda7802间接
Gogithub.com/tomarrell/wrapcheck/v2v2.11.0间接
Gogithub.com/tommy-muehle/go-mnd/v2v2.5.1间接
Gogithub.com/ultraware/funlenv0.2.0间接
Gogithub.com/ultraware/whitespacev0.2.0间接
Gogithub.com/uudashr/gocognitv1.2.0间接
Gogithub.com/uudashr/ifacev1.4.1间接
Gogithub.com/xeipuuv/gojsonpointerv0.0.0-20180127040702-4e3ac2762d5f间接
Gogithub.com/xeipuuv/gojsonreferencev0.0.0-20180127040603-bd5ef7bd5415间接
Gogithub.com/xeipuuv/gojsonschemav1.2.0间接
Gogithub.com/xen0n/gosmopolitanv1.3.0间接
Gogithub.com/xi2/xzv0.0.0-20171230120015-48954b6210f8间接
Gogithub.com/xiang90/probingv0.0.0-20190116061207-43a291ad63a2间接
Gogithub.com/xo/terminfov0.0.0-20220910002029-abceb7e1c41e间接
Gogithub.com/yagipy/maintidxv1.0.0间接
Gogithub.com/yeya24/promlinterv0.3.0间接
Gogithub.com/ykadowak/zerologlintv0.1.5间接
Gogitlab.com/bosi/decorderv0.4.2间接
Gogitlab.com/yawning/bsaes.gitv0.0.0-20190805113838-0a714cd429ec间接
Gogo-simpler.org/musttagv0.14.0间接
Gogo-simpler.org/sloglintv0.11.1间接
Gogo.augendre.info/arangolintv0.2.0间接
Gogo.augendre.info/fatcontextv0.8.1间接
Gogo.etcd.io/etcd/client/v2v2.305.12间接
Gogo.etcd.io/etcd/pkg/v3v3.5.12间接
Gogo.etcd.io/etcd/raft/v3v3.5.12间接
Gogo.opentelemetry.io/auto/sdkv1.2.1间接
Gogo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpcv0.46.0间接
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.60.0间接
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.69.0间接
Gogo.opentelemetry.io/otelv1.44.0间接
Gogo.opentelemetry.io/otel/exporters/otlp/otlptracev1.20.0间接
Gogo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcv1.20.0间接
Gogo.opentelemetry.io/otel/metricv1.44.0间接
Gogo.opentelemetry.io/otel/sdkv1.44.0间接
Gogo.opentelemetry.io/otel/tracev1.35.0间接
Gogo.opentelemetry.io/otel/tracev1.36.0间接
Gogo.opentelemetry.io/otel/tracev1.44.0间接
Gogo.opentelemetry.io/proto/otlpv1.0.0间接
Gogo.uber.org/atomicv1.10.0间接
Gogo.uber.org/atomicv1.7.0间接
Gogo.uber.org/automaxprocsv1.6.0间接
Gogo.uber.org/multierrv1.10.0间接
Gogo.uber.org/multierrv1.6.0间接
Gogo.uber.org/zapv1.17.0间接
Gogo.uber.org/zapv1.27.0间接
Gogo.yaml.in/yaml/v2v2.4.2间接
Gogolang.org/x/exp/typeparamsv0.0.0-20250620022241-b7579e27df2b间接
Gogolang.org/x/modv0.27.0间接
Gogolang.org/x/modv0.30.0间接
Gogolang.org/x/toolsv0.30.0间接
Gogolang.org/x/toolsv0.36.0间接
Gogolang.org/x/toolsv0.39.0间接
Gogoogle.golang.org/genprotov0.0.0-20231016165738-49dd2c1f3d0b间接
Gogoogle.golang.org/genproto/googleapis/apiv0.0.0-20251202230838-ff82c1b0f217间接
Gogoogle.golang.org/genproto/googleapis/rpcv0.0.0-20251202230838-ff82c1b0f217间接
Gogopkg.in/check.v1v1.0.0-20201130134442-10cb98267c6c间接
Gogopkg.in/errgo.v1v1.0.1间接
Gogopkg.in/ini.v1v1.67.0间接
Gogopkg.in/natefinch/lumberjack.v2v2.0.0间接
Gogopkg.in/yaml.v2v2.4.0间接
Gogopkg.in/yaml.v3v3.0.1间接
Gohonnef.co/go/toolsv0.6.1间接
Gomodernc.org/gc/v3v3.0.0-20240107210532-573471604cb6间接
Gomodernc.org/libcv1.49.3间接
Gomodernc.org/libcv1.66.3间接
Gomodernc.org/mathutilv1.6.0间接
Gomodernc.org/mathutilv1.7.1间接
Gomodernc.org/memoryv1.11.0间接
Gomodernc.org/memoryv1.8.0间接
Gomodernc.org/strutilv1.2.0间接
Gomodernc.org/tokenv1.1.0间接
Gomvdan.cc/gofumptv0.8.0间接
Gomvdan.cc/unparamv0.0.0-20250301125049-0df0534333a4间接
Gosigs.k8s.io/yamlv1.2.0间接
依赖安全公告 17

该仓库未发布可被索引解析的包,因此评估的是其自身的依赖图——共 428 个包,其中也包含从不交付的开发与测试版本固定:17 个存在已知公告,11 个为直接依赖。

软件包版本关系严重程度公告数修复版本
golang.org/x/cryptov0.40.0直接严重320.52.0
golang.org/x/cryptov0.41.0直接严重320.52.0
golang.org/x/cryptov0.46.0直接严重270.52.0
google.golang.org/grpcv1.79.3直接严重11.82.1
github.com/docker/cliv28.1.1+incompatible间接229.2.0+incompatible
github.com/docker/dockerv28.1.1+incompatible间接1029.3.1
github.com/docker/dockerv28.3.3+incompatible间接1029.3.1
github.com/jackc/pgproto3/v2v2.3.3间接2
golang.org/x/netv0.41.0直接111.26.3
golang.org/x/netv0.48.0直接91.26.3
github.com/go-viper/mapstructure/v2v2.3.0间接22.4.0
github.com/opencontainers/runcv1.2.8间接21.5.0-rc.3
golang.org/x/sysv0.34.0直接未知10.44.0
golang.org/x/sysv0.35.0直接未知10.44.0
golang.org/x/textv0.28.0直接未知10.39.0
golang.org/x/textv0.29.0直接未知10.39.0
golang.org/x/textv0.32.0直接未知10.39.0

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "bitcoin",
        "lightning-network",
        "blockchain",
        "micropayments",
        "lightning",
        "protocol",
        "cryptocurrency",
        "cryptography",
        "peer-to-peer",
        "payments"
      ],
      "is_fork": false,
      "size_kb": 113857,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Go": 21186448,
        "Shell": 94851,
        "Makefile": 29113,
        "Dockerfile": 8470
      },
      "pushed_at": "2026-07-18T02:21:18Z",
      "created_at": "2016-01-16T08:19:33Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T20:25:11Z",
      "description": "Lightning Network Daemon ⚡️",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "Go",
      "significant_languages": [
        "Go"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "lightningnetwork",
      "company": null,
      "location": null,
      "followers": 429,
      "avatar_url": "https://avatars.githubusercontent.com/u/13424735?v=4",
      "created_at": "2015-07-20T21:22:38Z",
      "is_verified": null,
      "public_repos": 3,
      "account_age_days": 4019
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.20.2-beta",
          "kind": "prerelease",
          "published_at": "2026-07-08T20:21:13Z"
        },
        {
          "tag": "v0.20.2-beta.rc1",
          "kind": "prerelease",
          "published_at": "2026-06-30T15:05:22Z"
        },
        {
          "tag": "v0.21.1-beta",
          "kind": "prerelease",
          "published_at": "2026-06-30T10:51:21Z"
        },
        {
          "tag": "v0.21.0-beta",
          "kind": "prerelease",
          "published_at": "2026-06-05T18:31:27Z"
        },
        {
          "tag": "v0.21.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2026-05-29T10:34:02Z"
        },
        {
          "tag": "v0.21.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2026-04-22T00:38:19Z"
        },
        {
          "tag": "v0.20.1-beta",
          "kind": "prerelease",
          "published_at": "2026-02-12T11:06:48Z"
        },
        {
          "tag": "v0.20.1-beta.rc1",
          "kind": "prerelease",
          "published_at": "2026-01-20T23:06:16Z"
        },
        {
          "tag": "v0.20.0-beta",
          "kind": "prerelease",
          "published_at": "2025-11-20T19:20:58Z"
        },
        {
          "tag": "v0.20.0-beta.rc4",
          "kind": "prerelease",
          "published_at": "2025-11-06T10:34:58Z"
        },
        {
          "tag": "v0.20.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2025-11-04T19:40:02Z"
        },
        {
          "tag": "v0.20.0-beta.rc2",
          "kind": "prerelease",
          "published_at": "2025-10-22T16:27:54Z"
        },
        {
          "tag": "v0.20.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2025-10-01T23:29:51Z"
        },
        {
          "tag": "v0.19.3-beta",
          "kind": "prerelease",
          "published_at": "2025-08-21T18:46:00Z"
        },
        {
          "tag": "v0.19.3-beta.rc2",
          "kind": "prerelease",
          "published_at": "2025-08-18T08:47:49Z"
        },
        {
          "tag": "v0.19.3-beta.rc1",
          "kind": "prerelease",
          "published_at": "2025-08-07T19:56:02Z"
        },
        {
          "tag": "v0.19.2-beta",
          "kind": "prerelease",
          "published_at": "2025-07-16T15:18:53Z"
        },
        {
          "tag": "v0.19.2-beta.rc2",
          "kind": "prerelease",
          "published_at": "2025-07-09T12:57:38Z"
        },
        {
          "tag": "v0.19.2-beta.rc1",
          "kind": "prerelease",
          "published_at": "2025-07-09T08:57:53Z"
        },
        {
          "tag": "v0.19.1-beta",
          "kind": "prerelease",
          "published_at": "2025-06-11T19:09:59Z"
        },
        {
          "tag": "v0.19.1-beta.rc1",
          "kind": "prerelease",
          "published_at": "2025-06-04T14:23:00Z"
        },
        {
          "tag": "v0.19.0-beta",
          "kind": "prerelease",
          "published_at": "2025-05-22T00:25:03Z"
        },
        {
          "tag": "v0.19.0-beta.rc5",
          "kind": "prerelease",
          "published_at": "2025-05-16T15:03:45Z"
        },
        {
          "tag": "v0.19.0-beta.rc4",
          "kind": "prerelease",
          "published_at": "2025-05-06T23:54:05Z"
        },
        {
          "tag": "v0.19.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2025-04-24T10:00:24Z"
        },
        {
          "tag": "v0.19.0-beta.rc2",
          "kind": "prerelease",
          "published_at": "2025-04-08T14:57:51Z"
        },
        {
          "tag": "v0.19.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2025-03-25T20:58:33Z"
        },
        {
          "tag": "v0.18.5-beta",
          "kind": "prerelease",
          "published_at": "2025-02-12T08:13:02Z"
        },
        {
          "tag": "v0.18.5-beta.rc2",
          "kind": "prerelease",
          "published_at": "2025-02-10T23:17:48Z"
        },
        {
          "tag": "v0.18.5-beta.rc1",
          "kind": "prerelease",
          "published_at": "2025-02-03T18:49:54Z"
        },
        {
          "tag": "v0.18.4-beta",
          "kind": "prerelease",
          "published_at": "2024-12-18T15:20:53Z"
        },
        {
          "tag": "v0.18.4-beta.rc2",
          "kind": "prerelease",
          "published_at": "2024-12-11T16:22:04Z"
        },
        {
          "tag": "v0.18.4-beta.rc1",
          "kind": "prerelease",
          "published_at": "2024-11-22T11:37:47Z"
        },
        {
          "tag": "v0.18.3-beta",
          "kind": "prerelease",
          "published_at": "2024-09-12T02:09:10Z"
        },
        {
          "tag": "v0.18.3-beta.rc3",
          "kind": "prerelease",
          "published_at": "2024-09-09T10:12:12Z"
        },
        {
          "tag": "v0.18.3-beta.rc2",
          "kind": "prerelease",
          "published_at": "2024-09-02T10:36:26Z"
        },
        {
          "tag": "v0.18.3-beta.rc1",
          "kind": "prerelease",
          "published_at": "2024-08-12T22:15:38Z"
        },
        {
          "tag": "v0.18.2-beta",
          "kind": "prerelease",
          "published_at": "2024-07-09T05:45:16Z"
        },
        {
          "tag": "v0.18.1-beta",
          "kind": "prerelease",
          "published_at": "2024-06-26T11:25:17Z"
        },
        {
          "tag": "v0.18.0-beta",
          "kind": "prerelease",
          "published_at": "2024-05-30T15:52:34Z"
        },
        {
          "tag": "v0.18.0-beta.rc4",
          "kind": "prerelease",
          "published_at": "2024-05-30T05:17:23Z"
        },
        {
          "tag": "v0.18.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2024-05-23T14:44:16Z"
        },
        {
          "tag": "v0.18.0-beta.rc2",
          "kind": "prerelease",
          "published_at": "2024-05-08T20:00:19Z"
        },
        {
          "tag": "v0.18.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2024-04-29T20:13:02Z"
        },
        {
          "tag": "v0.17.5-beta",
          "kind": "prerelease",
          "published_at": "2024-04-23T06:55:58Z"
        },
        {
          "tag": "v0.17.4-beta",
          "kind": "prerelease",
          "published_at": "2024-02-06T17:32:18Z"
        },
        {
          "tag": "v0.17.4-beta.rc1",
          "kind": "prerelease",
          "published_at": "2024-02-01T00:24:44Z"
        },
        {
          "tag": "v0.17.3-beta",
          "kind": "prerelease",
          "published_at": "2023-12-06T21:26:54Z"
        },
        {
          "tag": "v0.17.3-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-12-04T18:58:57Z"
        },
        {
          "tag": "v0.17.2-beta",
          "kind": "prerelease",
          "published_at": "2023-11-21T21:28:38Z"
        },
        {
          "tag": "v0.17.1-beta",
          "kind": "prerelease",
          "published_at": "2023-11-14T18:58:32Z"
        },
        {
          "tag": "v0.17.1-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-11-02T18:01:50Z"
        },
        {
          "tag": "v0.17.0-beta",
          "kind": "prerelease",
          "published_at": "2023-10-03T18:16:00Z"
        },
        {
          "tag": "v0.17.0-beta.rc6",
          "kind": "prerelease",
          "published_at": "2023-09-28T22:20:56Z"
        },
        {
          "tag": "v0.17.0-beta.rc5",
          "kind": "prerelease",
          "published_at": "2023-09-27T01:22:29Z"
        },
        {
          "tag": "v0.17.0-beta.rc4",
          "kind": "prerelease",
          "published_at": "2023-09-20T01:36:01Z"
        },
        {
          "tag": "v0.17.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2023-09-13T21:43:46Z"
        },
        {
          "tag": "v0.17.0-beta.rc2",
          "kind": "prerelease",
          "published_at": "2023-08-31T22:11:35Z"
        },
        {
          "tag": "v0.17.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-08-24T20:39:46Z"
        },
        {
          "tag": "v0.16.4-beta",
          "kind": "prerelease",
          "published_at": "2023-07-06T00:39:13Z"
        },
        {
          "tag": "v0.16.4-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-06-26T19:16:21Z"
        },
        {
          "tag": "v0.16.3-beta",
          "kind": "prerelease",
          "published_at": "2023-06-06T18:03:52Z"
        },
        {
          "tag": "v0.16.3-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-05-30T21:09:01Z"
        },
        {
          "tag": "v0.16.2-beta",
          "kind": "prerelease",
          "published_at": "2023-04-29T01:49:38Z"
        },
        {
          "tag": "v0.16.1-beta",
          "kind": "prerelease",
          "published_at": "2023-04-24T23:35:13Z"
        },
        {
          "tag": "v0.16.1-beta.rc3",
          "kind": "prerelease",
          "published_at": "2023-04-22T01:27:27Z"
        },
        {
          "tag": "v0.16.1-beta.rc2",
          "kind": "prerelease",
          "published_at": "2023-04-21T22:11:10Z"
        },
        {
          "tag": "v0.16.1-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-04-19T22:18:27Z"
        },
        {
          "tag": "v0.16.0-beta",
          "kind": "prerelease",
          "published_at": "2023-03-29T16:09:47Z"
        },
        {
          "tag": "v0.16.0-beta.rc5",
          "kind": "prerelease",
          "published_at": "2023-03-23T19:24:19Z"
        },
        {
          "tag": "v0.16.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2023-03-13T18:31:50Z"
        },
        {
          "tag": "v0.16.0-beta.rc2",
          "kind": "prerelease",
          "published_at": "2023-03-07T19:30:18Z"
        },
        {
          "tag": "v0.16.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2023-02-24T23:37:02Z"
        },
        {
          "tag": "v0.15.5-beta",
          "kind": "prerelease",
          "published_at": "2022-12-02T00:45:47Z"
        },
        {
          "tag": "v0.15.5-beta.rc2",
          "kind": "prerelease",
          "published_at": "2022-11-22T20:15:30Z"
        },
        {
          "tag": "v0.15.5-beta.rc1",
          "kind": "prerelease",
          "published_at": "2022-11-16T00:45:03Z"
        },
        {
          "tag": "v0.14.5-beta",
          "kind": "prerelease",
          "published_at": "2022-11-01T13:56:35Z"
        },
        {
          "tag": "v0.15.4-beta",
          "kind": "prerelease",
          "published_at": "2022-11-01T13:08:10Z"
        },
        {
          "tag": "v0.15.3-beta",
          "kind": "prerelease",
          "published_at": "2022-10-17T22:22:01Z"
        },
        {
          "tag": "v0.14.4-beta",
          "kind": "prerelease",
          "published_at": "2022-10-14T19:32:28Z"
        },
        {
          "tag": "v0.15.2-beta",
          "kind": "prerelease",
          "published_at": "2022-10-10T03:37:40Z"
        },
        {
          "tag": "v0.15.1-beta",
          "kind": "prerelease",
          "published_at": "2022-08-30T22:27:41Z"
        },
        {
          "tag": "v0.15.1-beta.rc2",
          "kind": "prerelease",
          "published_at": "2022-08-25T21:50:21Z"
        },
        {
          "tag": "v0.15.1-beta.rc1",
          "kind": "prerelease",
          "published_at": "2022-08-16T00:24:26Z"
        },
        {
          "tag": "v0.15.0-beta",
          "kind": "prerelease",
          "published_at": "2022-06-23T22:19:35Z"
        },
        {
          "tag": "v0.15.0-beta.rc6",
          "kind": "prerelease",
          "published_at": "2022-06-13T16:52:07Z"
        },
        {
          "tag": "v0.15.0-beta.rc5",
          "kind": "prerelease",
          "published_at": "2022-06-09T08:10:05Z"
        },
        {
          "tag": "v0.15.0-beta.rc4",
          "kind": "prerelease",
          "published_at": "2022-06-06T17:30:03Z"
        },
        {
          "tag": "v0.15.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2022-05-24T06:39:55Z"
        },
        {
          "tag": "v0.15.0-beta.rc2",
          "kind": "prerelease",
          "published_at": "2022-05-20T20:57:43Z"
        },
        {
          "tag": "v0.15.0-beta.rc1",
          "kind": "prerelease",
          "published_at": "2022-05-17T17:57:47Z"
        },
        {
          "tag": "v0.14.3-beta",
          "kind": "prerelease",
          "published_at": "2022-04-19T14:49:22Z"
        },
        {
          "tag": "v0.14.3-beta.rc2",
          "kind": "prerelease",
          "published_at": "2022-04-13T01:01:17Z"
        },
        {
          "tag": "v0.14.3-beta.rc1",
          "kind": "prerelease",
          "published_at": "2022-03-28T22:15:36Z"
        },
        {
          "tag": "v0.14.2-beta",
          "kind": "prerelease",
          "published_at": "2022-02-03T22:33:20Z"
        },
        {
          "tag": "v0.14.2-beta.rc1",
          "kind": "prerelease",
          "published_at": "2022-01-26T22:17:41Z"
        },
        {
          "tag": "v0.14.1-beta",
          "kind": "prerelease",
          "published_at": "2021-11-24T23:33:17Z"
        },
        {
          "tag": "v0.14.0-beta",
          "kind": "prerelease",
          "published_at": "2021-11-17T21:22:27Z"
        },
        {
          "tag": "v0.14.0-beta.rc4",
          "kind": "prerelease",
          "published_at": "2021-11-16T18:56:31Z"
        },
        {
          "tag": "v0.14.0-beta.rc3",
          "kind": "prerelease",
          "published_at": "2021-11-09T19:11:02Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "046356759a3b6b93b498de5e784d0e60f00cbd3d",
          "body": "kvdb/sqlbase: relax bulk migration isolation",
          "is_bot": false,
          "headline": "Merge pull request #10978 from ziggie1984/kvdb-bulk-read-committed",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-18T01:57:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18bbdb5363682fcf122a77745796c675cdeb5f26",
          "body": null,
          "is_bot": false,
          "headline": "kvdb/sqlbase: relax bulk migration isolation",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-18T00:57:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f02cf4c470c92e0e11b1665195ba09089329d5fe",
          "body": "kvdb: add Postgres migration bulk support",
          "is_bot": false,
          "headline": "Merge pull request #10965 from ziggie1984/sqlbase-migration-bulk",
          "author_name": "Olaoluwa Osuntokun",
          "author_login": "Roasbeef",
          "committed_at": "2026-07-17T01:39:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d12a8c3af5221b38ab5a89f417739e55144950ad",
          "body": null,
          "is_bot": false,
          "headline": "kvdb: test migration bulk operations",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-16T15:51:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f97c49adf56edae6989e3a19033cf9f6be5bdfd",
          "body": "This commit implements MigrationBulkKVStore for Postgres/pgx. The\nPostgres wrapper is available through an explicit constructor, so\nregular Postgres and shared SQLite backends do not expose the migration\ncapability accidentally.\n\nThe bulk load transaction pins a dedicated *sql.Conn. InsertLeaves str\n[…]\nds take the write lock and verification takes the\nread lock. Commit and Rollback release both the lock and the dedicated\nconnection. Rollback is idempotent and tolerates an already-closed\ntransaction.",
          "is_bot": false,
          "headline": "kvdb/sqlbase: add postgres migration bulk support",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-16T15:51:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5246c15f18d011c05361df285193405dd314828f",
          "body": "This commit introduces a migration-only interface set that lets the\nKV-to-SQL migration load and verify the raw SQL KV schema directly,\nbypassing the walletdb/kvdb bucket abstraction. Normal application code\ncontinues to use the bucket APIs; these helpers exist solely to make the\none-time bulk migra\n[…]\nrker used for buckets.\n\nThe interfaces use the same build constraints as the SQL kvdb backends.\nBackends expose the migration capability explicitly; the first concrete\nimplementation is Postgres-only.",
          "is_bot": false,
          "headline": "kvdb/sqlbase: define migration bulk KV interfaces",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-16T15:51:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6f65644448ad9e0b4b6312c28d63498a0d16ee9f",
          "body": "peer: never use RBF coop close for aux channels",
          "is_bot": false,
          "headline": "Merge pull request #10962 from jtobin/rbf-guard",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-14T19:05:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0501731c6620cded58179bbf0d7021654692b0aa",
          "body": null,
          "is_bot": false,
          "headline": "docs: add release notes for v0.21.2",
          "author_name": "Jared Tobin",
          "author_login": "jtobin",
          "committed_at": "2026-07-14T15:54:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ceff3ceb4b908fbec7bc9f8245256928604d78d3",
          "body": "The RBF coop close flow was selected purely from the peer-level\nfeature bits (rbfCoopCloseAllowed), with no per-channel exclusion.\nThe RBF close state machine does not invoke any of the aux closer\nhooks: the Shutdown message it sends carries no aux custom records,\nand the close transaction it negoti\n[…]\naux channels, an incoming Shutdown\nfrom the peer likewise falls through to the legacy close handling. As a\nbackstop, initRbfChanCloser now refuses to construct an RBF closer for\naux channels outright.",
          "is_bot": false,
          "headline": "peer: never use RBF coop close for aux channels",
          "author_name": "Jared Tobin",
          "author_login": "jtobin",
          "committed_at": "2026-07-14T15:54:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "02f4116926e2e944108bece3d9067d1a662e571d",
          "body": "rpcserver: fix stats undercount in GetNetworkInfo",
          "is_bot": false,
          "headline": "Merge pull request #10963 from elnosh/fix-networkinfo",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-13T14:31:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ccd3056925bf51ffd32024be58193c8584975e4",
          "body": "On an already-seen channel, the loop returned from the whole node\ncallback instead of continuing, skipping the node's remaining\nchannels, this undercounted the stats.",
          "is_bot": false,
          "headline": "rpcserver: fix stats undercount in GetNetworkInfo",
          "author_name": "elnosh",
          "author_login": "elnosh",
          "committed_at": "2026-07-13T13:29:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "404f2c27abbb911839a24186f6f1047c399ebb10",
          "body": "github: bump gateway code-review to v0.5.0",
          "is_bot": false,
          "headline": "Merge pull request #10956 from saubyk/gateway-v0.5.0",
          "author_name": "Yong",
          "author_login": "yyforyongyu",
          "committed_at": "2026-07-10T16:23:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9a8b3f9c8f96610204672e4f93c8f8b030a444e",
          "body": "sweep: account for aux extra budget when filtering inputs",
          "is_bot": false,
          "headline": "Merge pull request #10897 from jtobin/htlc-force-close-sweeper",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-09T12:36:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb823f4cab970d23da3d14e2202821469c21a209",
          "body": "lnwire: enforce bolt 4 rules for onion message final-hop payloads",
          "is_bot": false,
          "headline": "Merge pull request #10948 from bitromortac/2607-fix-onionmessage",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-09T11:33:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ae31b7612f3d3d5d0aea5a54666c5bbccfa622c",
          "body": null,
          "is_bot": false,
          "headline": "docs: add release note",
          "author_name": "Jared Tobin",
          "author_login": "jtobin",
          "committed_at": "2026-07-09T11:22:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9e3e9ae17feabcbccd09eef6289fa5ddcea086b",
          "body": "The BudgetAggregator filters out inputs whose budget cannot cover the\nmin relay fee or their requested starting fee rate. For inputs that\ncarry a resolution blob (custom channel outputs), the aux sweeper\ncontributes a sizable extra budget to any input set they join, but the\nfilter only considered th\n[…]\nring how the\nbudget input set itself accounts for it when deciding whether wallet\ninputs are needed. Inputs without a resolution blob (the only kind\nthat exists without an aux sweeper) are unaffected.",
          "is_bot": false,
          "headline": "sweep: account for aux extra budget when filtering inputs",
          "author_name": "Jared Tobin",
          "author_login": "jtobin",
          "committed_at": "2026-07-09T11:22:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "68bc76912f6487a0f0cf73417404e6383419d4ee",
          "body": null,
          "is_bot": false,
          "headline": "docs: update release notes",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-07-09T07:15:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "233e3777313a3127d204eb43c4b1124f4fa596a7",
          "body": "BOLT 4 requires the final node to ignore an onion message whose\nonionmsg_tlv contains more than one payload field, where payload fields\nare the tlv types reserved for the final hop (type 64 and above). Decode\npreviously accumulated every such field it found, so a payload bundling\ninvoice_request, in\n[…]\nVs is in the final hop range, so its count\nis the number of payload fields. The round-trip test for multiple fields\nbecomes a rejection test, and the property test now draws at most one\npayload field.",
          "is_bot": false,
          "headline": "lnwire: reject onion message payloads with multiple final hop fields",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-07-09T07:13:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "33c510fa3aeeb8a57929641e476667137902059e",
          "body": "BOLT 4 requires the final node to ignore an onion message whose\nonionmsg_tlv contains an unknown even type, since even types are\n\"must understand\". The TLV stream decoder does not enforce this on its\nown: its parsed-type map collects unknown types of either parity, so an\neven type such as 70 would o\n[…]\nd as a final hop payload.\n\nReject any unknown even type during decode, regardless of its range. The\ncheck runs before the final hop range skip so unknown even types below\ntype 64 are rejected as well.",
          "is_bot": false,
          "headline": "lnwire: reject onion message payloads with unknown even types",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-07-09T07:13:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bc5cfb5adca352e2e2e8eee4cf7764e82600c390",
          "body": "When decoding an onion message payload, the loop that forwards\nunrecognized final hop TLVs to higher layers skipped any entry with a\nzero-length value. DecodeWithParsedTypesP2P marks a recognized type with\na nil map entry but records the raw bytes for an unknown type, and an\nunknown odd TLV with an \n[…]\n. Keying the skip off a\nlength check therefore dropped such a TLV instead of passing it through.\n\nTest the recognized-type skip against a nil entry so a valid unknown odd\nzero-length TLV is preserved.",
          "is_bot": false,
          "headline": "lnwire: preserve unknown odd zero-length final hop TLVs",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-07-09T07:13:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "447703a47cb51d40a610bca3c1eb644071bdd8de",
          "body": "Update the gateway-action pin and runtime_ref to the v0.5.0 release\ncommits, and extend the shim for the new inline-command support: a\npull_request_review_comment trigger plus comment_in_reply_to input so\n/gateway dismiss, promote, and explain work as replies on a finding's\ninline thread. Same fork-\n[…]\nin v0.5.0: /gateway promote (file a finding as an\nissue and dismiss it), batch dismiss, gateway-approved label with\nstale-approval retraction, and one review comment per run with a\nverdict-first body.",
          "is_bot": false,
          "headline": "github: bump gateway code-review to v0.5.0",
          "author_name": "saubyk",
          "author_login": "saubyk",
          "committed_at": "2026-07-07T23:34:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "31168557c3a8602d7669c1eb86eddd07d9892bc6",
          "body": "…mers\n\nchanstate: use open channel from consumers",
          "is_bot": false,
          "headline": "Merge pull request #10809 from ziggie1984/chanstate-openchannel-consu…",
          "author_name": "Olaoluwa Osuntokun",
          "author_login": "Roasbeef",
          "committed_at": "2026-07-07T21:47:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "489a6dabd97cc944ca7ae958acf967f252e3204b",
          "body": "ActiveHtlcs previously matched HTLCs across the local and remote\ncommitment snapshots by hashing the onion blob. The onion blob is\nrouting payload data and can be duplicated by buggy or malicious\nsenders, so it is not a reliable key for identifying the same HTLC on\nboth commitments.\n\nMatch on the HT\n[…]\nntity instead: the channel-level HTLC\nindex combined with the direction of the offer uniquely identifies an\noffered HTLC within the channel state. A test is added to lock in the\nnew matching behavior.",
          "is_bot": false,
          "headline": "chanstate: match active htlcs by identity",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T12:07:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "04b7486fde27004b2b48930826ef44f81cb8bdd1",
          "body": "The Copy method omitted the CloseConfirmationHeight and Db fields when\ncloning an OpenChannel, so the returned copy silently diverged from the\noriginal. Copy both fields over so the clone is a faithful copy, which\nconsumers that operate on channel copies rely on.",
          "is_bot": false,
          "headline": "chanstate: complete open channel copy",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T12:00:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4bec71b54818012bea7e72cc6d71fe7e59e46bd",
          "body": "Update htlcswitch test utilities to construct and pass\nchanstate.OpenChannel values directly.\n\nThis removes another test-only dependency on the channeldb OpenChannel\nalias while leaving the test database helpers unchanged.",
          "is_bot": false,
          "headline": "htlcswitch: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a459bc4672ca909ffda855678ca8d1b7027e570d",
          "body": "Update peer channel loading, validation, and test helpers to use\nchanstate.OpenChannel directly.\n\nThe peer package still depends on channeldb for store-level errors and\nhelpers, but no longer needs the OpenChannel alias in its public\nchannel-state boundary.",
          "is_bot": false,
          "headline": "peer: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa31c56464d494db8e94b5153d108f0943776343",
          "body": "Update lnwallet channel, reservation, wallet, and test helpers to use\nchanstate.OpenChannel directly.\n\nThe wallet package still imports channeldb for database APIs and other\nchannel-state aliases, but the OpenChannel type boundary now points at\nthe package that owns the type.",
          "is_bot": false,
          "headline": "lnwallet: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0b869135cada8d180f7b24d363e11c651ea456d",
          "body": "Update contractcourt channel and resolver state boundaries to use\nchanstate.OpenChannel instead of the channeldb alias.\n\nThis keeps the contract resolution package depending on channel state\ndata through the package that now owns the type, while leaving\nchanneldb references for store and error types that still belong there.",
          "is_bot": false,
          "headline": "contractcourt: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05bea1dd69a9261d78ea594ed2bb2e0842be51bc",
          "body": "Build restored channel shells with chanstate.OpenChannel instead of the\nchanneldb alias.\n\nThe restored shell is channel state data, so this keeps the constructor\naligned with the package that now owns the type.",
          "is_bot": false,
          "headline": "chanrestore: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a34503ca5530f5dc9339270bece357f0ea098fc",
          "body": "Update RPC helpers that format open channel data to accept\nchanstate.OpenChannel directly.\n\nThese helpers only inspect channel state and do not need to name the\nchanneldb OpenChannel alias.",
          "is_bot": false,
          "headline": "rpcserver: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e709678d9cb9f71735cf5b1b8b969eca8c74ae1",
          "body": "Update server callback wiring to use chanstate.OpenChannel at the\nfunding manager boundary.\n\nThis follows the funding package change and removes another\nconsumer-facing dependency on the channeldb OpenChannel alias.",
          "is_bot": false,
          "headline": "server: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03daaad4fcc943c5e04664ad99ebaf4d587678f4",
          "body": "Update the funding manager callback and helper signatures to depend on\nthe chanstate OpenChannel type instead of the channeldb alias.\n\nThe funding manager already receives channel persistence through the\nchanstate Store interface, so this keeps its open-channel boundary\naligned with the backend-independent package.",
          "is_bot": false,
          "headline": "funding: use channel state open channel",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da94a411c8e1fd136bbed58e4d5eb9cc8f22856f",
          "body": "Move htlcswitch link-facing channel state boundaries to chanstate.\n\nThe link still uses channeldb for forwarding-package persistence, but\nchannel update callbacks, tower registration, and dust helper channel\ntypes now use the channel state package directly.",
          "is_bot": false,
          "headline": "chanstate: use channel types in link config",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4bb78770ce94a8421c1aa64aa40532fc50cc2b8b",
          "body": "Move watchtower blob and client channel-type boundaries to chanstate.\n\nThe wtclient manager still imports channeldb for closed-channel lookup\nerrors, but the channel type and close-summary payloads now use the\nchannel state package directly.",
          "is_bot": false,
          "headline": "chanstate: use channel types in watchtower",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bd24477575fe379f9d91fc42fa3ff34fa29ee3a",
          "body": "Move the gossiper channel lookup callback to chanstate.OpenChannel.\n\nDiscovery still depends on channeldb for waiting-proof persistence.\nThis commit only removes the channeldb compatibility alias from the\nchannel state lookup boundary.",
          "is_bot": false,
          "headline": "chanstate: use channel type in gossiper",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a546c7591d67aa01b300cb7639508a4eb41bffd3",
          "body": "Move the local channel manager fetch boundary to chanstate types.\n\nThe manager still imports channeldb for the concrete not-found error,\nbut channel state values and config constraints now use the chanstate\npackage directly.",
          "is_bot": false,
          "headline": "chanstate: use channel types in local chans",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3724915820d7e799bd388d4507656702244b299a",
          "body": "Move the htlcswitch channel fetch callbacks to chanstate types.\n\nThe switch still depends on channeldb for its KV circuit storage and\nforwarding package access. This commit only moves channel-state\npayloads at the switch and circuit-map boundaries.",
          "is_bot": false,
          "headline": "chanstate: use channel types in switch config",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a215d9e2a984913c2ef23ac227d819454080d4c",
          "body": "Move the waiting-close channel helper to chanstate.OpenChannel.\n\nThe helper consumes channel state returned by the store interface, so\nit should not spell the channeldb compatibility alias. Other database\nerrors and APIs in the wallet RPC server remain on channeldb.",
          "is_bot": false,
          "headline": "chanstate: use channel type in wallet rpc",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "897f2ce54c5fe501e63c35a2c920bd260156ffe3",
          "body": "Move the root backup notifier adapter to chanstate.OpenChannel.\n\nThe adapter still depends on channeldb for address sourcing and close\ntype handling, but the new-channel payload it forwards into chanbackup\nnow matches the chanstate-owned backup interfaces.",
          "is_bot": false,
          "headline": "chanstate: use channel type in backup notifier",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dac8a8fe53938fe0d78747b94a83cad8cc3700a0",
          "body": "Move static channel backup construction to chanstate channel types.\n\nThe package still imports channeldb where it uses real database\nconcerns, including address sourcing and duplicate-channel recovery.\nThe backup payload and live-channel source boundaries no longer depend\non the channeldb compatibility aliases.",
          "is_bot": false,
          "headline": "chanstate: use channel types in backups",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c58d51d59394a177992ba42dfd2526939ccd23f7",
          "body": "Move lnpeer.NewChannel to embed chanstate.OpenChannel.\n\nThis keeps the peer-facing channel event type independent of the\nchanneldb compatibility alias while preserving the existing embedded\nOpenChannel field shape for callers.",
          "is_bot": false,
          "headline": "chanstate: use channel type in lnpeer",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd0383450a0d9b41a6a1af0c403dea2ac3d36119",
          "body": "Move the channel status manager working set to chanstate.OpenChannel.\n\nThe DB interface already returns channelstate channel values, so this\nremoves another channeldb compatibility alias from the consumer path\nwhile keeping the graph and announcement behavior unchanged.",
          "is_bot": false,
          "headline": "chanstate: use channel type in status manager",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "471c9b696fc7be5c172496d16a3a0b74cc59ea84",
          "body": "Move the witness subscription HTLC parameter to chanstate.HTLC.\n\nThe beacon still depends on channeldb for witness-cache errors, but it\nno longer needs the channel DB compatibility alias for HTLC payloads.",
          "is_bot": false,
          "headline": "chanstate: use htlc type in beacon",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19e656b2bb32ea1feb212a9a729d742beabc9a46",
          "body": "Move channel event payloads in chanfitness to chanstate types.\n\nThe event store still uses channeldb for flap-count persistence and\nrelated errors, but open-channel and close-summary values now come from\nthe channel-state package.",
          "is_bot": false,
          "headline": "chanstate: use channel types in fitness",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3fdcba511432f76bebd4996405e09cc6d1cd0fc",
          "body": "Move small interface-only consumers to chanstate.OpenChannel.\n\nThese packages only expose open-channel values through callback or\nstore interfaces, so they can depend on the channel-state package\nwithout pulling in channeldb compatibility aliases.",
          "is_bot": false,
          "headline": "chanstate: use channel types in interfaces",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fea9c171ee0423ae0d4e533b72290f251ead96df",
          "body": "Move channelnotifier and invoice hop-hint code to the chanstate channel\ntypes.\n\nThese consumers already depend on the chanstate store interfaces, so\nthey no longer need to refer to the channeldb compatibility aliases for\nOpenChannel and ChannelCloseSummary.",
          "is_bot": false,
          "headline": "chanstate: use channel types in consumers",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-07T10:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "530301c19bc3cb5d946d5f708bedc954a217c210",
          "body": "…tor-clean\n\nchanstate: move OpenChannel behind store interface",
          "is_bot": false,
          "headline": "Merge pull request #10808 from ziggie1984/chanstate-openchannel-refac…",
          "author_name": "Olaoluwa Osuntokun",
          "author_login": "Roasbeef",
          "committed_at": "2026-07-07T02:09:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5aabdf8c68f243bdfd9fff467d2accd5b83c36a",
          "body": null,
          "is_bot": false,
          "headline": "channeldb: document legacy fwd packager interface",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b720fd5cd58c2e25d122b12bcc297d4c8679a628",
          "body": "Copy all HTLC fields when cloning channel commitment state.\n\nThe old copy method only copied a subset of scalar fields and copied\ninto nil slices for Signature and ExtraData. Allocate those slices and\ndeep-copy custom record values so snapshots and channel copies retain\ncomplete HTLC metadata.",
          "is_bot": false,
          "headline": "chanstate: fix htlc copy",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68ad283d3e9cb48bea40d431a08fa1076ed60e37",
          "body": "Drop the temporary channel type parameter from the channel-state store\ninterfaces now that OpenChannel lives in chanstate.\n\nThe domain store subinterfaces now refer to *OpenChannel directly while\nretaining the same backend-independent shape. Update callers and\ncompatibility aliases to use the concrete Store and ChannelShell types.",
          "is_bot": false,
          "headline": "chanstate: remove store generics",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07ede43ad1bbe4aefabbf9374580cfdcc4cba0ba",
          "body": null,
          "is_bot": false,
          "headline": "chanstate: split commitment store interface",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3adc0133d0b92138bba51456b35c765e09a7d501",
          "body": "Move OpenChannel and its backend-neutral receiver methods into the\nchanstate package.\n\nchanneldb now keeps a compatibility alias while retaining the KV store\nimplementation and serialization helpers. Tests that used private\nchannel status fields now use store-facing accessors.",
          "is_bot": false,
          "headline": "chanstate: move open channel type",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6eef3ad6b7f7c604c695572adf8748f3b60f7c09",
          "body": "Add a transitional non-locking status predicate for channeldb store\ncode and use it from KV serialization helpers.\n\nThis avoids calling an unexported OpenChannel helper from channeldb\nafter the type moves into chanstate.",
          "is_bot": false,
          "headline": "channeldb: add store status check",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c065aa91363a6d500c15bd97d64977c108699f21",
          "body": "Move the backend-neutral taproot shachain and verification nonce\nhelpers into chanstate with the thaw-height threshold they support.\n\nLeave channeldb aliases for existing callers while OpenChannel and its\nreceiver methods are moved across the package boundary.",
          "is_bot": false,
          "headline": "chanstate: move taproot channel helpers",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aeab363a578e8c1997b7fc39e04ca00fbb407ca6",
          "body": "Move the backend-neutral ChannelSnapshot value type into chanstate and\nleave channeldb with a compatibility alias.\n\nThis keeps the future OpenChannel Snapshot receiver close to its return\ntype without changing existing channeldb callers.",
          "is_bot": false,
          "headline": "chanstate: move channel snapshot type",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0229e0ada3d0d12afa353c85da9f0365fc6a9ae4",
          "body": "Remove the KV forwarding packager from OpenChannel and derive a\nChannelPackager inside the channeldb store methods that need one.\n\nThis keeps the backend-specific kvdb transaction helper in channeldb,\nso the OpenChannel type no longer carries that dependency toward\nchanstate.",
          "is_bot": false,
          "headline": "channeldb: derive channel packagers",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fbb51b5efd8d33ebbc681eaf8f8c160b82d6ae1",
          "body": "Add transitional OpenChannel accessors for the channel status and\nconfirmed SCID fields used by KV store code.\n\nThese helpers keep the fields private while allowing channeldb backend\ncode to continue hydrating and serializing channel state after\nOpenChannel moves to chanstate.",
          "is_bot": false,
          "headline": "channeldb: add channel store accessors",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a82ea84a2030cf60bf3dff13d9fed6996370aa90",
          "body": "Convert the KV-only OpenChannel helpers for TLV aux data and\nborked-state lookup into package-level channeldb helpers.\n\nThis keeps serialization and bucket inspection code tied to the KV\nbackend while leaving the OpenChannel receiver set closer to the future\nchanstate type.",
          "is_bot": false,
          "headline": "channeldb: split out channel kv helpers",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40234f3c884a7703a136170ad1d1dda95b866d5c",
          "body": "Change OpenChannel.Db to the composed chanstate Store interface while\nkeeping the existing field name.\n\nTests that need raw channeldb access now assert the concrete test\nbackend explicitly instead of reaching through OpenChannel.Db. This\nkeeps backend setup out of the store contract.",
          "is_bot": false,
          "headline": "channeldb: store channel state by interface",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e28122464e40c24634b03b515d2daccb1c443235",
          "body": "Keep the revocation-log tail-height helper on ChannelStateDB instead of\nthe OpenChannel receiver.\n\nThe helper is only used by channeldb tests, so it should not become\npart of the backend-independent chanstate store contract. The tests now\ncall the concrete helper directly.",
          "is_bot": false,
          "headline": "channeldb: move revocation tail helper",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1bcd4d654e4972aaca69c73bc4fc5fd5dc630ef2",
          "body": "Add FindPreviousState to the chanstate commitment store subinterface now that\nRevocationLog is a chanstate value type.\n\nThis extends the store contract without changing runtime behavior. The\nexisting ChannelStateDB method already satisfies the new method.",
          "is_bot": false,
          "headline": "chanstate: add previous state lookup",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbc9a70134036d05933e2c8a367b9372defd8d60",
          "body": "Move the revocation-log value types and TLV serialization helpers into\nchanstate.\n\nLeave channeldb aliases and wrapper functions for the existing KV\npersistence code and tests. Bucket keys, errors, and transaction\nhelpers stay in channeldb, so this commit only moves backend-neutral\nstate data.",
          "is_bot": false,
          "headline": "chanstate: move revocation log types",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e1aab02c9cf2f06dd887be77b7021361615e8c4",
          "body": "Move the remaining OpenChannel revocation-log KV reads onto\nChannelStateDB.\n\nThis keeps FindPreviousState and the unit-test tail-height helper as\nOpenChannel wrappers. It removes direct backend access from the\nreceiver methods while leaving RevocationLog in channeldb for now.",
          "is_bot": false,
          "headline": "channeldb: move revocation log reads",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a9ae1c526098441b994e56daab65f43205478cb",
          "body": "Add commitment-height, latest-commitment, and remote revocation store\nlookups to the chanstate commitment store subinterface.\n\nMove the existing OpenChannel KV view transaction bodies onto\nChannelStateDB. This leaves the receivers as store-call wrappers while\nkeeping the persisted format and read behavior unchanged.",
          "is_bot": false,
          "headline": "chanstate: add commitment read stores",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61f26df21100e390932bfb892add4fee12e1e483",
          "body": "Add a forwarding-package store subinterface to chanstate.Store.\n\nMove the existing OpenChannel forwarding-package KV transaction bodies\nonto ChannelStateDB. The OpenChannel receivers keep their locking\nbehavior and delegate package loading, acking, filtering, and removal\nthrough the store.",
          "is_bot": false,
          "headline": "chanstate: add forwarding package store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7029960d199af34068ecb09806581a79e9706e08",
          "body": "Add the commitment-tail advancement method to the chanstate commitment\nstore subinterface.\n\nMove the existing AdvanceCommitChainTail KV transaction body onto\nChannelStateDB. The OpenChannel receiver now keeps locking and restored\nchannel checks before delegating persistence through the store.",
          "is_bot": false,
          "headline": "chanstate: add commit tail store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71864a32ecba11476a8e76eb879e73d68deca8ca",
          "body": "Move FwdState, PkgFilter, and FwdPkg into chanstate with their existing\ncomments and helper methods.\n\nLeave channeldb aliases for the moved value types and constructors so\ncurrent callers keep compiling. The KV forwarding package persistence\ncode stays in channeldb.",
          "is_bot": false,
          "headline": "chanstate: move forwarding package types",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be2d0e5e60a9e5ccaf7a745c8d8aee7706c43b40",
          "body": "Add the next-revocation persistence method to the chanstate commitment\nstore subinterface.\n\nMove the existing OpenChannel KV update body onto ChannelStateDB. The\nOpenChannel receiver keeps the external locking behavior and delegates\npersistence through the store interface.",
          "is_bot": false,
          "headline": "chanstate: add revocation insert store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "349567c7726c42ef4cbfac4b1d22cbe2268844b9",
          "body": "Add read-side commitment lookup methods to the chanstate commitment\nstore subinterface.\n\nMove the existing OpenChannel KV view transaction bodies onto\nChannelStateDB. Leave the OpenChannel receivers as store-call wrappers.\nThis removes three more direct backend references from the receiver\ncode without changing the persisted data format.",
          "is_bot": false,
          "headline": "chanstate: add commit lookup store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06308e1dc9d25e04f7f28bc45d48acbd173a94d1",
          "body": "Add the remote commitment-chain append method to the chanstate\ncommitment store subinterface.\n\nMove the existing KV transaction body onto ChannelStateDB and have the\nOpenChannel receiver call through the store. This removes another\ndirect backend dependency from OpenChannel while keeping KV persistence\ncode in channeldb.",
          "is_bot": false,
          "headline": "chanstate: add remote commit chain store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9dfb8c1e13fe609ae9ff3787c5b1258bb1de8009",
          "body": "Move CommitDiff and its forwarding reference types into chanstate. This\nlets the next commitment store subinterface name pending remote commitment\nstate without importing channeldb.\n\nKeep forwarding package persistence and commit-diff serialization in\nchanneldb for now. The aliases preserve existing call sites while the\nKV backend code remains in place.",
          "is_bot": false,
          "headline": "chanstate: move commitment diff types",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68ada20b9c7535d94d440ee32af4c93cafc7b3d7",
          "body": "Add a commitment-focused store subinterface for updating local channel\ncommitment state. This lets OpenChannel call through the chanstate\nstore contract instead of reaching directly into the KV backend.\n\nKeep the existing KV transaction body on ChannelStateDB for now. The\nreceiver still owns locking and in-memory state updates while the store\nmethod owns persistence.",
          "is_bot": false,
          "headline": "chanstate: add commitment store subinterface",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed0bda738ee31d9227b045bd7c946b4a8904fc21",
          "body": "Move LogUpdate into chanstate so commitment store interfaces can refer\nto pending update state without importing channeldb.\n\nKeep the log-update serialization helpers in channeldb. Those helpers\nremain part of the existing KV disk format and can move with the KV\nbackend implementation later.",
          "is_bot": false,
          "headline": "chanstate: move log update type",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43edd57d236ebc2c2e64bb62fce1e5b6ff039535",
          "body": "Move ChannelCommitment and HTLC into chanstate so upcoming store subinterfaces\ncan name commitment state without importing channeldb.\n\nLeave the KV serialization helpers in channeldb and keep aliases for\nexisting call sites. This preserves the current disk format and keeps\nbackend-specific persistence code out of chanstate for now.",
          "is_bot": false,
          "headline": "chanstate: move commitment value types",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "219987c99c4b2bcda1078e60ad2ddd48f8069d45",
          "body": "Add pending-channel setup to the chanstate lifecycle store subinterface. This\ncovers the path that writes a new pending channel and records the\nfunding broadcast height.\n\nMove the OpenChannel receiver to call through ChannelStateDB and pass\nthe backend explicitly into the channeldb sync helper. This keeps the\nlink-node persistence detail in channeldb while removing another direct\nbackend reference from OpenChannel.",
          "is_bot": false,
          "headline": "chanstate: add pending channel setup store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f96fb5ac5afd239a1695a9625c6251c6afa6b23",
          "body": "Add shutdown and close-transaction subinterfaces to the chanstate Store\ncontract. These cover persisted shutdown info plus stored unilateral\nand cooperative closing transactions.\n\nImplement the subinterfaces on ChannelStateDB with the existing KV code and\nupdate OpenChannel receivers to call through the store methods. The\nbackend-specific key selection remains private to channeldb.",
          "is_bot": false,
          "headline": "chanstate: add open channel close stores",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f7c21bd87aa6793768a1e7ac1e3cc520b1e1b5c",
          "body": "Add a status subinterface to the chanstate Store contract for status bit\nupdates and data-loss commit point handling. Implement the subinterface on\nChannelStateDB using the existing persistence code.\n\nUpdate the matching OpenChannel receivers to call through the store\nmethods. The broadcast path still uses a private channeldb helper until\nits closing-transaction subinterface is introduced in a later commit.",
          "is_bot": false,
          "headline": "chanstate: add open channel status store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "849d0976255fbd35bd05db07958bf80fbdf034b1",
          "body": "Add a lifecycle subinterface to the chanstate Store contract for refresh,\nconfirmation, open-state, and SCID mutations. Implement the subinterface on\nChannelStateDB using the existing KV persistence code.\n\nUpdate the matching OpenChannel receivers to call through the store\nmethods instead of reaching into the ChannelStateDB backend directly.\nAlso convert fullSync into a channeldb helper so that KV-specific code\nis no longer an OpenChannel receiver.",
          "is_bot": false,
          "headline": "chanstate: add open channel lifecycle store",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "444e80c0d94f0dd41ca268c46a3e1456245eeda7",
          "body": "Move the ShutdownInfo state type, constructor, and closer helper into\nchanstate. The type describes channel shutdown state and is not tied to\nthe concrete KV backend.\n\nKeep the TLV encode and decode helpers in channeldb for now, since\nthose functions describe the current persisted format. The channeldb\nconstructor remains as a compatibility wrapper.",
          "is_bot": false,
          "headline": "chanstate: move shutdown metadata",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c96ba05c70baf58fd9181f48d8f74e69e6535c03",
          "body": "Move the OpenChannel error definitions into chanstate and leave\nchanneldb aliases for existing callers. These errors describe channel\nstate behavior rather than a concrete KV bucket layout.\n\nKeeping the aliases preserves the public channeldb API while later\ncommits move more OpenChannel state and receiver logic toward\nchanstate.",
          "is_bot": false,
          "headline": "chanstate: move open channel errors",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb0bf755d5fc2254ef64d471754d85b6fb284abf",
          "body": "Move ChannelType and its flag helpers into chanstate while leaving\ncompatibility aliases in channeldb. This is a backend-neutral value\ntype and does not require moving any KV serialization logic.\n\nKeep the full type documentation with the moved chanstate definition.\nThe channeldb aliases preserve the existing public surface while later\ncommits continue moving OpenChannel state out of the KV package.",
          "is_bot": false,
          "headline": "chanstate: move channel type flags",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f53d615c1badfe40c7f3bfe55175b8c20617e279",
          "body": "Move the small value types referenced by chanstate.Store out of\nchanneldb. This includes ChannelConfig, ChannelStatus,\nChannelCloseSummary, ChannelShell, ChanCount, and FinalHtlcInfo. Leave\naliases in channeldb so existing callers keep compiling while the\nbackend still lives there.\n\nParameterize the\n[…]\n and instantiate\ncurrent callers with *channeldb.OpenChannel. This removes the chanstate\n-> channeldb import edge without moving OpenChannel yet, keeping the\nfirst step reviewable and backend-neutral.",
          "is_bot": false,
          "headline": "chanstate: make store channel types generic",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-07-06T18:50:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "40c64f9db30de8ff22d42f1146d07508a30bed14",
          "body": "lnwallet+walletrpc: add WalletKit.SubmitPackage for v3 CPFP package relay",
          "is_bot": false,
          "headline": "Merge pull request #10900 from ellemouton/walletkit-submitpackage",
          "author_name": "Yong",
          "author_login": "yyforyongyu",
          "committed_at": "2026-06-30T21:42:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68c47407d7b8ebc2f290d5e9cc5b115558457cb8",
          "body": "Document the new WalletKit.SubmitPackage RPC and the lncli wallet\nsubmitpackage command in the 0.22.0 release notes.",
          "is_bot": false,
          "headline": "docs: add release note for WalletKit.SubmitPackage",
          "author_name": "Elle Mouton",
          "author_login": "ellemouton",
          "committed_at": "2026-06-30T18:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47661cea868c5a1374d4a427507925c7b653fa81",
          "body": "Add an integration test that exercises WalletKit.SubmitPackage: it builds\na zero-fee v3 (TRUC) parent that a standalone broadcast would reject,\npairs it with a fee-paying v3 CPFP child, and asserts the package is\naccepted. A zero-fee transaction can only enter the mempool via package\nevaluation, so \n[…]\nproves the CPFP package path end to end.\n\nsubmitpackage is a bitcoind RPC, so the test skips on the btcd and\nneutrino backends. Also adds the SubmitPackage wrapper to the\nintegration-test RPC harness.",
          "is_bot": false,
          "headline": "itest: add SubmitPackage integration test",
          "author_name": "Elle Mouton",
          "author_login": "ellemouton",
          "committed_at": "2026-06-30T18:07:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ea88a268707089634bb07fb8e112b5968ebf86c9",
          "body": "Add a `wallet submitpackage` command that takes one or more hex-encoded\nraw transactions (topologically sorted, parents first and the child\nlast) and an optional --max_fee_rate, and submits them as a package via\nthe WalletKit.SubmitPackage RPC.",
          "is_bot": false,
          "headline": "lncli: add wallet submitpackage command",
          "author_name": "Elle Mouton",
          "author_login": "ellemouton",
          "committed_at": "2026-06-30T18:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f55c0565d02cff63760b055970d36eca82e2beb1",
          "body": "Add SubmitPackage to the lnwallet.WalletController interface and a new\nWalletKit.SubmitPackage RPC, so a client of lnd can relay a package of\nrelated transactions (parents first, child last) through lnd's own chain\nconnection. This lets a zero-fee v3/TRUC parent be accepted via its\nfee-paying CPFP c\n[…]\ne WalletKit\nhandler maps the proto request/response to the btcjson result and is\ngated by the onchain:write macaroon permission. Mock controllers and the\nno-chain backend gain trivial implementations.",
          "is_bot": false,
          "headline": "lnwallet+walletrpc: add SubmitPackage for v3 CPFP package relay",
          "author_name": "Elle Mouton",
          "author_login": "ellemouton",
          "committed_at": "2026-06-30T18:07:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c4a67b68b735698a5b9338c0936cbadba9138bf8",
          "body": "bolt12: add `InvoiceRequest` codec and structural validators",
          "is_bot": false,
          "headline": "Merge pull request #10832 from bitromortac/2604-bolt12-1b",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-06-30T17:45:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9a2cb43d4b7277dc43c857bf05ce27cee86a53f",
          "body": "Add a BOLT 12 release note for the invoice_request codec, completing the\noffer/invoice_request entries for the bolt12 package in 0.22.0.",
          "is_bot": false,
          "headline": "docs: update release notes",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-06-30T16:20:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b4587b017a1933c6cb2a3108c1955305fc2fdc8",
          "body": "ValidateInvoiceRequestRead and ValidateInvoiceRequestWrite enforce the\nstructural BOLT 12 requirements an invoice request can be checked\nagainst on its own. The reader validates incoming requests. The writer\ncatches out-of-range types in decoded-then-mutated requests before they\nleave the local boun\n[…]\ns are shared. Offer\ncross-validation requires an Offer reference the structural validator\ndoes not carry, and lands in the bolt12handler layer where both the\nrequest and the stored Offer are in scope.",
          "is_bot": false,
          "headline": "bolt12: validate InvoiceRequest per BOLT 12 reader/writer requirements",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-06-30T16:20:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "338e4bda9055ab2552f23bda2f909e3df0977d9f",
          "body": "The offer writer rejected a present-but-nil offer_issuer_id with an\nad-hoc error. Introduce a typed ErrNilPublicKey sentinel and use it here\nso the rejection is recoverable by callers and reusable by the\ninvoice_request writer, which guards the same hazard for its own pubkey\nfields.",
          "is_bot": false,
          "headline": "bolt12: add ErrNilPublicKey and type the offer_issuer_id guard",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-06-30T16:20:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c419ba567117b59b909dd267ecd5c5a03221515e",
          "body": "This ensures we copy all fields when replying to an offer.",
          "is_bot": false,
          "headline": "bolt12: add NewInvoiceRequestFromOffer",
          "author_name": "bitromortac",
          "author_login": "bitromortac",
          "committed_at": "2026-06-30T16:20:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2d0932d676826cd0f4244d58075efe5cb5247e9",
          "body": "Add public key for gijswijs",
          "is_bot": false,
          "headline": "Merge pull request #10940 from gijswijs/add-gijswijs-sig",
          "author_name": "Yong",
          "author_login": "yyforyongyu",
          "committed_at": "2026-06-30T15:19:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4f875218297a1dd6dce0099e4db16b0f05f3e68",
          "body": "mod: use tagged tlv and tor versions",
          "is_bot": false,
          "headline": "Merge pull request #10930 from yyforyongyu/cleanup-tlv-tor-tags",
          "author_name": "Yong",
          "author_login": "yyforyongyu",
          "committed_at": "2026-06-30T13:27:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74102ae633caf5f9d83274d52f7c184cc0259052",
          "body": null,
          "is_bot": false,
          "headline": "scripts/keys: add pub key for gijswijs",
          "author_name": "Gijs van Dam",
          "author_login": "gijswijs",
          "committed_at": "2026-06-29T19:40:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbe77749cde745086f85198151a99006ae4ca084",
          "body": "…d-htlc\n\nhtlcswitch: separate onchain and offchain intercpeted HTLCs cleanly",
          "is_bot": false,
          "headline": "Merge pull request #10895 from ziggie1984/fix-onchain-interceptor-hel…",
          "author_name": "ziggieXXX",
          "author_login": "ziggie1984",
          "committed_at": "2026-06-26T16:59:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b30a4fa1b712f28ab1f0570db3e40bb30044884",
          "body": null,
          "is_bot": false,
          "headline": "mod: use tagged tlv and tor modules",
          "author_name": "yyforyongyu",
          "author_login": "yyforyongyu",
          "committed_at": "2026-06-26T15:40:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c5f32a2ec8eab0760a46c3d0357d4127794425f",
          "body": null,
          "is_bot": false,
          "headline": "docs: add v0.21.1 release note",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-06-26T15:23:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8909c2fbf5535b81ee18c4f4e7fe0160ca43e725",
          "body": "routerrpc: document on-chain interceptor responses",
          "is_bot": false,
          "headline": "routerrpc: add clarifying docs for the intercepted forward",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-06-26T15:23:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98da7b4a56a75ba2dbf47391d43229fd9696e98a",
          "body": "Release the preimage beacon lock before invoking the on-chain\ninterceptor. The interceptor path can block on the htlcswitch event\nloop, while resolution of another held on-chain HTLC can call back\ninto the beacon to add a preimage.\n\nIf interceptor delivery fails after the subscriber was registered,\n\n[…]\n witness subscription cancel path\nback through the interceptable switch event loop. The held set only removes\non-chain entries for that signal, leaving off-chain entries under the link\nflow lifecycle.",
          "is_bot": false,
          "headline": "witnessbeacon: avoid interceptor deadlock",
          "author_name": "ziggie",
          "author_login": "ziggie1984",
          "committed_at": "2026-06-26T15:23:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 1604,
      "latest_release_at": "2026-07-08T20:21:13Z",
      "latest_release_tag": "v0.20.2-beta",
      "releases_from_tags": false,
      "days_since_last_push": 3,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 13,
      "mean_days_between_releases": 27.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/lightningnetwork/lnd",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd",
          "is_deprecated": false,
          "latest_version": "v0.21.1-beta",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 241,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-26T18:49:59Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 25
        },
        {
          "name": "github.com/lightningnetwork/lnd/fn/v2",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/fn/v2",
          "is_deprecated": false,
          "latest_version": "v2.0.9",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 10,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2025-10-06T11:28:46Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 288
        },
        {
          "name": "github.com/lightningnetwork/lnd/tlv",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/tlv",
          "is_deprecated": false,
          "latest_version": "v1.4.0",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 19,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-26T08:59:29Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 25
        },
        {
          "name": "github.com/lightningnetwork/lnd/tor",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/tor",
          "is_deprecated": false,
          "latest_version": "v1.2.0",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 12,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-26T08:59:29Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 25
        },
        {
          "name": "github.com/lightningnetwork/lnd/cert",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/cert",
          "is_deprecated": false,
          "latest_version": "v1.2.2",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 9,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2023-09-05T22:46:56Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1050
        },
        {
          "name": "github.com/lightningnetwork/lnd/kvdb",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/kvdb",
          "is_deprecated": false,
          "latest_version": "v1.6.1",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 33,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-18T01:57:47Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 3
        },
        {
          "name": "github.com/lightningnetwork/lnd/actor",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/actor",
          "is_deprecated": false,
          "latest_version": "v0.0.6",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 6,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-04-11T02:19:31Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 101
        },
        {
          "name": "github.com/lightningnetwork/lnd/clock",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/lightningnetwork/lnd/clock",
          "is_deprecated": false,
          "latest_version": "v1.1.1",
          "repository_url": "https://github.com/lightningnetwork/lnd",
          "versions_count": 4,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2023-09-05T22:46:56Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1050
        }
      ]
    },
    "popularity": {
      "forks": 2281,
      "stars": 8165,
      "watchers": 315,
      "fork_history": {
        "days": [
          {
            "date": "2021-06-14",
            "count": 1
          },
          {
            "date": "2021-06-17",
            "count": 1
          },
          {
            "date": "2021-06-19",
            "count": 1
          },
          {
            "date": "2021-06-21",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 3
          },
          {
            "date": "2021-06-24",
            "count": 1
          },
          {
            "date": "2021-06-25",
            "count": 2
          },
          {
            "date": "2021-06-27",
            "count": 2
          },
          {
            "date": "2021-06-28",
            "count": 1
          },
          {
            "date": "2021-06-29",
            "count": 2
          },
          {
            "date": "2021-06-30",
            "count": 3
          },
          {
            "date": "2021-07-01",
            "count": 1
          },
          {
            "date": "2021-07-06",
            "count": 2
          },
          {
            "date": "2021-07-07",
            "count": 1
          },
          {
            "date": "2021-07-10",
            "count": 3
          },
          {
            "date": "2021-07-12",
            "count": 1
          },
          {
            "date": "2021-07-13",
            "count": 2
          },
          {
            "date": "2021-07-16",
            "count": 1
          },
          {
            "date": "2021-07-17",
            "count": 2
          },
          {
            "date": "2021-07-19",
            "count": 1
          },
          {
            "date": "2021-07-22",
            "count": 1
          },
          {
            "date": "2021-07-23",
            "count": 1
          },
          {
            "date": "2021-07-24",
            "count": 1
          },
          {
            "date": "2021-07-25",
            "count": 1
          },
          {
            "date": "2021-07-26",
            "count": 2
          },
          {
            "date": "2021-07-28",
            "count": 1
          },
          {
            "date": "2021-07-29",
            "count": 2
          },
          {
            "date": "2021-07-30",
            "count": 1
          },
          {
            "date": "2021-08-01",
            "count": 1
          },
          {
            "date": "2021-08-02",
            "count": 1
          },
          {
            "date": "2021-08-06",
            "count": 1
          },
          {
            "date": "2021-08-08",
            "count": 1
          },
          {
            "date": "2021-08-10",
            "count": 1
          },
          {
            "date": "2021-08-11",
            "count": 1
          },
          {
            "date": "2021-08-18",
            "count": 1
          },
          {
            "date": "2021-08-20",
            "count": 1
          },
          {
            "date": "2021-08-21",
            "count": 1
          },
          {
            "date": "2021-08-23",
            "count": 1
          },
          {
            "date": "2021-08-24",
            "count": 1
          },
          {
            "date": "2021-08-25",
            "count": 1
          },
          {
            "date": "2021-08-26",
            "count": 1
          },
          {
            "date": "2021-08-27",
            "count": 2
          },
          {
            "date": "2021-08-28",
            "count": 2
          },
          {
            "date": "2021-08-29",
            "count": 1
          },
          {
            "date": "2021-09-01",
            "count": 2
          },
          {
            "date": "2021-09-03",
            "count": 2
          },
          {
            "date": "2021-09-05",
            "count": 2
          },
          {
            "date": "2021-09-07",
            "count": 3
          },
          {
            "date": "2021-09-11",
            "count": 1
          },
          {
            "date": "2021-09-12",
            "count": 1
          },
          {
            "date": "2021-09-15",
            "count": 2
          },
          {
            "date": "2021-09-16",
            "count": 1
          },
          {
            "date": "2021-09-18",
            "count": 2
          },
          {
            "date": "2021-09-19",
            "count": 2
          },
          {
            "date": "2021-09-20",
            "count": 1
          },
          {
            "date": "2021-09-21",
            "count": 3
          },
          {
            "date": "2021-09-22",
            "count": 1
          },
          {
            "date": "2021-09-24",
            "count": 1
          },
          {
            "date": "2021-09-25",
            "count": 1
          },
          {
            "date": "2021-09-29",
            "count": 1
          },
          {
            "date": "2021-10-01",
            "count": 2
          },
          {
            "date": "2021-10-04",
            "count": 1
          },
          {
            "date": "2021-10-05",
            "count": 3
          },
          {
            "date": "2021-10-06",
            "count": 1
          },
          {
            "date": "2021-10-07",
            "count": 2
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 2
          },
          {
            "date": "2021-10-10",
            "count": 2
          },
          {
            "date": "2021-10-11",
            "count": 1
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-10-25",
            "count": 2
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-10-31",
            "count": 1
          },
          {
            "date": "2021-11-02",
            "count": 1
          },
          {
            "date": "2021-11-03",
            "count": 1
          },
          {
            "date": "2021-11-07",
            "count": 1
          },
          {
            "date": "2021-11-08",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-11-10",
            "count": 1
          },
          {
            "date": "2021-11-11",
            "count": 1
          },
          {
            "date": "2021-11-15",
            "count": 1
          },
          {
            "date": "2021-11-16",
            "count": 1
          },
          {
            "date": "2021-11-20",
            "count": 1
          },
          {
            "date": "2021-11-21",
            "count": 1
          },
          {
            "date": "2021-11-22",
            "count": 2
          },
          {
            "date": "2021-11-23",
            "count": 3
          },
          {
            "date": "2021-11-24",
            "count": 1
          },
          {
            "date": "2021-11-28",
            "count": 1
          },
          {
            "date": "2021-11-29",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-06",
            "count": 3
          },
          {
            "date": "2021-12-07",
            "count": 1
          },
          {
            "date": "2021-12-09",
            "count": 1
          },
          {
            "date": "2021-12-13",
            "count": 1
          },
          {
            "date": "2021-12-17",
            "count": 1
          },
          {
            "date": "2021-12-18",
            "count": 2
          },
          {
            "date": "2021-12-22",
            "count": 2
          },
          {
            "date": "2021-12-23",
            "count": 2
          },
          {
            "date": "2021-12-25",
            "count": 1
          },
          {
            "date": "2021-12-27",
            "count": 1
          },
          {
            "date": "2021-12-29",
            "count": 2
          },
          {
            "date": "2022-01-02",
            "count": 2
          },
          {
            "date": "2022-01-03",
            "count": 2
          },
          {
            "date": "2022-01-04",
            "count": 1
          },
          {
            "date": "2022-01-10",
            "count": 2
          },
          {
            "date": "2022-01-13",
            "count": 1
          },
          {
            "date": "2022-01-16",
            "count": 1
          },
          {
            "date": "2022-01-17",
            "count": 2
          },
          {
            "date": "2022-01-19",
            "count": 1
          },
          {
            "date": "2022-01-20",
            "count": 1
          },
          {
            "date": "2022-01-23",
            "count": 1
          },
          {
            "date": "2022-01-28",
            "count": 1
          },
          {
            "date": "2022-01-29",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-02",
            "count": 4
          },
          {
            "date": "2022-02-03",
            "count": 1
          },
          {
            "date": "2022-02-04",
            "count": 1
          },
          {
            "date": "2022-02-05",
            "count": 1
          },
          {
            "date": "2022-02-06",
            "count": 1
          },
          {
            "date": "2022-02-07",
            "count": 2
          },
          {
            "date": "2022-02-08",
            "count": 2
          },
          {
            "date": "2022-02-09",
            "count": 4
          },
          {
            "date": "2022-02-12",
            "count": 1
          },
          {
            "date": "2022-02-13",
            "count": 1
          },
          {
            "date": "2022-02-15",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 1
          },
          {
            "date": "2022-02-22",
            "count": 1
          },
          {
            "date": "2022-02-25",
            "count": 1
          },
          {
            "date": "2022-02-26",
            "count": 1
          },
          {
            "date": "2022-03-03",
            "count": 1
          },
          {
            "date": "2022-03-05",
            "count": 2
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-03-11",
            "count": 2
          },
          {
            "date": "2022-03-15",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 1
          },
          {
            "date": "2022-03-21",
            "count": 2
          },
          {
            "date": "2022-03-23",
            "count": 1
          },
          {
            "date": "2022-03-24",
            "count": 1
          },
          {
            "date": "2022-03-26",
            "count": 1
          },
          {
            "date": "2022-03-27",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-04-02",
            "count": 1
          },
          {
            "date": "2022-04-03",
            "count": 1
          },
          {
            "date": "2022-04-05",
            "count": 3
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-07",
            "count": 2
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-04-10",
            "count": 2
          },
          {
            "date": "2022-04-11",
            "count": 1
          },
          {
            "date": "2022-04-12",
            "count": 1
          },
          {
            "date": "2022-04-13",
            "count": 2
          },
          {
            "date": "2022-04-15",
            "count": 2
          },
          {
            "date": "2022-04-16",
            "count": 1
          },
          {
            "date": "2022-04-20",
            "count": 2
          },
          {
            "date": "2022-04-25",
            "count": 1
          },
          {
            "date": "2022-04-28",
            "count": 1
          },
          {
            "date": "2022-04-29",
            "count": 2
          },
          {
            "date": "2022-05-01",
            "count": 1
          },
          {
            "date": "2022-05-03",
            "count": 1
          },
          {
            "date": "2022-05-04",
            "count": 1
          },
          {
            "date": "2022-05-05",
            "count": 3
          },
          {
            "date": "2022-05-06",
            "count": 1
          },
          {
            "date": "2022-05-07",
            "count": 1
          },
          {
            "date": "2022-05-09",
            "count": 3
          },
          {
            "date": "2022-05-10",
            "count": 1
          },
          {
            "date": "2022-05-16",
            "count": 2
          },
          {
            "date": "2022-05-17",
            "count": 1
          },
          {
            "date": "2022-05-22",
            "count": 1
          },
          {
            "date": "2022-05-24",
            "count": 1
          },
          {
            "date": "2022-05-25",
            "count": 1
          },
          {
            "date": "2022-05-26",
            "count": 1
          },
          {
            "date": "2022-05-29",
            "count": 1
          },
          {
            "date": "2022-05-31",
            "count": 2
          },
          {
            "date": "2022-06-02",
            "count": 1
          },
          {
            "date": "2022-06-05",
            "count": 1
          },
          {
            "date": "2022-06-06",
            "count": 1
          },
          {
            "date": "2022-06-10",
            "count": 2
          },
          {
            "date": "2022-06-11",
            "count": 2
          },
          {
            "date": "2022-06-13",
            "count": 1
          },
          {
            "date": "2022-06-16",
            "count": 2
          },
          {
            "date": "2022-06-18",
            "count": 1
          },
          {
            "date": "2022-06-21",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-06-24",
            "count": 2
          },
          {
            "date": "2022-06-29",
            "count": 1
          },
          {
            "date": "2022-06-30",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 1
          },
          {
            "date": "2022-07-08",
            "count": 1
          },
          {
            "date": "2022-07-11",
            "count": 2
          },
          {
            "date": "2022-07-13",
            "count": 1
          },
          {
            "date": "2022-07-15",
            "count": 1
          },
          {
            "date": "2022-07-16",
            "count": 1
          },
          {
            "date": "2022-07-20",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 2
          },
          {
            "date": "2022-07-23",
            "count": 1
          },
          {
            "date": "2022-07-24",
            "count": 2
          },
          {
            "date": "2022-07-25",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-29",
            "count": 1
          },
          {
            "date": "2022-08-02",
            "count": 1
          },
          {
            "date": "2022-08-04",
            "count": 1
          },
          {
            "date": "2022-08-06",
            "count": 1
          },
          {
            "date": "2022-08-07",
            "count": 2
          },
          {
            "date": "2022-08-09",
            "count": 1
          },
          {
            "date": "2022-08-10",
            "count": 1
          },
          {
            "date": "2022-08-12",
            "count": 3
          },
          {
            "date": "2022-08-14",
            "count": 1
          },
          {
            "date": "2022-08-16",
            "count": 2
          },
          {
            "date": "2022-08-17",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-24",
            "count": 2
          },
          {
            "date": "2022-08-31",
            "count": 1
          },
          {
            "date": "2022-09-01",
            "count": 1
          },
          {
            "date": "2022-09-02",
            "count": 1
          },
          {
            "date": "2022-09-04",
            "count": 1
          },
          {
            "date": "2022-09-06",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 1
          },
          {
            "date": "2022-09-09",
            "count": 3
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-16",
            "count": 2
          },
          {
            "date": "2022-09-21",
            "count": 2
          },
          {
            "date": "2022-09-27",
            "count": 1
          },
          {
            "date": "2022-09-28",
            "count": 1
          },
          {
            "date": "2022-09-29",
            "count": 1
          },
          {
            "date": "2022-09-30",
            "count": 2
          },
          {
            "date": "2022-10-03",
            "count": 2
          },
          {
            "date": "2022-10-06",
            "count": 1
          },
          {
            "date": "2022-10-07",
            "count": 1
          },
          {
            "date": "2022-10-08",
            "count": 2
          },
          {
            "date": "2022-10-09",
            "count": 1
          },
          {
            "date": "2022-10-10",
            "count": 3
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 3
          },
          {
            "date": "2022-10-13",
            "count": 2
          },
          {
            "date": "2022-10-14",
            "count": 2
          },
          {
            "date": "2022-10-16",
            "count": 2
          },
          {
            "date": "2022-10-18",
            "count": 1
          },
          {
            "date": "2022-10-20",
            "count": 3
          },
          {
            "date": "2022-10-22",
            "count": 3
          },
          {
            "date": "2022-10-24",
            "count": 2
          },
          {
            "date": "2022-10-25",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-11-01",
            "count": 2
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-03",
            "count": 3
          },
          {
            "date": "2022-11-05",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-11",
            "count": 1
          },
          {
            "date": "2022-11-12",
            "count": 1
          },
          {
            "date": "2022-11-14",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-18",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2022-11-20",
            "count": 2
          },
          {
            "date": "2022-11-22",
            "count": 1
          },
          {
            "date": "2022-11-23",
            "count": 1
          },
          {
            "date": "2022-11-25",
            "count": 1
          },
          {
            "date": "2022-11-26",
            "count": 1
          },
          {
            "date": "2022-11-30",
            "count": 1
          },
          {
            "date": "2022-12-07",
            "count": 2
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-09",
            "count": 1
          },
          {
            "date": "2022-12-12",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2022-12-16",
            "count": 1
          },
          {
            "date": "2022-12-20",
            "count": 1
          },
          {
            "date": "2022-12-21",
            "count": 3
          },
          {
            "date": "2022-12-23",
            "count": 1
          },
          {
            "date": "2022-12-24",
            "count": 1
          },
          {
            "date": "2022-12-29",
            "count": 1
          },
          {
            "date": "2023-01-01",
            "count": 1
          },
          {
            "date": "2023-01-03",
            "count": 1
          },
          {
            "date": "2023-01-07",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 2
          },
          {
            "date": "2023-01-14",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-01-17",
            "count": 1
          },
          {
            "date": "2023-01-18",
            "count": 2
          },
          {
            "date": "2023-01-19",
            "count": 2
          },
          {
            "date": "2023-01-22",
            "count": 2
          },
          {
            "date": "2023-01-25",
            "count": 3
          },
          {
            "date": "2023-01-27",
            "count": 2
          },
          {
            "date": "2023-01-29",
            "count": 1
          },
          {
            "date": "2023-02-01",
            "count": 2
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-03",
            "count": 2
          },
          {
            "date": "2023-02-06",
            "count": 2
          },
          {
            "date": "2023-02-07",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-02-10",
            "count": 2
          },
          {
            "date": "2023-02-11",
            "count": 2
          },
          {
            "date": "2023-02-12",
            "count": 1
          },
          {
            "date": "2023-02-13",
            "count": 1
          },
          {
            "date": "2023-02-14",
            "count": 1
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-20",
            "count": 1
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-02-24",
            "count": 1
          },
          {
            "date": "2023-02-28",
            "count": 2
          },
          {
            "date": "2023-03-01",
            "count": 1
          },
          {
            "date": "2023-03-03",
            "count": 2
          },
          {
            "date": "2023-03-04",
            "count": 1
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-08",
            "count": 1
          },
          {
            "date": "2023-03-12",
            "count": 1
          },
          {
            "date": "2023-03-13",
            "count": 2
          },
          {
            "date": "2023-03-14",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-16",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-19",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-22",
            "count": 2
          },
          {
            "date": "2023-03-23",
            "count": 1
          },
          {
            "date": "2023-03-25",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 2
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-05",
            "count": 3
          },
          {
            "date": "2023-04-06",
            "count": 1
          },
          {
            "date": "2023-04-09",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 3
          },
          {
            "date": "2023-04-15",
            "count": 1
          },
          {
            "date": "2023-04-17",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-21",
            "count": 1
          },
          {
            "date": "2023-04-25",
            "count": 2
          },
          {
            "date": "2023-04-27",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 1
          },
          {
            "date": "2023-05-10",
            "count": 2
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 1
          },
          {
            "date": "2023-05-21",
            "count": 1
          },
          {
            "date": "2023-05-25",
            "count": 2
          },
          {
            "date": "2023-05-27",
            "count": 1
          },
          {
            "date": "2023-05-28",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 1
          },
          {
            "date": "2023-05-31",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-03",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 2
          },
          {
            "date": "2023-06-21",
            "count": 1
          },
          {
            "date": "2023-06-22",
            "count": 1
          },
          {
            "date": "2023-06-23",
            "count": 1
          },
          {
            "date": "2023-06-28",
            "count": 2
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-05",
            "count": 2
          },
          {
            "date": "2023-07-09",
            "count": 1
          },
          {
            "date": "2023-07-10",
            "count": 2
          },
          {
            "date": "2023-07-11",
            "count": 1
          },
          {
            "date": "2023-07-12",
            "count": 1
          },
          {
            "date": "2023-07-14",
            "count": 2
          },
          {
            "date": "2023-07-25",
            "count": 1
          },
          {
            "date": "2023-08-02",
            "count": 2
          },
          {
            "date": "2023-08-03",
            "count": 2
          },
          {
            "date": "2023-08-07",
            "count": 1
          },
          {
            "date": "2023-08-08",
            "count": 1
          },
          {
            "date": "2023-08-12",
            "count": 1
          },
          {
            "date": "2023-08-16",
            "count": 1
          },
          {
            "date": "2023-08-21",
            "count": 1
          },
          {
            "date": "2023-08-22",
            "count": 1
          },
          {
            "date": "2023-08-30",
            "count": 1
          },
          {
            "date": "2023-09-02",
            "count": 1
          },
          {
            "date": "2023-09-07",
            "count": 1
          },
          {
            "date": "2023-09-09",
            "count": 2
          },
          {
            "date": "2023-09-11",
            "count": 2
          },
          {
            "date": "2023-09-14",
            "count": 1
          },
          {
            "date": "2023-09-15",
            "count": 3
          },
          {
            "date": "2023-09-17",
            "count": 1
          },
          {
            "date": "2023-09-19",
            "count": 1
          },
          {
            "date": "2023-09-20",
            "count": 1
          },
          {
            "date": "2023-09-24",
            "count": 1
          },
          {
            "date": "2023-09-27",
            "count": 1
          },
          {
            "date": "2023-09-30",
            "count": 1
          },
          {
            "date": "2023-10-03",
            "count": 3
          },
          {
            "date": "2023-10-04",
            "count": 1
          },
          {
            "date": "2023-10-05",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 1
          },
          {
            "date": "2023-10-09",
            "count": 2
          },
          {
            "date": "2023-10-10",
            "count": 2
          },
          {
            "date": "2023-10-11",
            "count": 1
          },
          {
            "date": "2023-10-12",
            "count": 2
          },
          {
            "date": "2023-10-15",
            "count": 1
          },
          {
            "date": "2023-10-18",
            "count": 1
          },
          {
            "date": "2023-10-19",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-22",
            "count": 1
          },
          {
            "date": "2023-10-31",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-10",
            "count": 1
          },
          {
            "date": "2023-11-14",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 3
          },
          {
            "date": "2023-11-20",
            "count": 2
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-11-25",
            "count": 2
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 2
          },
          {
            "date": "2023-12-03",
            "count": 2
          },
          {
            "date": "2023-12-04",
            "count": 2
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-11",
            "count": 1
          },
          {
            "date": "2023-12-12",
            "count": 2
          },
          {
            "date": "2023-12-13",
            "count": 2
          },
          {
            "date": "2023-12-17",
            "count": 2
          },
          {
            "date": "2023-12-20",
            "count": 4
          },
          {
            "date": "2023-12-21",
            "count": 1
          },
          {
            "date": "2023-12-25",
            "count": 1
          },
          {
            "date": "2023-12-27",
            "count": 1
          },
          {
            "date": "2023-12-28",
            "count": 1
          },
          {
            "date": "2023-12-30",
            "count": 2
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-05",
            "count": 1
          },
          {
            "date": "2024-01-07",
            "count": 3
          },
          {
            "date": "2024-01-19",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-01-23",
            "count": 2
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 1
          },
          {
            "date": "2024-02-06",
            "count": 2
          },
          {
            "date": "2024-02-07",
            "count": 1
          },
          {
            "date": "2024-02-11",
            "count": 1
          },
          {
            "date": "2024-02-12",
            "count": 1
          },
          {
            "date": "2024-02-18",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 3
          },
          {
            "date": "2024-02-20",
            "count": 2
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-03-07",
            "count": 2
          },
          {
            "date": "2024-03-08",
            "count": 1
          },
          {
            "date": "2024-03-10",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 1
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 2
          },
          {
            "date": "2024-03-18",
            "count": 1
          },
          {
            "date": "2024-03-19",
            "count": 1
          },
          {
            "date": "2024-03-20",
            "count": 3
          },
          {
            "date": "2024-03-23",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-31",
            "count": 1
          },
          {
            "date": "2024-04-01",
            "count": 1
          },
          {
            "date": "2024-04-02",
            "count": 1
          },
          {
            "date": "2024-04-03",
            "count": 2
          },
          {
            "date": "2024-04-04",
            "count": 1
          },
          {
            "date": "2024-04-05",
            "count": 1
          },
          {
            "date": "2024-04-06",
            "count": 1
          },
          {
            "date": "2024-04-09",
            "count": 1
          },
          {
            "date": "2024-04-13",
            "count": 1
          },
          {
            "date": "2024-04-14",
            "count": 2
          },
          {
            "date": "2024-04-15",
            "count": 1
          },
          {
            "date": "2024-04-16",
            "count": 2
          },
          {
            "date": "2024-04-17",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 3
          },
          {
            "date": "2024-04-22",
            "count": 1
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-24",
            "count": 1
          },
          {
            "date": "2024-04-29",
            "count": 1
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-05-02",
            "count": 1
          },
          {
            "date": "2024-05-04",
            "count": 2
          },
          {
            "date": "2024-05-05",
            "count": 1
          },
          {
            "date": "2024-05-08",
            "count": 1
          },
          {
            "date": "2024-05-09",
            "count": 1
          },
          {
            "date": "2024-05-15",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 1
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-05",
            "count": 1
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-16",
            "count": 1
          },
          {
            "date": "2024-06-23",
            "count": 2
          },
          {
            "date": "2024-06-27",
            "count": 2
          },
          {
            "date": "2024-06-29",
            "count": 2
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-10",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-16",
            "count": 2
          },
          {
            "date": "2024-07-24",
            "count": 1
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-03",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 1
          },
          {
            "date": "2024-08-10",
            "count": 2
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-13",
            "count": 1
          },
          {
            "date": "2024-08-14",
            "count": 2
          },
          {
            "date": "2024-08-19",
            "count": 1
          },
          {
            "date": "2024-08-23",
            "count": 1
          },
          {
            "date": "2024-08-24",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-08-31",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-05",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-10",
            "count": 2
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-10-03",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-06",
            "count": 1
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 1
          },
          {
            "date": "2024-10-17",
            "count": 2
          },
          {
            "date": "2024-10-23",
            "count": 3
          },
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2024-11-09",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 2
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-26",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 4
          },
          {
            "date": "2024-12-03",
            "count": 1
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-15",
            "count": 2
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-21",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2024-12-25",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-05",
            "count": 1
          },
          {
            "date": "2025-01-08",
            "count": 2
          },
          {
            "date": "2025-01-09",
            "count": 1
          },
          {
            "date": "2025-01-12",
            "count": 1
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-22",
            "count": 2
          },
          {
            "date": "2025-01-23",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 1
          },
          {
            "date": "2025-01-31",
            "count": 2
          },
          {
            "date": "2025-02-14",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-25",
            "count": 2
          },
          {
            "date": "2025-02-26",
            "count": 2
          },
          {
            "date": "2025-02-27",
            "count": 2
          },
          {
            "date": "2025-02-28",
            "count": 3
          },
          {
            "date": "2025-03-02",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 2
          },
          {
            "date": "2025-03-08",
            "count": 1
          },
          {
            "date": "2025-03-12",
            "count": 3
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-17",
            "count": 3
          },
          {
            "date": "2025-03-18",
            "count": 1
          },
          {
            "date": "2025-03-19",
            "count": 4
          },
          {
            "date": "2025-03-20",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 2
          },
          {
            "date": "2025-03-22",
            "count": 1
          },
          {
            "date": "2025-03-24",
            "count": 1
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-03-30",
            "count": 1
          },
          {
            "date": "2025-04-01",
            "count": 2
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 3
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-04-16",
            "count": 3
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-18",
            "count": 4
          },
          {
            "date": "2025-04-21",
            "count": 2
          },
          {
            "date": "2025-04-22",
            "count": 2
          },
          {
            "date": "2025-04-25",
            "count": 3
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-30",
            "count": 1
          },
          {
            "date": "2025-05-03",
            "count": 1
          },
          {
            "date": "2025-05-08",
            "count": 1
          },
          {
            "date": "2025-05-11",
            "count": 2
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-06-01",
            "count": 2
          },
          {
            "date": "2025-06-05",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 2
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-18",
            "count": 1
          },
          {
            "date": "2025-06-28",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-05",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 1
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 3
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 1
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 1
          },
          {
            "date": "2025-08-07",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 3
          },
          {
            "date": "2025-08-10",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-15",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 2
          },
          {
            "date": "2025-08-19",
            "count": 1
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-08-30",
            "count": 1
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 2
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-10-02",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 1
          },
          {
            "date": "2025-10-08",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-10-25",
            "count": 1
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-11-01",
            "count": 1
          },
          {
            "date": "2025-11-03",
            "count": 1
          },
          {
            "date": "2025-11-05",
            "count": 2
          },
          {
            "date": "2025-11-09",
            "count": 2
          },
          {
            "date": "2025-11-10",
            "count": 2
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-05",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2025-12-11",
            "count": 1
          },
          {
            "date": "2025-12-12",
            "count": 2
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2025-12-24",
            "count": 1
          },
          {
            "date": "2025-12-27",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 2
          },
          {
            "date": "2025-12-31",
            "count": 1
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 2
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 2
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 2
          },
          {
            "date": "2026-02-11",
            "count": 1
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-26",
            "count": 2
          },
          {
            "date": "2026-02-27",
            "count": 2
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 2
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 2
          },
          {
            "date": "2026-03-24",
            "count": 2
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 2
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 1
          },
          {
            "date": "2026-04-05",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-17",
            "count": 2
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 1
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 1
          },
          {
            "date": "2026-05-01",
            "count": 2
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-23",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 3
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 2
          },
          {
            "date": "2026-06-10",
            "count": 4
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-18",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 2281
      },
      "star_history": {
        "days": [
          {
            "date": "2024-02-22",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 2
          },
          {
            "date": "2024-02-25",
            "count": 2
          },
          {
            "date": "2024-02-26",
            "count": 2
          },
          {
            "date": "2024-02-27",
            "count": 2
          },
          {
            "date": "2024-02-28",
            "count": 2
          },
          {
            "date": "2024-02-29",
            "count": 2
          },
          {
            "date": "2024-03-01",
            "count": 2
          },
          {
            "date": "2024-03-03",
            "count": 2
          },
          {
            "date": "2024-03-05",
            "count": 2
          },
          {
            "date": "2024-03-06",
            "count": 2
          },
          {
            "date": "2024-03-07",
            "count": 1
          },
          {
            "date": "2024-03-08",
            "count": 3
          },
          {
            "date": "2024-03-09",
            "count": 1
          },
          {
            "date": "2024-03-10",
            "count": 2
          },
          {
            "date": "2024-03-11",
            "count": 3
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 1
          },
          {
            "date": "2024-03-18",
            "count": 4
          },
          {
            "date": "2024-03-19",
            "count": 4
          },
          {
            "date": "2024-03-20",
            "count": 3
          },
          {
            "date": "2024-03-21",
            "count": 1
          },
          {
            "date": "2024-03-22",
            "count": 1
          },
          {
            "date": "2024-03-23",
            "count": 2
          },
          {
            "date": "2024-03-25",
            "count": 3
          },
          {
            "date": "2024-03-26",
            "count": 3
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-28",
            "count": 4
          },
          {
            "date": "2024-04-01",
            "count": 3
          },
          {
            "date": "2024-04-03",
            "count": 2
          },
          {
            "date": "2024-04-04",
            "count": 3
          },
          {
            "date": "2024-04-05",
            "count": 1
          },
          {
            "date": "2024-04-06",
            "count": 2
          },
          {
            "date": "2024-04-07",
            "count": 2
          },
          {
            "date": "2024-04-08",
            "count": 4
          },
          {
            "date": "2024-04-10",
            "count": 3
          },
          {
            "date": "2024-04-11",
            "count": 1
          },
          {
            "date": "2024-04-12",
            "count": 5
          },
          {
            "date": "2024-04-13",
            "count": 1
          },
          {
            "date": "2024-04-14",
            "count": 4
          },
          {
            "date": "2024-04-15",
            "count": 2
          },
          {
            "date": "2024-04-16",
            "count": 3
          },
          {
            "date": "2024-04-17",
            "count": 4
          },
          {
            "date": "2024-04-19",
            "count": 1
          },
          {
            "date": "2024-04-21",
            "count": 1
          },
          {
            "date": "2024-04-22",
            "count": 3
          },
          {
            "date": "2024-04-23",
            "count": 1
          },
          {
            "date": "2024-04-24",
            "count": 2
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 2
          },
          {
            "date": "2024-04-27",
            "count": 1
          },
          {
            "date": "2024-04-28",
            "count": 4
          },
          {
            "date": "2024-04-29",
            "count": 2
          },
          {
            "date": "2024-04-30",
            "count": 3
          },
          {
            "date": "2024-05-01",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 3
          },
          {
            "date": "2024-05-04",
            "count": 5
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-07",
            "count": 3
          },
          {
            "date": "2024-05-08",
            "count": 4
          },
          {
            "date": "2024-05-10",
            "count": 2
          },
          {
            "date": "2024-05-11",
            "count": 2
          },
          {
            "date": "2024-05-13",
            "count": 2
          },
          {
            "date": "2024-05-14",
            "count": 3
          },
          {
            "date": "2024-05-15",
            "count": 2
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-19",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 1
          },
          {
            "date": "2024-05-21",
            "count": 2
          },
          {
            "date": "2024-05-22",
            "count": 4
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-05-24",
            "count": 3
          },
          {
            "date": "2024-05-26",
            "count": 2
          },
          {
            "date": "2024-05-28",
            "count": 2
          },
          {
            "date": "2024-05-29",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-06-03",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-07",
            "count": 1
          },
          {
            "date": "2024-06-08",
            "count": 1
          },
          {
            "date": "2024-06-10",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 1
          },
          {
            "date": "2024-06-13",
            "count": 3
          },
          {
            "date": "2024-06-14",
            "count": 2
          },
          {
            "date": "2024-06-15",
            "count": 2
          },
          {
            "date": "2024-06-16",
            "count": 1
          },
          {
            "date": "2024-06-17",
            "count": 1
          },
          {
            "date": "2024-06-19",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-06-22",
            "count": 3
          },
          {
            "date": "2024-06-23",
            "count": 2
          },
          {
            "date": "2024-06-24",
            "count": 5
          },
          {
            "date": "2024-06-27",
            "count": 1
          },
          {
            "date": "2024-06-28",
            "count": 2
          },
          {
            "date": "2024-06-29",
            "count": 2
          },
          {
            "date": "2024-06-30",
            "count": 1
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 2
          },
          {
            "date": "2024-07-04",
            "count": 1
          },
          {
            "date": "2024-07-05",
            "count": 1
          },
          {
            "date": "2024-07-06",
            "count": 2
          },
          {
            "date": "2024-07-08",
            "count": 3
          },
          {
            "date": "2024-07-10",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-12",
            "count": 3
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-14",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-07-16",
            "count": 3
          },
          {
            "date": "2024-07-18",
            "count": 1
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-22",
            "count": 1
          },
          {
            "date": "2024-07-23",
            "count": 3
          },
          {
            "date": "2024-07-24",
            "count": 2
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 3
          },
          {
            "date": "2024-07-27",
            "count": 2
          },
          {
            "date": "2024-07-28",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-04",
            "count": 1
          },
          {
            "date": "2024-08-05",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 4
          },
          {
            "date": "2024-08-07",
            "count": 2
          },
          {
            "date": "2024-08-09",
            "count": 1
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-11",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-13",
            "count": 1
          },
          {
            "date": "2024-08-14",
            "count": 1
          },
          {
            "date": "2024-08-15",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 2
          },
          {
            "date": "2024-08-17",
            "count": 1
          },
          {
            "date": "2024-08-18",
            "count": 2
          },
          {
            "date": "2024-08-19",
            "count": 1
          },
          {
            "date": "2024-08-20",
            "count": 3
          },
          {
            "date": "2024-08-21",
            "count": 5
          },
          {
            "date": "2024-08-22",
            "count": 1
          },
          {
            "date": "2024-08-24",
            "count": 3
          },
          {
            "date": "2024-08-25",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 2
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-08-31",
            "count": 1
          },
          {
            "date": "2024-09-01",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 2
          },
          {
            "date": "2024-09-06",
            "count": 1
          },
          {
            "date": "2024-09-07",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 2
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-10",
            "count": 2
          },
          {
            "date": "2024-09-11",
            "count": 1
          },
          {
            "date": "2024-09-12",
            "count": 2
          },
          {
            "date": "2024-09-15",
            "count": 1
          },
          {
            "date": "2024-09-16",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 2
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-20",
            "count": 2
          },
          {
            "date": "2024-09-24",
            "count": 1
          },
          {
            "date": "2024-09-25",
            "count": 3
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-28",
            "count": 1
          },
          {
            "date": "2024-09-29",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-03",
            "count": 2
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 4
          },
          {
            "date": "2024-10-09",
            "count": 2
          },
          {
            "date": "2024-10-10",
            "count": 3
          },
          {
            "date": "2024-10-11",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 2
          },
          {
            "date": "2024-10-13",
            "count": 1
          },
          {
            "date": "2024-10-14",
            "count": 5
          },
          {
            "date": "2024-10-15",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 1
          },
          {
            "date": "2024-10-17",
            "count": 2
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-20",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 3
          },
          {
            "date": "2024-10-27",
            "count": 3
          },
          {
            "date": "2024-10-29",
            "count": 4
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 2
          },
          {
            "date": "2024-11-01",
            "count": 6
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 2
          },
          {
            "date": "2024-11-04",
            "count": 2
          },
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2024-11-09",
            "count": 1
          },
          {
            "date": "2024-11-10",
            "count": 3
          },
          {
            "date": "2024-11-11",
            "count": 2
          },
          {
            "date": "2024-11-12",
            "count": 2
          },
          {
            "date": "2024-11-15",
            "count": 3
          },
          {
            "date": "2024-11-17",
            "count": 4
          },
          {
            "date": "2024-11-19",
            "count": 5
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-22",
            "count": 2
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 3
          },
          {
            "date": "2024-11-27",
            "count": 2
          },
          {
            "date": "2024-11-28",
            "count": 2
          },
          {
            "date": "2024-11-30",
            "count": 1
          },
          {
            "date": "2024-12-01",
            "count": 1
          },
          {
            "date": "2024-12-04",
            "count": 2
          },
          {
            "date": "2024-12-06",
            "count": 2
          },
          {
            "date": "2024-12-07",
            "count": 3
          },
          {
            "date": "2024-12-09",
            "count": 2
          },
          {
            "date": "2024-12-11",
            "count": 3
          },
          {
            "date": "2024-12-12",
            "count": 2
          },
          {
            "date": "2024-12-13",
            "count": 3
          },
          {
            "date": "2024-12-14",
            "count": 6
          },
          {
            "date": "2024-12-15",
            "count": 4
          },
          {
            "date": "2024-12-16",
            "count": 1
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2024-12-18",
            "count": 1
          },
          {
            "date": "2024-12-19",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 4
          },
          {
            "date": "2024-12-21",
            "count": 3
          },
          {
            "date": "2024-12-22",
            "count": 4
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2024-12-25",
            "count": 2
          },
          {
            "date": "2024-12-26",
            "count": 2
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2024-12-29",
            "count": 2
          },
          {
            "date": "2024-12-31",
            "count": 1
          },
          {
            "date": "2025-01-01",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-04",
            "count": 2
          },
          {
            "date": "2025-01-05",
            "count": 2
          },
          {
            "date": "2025-01-08",
            "count": 1
          },
          {
            "date": "2025-01-09",
            "count": 4
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-13",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 2
          },
          {
            "date": "2025-01-16",
            "count": 2
          },
          {
            "date": "2025-01-17",
            "count": 2
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 2
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 2
          },
          {
            "date": "2025-01-22",
            "count": 3
          },
          {
            "date": "2025-01-23",
            "count": 1
          },
          {
            "date": "2025-01-24",
            "count": 2
          },
          {
            "date": "2025-01-25",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 2
          },
          {
            "date": "2025-01-28",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 2
          },
          {
            "date": "2025-01-30",
            "count": 4
          },
          {
            "date": "2025-01-31",
            "count": 5
          },
          {
            "date": "2025-02-01",
            "count": 3
          },
          {
            "date": "2025-02-02",
            "count": 2
          },
          {
            "date": "2025-02-03",
            "count": 4
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 2
          },
          {
            "date": "2025-02-09",
            "count": 2
          },
          {
            "date": "2025-02-11",
            "count": 2
          },
          {
            "date": "2025-02-12",
            "count": 3
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-02-14",
            "count": 1
          },
          {
            "date": "2025-02-15",
            "count": 4
          },
          {
            "date": "2025-02-16",
            "count": 4
          },
          {
            "date": "2025-02-18",
            "count": 3
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-02-24",
            "count": 1
          },
          {
            "date": "2025-02-25",
            "count": 3
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-03-02",
            "count": 2
          },
          {
            "date": "2025-03-03",
            "count": 2
          },
          {
            "date": "2025-03-05",
            "count": 3
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 3
          },
          {
            "date": "2025-03-09",
            "count": 2
          },
          {
            "date": "2025-03-10",
            "count": 2
          },
          {
            "date": "2025-03-11",
            "count": 1
          },
          {
            "date": "2025-03-12",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 3
          },
          {
            "date": "2025-03-17",
            "count": 1
          },
          {
            "date": "2025-03-18",
            "count": 2
          },
          {
            "date": "2025-03-20",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 2
          },
          {
            "date": "2025-03-22",
            "count": 2
          },
          {
            "date": "2025-03-26",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-28",
            "count": 1
          },
          {
            "date": "2025-03-29",
            "count": 2
          },
          {
            "date": "2025-03-31",
            "count": 3
          },
          {
            "date": "2025-04-02",
            "count": 2
          },
          {
            "date": "2025-04-05",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 2
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 3
          },
          {
            "date": "2025-04-10",
            "count": 2
          },
          {
            "date": "2025-04-11",
            "count": 4
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 3
          },
          {
            "date": "2025-04-18",
            "count": 1
          },
          {
            "date": "2025-04-26",
            "count": 1
          },
          {
            "date": "2025-05-01",
            "count": 1
          },
          {
            "date": "2025-05-03",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 3
          },
          {
            "date": "2025-05-05",
            "count": 2
          },
          {
            "date": "2025-05-06",
            "count": 1
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-08",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 1
          },
          {
            "date": "2025-05-11",
            "count": 4
          },
          {
            "date": "2025-05-12",
            "count": 1
          },
          {
            "date": "2025-05-13",
            "count": 2
          },
          {
            "date": "2025-05-15",
            "count": 2
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 1
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-22",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-25",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 2
          },
          {
            "date": "2025-05-27",
            "count": 2
          },
          {
            "date": "2025-05-28",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-05-31",
            "count": 4
          },
          {
            "date": "2025-06-01",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 3
          },
          {
            "date": "2025-06-04",
            "count": 3
          },
          {
            "date": "2025-06-05",
            "count": 2
          },
          {
            "date": "2025-06-07",
            "count": 2
          },
          {
            "date": "2025-06-08",
            "count": 1
          },
          {
            "date": "2025-06-09",
            "count": 2
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 2
          },
          {
            "date": "2025-06-12",
            "count": 2
          },
          {
            "date": "2025-06-13",
            "count": 1
          },
          {
            "date": "2025-06-15",
            "count": 1
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 2
          },
          {
            "date": "2025-06-18",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 3
          },
          {
            "date": "2025-06-20",
            "count": 2
          },
          {
            "date": "2025-06-21",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 2
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-06-28",
            "count": 1
          },
          {
            "date": "2025-06-29",
            "count": 1
          },
          {
            "date": "2025-06-30",
            "count": 2
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 4
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 1
          },
          {
            "date": "2025-07-13",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-16",
            "count": 2
          },
          {
            "date": "2025-07-17",
            "count": 2
          },
          {
            "date": "2025-07-18",
            "count": 3
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 2
          },
          {
            "date": "2025-07-22",
            "count": 2
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-27",
            "count": 1
          },
          {
            "date": "2025-07-30",
            "count": 2
          },
          {
            "date": "2025-08-01",
            "count": 2
          },
          {
            "date": "2025-08-04",
            "count": 3
          },
          {
            "date": "2025-08-05",
            "count": 5
          },
          {
            "date": "2025-08-06",
            "count": 2
          },
          {
            "date": "2025-08-07",
            "count": 1
          },
          {
            "date": "2025-08-08",
            "count": 2
          },
          {
            "date": "2025-08-11",
            "count": 2
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-13",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 3
          },
          {
            "date": "2025-08-15",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 2
          },
          {
            "date": "2025-08-20",
            "count": 1
          },
          {
            "date": "2025-08-21",
            "count": 1
          },
          {
            "date": "2025-08-28",
            "count": 2
          },
          {
            "date": "2025-08-29",
            "count": 2
          },
          {
            "date": "2025-08-30",
            "count": 2
          },
          {
            "date": "2025-08-31",
            "count": 2
          },
          {
            "date": "2025-09-01",
            "count": 2
          },
          {
            "date": "2025-09-02",
            "count": 4
          },
          {
            "date": "2025-09-03",
            "count": 4
          },
          {
            "date": "2025-09-05",
            "count": 3
          },
          {
            "date": "2025-09-09",
            "count": 2
          },
          {
            "date": "2025-09-12",
            "count": 2
          },
          {
            "date": "2025-09-14",
            "count": 2
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 2
          },
          {
            "date": "2025-09-17",
            "count": 2
          },
          {
            "date": "2025-09-21",
            "count": 2
          },
          {
            "date": "2025-09-25",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 4
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-02",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 1
          },
          {
            "date": "2025-10-06",
            "count": 1
          },
          {
            "date": "2025-10-08",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 3
          },
          {
            "date": "2025-10-10",
            "count": 2
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-19",
            "count": 2
          },
          {
            "date": "2025-10-21",
            "count": 2
          },
          {
            "date": "2025-10-22",
            "count": 2
          },
          {
            "date": "2025-10-23",
            "count": 2
          },
          {
            "date": "2025-10-24",
            "count": 2
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 2
          },
          {
            "date": "2025-11-04",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-08",
            "count": 1
          },
          {
            "date": "2025-11-09",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 2
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2025-11-26",
            "count": 2
          },
          {
            "date": "2025-11-28",
            "count": 2
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 2
          },
          {
            "date": "2025-12-02",
            "count": 3
          },
          {
            "date": "2025-12-03",
            "count": 2
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-05",
            "count": 3
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2025-12-09",
            "count": 1
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2025-12-11",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 2
          },
          {
            "date": "2025-12-15",
            "count": 2
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-27",
            "count": 3
          },
          {
            "date": "2025-12-28",
            "count": 2
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 2
          },
          {
            "date": "2026-01-03",
            "count": 2
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 2
          },
          {
            "date": "2026-01-12",
            "count": 2
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 2
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 2
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 4
          },
          {
            "date": "2026-01-21",
            "count": 1
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-02-01",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-07",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-02-11",
            "count": 3
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 3
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 2
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 2
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-01",
            "count": 2
          },
          {
            "date": "2026-03-02",
            "count": 3
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-15",
            "count": 3
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-17",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 1
          },
          {
            "date": "2026-03-23",
            "count": 1
          },
          {
            "date": "2026-03-24",
            "count": 1
          },
          {
            "date": "2026-03-25",
            "count": 2
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 2
          },
          {
            "date": "2026-03-28",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 2
          },
          {
            "date": "2026-04-01",
            "count": 2
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 2
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 2
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-11",
            "count": 2
          },
          {
            "date": "2026-04-13",
            "count": 3
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-04-21",
            "count": 2
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 2
          },
          {
            "date": "2026-05-01",
            "count": 1
          },
          {
            "date": "2026-05-02",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 4
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-10",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 2
          },
          {
            "date": "2026-05-23",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 2
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 2
          },
          {
            "date": "2026-06-09",
            "count": 4
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 1
          },
          {
            "date": "2026-06-18",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-21",
            "count": 2
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 2
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-06",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 8165
      },
      "open_issues_and_prs": 827
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [
        "lnrpc/autopilotrpc/autopilot.proto",
        "lnrpc/chainrpc/chainkit.proto",
        "lnrpc/chainrpc/chainnotifier.proto",
        "lnrpc/devrpc/dev.proto",
        "lnrpc/invoicesrpc/invoices.proto",
        "lnrpc/lightning.proto",
        "lnrpc/lnclipb/lncli.proto",
        "lnrpc/neutrinorpc/neutrino.proto",
        "lnrpc/peersrpc/peers.proto",
        "lnrpc/routerrpc/router.proto",
        "lnrpc/signrpc/signer.proto",
        "lnrpc/stateservice.proto",
        "lnrpc/verrpc/verrpc.proto",
        "lnrpc/walletrpc/walletkit.proto",
        "lnrpc/walletunlocker.proto",
        "lnrpc/watchtowerrpc/watchtower.proto",
        "lnrpc/wtclientrpc/wtclient.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "actor/go.mod",
        "cert/go.mod",
        "clock/go.mod",
        "fn/go.mod",
        "go.mod",
        "healthcheck/go.mod",
        "kvdb/go.mod",
        "queue/go.mod",
        "sqldb/go.mod",
        "sqldb/v2/go.mod",
        "ticker/go.mod",
        "tlv/go.mod",
        "tools/go.mod",
        "tools/linters/go.mod",
        "tor/go.mod"
      ],
      "largest_source_bytes": 712868,
      "source_files_sampled": 1876,
      "oversized_source_files": 79,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "actor/go.mod",
        "cert/go.mod",
        "clock/go.mod",
        "fn/go.mod",
        "go.mod",
        "healthcheck/go.mod",
        "kvdb/go.mod",
        "queue/go.mod",
        "sqldb/go.mod",
        "ticker/go.mod",
        "tlv/go.mod",
        "tools/go.mod",
        "tor/go.mod"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.40.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-45gg-vh54-h5m9",
              "GHSA-5cgq-3rg8-m6cv",
              "GHSA-78mq-xcr3-xm33",
              "GHSA-89gr-r52h-f8rx",
              "GHSA-9m57-25v3-79x9",
              "GHSA-f5wc-c3c7-36mc",
              "GHSA-f6x5-jh6r-wrfv",
              "GHSA-j5w8-q4qc-rx2x",
              "GHSA-jppx-rxg9-jmrx",
              "GHSA-q4h4-gmj2-qvw2"
            ],
            "fixed_version": "0.52.0",
            "advisory_count": 32,
            "oldest_advisory_days": 250
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.41.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-45gg-vh54-h5m9",
              "GHSA-5cgq-3rg8-m6cv",
              "GHSA-78mq-xcr3-xm33",
              "GHSA-89gr-r52h-f8rx",
              "GHSA-9m57-25v3-79x9",
              "GHSA-f5wc-c3c7-36mc",
              "GHSA-f6x5-jh6r-wrfv",
              "GHSA-j5w8-q4qc-rx2x",
              "GHSA-jppx-rxg9-jmrx",
              "GHSA-q4h4-gmj2-qvw2"
            ],
            "fixed_version": "0.52.0",
            "advisory_count": 32,
            "oldest_advisory_days": 250
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.46.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-45gg-vh54-h5m9",
              "GHSA-5cgq-3rg8-m6cv",
              "GHSA-78mq-xcr3-xm33",
              "GHSA-89gr-r52h-f8rx",
              "GHSA-9m57-25v3-79x9",
              "GHSA-f5wc-c3c7-36mc",
              "GHSA-jppx-rxg9-jmrx",
              "GHSA-q4h4-gmj2-qvw2",
              "GHSA-qpw4-5x99-6vjp",
              "GHSA-rm3j-f69w-wqmq"
            ],
            "fixed_version": "0.52.0",
            "advisory_count": 27,
            "oldest_advisory_days": 60
          },
          {
            "name": "google.golang.org/grpc",
            "direct": true,
            "version": "v1.79.3",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-hrxh-6v49-42gf"
            ],
            "fixed_version": "1.82.1",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          },
          {
            "name": "github.com/docker/cli",
            "direct": false,
            "version": "v28.1.1+incompatible",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-p436-gjf2-799p",
              "GO-2026-4610"
            ],
            "fixed_version": "29.2.0+incompatible",
            "advisory_count": 2,
            "oldest_advisory_days": 138
          },
          {
            "name": "github.com/docker/docker",
            "direct": false,
            "version": "v28.1.1+incompatible",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-pxq6-2prw-chj9",
              "GHSA-rg2x-37c3-w2rh",
              "GHSA-vp62-88p7-qqf5",
              "GHSA-x744-4wpc-v9h2",
              "GHSA-x86f-5xw2-fm2r",
              "GO-2026-4883",
              "GO-2026-4887",
              "GO-2026-5617",
              "GO-2026-5668",
              "GO-2026-5746"
            ],
            "fixed_version": "29.3.1",
            "advisory_count": 10,
            "oldest_advisory_days": 116
          },
          {
            "name": "github.com/docker/docker",
            "direct": false,
            "version": "v28.3.3+incompatible",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-pxq6-2prw-chj9",
              "GHSA-rg2x-37c3-w2rh",
              "GHSA-vp62-88p7-qqf5",
              "GHSA-x744-4wpc-v9h2",
              "GHSA-x86f-5xw2-fm2r",
              "GO-2026-4883",
              "GO-2026-4887",
              "GO-2026-5617",
              "GO-2026-5668",
              "GO-2026-5746"
            ],
            "fixed_version": "29.3.1",
            "advisory_count": 10,
            "oldest_advisory_days": 116
          },
          {
            "name": "github.com/jackc/pgproto3/v2",
            "direct": false,
            "version": "v2.3.3",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-jqcq-xjh3-6g23",
              "GO-2026-4518"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": 127
          },
          {
            "name": "golang.org/x/net",
            "direct": true,
            "version": "v0.41.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-5cv4-jp36-h3mw",
              "GO-2026-4440",
              "GO-2026-4441",
              "GO-2026-4918",
              "GO-2026-5025",
              "GO-2026-5026",
              "GO-2026-5027",
              "GO-2026-5028",
              "GO-2026-5029",
              "GO-2026-5030"
            ],
            "fixed_version": "1.26.3",
            "advisory_count": 11,
            "oldest_advisory_days": 166
          },
          {
            "name": "golang.org/x/net",
            "direct": true,
            "version": "v0.48.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-5cv4-jp36-h3mw",
              "GO-2026-4918",
              "GO-2026-5025",
              "GO-2026-5026",
              "GO-2026-5027",
              "GO-2026-5028",
              "GO-2026-5029",
              "GO-2026-5030",
              "GO-2026-5942"
            ],
            "fixed_version": "1.26.3",
            "advisory_count": 9,
            "oldest_advisory_days": 75
          },
          {
            "name": "github.com/go-viper/mapstructure/v2",
            "direct": false,
            "version": "v2.3.0",
            "severity": "moderate",
            "ecosystem": "go",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-2464-8j7c-4cjm",
              "GO-2025-3900"
            ],
            "fixed_version": "2.4.0",
            "advisory_count": 2,
            "oldest_advisory_days": 334
          },
          {
            "name": "github.com/opencontainers/runc",
            "direct": false,
            "version": "v1.2.8",
            "severity": "low",
            "ecosystem": "go",
            "cvss_score": 3.3,
            "advisory_ids": [
              "GHSA-xjvp-4fhw-gc47",
              "GO-2026-5761"
            ],
            "fixed_version": "1.5.0-rc.3",
            "advisory_count": 2,
            "oldest_advisory_days": 29
          },
          {
            "name": "golang.org/x/sys",
            "direct": true,
            "version": "v0.34.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 60
          },
          {
            "name": "golang.org/x/sys",
            "direct": true,
            "version": "v0.35.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 60
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.28.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5970"
            ],
            "fixed_version": "0.39.0",
            "advisory_count": 1,
            "oldest_advisory_days": 7
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.29.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5970"
            ],
            "fixed_version": "0.39.0",
            "advisory_count": 1,
            "oldest_advisory_days": 7
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.32.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5970"
            ],
            "fixed_version": "0.39.0",
            "advisory_count": 1,
            "oldest_advisory_days": 7
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 4,
          "unknown": 5,
          "critical": 4,
          "moderate": 3
        },
        "advisory_count": 145,
        "affected_count": 17,
        "assessed_count": 428,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 11
      },
      "ecosystems": [
        "go"
      ],
      "dependencies": [
        {
          "name": "github.com/btcsuite/btclog/v2",
          "manifest": "actor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1-0.20250602222548-9967d19bb084"
        },
        {
          "name": "github.com/lightningnetwork/lnd/fn/v2",
          "manifest": "actor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.8"
        },
        {
          "name": "github.com/lightningnetwork/lnd/queue",
          "manifest": "actor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "actor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.1"
        },
        {
          "name": "pgregory.net/rapid",
          "manifest": "actor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "cert/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.2"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "clock/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.2"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "fn/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.1"
        },
        {
          "name": "golang.org/x/exp",
          "manifest": "fn/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20231226003508-02704c960a9b"
        },
        {
          "name": "golang.org/x/sync",
          "manifest": "fn/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.7.0"
        },
        {
          "name": "github.com/NebulousLabs/go-upnp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20180202185039-29b680b06c82"
        },
        {
          "name": "github.com/Yawning/aez",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20211027044916-e49e68abd344"
        },
        {
          "name": "github.com/andybalholm/brotli",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.4"
        },
        {
          "name": "github.com/btcsuite/btcd",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.26.0"
        },
        {
          "name": "github.com/btcsuite/btcd/address/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btcd/btcec/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.5.0"
        },
        {
          "name": "github.com/btcsuite/btcd/btcutil/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btcd/chaincfg/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btcd/chainhash/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btcd/psbt/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btcd/txscript/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btcd/wire/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/btcsuite/btclog",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/btcsuite/btclog/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1-0.20250728225537-6090e87c6c5b"
        },
        {
          "name": "github.com/btcsuite/btcwallet",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.18.0"
        },
        {
          "name": "github.com/btcsuite/btcwallet/wallet/txauthor",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/btcsuite/btcwallet/wallet/txrules",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.0"
        },
        {
          "name": "github.com/btcsuite/btcwallet/walletdb",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/btcsuite/btcwallet/wtxmgr",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/coreos/go-systemd",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20190719114852-fd7a80b32e1f"
        },
        {
          "name": "github.com/davecgh/go-spew",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/decred/dcrd/dcrec/secp256k1/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.4.0"
        },
        {
          "name": "github.com/gorilla/websocket",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.3"
        },
        {
          "name": "github.com/grpc-ecosystem/go-grpc-middleware",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.0"
        },
        {
          "name": "github.com/grpc-ecosystem/go-grpc-prometheus",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/grpc-ecosystem/grpc-gateway/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.16.0"
        },
        {
          "name": "github.com/jackc/pgx/v5",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.9.2"
        },
        {
          "name": "github.com/jackpal/gateway",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.5"
        },
        {
          "name": "github.com/jackpal/go-nat-pmp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20170405195558-28a68d0c24ad"
        },
        {
          "name": "github.com/jedib0t/go-pretty/v6",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v6.2.7"
        },
        {
          "name": "github.com/jessevdk/go-flags",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.1"
        },
        {
          "name": "github.com/jrick/logrotate",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.2"
        },
        {
          "name": "github.com/kkdai/bstream",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/lightninglabs/neutrino",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.18.0"
        },
        {
          "name": "github.com/lightninglabs/neutrino/cache",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.4"
        },
        {
          "name": "github.com/lightningnetwork/lightning-onion",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/lightningnetwork/lnd/actor",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.6"
        },
        {
          "name": "github.com/lightningnetwork/lnd/cert",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.2"
        },
        {
          "name": "github.com/lightningnetwork/lnd/clock",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/lightningnetwork/lnd/fn/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.9"
        },
        {
          "name": "github.com/lightningnetwork/lnd/healthcheck",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.6"
        },
        {
          "name": "github.com/lightningnetwork/lnd/kvdb",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.1"
        },
        {
          "name": "github.com/lightningnetwork/lnd/queue",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/lightningnetwork/lnd/sqldb",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.13"
        },
        {
          "name": "github.com/lightningnetwork/lnd/ticker",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/lightningnetwork/lnd/tlv",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/lightningnetwork/lnd/tor",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/ltcsuite/ltcd",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20190101042124-f37f8bf35796"
        },
        {
          "name": "github.com/miekg/dns",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.43"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.2"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.1"
        },
        {
          "name": "github.com/tv42/zbase32",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20160707012821-501572607d02"
        },
        {
          "name": "github.com/urfave/cli",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.22.14"
        },
        {
          "name": "go.etcd.io/etcd/client/pkg/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.5.12"
        },
        {
          "name": "go.etcd.io/etcd/client/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.5.12"
        },
        {
          "name": "golang.org/x/crypto",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.46.0"
        },
        {
          "name": "golang.org/x/exp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20250811191247-51f88131bc50"
        },
        {
          "name": "golang.org/x/mobile",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20190719004257-d2bd2a29d028"
        },
        {
          "name": "golang.org/x/sync",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.19.0"
        },
        {
          "name": "golang.org/x/term",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.38.0"
        },
        {
          "name": "golang.org/x/time",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.0"
        },
        {
          "name": "google.golang.org/grpc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.79.3"
        },
        {
          "name": "google.golang.org/protobuf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.36.11"
        },
        {
          "name": "gopkg.in/macaroon-bakery.v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1"
        },
        {
          "name": "gopkg.in/macaroon.v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "pgregory.net/rapid",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/klauspost/compress",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.18.0"
        },
        {
          "name": "github.com/pmezard/go-difflib",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "golang.org/x/text",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.32.0"
        },
        {
          "name": "github.com/btcsuite/btclog/v2",
          "manifest": "healthcheck/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1-0.20250602222548-9967d19bb084"
        },
        {
          "name": "github.com/lightningnetwork/lnd/ticker",
          "manifest": "healthcheck/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.0"
        },
        {
          "name": "github.com/lightningnetwork/lnd/tor",
          "manifest": "healthcheck/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.8-0.20260615022959-a067468f0f45"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "healthcheck/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.0"
        },
        {
          "name": "golang.org/x/sys",
          "manifest": "healthcheck/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.35.0"
        },
        {
          "name": "github.com/btcsuite/btclog/v2",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1-0.20250602222548-9967d19bb084"
        },
        {
          "name": "github.com/btcsuite/btcwallet/walletdb",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/davecgh/go-spew",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/fergusstrange/embedded-postgres",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.25.0"
        },
        {
          "name": "github.com/google/btree",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1"
        },
        {
          "name": "github.com/jackc/pgx/v5",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.9.2"
        },
        {
          "name": "github.com/lightningnetwork/lnd/healthcheck",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.4"
        },
        {
          "name": "github.com/lightningnetwork/lnd/sqldb",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.6"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.1"
        },
        {
          "name": "go.etcd.io/bbolt",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.3"
        },
        {
          "name": "go.etcd.io/etcd/api/v3",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.5.12"
        },
        {
          "name": "go.etcd.io/etcd/client/pkg/v3",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.5.12"
        },
        {
          "name": "go.etcd.io/etcd/client/v3",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.5.12"
        },
        {
          "name": "go.etcd.io/etcd/server/v3",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.5.12"
        },
        {
          "name": "modernc.org/sqlite",
          "manifest": "kvdb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.29.10"
        },
        {
          "name": "github.com/lightningnetwork/lnd/fn/v2",
          "manifest": "queue/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.8"
        },
        {
          "name": "github.com/lightningnetwork/lnd/ticker",
          "manifest": "queue/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "queue/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.1"
        },
        {
          "name": "pgregory.net/rapid",
          "manifest": "queue/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/btcsuite/btclog/v2",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1-0.20250602222548-9967d19bb084"
        },
        {
          "name": "github.com/davecgh/go-spew",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/golang-migrate/migrate/v4",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.17.0"
        },
        {
          "name": "github.com/jackc/pgerrcode",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240316143900-6e2875d9b438"
        },
        {
          "name": "github.com/jackc/pgx/v5",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.9.2"
        },
        {
          "name": "github.com/ory/dockertest/v3",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.10.0"
        },
        {
          "name": "github.com/pmezard/go-difflib",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.1"
        },
        {
          "name": "golang.org/x/exp",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240325151524-a685a6edb6d8"
        },
        {
          "name": "modernc.org/sqlite",
          "manifest": "sqldb/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.29.10"
        },
        {
          "name": "github.com/btcsuite/btcd/btcec/v2",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.5.0"
        },
        {
          "name": "github.com/btcsuite/btcd/wire/v2",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0"
        },
        {
          "name": "github.com/davecgh/go-spew",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/decred/dcrd/dcrec/secp256k1/v4",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.4.0"
        },
        {
          "name": "github.com/lightningnetwork/lnd/fn/v2",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.2"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.0"
        },
        {
          "name": "golang.org/x/exp",
          "manifest": "tlv/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20231226003508-02704c960a9b"
        },
        {
          "name": "github.com/btcsuite/btcd",
          "manifest": "tor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.26.0"
        },
        {
          "name": "github.com/btcsuite/btclog/v2",
          "manifest": "tor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1-0.20250602222548-9967d19bb084"
        },
        {
          "name": "github.com/miekg/dns",
          "manifest": "tor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.43"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "tor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.0"
        },
        {
          "name": "golang.org/x/net",
          "manifest": "tor/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.41.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "github.com/andybalholm/brotli",
            "direct": true,
            "version": "v1.0.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd",
            "direct": true,
            "version": "v0.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/address/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/btcec/v2",
            "direct": true,
            "version": "v2.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/btcutil/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/chaincfg/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/chainhash/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/psbt/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/txscript/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/wire/v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btclog",
            "direct": true,
            "version": "v0.0.0-20241003133417-09c4e92e319c",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btclog",
            "direct": true,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btclog/v2",
            "direct": true,
            "version": "v2.0.1-0.20250602222548-9967d19bb084",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btclog/v2",
            "direct": true,
            "version": "v2.0.1-0.20250728225537-6090e87c6c5b",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcwallet",
            "direct": true,
            "version": "v0.18.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcwallet/wallet/txauthor",
            "direct": true,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcwallet/wallet/txrules",
            "direct": true,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcwallet/walletdb",
            "direct": true,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcwallet/wtxmgr",
            "direct": true,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coreos/go-systemd",
            "direct": true,
            "version": "v0.0.0-20190719114852-fd7a80b32e1f",
            "ecosystem": "go"
          },
          {
            "name": "github.com/davecgh/go-spew",
            "direct": true,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/decred/dcrd/dcrec/secp256k1/v4",
            "direct": true,
            "version": "v4.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fergusstrange/embedded-postgres",
            "direct": true,
            "version": "v1.25.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang-migrate/migrate/v4",
            "direct": true,
            "version": "v4.17.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/btree",
            "direct": true,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gorilla/websocket",
            "direct": true,
            "version": "v1.5.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/go-grpc-middleware",
            "direct": true,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/go-grpc-prometheus",
            "direct": true,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/grpc-gateway/v2",
            "direct": true,
            "version": "v2.16.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgerrcode",
            "direct": true,
            "version": "v0.0.0-20240316143900-6e2875d9b438",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgx/v5",
            "direct": true,
            "version": "v5.9.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackpal/gateway",
            "direct": true,
            "version": "v1.0.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackpal/go-nat-pmp",
            "direct": true,
            "version": "v0.0.0-20170405195558-28a68d0c24ad",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jedib0t/go-pretty/v6",
            "direct": true,
            "version": "v6.2.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jessevdk/go-flags",
            "direct": true,
            "version": "v1.6.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jrick/logrotate",
            "direct": true,
            "version": "v1.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kkdai/bstream",
            "direct": true,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/klauspost/compress",
            "direct": true,
            "version": "v1.18.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightninglabs/neutrino",
            "direct": true,
            "version": "v0.18.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightninglabs/neutrino/cache",
            "direct": true,
            "version": "v1.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lightning-onion",
            "direct": true,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/fn/v2",
            "direct": true,
            "version": "v2.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/fn/v2",
            "direct": true,
            "version": "v2.0.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/healthcheck",
            "direct": true,
            "version": "v1.2.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/sqldb",
            "direct": true,
            "version": "v1.0.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/ticker",
            "direct": true,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/tlv",
            "direct": true,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/tor",
            "direct": true,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/tor",
            "direct": true,
            "version": "v1.1.8-0.20260615022959-a067468f0f45",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightningnetwork/lnd/tor",
            "direct": true,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ltcsuite/ltcd",
            "direct": true,
            "version": "v0.0.0-20190101042124-f37f8bf35796",
            "ecosystem": "go"
          },
          {
            "name": "github.com/miekg/dns",
            "direct": true,
            "version": "v1.1.43",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nebulouslabs/go-upnp",
            "direct": true,
            "version": "v0.0.0-20180202185039-29b680b06c82",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ory/dockertest/v3",
            "direct": true,
            "version": "v3.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pmezard/go-difflib",
            "direct": true,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_golang",
            "direct": true,
            "version": "v1.23.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": true,
            "version": "v1.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": true,
            "version": "v1.11.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": true,
            "version": "v1.8.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": true,
            "version": "v1.8.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/tv42/zbase32",
            "direct": true,
            "version": "v0.0.0-20160707012821-501572607d02",
            "ecosystem": "go"
          },
          {
            "name": "github.com/urfave/cli",
            "direct": true,
            "version": "v1.22.14",
            "ecosystem": "go"
          },
          {
            "name": "github.com/yawning/aez",
            "direct": true,
            "version": "v0.0.0-20211027044916-e49e68abd344",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/bbolt",
            "direct": true,
            "version": "v1.4.3",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/api/v3",
            "direct": true,
            "version": "v3.5.12",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/client/pkg/v3",
            "direct": true,
            "version": "v3.5.12",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/client/v3",
            "direct": true,
            "version": "v3.5.12",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/server/v3",
            "direct": true,
            "version": "v3.5.12",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.40.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.41.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.46.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp",
            "direct": true,
            "version": "v0.0.0-20231226003508-02704c960a9b",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp",
            "direct": true,
            "version": "v0.0.0-20240325151524-a685a6edb6d8",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp",
            "direct": true,
            "version": "v0.0.0-20250620022241-b7579e27df2b",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp",
            "direct": true,
            "version": "v0.0.0-20250811191247-51f88131bc50",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/mobile",
            "direct": true,
            "version": "v0.0.0-20190719004257-d2bd2a29d028",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": true,
            "version": "v0.41.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": true,
            "version": "v0.48.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": true,
            "version": "v0.16.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": true,
            "version": "v0.17.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": true,
            "version": "v0.19.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": true,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": true,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": true,
            "version": "v0.34.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": true,
            "version": "v0.35.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": true,
            "version": "v0.45.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/term",
            "direct": true,
            "version": "v0.38.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.28.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.29.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.32.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/time",
            "direct": true,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/grpc",
            "direct": true,
            "version": "v1.79.3",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": true,
            "version": "v1.36.10",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": true,
            "version": "v1.36.8",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/macaroon-bakery.v2",
            "direct": true,
            "version": "v2.0.1",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/macaroon.v2",
            "direct": true,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/sqlite",
            "direct": true,
            "version": "v1.29.10",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/sqlite",
            "direct": true,
            "version": "v1.38.2",
            "ecosystem": "go"
          },
          {
            "name": "pgregory.net/rapid",
            "direct": true,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "4d63.com/gocheckcompilerdirectives",
            "direct": false,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "4d63.com/gochecknoglobals",
            "direct": false,
            "version": "v0.2.2",
            "ecosystem": "go"
          },
          {
            "name": "codeberg.org/chavacava/garif",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "dario.cat/mergo",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "dario.cat/mergo",
            "direct": false,
            "version": "v1.0.2",
            "ecosystem": "go"
          },
          {
            "name": "dev.gaijin.team/go/exhaustruct/v4",
            "direct": false,
            "version": "v4.0.0",
            "ecosystem": "go"
          },
          {
            "name": "dev.gaijin.team/go/golib",
            "direct": false,
            "version": "v0.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/4meepo/tagalign",
            "direct": false,
            "version": "v1.4.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/abirdcfly/dupword",
            "direct": false,
            "version": "v0.1.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aead/chacha20",
            "direct": false,
            "version": "v0.0.0-20180709150244-8b13a72661da",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aead/siphash",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alecthomas/chroma/v2",
            "direct": false,
            "version": "v2.20.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alecthomas/go-check-sumtype",
            "direct": false,
            "version": "v0.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alexkohler/nakedret/v2",
            "direct": false,
            "version": "v2.0.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alexkohler/prealloc",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alfatraining/structtag",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alingse/asasalint",
            "direct": false,
            "version": "v0.0.11",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alingse/nilnesserr",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/alwxsin/noinlineerr",
            "direct": false,
            "version": "v1.0.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/antonboom/errname",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/antonboom/nilnil",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/antonboom/testifylint",
            "direct": false,
            "version": "v1.6.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ashanbrown/forbidigo/v2",
            "direct": false,
            "version": "v2.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ashanbrown/makezero/v2",
            "direct": false,
            "version": "v2.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aymanbagabas/go-osc52/v2",
            "direct": false,
            "version": "v2.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/azure/go-ansiterm",
            "direct": false,
            "version": "v0.0.0-20230124172434-306776ec8161",
            "ecosystem": "go"
          },
          {
            "name": "github.com/beorn7/perks",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/bkielbasa/cyclop",
            "direct": false,
            "version": "v1.2.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/blizzy78/varnamelen",
            "direct": false,
            "version": "v0.8.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/bombsimon/wsl/v4",
            "direct": false,
            "version": "v4.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/bombsimon/wsl/v5",
            "direct": false,
            "version": "v5.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/breml/bidichk",
            "direct": false,
            "version": "v0.3.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/breml/errchkjson",
            "direct": false,
            "version": "v0.4.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcd/v2transport",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/btcwallet/wallet/txsizes",
            "direct": false,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/go-socks",
            "direct": false,
            "version": "v0.0.0-20170105172521-4720035b7bfd",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/websocket",
            "direct": false,
            "version": "v0.0.0-20150119174127-31079b680792",
            "ecosystem": "go"
          },
          {
            "name": "github.com/btcsuite/winsvc",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/burntsushi/toml",
            "direct": false,
            "version": "v1.3.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/burntsushi/toml",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/butuzov/ireturn",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/butuzov/mirror",
            "direct": false,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/catenacyber/perfsprint",
            "direct": false,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ccojocar/zxcvbn-go",
            "direct": false,
            "version": "v1.0.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cenkalti/backoff/v4",
            "direct": false,
            "version": "v4.1.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cenkalti/backoff/v4",
            "direct": false,
            "version": "v4.2.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cespare/xxhash/v2",
            "direct": false,
            "version": "v2.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/charithe/durationcheck",
            "direct": false,
            "version": "v0.0.10",
            "ecosystem": "go"
          },
          {
            "name": "github.com/charmbracelet/colorprofile",
            "direct": false,
            "version": "v0.2.3-0.20250311203215-f60798e515dc",
            "ecosystem": "go"
          },
          {
            "name": "github.com/charmbracelet/lipgloss",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/charmbracelet/x/ansi",
            "direct": false,
            "version": "v0.8.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/charmbracelet/x/cellbuf",
            "direct": false,
            "version": "v0.0.13-0.20250311204145-2c3ea96c31dd",
            "ecosystem": "go"
          },
          {
            "name": "github.com/charmbracelet/x/term",
            "direct": false,
            "version": "v0.2.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ckaznocha/intrange",
            "direct": false,
            "version": "v0.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/containerd/continuity",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/containerd/errdefs",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/containerd/errdefs/pkg",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coreos/go-semver",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/coreos/go-systemd/v22",
            "direct": false,
            "version": "v22.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cpuguy83/go-md2man/v2",
            "direct": false,
            "version": "v2.0.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/curioswitch/go-reassign",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/daixiang0/gci",
            "direct": false,
            "version": "v0.13.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dave/dst",
            "direct": false,
            "version": "v0.27.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/decred/dcrd/crypto/blake256",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/decred/dcrd/lru",
            "direct": false,
            "version": "v1.1.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/denis-tingaikin/go-header",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/distribution/reference",
            "direct": false,
            "version": "v0.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/djarvur/go-err113",
            "direct": false,
            "version": "v0.0.0-20210108212216-aea10b59be24",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dlclark/regexp2",
            "direct": false,
            "version": "v1.11.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/cli",
            "direct": false,
            "version": "v28.1.1+incompatible",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/docker",
            "direct": false,
            "version": "v28.1.1+incompatible",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/docker",
            "direct": false,
            "version": "v28.3.3+incompatible",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/go-connections",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/go-connections",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/docker/go-units",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/dustin/go-humanize",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ettle/strcase",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fatih/color",
            "direct": false,
            "version": "v1.18.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fatih/structtag",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/felixge/httpsnoop",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/firefart/nonamedreturns",
            "direct": false,
            "version": "v1.0.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fsnotify/fsnotify",
            "direct": false,
            "version": "v1.5.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fzipp/gocyclo",
            "direct": false,
            "version": "v0.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ghostiam/protogetter",
            "direct": false,
            "version": "v0.3.15",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-critic/go-critic",
            "direct": false,
            "version": "v0.13.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/logr",
            "direct": false,
            "version": "v1.4.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/stdr",
            "direct": false,
            "version": "v1.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/astcast",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/astcopy",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/astequal",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/astfmt",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/astp",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/strparse",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-toolsmith/typep",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-viper/mapstructure/v2",
            "direct": false,
            "version": "v2.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-viper/mapstructure/v2",
            "direct": false,
            "version": "v2.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-xmlfmt/xmlfmt",
            "direct": false,
            "version": "v1.1.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gobwas/glob",
            "direct": false,
            "version": "v0.2.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gofrs/flock",
            "direct": false,
            "version": "v0.12.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gogo/protobuf",
            "direct": false,
            "version": "v1.3.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang-jwt/jwt/v4",
            "direct": false,
            "version": "v4.5.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/protobuf",
            "direct": false,
            "version": "v1.5.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/snappy",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/asciicheck",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/dupl",
            "direct": false,
            "version": "v0.0.0-20250308024227-f665c8d69b32",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/go-printf-func-name",
            "direct": false,
            "version": "v0.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/gofmt",
            "direct": false,
            "version": "v0.0.0-20250106114630-d62b90e6713d",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/golangci-lint/v2",
            "direct": false,
            "version": "v2.4.1-0.20250818164121-838684c5bc0c",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/golines",
            "direct": false,
            "version": "v0.0.0-20250217134842-442fd0091d95",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/misspell",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/plugin-module-register",
            "direct": false,
            "version": "v0.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/plugin-module-register",
            "direct": false,
            "version": "v0.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/revgrep",
            "direct": false,
            "version": "v0.8.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/swaggoswag",
            "direct": false,
            "version": "v0.0.0-20250504205917-77f2aca3143e",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golangci/unconvert",
            "direct": false,
            "version": "v0.0.0-20250410112200-a129a6e6413e",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-cmp",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/shlex",
            "direct": false,
            "version": "v0.0.0-20191202100458-e7afc7fbc510",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/uuid",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gordonklaus/ineffassign",
            "direct": false,
            "version": "v0.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gostaticanalysis/analysisutil",
            "direct": false,
            "version": "v0.7.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gostaticanalysis/comment",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gostaticanalysis/forcetypeassert",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gostaticanalysis/nilerr",
            "direct": false,
            "version": "v0.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/grpc-ecosystem/grpc-gateway",
            "direct": false,
            "version": "v1.16.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/errwrap",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/go-immutable-radix/v2",
            "direct": false,
            "version": "v2.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/go-multierror",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/go-version",
            "direct": false,
            "version": "v1.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/golang-lru/v2",
            "direct": false,
            "version": "v2.0.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hashicorp/hcl",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/hexops/gotextdiff",
            "direct": false,
            "version": "v1.0.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/inconshreveable/mousetrap",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/chunkreader/v2",
            "direct": false,
            "version": "v2.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgconn",
            "direct": false,
            "version": "v1.14.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgio",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgpassfile",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgproto3/v2",
            "direct": false,
            "version": "v2.3.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgservicefile",
            "direct": false,
            "version": "v0.0.0-20240606120523-5a60cdf6a761",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/puddle/v2",
            "direct": false,
            "version": "v2.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jgautheron/goconst",
            "direct": false,
            "version": "v1.8.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jingyugao/rowserrcheck",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jjti/go-spancheck",
            "direct": false,
            "version": "v0.6.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jonboulle/clockwork",
            "direct": false,
            "version": "v0.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/json-iterator/go",
            "direct": false,
            "version": "v1.1.12",
            "ecosystem": "go"
          },
          {
            "name": "github.com/juju/loggo",
            "direct": false,
            "version": "v0.0.0-20210728185423-eebad3a902c4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/juju/testing",
            "direct": false,
            "version": "v0.0.0-20220203020004-a0ff61f03494",
            "ecosystem": "go"
          },
          {
            "name": "github.com/julz/importas",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/karamaru-alpha/copyloopvar",
            "direct": false,
            "version": "v1.2.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kcalvinalvin/anet",
            "direct": false,
            "version": "v0.0.0-20251112173137-d8ddc1f6dbee",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kisielk/errcheck",
            "direct": false,
            "version": "v1.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kkhaike/contextcheck",
            "direct": false,
            "version": "v1.1.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kr/pretty",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kr/pretty",
            "direct": false,
            "version": "v0.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kr/text",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kulti/thelper",
            "direct": false,
            "version": "v0.6.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/kunwardeep/paralleltest",
            "direct": false,
            "version": "v1.0.14",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lasiar/canonicalheader",
            "direct": false,
            "version": "v1.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ldez/exptostd",
            "direct": false,
            "version": "v0.4.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ldez/gomoddirectives",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ldez/grignotin",
            "direct": false,
            "version": "v0.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ldez/tagliatelle",
            "direct": false,
            "version": "v0.7.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ldez/usetesting",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/leonklingele/grouper",
            "direct": false,
            "version": "v1.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lib/pq",
            "direct": false,
            "version": "v1.10.9",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lightninglabs/gozmq",
            "direct": false,
            "version": "v0.0.0-20191113021534-d20a764486bf",
            "ecosystem": "go"
          },
          {
            "name": "github.com/lucasb-eyer/go-colorful",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/macabu/inamedparam",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/magiconair/properties",
            "direct": false,
            "version": "v1.8.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/manuelarte/embeddedstructfieldcheck",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/manuelarte/funcorder",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/maratori/testableexamples",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/maratori/testpackage",
            "direct": false,
            "version": "v1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/masterminds/semver/v3",
            "direct": false,
            "version": "v3.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/matoous/godox",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-colorable",
            "direct": false,
            "version": "v0.1.14",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-isatty",
            "direct": false,
            "version": "v0.0.20",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-runewidth",
            "direct": false,
            "version": "v0.0.13",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-runewidth",
            "direct": false,
            "version": "v0.0.16",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mgechev/revive",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/microsoft/go-winio",
            "direct": false,
            "version": "v0.6.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/microsoft/go-winio",
            "direct": false,
            "version": "v0.6.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mitchellh/go-homedir",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mitchellh/mapstructure",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/docker-image-spec",
            "direct": false,
            "version": "v1.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/sys/user",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moby/term",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/concurrent",
            "direct": false,
            "version": "v0.0.0-20180306012644-bacd9c7ef1dd",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/reflect2",
            "direct": false,
            "version": "v1.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/moricho/tparallel",
            "direct": false,
            "version": "v0.3.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/muesli/termenv",
            "direct": false,
            "version": "v0.16.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/munnerz/goautoneg",
            "direct": false,
            "version": "v0.0.0-20191010083416-a7dc8b61c822",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nakabonne/nestif",
            "direct": false,
            "version": "v0.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ncruces/go-strftime",
            "direct": false,
            "version": "v0.1.9",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nebulouslabs/fastrand",
            "direct": false,
            "version": "v0.0.0-20181203155948-6fb6489aac4e",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nishanths/exhaustive",
            "direct": false,
            "version": "v0.12.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nishanths/predeclared",
            "direct": false,
            "version": "v0.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nunnatsa/ginkgolinter",
            "direct": false,
            "version": "v0.20.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nvveen/gotty",
            "direct": false,
            "version": "v0.0.0-20120604004816-cd527374f1e5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/nxadm/tail",
            "direct": false,
            "version": "v1.4.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/onsi/gomega",
            "direct": false,
            "version": "v1.26.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/opencontainers/go-digest",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/opencontainers/image-spec",
            "direct": false,
            "version": "v1.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/opencontainers/image-spec",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/opencontainers/runc",
            "direct": false,
            "version": "v1.2.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/openpeedeep/depguard/v2",
            "direct": false,
            "version": "v2.2.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pelletier/go-toml",
            "direct": false,
            "version": "v1.9.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pelletier/go-toml/v2",
            "direct": false,
            "version": "v2.2.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pkg/errors",
            "direct": false,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/polyfloyd/go-errorlint",
            "direct": false,
            "version": "v1.8.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_model",
            "direct": false,
            "version": "v0.6.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/common",
            "direct": false,
            "version": "v0.66.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/procfs",
            "direct": false,
            "version": "v0.16.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/quasilyte/go-ruleguard",
            "direct": false,
            "version": "v0.4.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/quasilyte/go-ruleguard/dsl",
            "direct": false,
            "version": "v0.3.22",
            "ecosystem": "go"
          },
          {
            "name": "github.com/quasilyte/gogrep",
            "direct": false,
            "version": "v0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/quasilyte/regex/syntax",
            "direct": false,
            "version": "v0.0.0-20210819130434-b3f0c404a727",
            "ecosystem": "go"
          },
          {
            "name": "github.com/quasilyte/stdinfo",
            "direct": false,
            "version": "v0.0.0-20220114132959-f7386bf02567",
            "ecosystem": "go"
          },
          {
            "name": "github.com/raeperd/recvcheck",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/remyoudompheng/bigfft",
            "direct": false,
            "version": "v0.0.0-20230129092748-24d4a6f8daec",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rinchsan/gosimports",
            "direct": false,
            "version": "v0.3.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rivo/uniseg",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rivo/uniseg",
            "direct": false,
            "version": "v0.4.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rogpeppe/fastuuid",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rogpeppe/go-internal",
            "direct": false,
            "version": "v1.12.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rogpeppe/go-internal",
            "direct": false,
            "version": "v1.14.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/rogpeppe/go-internal",
            "direct": false,
            "version": "v1.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/russross/blackfriday/v2",
            "direct": false,
            "version": "v2.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ryancurrah/gomodguard",
            "direct": false,
            "version": "v1.4.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ryanrolds/sqlclosecheck",
            "direct": false,
            "version": "v0.5.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sanposhiho/wastedassign/v2",
            "direct": false,
            "version": "v2.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/santhosh-tekuri/jsonschema/v6",
            "direct": false,
            "version": "v6.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sashamelentyev/interfacebloat",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sashamelentyev/usestdlibvars",
            "direct": false,
            "version": "v1.29.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/securego/gosec/v2",
            "direct": false,
            "version": "v2.22.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sirupsen/logrus",
            "direct": false,
            "version": "v1.9.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sivchari/containedctx",
            "direct": false,
            "version": "v1.0.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/soheilhy/cmux",
            "direct": false,
            "version": "v0.1.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sonatard/noctx",
            "direct": false,
            "version": "v0.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sourcegraph/go-diff",
            "direct": false,
            "version": "v0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/afero",
            "direct": false,
            "version": "v1.14.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/cast",
            "direct": false,
            "version": "v1.5.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/cobra",
            "direct": false,
            "version": "v1.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/jwalterweatherman",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/pflag",
            "direct": false,
            "version": "v1.0.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/pflag",
            "direct": false,
            "version": "v1.0.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/viper",
            "direct": false,
            "version": "v1.12.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ssgreg/nlreturn/v2",
            "direct": false,
            "version": "v2.2.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stbenjam/no-sprintf-host-port",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/objx",
            "direct": false,
            "version": "v0.5.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/subosito/gotenv",
            "direct": false,
            "version": "v1.4.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/syndtr/goleveldb",
            "direct": false,
            "version": "v1.0.1-0.20210819022825-2ae1ddf74ef7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/tetafro/godot",
            "direct": false,
            "version": "v1.5.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/timakin/bodyclose",
            "direct": false,
            "version": "v0.0.0-20241222091800-1db5c5ca4d67",
            "ecosystem": "go"
          },
          {
            "name": "github.com/timonwong/loggercheck",
            "direct": false,
            "version": "v0.11.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/tmc/grpc-websocket-proxy",
            "direct": false,
            "version": "v0.0.0-20201229170055-e5319fda7802",
            "ecosystem": "go"
          },
          {
            "name": "github.com/tomarrell/wrapcheck/v2",
            "direct": false,
            "version": "v2.11.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/tommy-muehle/go-mnd/v2",
            "direct": false,
            "version": "v2.5.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ultraware/funlen",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ultraware/whitespace",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/uudashr/gocognit",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/uudashr/iface",
            "direct": false,
            "version": "v1.4.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xeipuuv/gojsonpointer",
            "direct": false,
            "version": "v0.0.0-20180127040702-4e3ac2762d5f",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xeipuuv/gojsonreference",
            "direct": false,
            "version": "v0.0.0-20180127040603-bd5ef7bd5415",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xeipuuv/gojsonschema",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xen0n/gosmopolitan",
            "direct": false,
            "version": "v1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xi2/xz",
            "direct": false,
            "version": "v0.0.0-20171230120015-48954b6210f8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xiang90/probing",
            "direct": false,
            "version": "v0.0.0-20190116061207-43a291ad63a2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xo/terminfo",
            "direct": false,
            "version": "v0.0.0-20220910002029-abceb7e1c41e",
            "ecosystem": "go"
          },
          {
            "name": "github.com/yagipy/maintidx",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/yeya24/promlinter",
            "direct": false,
            "version": "v0.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/ykadowak/zerologlint",
            "direct": false,
            "version": "v0.1.5",
            "ecosystem": "go"
          },
          {
            "name": "gitlab.com/bosi/decorder",
            "direct": false,
            "version": "v0.4.2",
            "ecosystem": "go"
          },
          {
            "name": "gitlab.com/yawning/bsaes.git",
            "direct": false,
            "version": "v0.0.0-20190805113838-0a714cd429ec",
            "ecosystem": "go"
          },
          {
            "name": "go-simpler.org/musttag",
            "direct": false,
            "version": "v0.14.0",
            "ecosystem": "go"
          },
          {
            "name": "go-simpler.org/sloglint",
            "direct": false,
            "version": "v0.11.1",
            "ecosystem": "go"
          },
          {
            "name": "go.augendre.info/arangolint",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "go.augendre.info/fatcontext",
            "direct": false,
            "version": "v0.8.1",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/client/v2",
            "direct": false,
            "version": "v2.305.12",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/pkg/v3",
            "direct": false,
            "version": "v3.5.12",
            "ecosystem": "go"
          },
          {
            "name": "go.etcd.io/etcd/raft/v3",
            "direct": false,
            "version": "v3.5.12",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/auto/sdk",
            "direct": false,
            "version": "v1.2.1",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
            "direct": false,
            "version": "v0.46.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
            "direct": false,
            "version": "v0.60.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
            "direct": false,
            "version": "v0.69.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
            "direct": false,
            "version": "v1.20.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
            "direct": false,
            "version": "v1.20.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/metric",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/sdk",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/trace",
            "direct": false,
            "version": "v1.35.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/trace",
            "direct": false,
            "version": "v1.36.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/trace",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/proto/otlp",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/atomic",
            "direct": false,
            "version": "v1.10.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/atomic",
            "direct": false,
            "version": "v1.7.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/automaxprocs",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/multierr",
            "direct": false,
            "version": "v1.10.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/multierr",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/zap",
            "direct": false,
            "version": "v1.17.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/zap",
            "direct": false,
            "version": "v1.27.0",
            "ecosystem": "go"
          },
          {
            "name": "go.yaml.in/yaml/v2",
            "direct": false,
            "version": "v2.4.2",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/exp/typeparams",
            "direct": false,
            "version": "v0.0.0-20250620022241-b7579e27df2b",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/mod",
            "direct": false,
            "version": "v0.27.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/mod",
            "direct": false,
            "version": "v0.30.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/tools",
            "direct": false,
            "version": "v0.30.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/tools",
            "direct": false,
            "version": "v0.36.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/tools",
            "direct": false,
            "version": "v0.39.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto",
            "direct": false,
            "version": "v0.0.0-20231016165738-49dd2c1f3d0b",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/api",
            "direct": false,
            "version": "v0.0.0-20251202230838-ff82c1b0f217",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/rpc",
            "direct": false,
            "version": "v0.0.0-20251202230838-ff82c1b0f217",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/check.v1",
            "direct": false,
            "version": "v1.0.0-20201130134442-10cb98267c6c",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/errgo.v1",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/ini.v1",
            "direct": false,
            "version": "v1.67.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/natefinch/lumberjack.v2",
            "direct": false,
            "version": "v2.0.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v2",
            "direct": false,
            "version": "v2.4.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v3",
            "direct": false,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "honnef.co/go/tools",
            "direct": false,
            "version": "v0.6.1",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/gc/v3",
            "direct": false,
            "version": "v3.0.0-20240107210532-573471604cb6",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/libc",
            "direct": false,
            "version": "v1.49.3",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/libc",
            "direct": false,
            "version": "v1.66.3",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/mathutil",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/mathutil",
            "direct": false,
            "version": "v1.7.1",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/memory",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/memory",
            "direct": false,
            "version": "v1.8.0",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/strutil",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "modernc.org/token",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "mvdan.cc/gofumpt",
            "direct": false,
            "version": "v0.8.0",
            "ecosystem": "go"
          },
          {
            "name": "mvdan.cc/unparam",
            "direct": false,
            "version": "v0.0.0-20250301125049-0df0534333a4",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/yaml",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 428,
        "direct_count": 99,
        "indirect_count": 329
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 262,
        "merged_prs": 4462,
        "open_issues": 565,
        "closed_ratio": 0.875,
        "closed_issues": 3948,
        "closed_unmerged_prs": 1206
      },
      "bus_factor": 4,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "Roasbeef",
          "commits": 6036,
          "avatar_url": "https://avatars.githubusercontent.com/u/998190?v=4"
        },
        {
          "type": "User",
          "login": "guggero",
          "commits": 2297,
          "avatar_url": "https://avatars.githubusercontent.com/u/1008879?v=4"
        },
        {
          "type": "User",
          "login": "yyforyongyu",
          "commits": 1813,
          "avatar_url": "https://avatars.githubusercontent.com/u/5845072?v=4"
        },
        {
          "type": "User",
          "login": "cfromknecht",
          "commits": 1632,
          "avatar_url": "https://avatars.githubusercontent.com/u/2013993?v=4"
        },
        {
          "type": "User",
          "login": "halseth",
          "commits": 1513,
          "avatar_url": "https://avatars.githubusercontent.com/u/3765732?v=4"
        },
        {
          "type": "User",
          "login": "ellemouton",
          "commits": 1350,
          "avatar_url": "https://avatars.githubusercontent.com/u/25280249?v=4"
        },
        {
          "type": "User",
          "login": "joostjager",
          "commits": 884,
          "avatar_url": "https://avatars.githubusercontent.com/u/4638168?v=4"
        },
        {
          "type": "User",
          "login": "wpaulino",
          "commits": 733,
          "avatar_url": "https://avatars.githubusercontent.com/u/9447167?v=4"
        },
        {
          "type": "User",
          "login": "ziggie1984",
          "commits": 727,
          "avatar_url": "https://avatars.githubusercontent.com/u/90319354?v=4"
        },
        {
          "type": "User",
          "login": "bhandras",
          "commits": 406,
          "avatar_url": "https://avatars.githubusercontent.com/u/554360?v=4"
        }
      ],
      "contributors_sampled": 99,
      "top_contributor_share": 0.297
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "backport.yml",
        "claude-dedupe-issues.yml",
        "claude.yml",
        "docker.yml",
        "gateway.yml",
        "govulncheck.yml",
        "main.yml",
        "pr-severity.yml",
        "release.yaml",
        "stats.yml",
        "verify-release.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".golangci.yml"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 4,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 23 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 0,
            "reason": "dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 8,
            "reason": "5 out of the last 5 releases have a total of 5 signed artifacts.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "39 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "046356759a3b6b93b498de5e784d0e60f00cbd3d",
        "ran_at": "2026-07-21T23:19:48Z",
        "aggregate_score": 5.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-21T23:01:36Z",
      "oldest_open_prs": [
        {
          "number": 2432,
          "created_at": "2019-01-08T01:37:31Z",
          "last_comment_at": "2021-03-17T01:04:33Z",
          "last_comment_author": "cfromknecht"
        },
        {
          "number": 3727,
          "created_at": "2019-11-14T14:57:06Z",
          "last_comment_at": "2019-11-14T18:29:49Z",
          "last_comment_author": "yaslama"
        },
        {
          "number": 3991,
          "created_at": "2020-02-09T13:45:26Z",
          "last_comment_at": "2020-04-14T01:37:24Z",
          "last_comment_author": "Roasbeef"
        },
        {
          "number": 4582,
          "created_at": "2020-09-01T02:03:22Z",
          "last_comment_at": "2021-09-16T21:00:41Z",
          "last_comment_author": "naveensrinivasan"
        },
        {
          "number": 4595,
          "created_at": "2020-09-04T13:21:40Z",
          "last_comment_at": "2026-07-20T02:28:31Z",
          "last_comment_author": "lightninglabs-deploy"
        },
        {
          "number": 4610,
          "created_at": "2020-09-12T19:50:38Z",
          "last_comment_at": "2022-08-23T20:06:12Z",
          "last_comment_author": "Roasbeef"
        },
        {
          "number": 4767,
          "created_at": "2020-11-12T17:24:15Z",
          "last_comment_at": "2021-01-28T01:39:33Z",
          "last_comment_author": "Roasbeef"
        },
        {
          "number": 4931,
          "created_at": "2021-01-19T20:12:19Z",
          "last_comment_at": "2023-05-12T09:31:01Z",
          "last_comment_author": "guggero"
        },
        {
          "number": 5118,
          "created_at": "2021-03-17T14:31:30Z",
          "last_comment_at": "2021-03-17T23:15:40Z",
          "last_comment_author": "bhandras"
        },
        {
          "number": 5242,
          "created_at": "2021-04-26T13:38:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 5255,
          "created_at": "2021-04-28T08:25:58Z",
          "last_comment_at": "2021-04-28T13:30:51Z",
          "last_comment_author": "joostjager"
        },
        {
          "number": 5272,
          "created_at": "2021-05-06T09:56:16Z",
          "last_comment_at": "2021-05-06T19:54:09Z",
          "last_comment_author": "wpaulino"
        },
        {
          "number": 5378,
          "created_at": "2021-06-11T11:53:42Z",
          "last_comment_at": "2021-06-13T16:43:57Z",
          "last_comment_author": "bjarnemagnussen"
        },
        {
          "number": 5633,
          "created_at": "2021-08-16T17:26:15Z",
          "last_comment_at": "2022-08-23T20:34:34Z",
          "last_comment_author": "Roasbeef"
        },
        {
          "number": 5651,
          "created_at": "2021-08-23T02:57:55Z",
          "last_comment_at": "2025-12-18T08:17:23Z",
          "last_comment_author": "ziggie1984"
        },
        {
          "number": 5730,
          "created_at": "2021-09-14T19:39:46Z",
          "last_comment_at": "2021-11-02T23:00:07Z",
          "last_comment_author": "naveensrinivasan"
        },
        {
          "number": 5735,
          "created_at": "2021-09-15T16:26:39Z",
          "last_comment_at": "2021-09-15T16:26:41Z",
          "last_comment_author": "orijbot"
        },
        {
          "number": 5744,
          "created_at": "2021-09-16T20:04:52Z",
          "last_comment_at": "2021-09-16T20:04:54Z",
          "last_comment_author": "orijbot"
        },
        {
          "number": 5753,
          "created_at": "2021-09-17T15:43:51Z",
          "last_comment_at": "2021-10-14T21:53:31Z",
          "last_comment_author": "naveensrinivasan"
        },
        {
          "number": 5801,
          "created_at": "2021-09-28T20:09:28Z",
          "last_comment_at": "2022-04-15T23:19:12Z",
          "last_comment_author": "Roasbeef"
        }
      ],
      "last_merged_pr_at": "2026-07-18T01:57:48Z",
      "ci_last_conclusion": "SKIPPED",
      "oldest_open_issues": [
        {
          "number": 53,
          "created_at": "2016-10-21T02:47:33Z",
          "last_comment_at": "2021-07-02T20:33:35Z",
          "last_comment_author": "Crypt-iQ"
        },
        {
          "number": 386,
          "created_at": "2017-10-20T20:15:59Z",
          "last_comment_at": "2022-10-26T01:34:57Z",
          "last_comment_author": "saubyk"
        },
        {
          "number": 1523,
          "created_at": "2018-07-08T15:32:45Z",
          "last_comment_at": "2025-07-12T03:01:32Z",
          "last_comment_author": "dplusplus1024"
        },
        {
          "number": 1533,
          "created_at": "2018-07-10T15:21:28Z",
          "last_comment_at": "2023-05-15T18:00:29Z",
          "last_comment_author": "sangaman"
        },
        {
          "number": 2555,
          "created_at": "2019-01-29T02:50:23Z",
          "last_comment_at": "2019-04-12T02:38:18Z",
          "last_comment_author": "cfromknecht"
        },
        {
          "number": 2991,
          "created_at": "2019-04-23T01:31:03Z",
          "last_comment_at": "2025-09-15T09:28:16Z",
          "last_comment_author": "yyforyongyu"
        },
        {
          "number": 2992,
          "created_at": "2019-04-23T01:43:06Z",
          "last_comment_at": "2023-08-01T15:31:57Z",
          "last_comment_author": "ProofOfKeags"
        },
        {
          "number": 2999,
          "created_at": "2019-04-23T23:44:01Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3120,
          "created_at": "2019-05-25T11:01:16Z",
          "last_comment_at": "2025-06-16T18:36:34Z",
          "last_comment_author": "ZZiigguurraatt"
        },
        {
          "number": 3287,
          "created_at": "2019-07-10T02:33:42Z",
          "last_comment_at": "2024-03-28T19:09:38Z",
          "last_comment_author": "morehouse"
        },
        {
          "number": 3733,
          "created_at": "2019-11-15T23:32:07Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3866,
          "created_at": "2019-12-20T17:29:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3941,
          "created_at": "2020-01-21T01:47:07Z",
          "last_comment_at": "2025-09-15T05:15:50Z",
          "last_comment_author": "ellemouton"
        },
        {
          "number": 3971,
          "created_at": "2020-01-29T14:37:08Z",
          "last_comment_at": "2023-01-24T18:32:44Z",
          "last_comment_author": "djkazic"
        },
        {
          "number": 3985,
          "created_at": "2020-02-06T18:09:23Z",
          "last_comment_at": "2020-03-02T00:44:31Z",
          "last_comment_author": "hsjoberg"
        },
        {
          "number": 4006,
          "created_at": "2020-02-15T18:59:21Z",
          "last_comment_at": "2025-04-29T11:05:49Z",
          "last_comment_author": "pavlenex"
        },
        {
          "number": 4038,
          "created_at": "2020-02-28T23:19:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4135,
          "created_at": "2020-03-31T23:58:20Z",
          "last_comment_at": "2020-04-01T16:57:04Z",
          "last_comment_author": "wpaulino"
        },
        {
          "number": 4155,
          "created_at": "2020-04-06T00:29:29Z",
          "last_comment_at": "2020-08-15T12:16:51Z",
          "last_comment_author": "jhoenicke"
        },
        {
          "number": 4159,
          "created_at": "2020-04-06T18:28:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/lightningnetwork/lnd",
    "host": "github.com",
    "name": "lnd",
    "owner": "lightningnetwork"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 82,
      "inputs": {
        "security": 53,
        "vitality": 99,
        "community": 79,
        "governance": 82,
        "engineering": 88
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 99,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 1604,
              "human_commit_share": 1,
              "days_since_last_push": 3,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 3 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1604 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1604
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v0.20.2-beta",
              "releases_from_tags": false,
              "days_since_latest_release": 13,
              "mean_days_between_releases": 27.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 13 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~27.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 27.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "5 out of the last 5 releases have a total of 5 signed artifacts.",
                "points": 8,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 3,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 3 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 79,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "forks": 2281,
              "stars": 8165,
              "watchers": 315,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "8,165 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 8165
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2,281 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2281
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "315 watchers",
                "points": 13.9,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 315
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 82,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "bus_factor": 4,
              "contributors_sampled": 99,
              "top_contributor_share": 0.297
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "4 contributor(s) cover half of all commits",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 30% of commits",
                "points": 15.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 30
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "99 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 23 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "merged_prs": 4462,
              "open_issues": 565,
              "closed_issues": 3948,
              "issue_closed_ratio": 0.875,
              "closed_unmerged_prs": 1206
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "88% of issues closed",
                "points": 40.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 88
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "4462/5668 decided PRs merged",
                "points": 30.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 4462,
                      "decided": 5668
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "followers": 429,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "lightningnetwork",
              "public_repos": 3,
              "account_age_days": 4019
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "429 followers of lightningnetwork",
                "points": 18.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 429,
                      "login": "lightningnetwork"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "3 public repos, account ~11 yr old",
                "points": 16.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 3
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 11
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "github.com/lightningnetwork/lnd",
                "github.com/lightningnetwork/lnd/fn/v2",
                "github.com/lightningnetwork/lnd/tlv",
                "github.com/lightningnetwork/lnd/tor",
                "github.com/lightningnetwork/lnd/cert",
                "github.com/lightningnetwork/lnd/kvdb",
                "github.com/lightningnetwork/lnd/actor",
                "github.com/lightningnetwork/lnd/clock"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 3
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 3 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "241 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 241
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 88,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "11 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".golangci.yml",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "topics": [
                "bitcoin",
                "lightning-network",
                "blockchain",
                "micropayments",
                "lightning",
                "protocol",
                "cryptocurrency",
                "cryptography",
                "peer-to-peer",
                "payments"
              ],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "10 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 53,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 57,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 5.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 23 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "dangerous workflow patterns detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 14 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "5 out of the last 5 releases have a total of 5 signed artifacts.",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "39 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "at_risk",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 428 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 428
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "source": "osv",
              "advisories": 145,
              "affected_packages": 17,
              "assessed_packages": 428,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 4, high 4, moderate 3, low 1, unknown 5",
              "direct_affected_packages": 11
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "11 affected: golang.org/x/crypto v0.40.0 (critical 10.0), golang.org/x/crypto v0.41.0 (critical 10.0), golang.org/x/crypto v0.46.0 (critical 10.0), +8 more",
                "points": 2.9,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 11,
                      "packages": "golang.org/x/crypto v0.40.0 (critical 10.0), golang.org/x/crypto v0.41.0 (critical 10.0), golang.org/x/crypto v0.46.0 (critical 10.0)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "3 advisory-carrying package(s) unaddressed past 90 days; oldest published 250 days ago",
                "points": 24.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 3,
                      "oldest": 250
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 428,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 8
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 62,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.97,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "97 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 97,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 73,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "actor/go.mod",
                "cert/go.mod",
                "clock/go.mod",
                "fn/go.mod",
                "go.mod",
                "healthcheck/go.mod",
                "kvdb/go.mod",
                "queue/go.mod",
                "sqldb/go.mod",
                "sqldb/v2/go.mod",
                "ticker/go.mod",
                "tlv/go.mod",
                "tools/go.mod",
                "tools/linters/go.mod",
                "tor/go.mod"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".golangci.yml",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".golangci.yml"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Go (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 712868,
              "source_files_sampled": 1876,
              "oversized_source_files": 79
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "79/1876 source files over 60KB",
                "points": 52.7,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1876,
                      "oversized": 79
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [],
              "has_mcp_signal": false,
              "api_schema_files": [
                "lnrpc/autopilotrpc/autopilot.proto",
                "lnrpc/chainrpc/chainkit.proto",
                "lnrpc/chainrpc/chainnotifier.proto",
                "lnrpc/devrpc/dev.proto",
                "lnrpc/invoicesrpc/invoices.proto",
                "lnrpc/lightning.proto",
                "lnrpc/lnclipb/lncli.proto",
                "lnrpc/neutrinorpc/neutrino.proto",
                "lnrpc/peersrpc/peers.proto",
                "lnrpc/routerrpc/router.proto",
                "lnrpc/signrpc/signer.proto",
                "lnrpc/stateservice.proto",
                "lnrpc/verrpc/verrpc.proto",
                "lnrpc/walletrpc/walletkit.proto",
                "lnrpc/walletunlocker.proto",
                "lnrpc/watchtowerrpc/watchtower.proto",
                "lnrpc/wtclientrpc/wtclient.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "lnrpc/autopilotrpc/autopilot.proto, lnrpc/chainrpc/chainkit.proto, lnrpc/chainrpc/chainnotifier.proto, lnrpc/devrpc/dev.proto, lnrpc/invoicesrpc/invoices.proto, lnrpc/lightning.proto, lnrpc/lnclipb/lncli.proto, lnrpc/neutrinorpc/neutrino.proto, lnrpc/peersrpc/peers.proto, lnrpc/routerrpc/router.proto, lnrpc/signrpc/signer.proto, lnrpc/stateservice.proto, lnrpc/verrpc/verrpc.proto, lnrpc/walletrpc/walletkit.proto, lnrpc/walletunlocker.proto, lnrpc/watchtowerrpc/watchtower.proto, lnrpc/wtclientrpc/wtclient.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lnrpc/autopilotrpc/autopilot.proto, lnrpc/chainrpc/chainkit.proto, lnrpc/chainrpc/chainnotifier.proto, lnrpc/devrpc/dev.proto, lnrpc/invoicesrpc/invoices.proto, lnrpc/lightning.proto, lnrpc/lnclipb/lncli.proto, lnrpc/neutrinorpc/neutrino.proto, lnrpc/peersrpc/peers.proto, lnrpc/routerrpc/router.proto, lnrpc/signrpc/signer.proto, lnrpc/stateservice.proto, lnrpc/verrpc/verrpc.proto, lnrpc/walletrpc/walletkit.proto, lnrpc/walletunlocker.proto, lnrpc/watchtowerrpc/watchtower.proto, lnrpc/wtclientrpc/wtclient.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [],
  "report_type": "repository",
  "generated_at": "2026-07-21T23:20:16.654067Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/lightningnetwork/lnd.svg",
  "full_name": "lightningnetwork/lnd",
  "license_state": "standard",
  "license_spdx": "MIT"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.26.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计Go.