原始 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"
}