JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": true,
"size_kb": 222665,
"has_wiki": true,
"homepage": null,
"languages": {
"C": 1854486,
"Go": 14555630,
"M4": 23683,
"Yul": 5382,
"HTML": 1121,
"NSIS": 23197,
"Sage": 42344,
"CMake": 30065,
"Shell": 41715,
"Python": 33217,
"Assembly": 145305,
"Makefile": 13455,
"Solidity": 17621,
"Dockerfile": 5427,
"JavaScript": 436893,
"Go Template": 32397
},
"pushed_at": "2026-07-20T02:58:38Z",
"created_at": "2023-08-16T09:26:58Z",
"owner_type": "Organization",
"updated_at": "2026-07-20T02:58:05Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "LGPL-3.0",
"default_branch": "main",
"license_spdx_raw": "LGPL-3.0",
"primary_language": "Go",
"significant_languages": [
"Go",
"C"
]
},
"owner": {
"blog": null,
"name": "Mantle",
"type": "Organization",
"login": "mantle-xyz",
"company": null,
"location": null,
"followers": 21,
"avatar_url": "https://avatars.githubusercontent.com/u/132680398?v=4",
"created_at": "2023-05-05T13:52:36Z",
"is_verified": null,
"public_repos": 49,
"account_age_days": 1179
},
"license": {
"state": "standard",
"spdx_id": "LGPL-3.0",
"raw_spdx": "LGPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v1.5.5",
"kind": "patch",
"published_at": "2026-04-21T10:37:44Z"
},
{
"tag": "v1.5.4",
"kind": "patch",
"published_at": "2026-04-08T07:49:00Z"
},
{
"tag": "v1.5.3",
"kind": "patch",
"published_at": "2026-03-18T08:40:23Z"
},
{
"tag": "v1.4.2",
"kind": "patch",
"published_at": "2025-12-25T03:25:59Z"
},
{
"tag": "v1.4.1",
"kind": "patch",
"published_at": "2025-11-25T10:51:09Z"
},
{
"tag": "v1.3.2",
"kind": "patch",
"published_at": "2025-08-27T07:17:34Z"
},
{
"tag": "v1.3.1",
"kind": "patch",
"published_at": "2025-08-15T02:19:16Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2025-07-07T06:06:11Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2025-04-02T08:55:31Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2025-03-07T07:21:38Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2025-01-14T06:22:53Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2024-08-26T07:27:55Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2024-08-26T07:21:19Z"
},
{
"tag": "v1.0.0-alpha.1",
"kind": "prerelease",
"published_at": "2024-03-14T12:11:50Z"
},
{
"tag": "v0.5.0-1",
"kind": "prerelease",
"published_at": "2023-12-11T02:31:20Z"
}
],
"recent_commits": [
{
"oid": "351f6a70ac4081a1287d14348a973917ec0dc016",
"body": "Merge go-ethereum v1.17.3",
"is_bot": false,
"headline": "Merge pull request #164 from mantle-xyz/mantle-elysium",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-07-20T02:56:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67102c34a9360cbe8ceb0ae564bb396bf3e1d4d8",
"body": "return gas for pre-Regolith deposit tx",
"is_bot": false,
"headline": "Merge pull request #172 from mantle-xyz/gary/deposit_gasused_fix",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-07-14T06:32:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "39aefa7a373ceaa65d509efa880a085f97e44156",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "return gas for pre-Regolith deposit tx",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-07-14T06:30:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f9b8d6743f0ff6d62c186895ceceaf00bd99fa1",
"body": "bugfix: record cumulativeUsed when deposit tx failed",
"is_bot": false,
"headline": "Merge pull request #171 from mantle-xyz/gary/deposit_gasused_fix",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-07-14T06:12:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5df44c1fbcd047ea50f2e90b36d854d5954de19f",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "bugfix: record cumulativeUsed when deposit tx failed",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-07-14T06:11:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fe0766eb8f0fad1e8b37f1e79a4afb204dd0cd5",
"body": "bugfix: cal totalcost with L1 fee and operator fee in pending tx list",
"is_bot": false,
"headline": "Merge pull request #169 from mantle-xyz/gary/txpood_list_fix",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-07-06T08:52:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e1689d93b138aa896ed0c889d0903c344730bf2",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "bugfix: cal totalcost with L1 fee and operator fee in pending tx list",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-07-06T08:46:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0bd1aea9cca0d48aa71d8c01bb37ec5a0f71e16",
"body": "miner: set preconf admission env timestamp to the next block's time",
"is_bot": false,
"headline": "Merge pull request #168 from mantle-xyz/preconf-admission-env-timestamp",
"author_name": "Mark Chen",
"author_login": "MarkChen12138",
"committed_at": "2026-07-02T08:37:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e08d7da73c82f9d396087c8515cdfb92ac954c4e",
"body": "The preconf admission environment (nextBlockEnv) represents block N+1, but it\ncarried the sealed block N's timestamp verbatim through CopyHeader. As a result\nthe admission-time EVM block context -- the TIMESTAMP opcode and time-based fork\ngating -- ran one L2 block (2s) behind the block the transact\n[…]\nnnot be, because block N\nis not sealed at that point.\n\nAdd a behaviour-level test asserting the advanced timestamp reaches the EVM block\ncontext, and extend the read-only-receiver guard to cover Time.",
"is_bot": false,
"headline": "miner: set preconf admission env timestamp to the next block's time",
"author_name": "mark1213866",
"author_login": null,
"committed_at": "2026-07-02T07:36:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "706d9719ffc275498412d39e79783c1eae73a87d",
"body": "…oss-block-reset\n\nminer: track block size in preconf admission and reset state across blocks",
"is_bot": false,
"headline": "Merge pull request #167 from mantle-xyz/fix/preconf-block-size-and-cr…",
"author_name": "Mark Chen",
"author_login": "MarkChen12138",
"committed_at": "2026-07-02T02:18:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4fe69eaf95adb718c986498ec4450bfb83e8e85",
"body": "Address review feedback: construct and return the next-block preconf\nenvironment as a single struct literal (inlining the EVM) instead of\nassigning to a local and returning it. Pure refactor, no behavior change:\nthe EVM author stays nil (preconf resolves COINBASE to header.Coinbase,\nunlike makeEnv's &coinbase) and the read-only-receiver invariant is unchanged.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "miner: return the nextBlockEnv result directly",
"author_name": "mark1213866",
"author_login": null,
"committed_at": "2026-07-01T10:49:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "51b1a720a6148dd461f6377f0539732851a58b95",
"body": "environment.copy dropped the EIP-7934 `size` field, so the per-tx preconf\nsnapshot (Preconf -> copy) zeroed the block-size accumulator on every tx and\nthe admission size cap never accumulated across txs in production; only a\nsingle >7.4MB tx could trip it.\n\nUnpausePreconf advanced the preconf env by\n[…]\nt CumulativeGasUsed starting from zero, nextBlockEnv not mutating its\nreceiver, and a reflection field-count guard on environment.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "miner: carry size in environment.copy, whitelist preconf next-block env",
"author_name": "mark1213866",
"author_login": null,
"committed_at": "2026-07-01T08:10:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "333accd352a77b6a91458f4a15d3330eae5487d5",
"body": "…locks\n\nThe preconf admission path (applyTx) appended txs/receipts and bumped tcount but\nnever accumulated env.size, while the block packer (commitTransaction) does. So the\nblock-size cap could never trip during admission: admission could accept a transaction\nthat packing must defer. Add env.size +=\n[…]\non tests for the block-size cap, the DA-footprint cap, FIFO ordering at\nthe DA boundary, and an admit-vs-pack consistency harness.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "miner: track block size in preconf admission and reset state across b…",
"author_name": "mark1213866",
"author_login": null,
"committed_at": "2026-06-30T09:14:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cbf7cd33d9b9ad011de66aecb0dfec65c62437bd",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "merge main into elysium",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-06-03T11:02:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c1c571e57874019991f28fe99c36cddac7b4bef",
"body": "sub gas in GasPool for depositTx",
"is_bot": false,
"headline": "Merge pull request #166 from mantlenetworkio/gary_gaspool_hotfix",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-06-03T08:19:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea8fbe44e538e42bcb5279d86db0e3b8c68ba751",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "sub gas in GasPool for depositTx",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-06-01T10:35:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45ddd63ceae23484282599dccac4a7d44bf2409a",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "fix test file compile error",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-26T03:41:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "799e4e4f4a9c5d40fe8b58818d44e3bd1cc0bfc7",
"body": "Adds five focused unit tests covering MetaTx codec / verification behaviour\nat and beyond the MantleEverest fork:\n - TestMetaTxPrefix_Format (32-byte prefix layout)\n - TestMetaTxCheck (entry-point guard)\n - TestDecodeAndVerifyMetaTxParams_PostEverestDisabled\n - TestDecodeAndVerifyMetaTxParams_PostEverestNonMetaTxPassthrough\n - TestCalculateSponsorPercentAmount (sponsor / user fee split math)",
"is_bot": false,
"headline": "core/types: add MetaTx unit tests around MantleEverest boundary",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-22T07:57:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c69521787831a2b0fe690eda0d1c41ee01e3c627",
"body": "Reorganises mantle-specific test suites under a shared namespace anchor:\n- tests/preconf/ -> tests/mantletest/preconf/ (mantle e2e runner)\n- tests/mantletest/replay/ new (byte-equal mainnet tx replay)\n\nThe replay package offers a declarative ReplayCase / GoldenReceipt API\nthat seeds an in-memory Sta\n[…]\nia self-transfer 0xe0811036 (Ecotone L1 fee + operator fee)\n\nGated by the mantle_replay build tag so default go test ./... is unaffected.\nRun: go test -tags mantle_replay ./tests/mantletest/replay/...",
"is_bot": false,
"headline": "test: introduce tests/mantletest namespace + mainnet replay infra",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-22T07:55:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5d6500f418268bab760f2c29a9ef19921c865046",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "bugfix: fix json marshal in depositTx",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-21T12:47:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a3f03800957d2c9892624ca00a972bb34e720cd",
"body": "merge geth v1.17.3",
"is_bot": false,
"headline": "Merge pull request #165 from mantlenetworkio/gary/geth-v1.17.3",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-05-19T09:58:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "efa6685336d7ba36ac4c2e57ffcec99884ad8367",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "fix reorg in forkchoiceUpdated",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-19T07:10:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a520d8be2dc4bde2881cf405743e0d5d56b0f3e2",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "add mantle upgrade in AssembleBlock",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-13T12:17:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6fae4b9cc7165b59b21bf4e44031584e327ae4d",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "merge geth v1.17.3",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-12T12:31:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "117e067f0f0bae1a17082321f224dedb6765b10f",
"body": null,
"is_bot": false,
"headline": "version: release go-ethereum v1.17.3 stable (#34937)",
"author_name": "rjl493456442",
"author_login": "rjl493456442",
"committed_at": "2026-05-11T15:19:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1047b9c8489ed2e26845498b58e3e30dad66f1c",
"body": "Changes core.Message to use Uint256 which is faster\n\n---------\n\nCo-authored-by: Gary Rong <garyrong0905@gmail.com>",
"is_bot": false,
"headline": "core: use uint256 in core.Message (#34934)",
"author_name": "Marius van der Wijden",
"author_login": "MariusVanDerWijden",
"committed_at": "2026-05-11T14:25:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f11dccca00bc66b68f348193e98dee4b6e2206d",
"body": "Passing `--dev=false` currently still enters the dev-mode startup path\nbecause a couple of branches check whether the flag was set, not its\nboolean value.\n\nThis switches those branches to use `ctx.Bool`, so explicit false does\nnot start dev mode or emit a dev genesis, while `--dev` keeps its\nexisting behavior.",
"is_bot": false,
"headline": "cmd/geth: respect --dev=false (#34920)",
"author_name": "Richard Creighton",
"author_login": "RekCuy63",
"committed_at": "2026-05-11T14:08:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3192db3fb9adb92bde9874a7b61bfaae8a6d8670",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "add BlockAccessListHash in block header for EIP-7928",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-11T08:51:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "934a0091fa66b474832b3664854e979fe8bf76b2",
"body": "…st (#34883)",
"is_bot": false,
"headline": "triedb/pathdb: fix layer 5 key range in storage iterator traversal te…",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-05-11T02:23:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18becee8cb01f6d35224a6bac3e45d49b2074857",
"body": "Removes the appveyor.yml since we moved to github runners.\n\n---------\n\nCo-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "appveyor.yml: remove appveyor configuration (#34720)",
"author_name": "Marius van der Wijden",
"author_login": "MariusVanDerWijden",
"committed_at": "2026-05-10T20:54:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f63c26509298ecfdf7e50d7b08f96809b2235ddd",
"body": null,
"is_bot": false,
"headline": "internal/download: close dst on io.Copy error (#34910)",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-05-10T11:43:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7facf9c1292d3783cb079a16ba797def4738e1c8",
"body": "This fixes a theoretical overflow condition if an account has an impossibly high nonce.",
"is_bot": false,
"headline": "core/txpool: use cmp.Compare instead of subtraction (#34918)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-10T11:03:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bcb68d23b3e78855be7d825ede37815d83b3142b",
"body": null,
"is_bot": false,
"headline": "p2p: handle return false from TCPEndpoint (#34916)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-10T11:02:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8581125a21ee4592631abe127749d6ca3f1020fa",
"body": "I was tracing a signature verification issue in a nocgo build and found\nthat `VerifySignature` doesn't validate hash length. #33104 added the\ncheck to `Sign` and `sigToPub` but missed this one. The cgo path in\n`secp256k1/secp256.go` already rejects non-32-byte hashes, so the nocgo\npath should do the same — otherwise a wrong-length hash gets passed to\ndecred's `Verify` and silently gives a bogus result.",
"is_bot": false,
"headline": "crypto: add hash length check in nocgo VerifySignature (#33839)",
"author_name": "vickkkkkyy",
"author_login": "vickkkkkyy",
"committed_at": "2026-05-10T09:49:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ba9be9c0efcb640860cfedc4a43b6f6b2d68c7b",
"body": "New security fix:\nhttps://groups.google.com/g/golang-announce/c/qcCIEXso47M",
"is_bot": false,
"headline": "build: upgrade -dlgo version to Go 1.25.10 (#34911)",
"author_name": "Marius Kjærstad",
"author_login": "sandakersmann",
"committed_at": "2026-05-10T09:45:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ca3a6447d5f0bbea325cd99acad6537d0de8e9b",
"body": "Passing `--graphql=false` currently still registers the GraphQL handler\nbecause the startup path checks whether the flag was set, not its\nboolean value.\n\nThis switches the registration condition to use `ctx.Bool`, so explicit\nfalse disables GraphQL while the default behavior remains unchanged.",
"is_bot": false,
"headline": "cmd/geth: respect --graphql=false (#34914)",
"author_name": "Richard Creighton",
"author_login": "RekCuy63",
"committed_at": "2026-05-09T14:07:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b927ff8b53c070e8b369324fd0f63ffa28aea83a",
"body": null,
"is_bot": false,
"headline": "cmd/devp2p: fix typo in ENR IP printing code (#34909)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-09T13:59:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30db1dd779dfe5fda4f074d685baaeb03a5390ef",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "add elysium in config rules",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-09T10:13:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5b82b6af78bd6468ff29fb4b97a4f117eb168c1",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "add elysium upgrade info for op-geth",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-05-09T02:16:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f3989dc708fcba783eae5e10932b1102de608d8",
"body": null,
"is_bot": false,
"headline": "signer/core: avoid mutating the input (#34908)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-09T00:51:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "592209c0ee99bd9c3046d27ecea5b970c64a8730",
"body": null,
"is_bot": false,
"headline": ".gitea, build: cross-compile windows binaries (#34889)",
"author_name": "Sina M",
"author_login": "s1na",
"committed_at": "2026-05-08T13:18:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ad890e3af967f1d2d3bec3b972f76fc4c208929",
"body": "…891)\n\n`GetBlobs` returned early when `CellProofsAt` reported\ncorrupted/out-of-bounds proofs, dropping every blob already collected\nand aborting the remaining hashes — a single bad sidecar killed the\nwhole Engine API batch for consensus clients. Replaced the `return nil,\nnil, nil, err` with `log.Error + continue` so the slot stays `nil` per\nthe sparse-array contract, matching the store/RLP/nil-sidecar branches a\nfew lines above.",
"is_bot": false,
"headline": "core/txpool/blobpool: continue on cell proof error in `GetBlobs` (#34…",
"author_name": "Miki Noir",
"author_login": "tooshiNoko",
"committed_at": "2026-05-08T10:43:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "281dc4c2091400ea1388b030300e5adc7672ffa0",
"body": "…898)\n\nFixes #34881\n\nThis fixes a hang in `Table.waitForNodes`. It is a replacement for PRs\n#34890, #33665 which tried to fix the same issue in a different way.\n\n- #34890 doesn't really fix the issue, just makes it less likely\n- #33665 tries to fix it by moving the feed send outside of the lock\n\nI created this PR because I want to keep the synchronous node feed\nsending in `Table.nodeAdded`.\n\n---------\n\nCo-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>",
"is_bot": false,
"headline": "p2p/discover: decouple nodeFeed from Table mutex in waitForNodes (#34…",
"author_name": "Felix Lange",
"author_login": "fjl",
"committed_at": "2026-05-08T09:33:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1abbae239d9a9f5797a5967350023c0f6b6aabb9",
"body": "replace the not used event.Typemux to event.Feed\n\n---------\n\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "eth,node: replace the deprecated TypeMux with Feed (#32585)",
"author_name": "Delweng",
"author_login": "jsvisa",
"committed_at": "2026-05-08T02:12:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e71098ba4e0814f2ced7165d518f63b281ad0697",
"body": null,
"is_bot": false,
"headline": "core/state: fix StateDB Reader Error Discard After Commit (#34899)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-07T22:40:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1e3eaa38140c2ba1ed1eefafc126ae08d352ce9",
"body": "…4888)\n\nThis fixes an issue where packets send to the `Unhandled` channel\nconfigured on discv4 could be corrupted when the packet buffer gets\nreused.\n\n---------\n\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "p2p/discover: copy buffer before sending read errors to unhandled (#3…",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-07T13:18:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7b7d4c7e5cd9cd3b596c7a7430942cea8f5a755",
"body": "Fixes the exclusion list of the accessListTracer.\n\n---------\n\nCo-authored-by: Sina M <1591639+s1na@users.noreply.github.com>",
"is_bot": false,
"headline": "eth/tracers/logger: fix exclude address list (#34887)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-07T12:03:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5598fe9588be9d19ab210ebf53e760c7e195d95",
"body": "…k (#32924)\n\nThis PR makes a small update to the `Pending()` method in the legacy\npool. By changing the lock from exclusive to read-only, it aims to\nimprove concurrency performance.\n\n---------\n\nCo-authored-by: rjl493456442 <garyrong0905@gmail.com>",
"is_bot": false,
"headline": "core/txpool: change lock in Pending method of legacy pool to read loc…",
"author_name": "Roshan",
"author_login": "pythonberg1997",
"committed_at": "2026-05-07T08:44:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea1cf7bf5ee07562284f9d050a6def9704d258e7",
"body": "This is an alternative PR for\nhttps://github.com/ethereum/go-ethereum/pull/34746.\nThis PR implements the second approach among the two possible solutions\nmentioned in the above PR.\n\nRequests for unavailable items are possible when the peer is following a\ndifferent fork from us. However this is not expected to happen\nfrequently. Considering the amount of complexity added to the codebase,\nthe simpler approach (this PR) can be preferred.",
"is_bot": false,
"headline": "eth/protocols/eth: stop serving on unavailable responses (#34787)",
"author_name": "Bosul Mun",
"author_login": "healthykim",
"committed_at": "2026-05-06T13:36:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06c30cc7e113a639499c2c5d669901bbfc8c189d",
"body": "This PR adds `AdoptSyncedState()` alongside `Enable()`. It does the same\npathdb bookkeeping (now factored into a shared `resetForReactivation()`\nhelper), but skips the regeneration. The wiring/calling code lands in\n#34626\n\n---------\n\nCo-authored-by: Gary Rong <garyrong0905@gmail.com>",
"is_bot": false,
"headline": "triedb/pathdb: add AdoptSyncedState for snap/2 completion path (#34874)",
"author_name": "Jonny Rhea",
"author_login": "jrhea",
"committed_at": "2026-05-06T13:08:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b92c86deb79dff0338545b0a530442b2c7abf36c",
"body": "When `io.Copy` succeeds but the buffered `Close` fails (e.g. disk full\non `Flush`), the error was swallowed and verification reported a\nmisleading hash mismatch instead of the real I/O failure. Keep the\n`Close` error when `io.Copy` didn't already produce one.\n\n---------\n\nCo-authored-by: Jared Wasinger <j-wasinger@hotmail.com>",
"is_bot": false,
"headline": "internal/download: don't discard `dst.Close` error (#34866)",
"author_name": "Rahman",
"author_login": "tanvirman",
"committed_at": "2026-05-06T13:02:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aaa2b662856dcd8527dfb452ceee605467967fb1",
"body": "based on: https://github.com/ethereum/go-ethereum/pull/34748\n\nspec: https://eips.ethereum.org/EIPS/eip-7981",
"is_bot": false,
"headline": "core: implement eip-7981: Increase Access List Cost (#34755)",
"author_name": "Marius van der Wijden",
"author_login": "MariusVanDerWijden",
"committed_at": "2026-05-06T10:03:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d2af275e1fe34eeafc50bbb61ea5bb96f11b10c",
"body": "Implements https://github.com/ethereum/execution-apis/pull/786/changes\nas discussed on standup today\n\n---------\n\nCo-authored-by: Gary Rong <garyrong0905@gmail.com>",
"is_bot": false,
"headline": "eth/catalyst: allow reorging the head block to a parent (#34767)",
"author_name": "Marius van der Wijden",
"author_login": "MariusVanDerWijden",
"committed_at": "2026-05-06T07:59:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84949107ce4592f901ef77ab082121432bf4b5f6",
"body": null,
"is_bot": false,
"headline": "beacon/engine: fix wrong presize bound (#34860)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-06T07:18:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ff33ba1b6ecfff7087136136ed13dd8c3a3ac38",
"body": "## Summary\n\nFixes #31917.\n\n`geth era-download` now only prints `is stale` when an existing\ndownloaded file fails checksum verification. Missing files are still\ndownloaded normally, but no longer get mislabeled as stale.\n\n## Why\n\n`DownloadFile` used `verifyHash` for both missing files and checksum\nmi\n[…]\nall`\n- `go run ./build/ci.go test`\n- `go run ./build/ci.go lint`\n- `go run ./build/ci.go check_generate`\n- `go run ./build/ci.go check_baddeps`\n\n---------\n\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "internal/download: only report stale existing downloads (#34849)",
"author_name": "Andrii Furmanets",
"author_login": "afurm",
"committed_at": "2026-05-05T20:17:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "60db25b070d5060a379231e6e0f69c047d0ffcbb",
"body": "…#34878)\n\nThe refactor from `for el := plist.Front(); ...; el = el.Next()` to the\nnew `iterList` iterator in #34743 silently dropped two things needed by\nresetTimeout:\n\n1. `nextTimeout = el.Value.(*replyMatcher)` at the top of the loop. This\nassignment is what gives `nextTimeout` its documented mean\n[…]\nout,\ni.e. at least ~500ms backward jump), which is why this regression\nslipped past CI - it is not exercised by any existing unit test, and\nwriting one would require plumbing a clock through the loop.",
"is_bot": false,
"headline": "p2p/discover: restore nextTimeout update in UDPv4 resetTimeout loop (…",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-05-05T13:28:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5b837e578689e7db5679b25d0a159956563f6a93",
"body": "The reconstruct callback indexes parallel response slices (bodies,\nreceipts). Passing the accept counter used the wrong element when an\nearlier header in the same batch hit a stale slot.",
"is_bot": false,
"headline": "eth/downloader: use batch index in deliver reconstruct (#34870)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-05T10:41:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5edb8043824333459a7bd02bcd05868b0d0d997",
"body": "Re-exports errors in bind package.\n---------\n\nCo-authored-by: Marius van der Wijden <m.vanderwijden@live.de>",
"is_bot": false,
"headline": "accounts/abi/bind: re-export event signature errors (#34868)",
"author_name": "TenderDeve",
"author_login": "tenderdeve",
"committed_at": "2026-05-05T09:29:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "efd6cdcff111c37bf49aefba0a7376997780a8c8",
"body": "Fixes the muxTracer to correctly forward events to v2 state\nhooks, i.e. `OnCodeChangeV2` and `OnNonceChangeV2`.",
"is_bot": false,
"headline": "eth/tracers: forward V2 state hooks through mux tracer (#34869)",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-05-04T19:36:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0b21fa11061d3f46de621e38cbbc82c1dc2f819",
"body": "the gapped queue cap was effectively per-sender rather than total — a\nsender pool spread across enough distinct addresses could grow\n`p.gapped` well past `maxGapped`, defeating the resource bound.\n\n`maxGapped` was being compared against `len(p.gapped)`, which is a\n`map[address][]tx` and counts uniqu\n[…]\nby tx hash, so its length is\nthe real total). Also wired up a `blobpool/gapped/count` gauge plus\n`promoted`, `evicted`, and `gappedfull` meters so queue size and churn\nare actually observable in prod.",
"is_bot": false,
"headline": "core/txpool/blobpool: fix gapped queue size cap (#34831)",
"author_name": "Rahman",
"author_login": "tanvirman",
"committed_at": "2026-05-02T11:29:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7155c65abbeec23981ea10ecdbeb1a661426e934",
"body": "Apply block overrides to header in eth_call so EIP-1559 fee fields\nuse the correct overridden basefee.",
"is_bot": false,
"headline": "internal/ethapi: apply block overrides to header in eth_call (#34842)",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-05-01T18:32:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8656efcf5b2bf1e377fe162489d52dd09afac2e4",
"body": "Disables the recently added log indexer from a simulated backend.\nIn most cases the log indexer is not required and unindexed search\nshould be fast enough.\nFixes https://github.com/ethereum/go-ethereum/issues/32552.",
"is_bot": false,
"headline": " ethclient/simulated: disable log indexing by default (#32594)",
"author_name": "hero5512",
"author_login": "hero5512",
"committed_at": "2026-05-01T18:27:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d270e211d1bfdee7e1a4f9f03b0898327636f85a",
"body": "Fixes a condition in a snapshot-related test.",
"is_bot": false,
"headline": "core/state/snapshot: fix condition in iterator traversal test (#34638)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-01T18:22:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41b856d472153296c14b145514f202ad3e67c683",
"body": "This updates the typed `ethclient` model for `eth_simulateV1` call\nresults to include `maxUsedGas`, matching the field already returned by\nthe server-side RPC response.\n\nFollow-up to #32789.",
"is_bot": false,
"headline": "ethclient: add maxUsedGas to simulate call results (#34820)",
"author_name": "Richard Creighton",
"author_login": "RekCuy63",
"committed_at": "2026-05-01T18:18:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9c5fe6d26342d625c9a393bef9ccd5209c6d888",
"body": "The mux tracer fanned out every standard hook to its children but never\nforwarded OnSystemCall{Start,End}. Tracers that rely on these - like\n`logger.jsonLogger`, which uses the start hook to silence its opcode\nhook for the duration of a system call - never got the signal when\nwrapped behind a mux.\n\n\n[…]\ncrashing\nt8n.\n\nForward both hooks through the mux. The V2 fan-out falls back to V1 for\nchildren that only implement the legacy hook, mirroring the precedence\nalready used in `core/state_processor.go`.",
"is_bot": false,
"headline": "eth/tracers: fix evm trace for t8n (#34862)",
"author_name": "felipe",
"author_login": "fselmo",
"committed_at": "2026-05-01T14:38:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a15778c52f3f5e5922d6ecd29bf62df500733c6b",
"body": "This PR addresses one of the biggest performance issue with binary\ntries: storing each internal node individually bloats the index, the\ndisk, and triggers a lot of write amplifications. To fix this issue,\nthis PR serializes groups of nodes together.\n\nBecause we are still looking for the ideal group \n[…]\nth\" of\nthe group tree is made a parameter, but that will be removed in the\nfuture, once the perfect size is known.\n\n\nThis is a rebase of #33658\n\n---------\n\nCo-authored-by: Copilot <copilot@github.com>",
"is_bot": false,
"headline": "trie: group 2^N binary trie nodes in serialization (#34794)",
"author_name": "Guillaume Ballet",
"author_login": "gballet",
"committed_at": "2026-05-01T13:28:19Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "68646229a0275acb18fceef83bf1733ced88ef00",
"body": "Next() function in RawIterator returned true on decompression errors.Now it\nreturns false on those cases. Redundant error check on cmd/era/main.go is also\nremoved.\n\n---------\n\nCo-authored-by: Bosul Mun <bsbs8645@snu.ac.kr>",
"is_bot": false,
"headline": "internal/era/onedb: return false if err (#34816)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-05-01T12:10:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19dc690af86278b4e84fd3d7eee9fd810bcbac25",
"body": "…st (#34639)\n\nThe layer-5 diff condition used `i > 50 || i < 85`, which is true for\nalmost all keys in the 0..255 loop. Use `i > 50 && i < 85` so layer 5\nonly covers the intended band (51..84), consistent with the snapshot\niterator test fix.",
"is_bot": false,
"headline": "triedb/pathdb: fix layer 5 key range in account iterator traversal te…",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-30T16:24:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75a64ee3413ef324641b9306efdb5d57e8a01cf8",
"body": "- Fixes an error shadowing issue in the deliver() function, where a\nstale result from GetDeliverySlot caused the original failure to be\noverwritten by errStaleDelivery.\n- Adds errInvalidBody and errInvalidReceipt to the downloader error\nchecks to properly drop peers who sent invalid responses.\n\n---------\n\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "eth/downloader: drop peers sending invalid bodies or receipts (#34745)",
"author_name": "Bosul Mun",
"author_login": "healthykim",
"committed_at": "2026-04-30T15:55:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01036bed831186d892a3e3e35b32fcf304d4cc29",
"body": "EIP-7825 caps the transaction gas limit at `MaxTxGas`, but after\nAmsterdam/EIP-8037 the transaction gas limit can include state gas\nreservoir in addition to the regular gas dimension. Applying the Osaka\ncap to the full `tx.Gas()` rejects otherwise valid Amsterdam\ntransactions that need more than `Ma\n[…]\nnt block gas limit.\n\nValidation run:\n\n```\ngo test ./core/txpool ./core/txpool/legacypool\ngo test ./core -run TestStateProcessorErrors\n```\n\n---------\n\nCo-authored-by: Gary Rong <garyrong0905@gmail.com>",
"is_bot": false,
"headline": "core: skip tx gas cap after Amsterdam (#34841)",
"author_name": "Giulio rebuffo",
"author_login": "Giulio2002",
"committed_at": "2026-04-28T15:25:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db8d6abced13e81b9a493d5a315164d3cbc9872f",
"body": null,
"is_bot": false,
"headline": "accounts/keystore: enable fsnotify watcher on linux/arm64 (#34834)",
"author_name": "Miki Noir",
"author_login": "tooshiNoko",
"committed_at": "2026-04-28T13:36:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7a007fd466f7cd16d12ac58eef29383c8ad8d5f",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "fix error in buildPayload with fullParams",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-04-28T12:53:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c0d299c52c84141ad1f8ee5ea56df0003739afb",
"body": null,
"is_bot": false,
"headline": "core/state: opt stateObject.GetState (#34825)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-28T12:33:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c10f4ce923444418c4138d2627845d232858d5e0",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into gary/geth-v1.17.2",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-04-28T12:28:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d27870687b9d4041bd98bf756222ffc6a5052cd",
"body": "…c-pr161\n\nminer, tests/preconf: fix preconf baseFee recalculation",
"is_bot": false,
"headline": "Merge pull request #163 from mantlenetworkio/sh/preconf-basefee-recal…",
"author_name": "Gary",
"author_login": "pandainzoo",
"committed_at": "2026-04-28T12:26:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5d9c8d1c2745256b6fb45e1108758720cc4868b",
"body": null,
"is_bot": false,
"headline": "core: implement BAL reader for prefetching (#33737)",
"author_name": "rjl493456442",
"author_login": "rjl493456442",
"committed_at": "2026-04-28T11:10:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7e8fec0bb29a98640de8d24b1703f33b28280fb",
"body": null,
"is_bot": false,
"headline": "fix: keep preconf basefee in sync with sealed blocks",
"author_name": "ivan",
"author_login": "asdv23",
"committed_at": "2026-04-28T09:56:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4dc7d461556a2ccde3cd6bbe816bd448755a0e07",
"body": "Here, we change the EVM stack implementation to use an 'arena', i.e.\na shared allocation pool for sub-call stacks. The stack is now more\nGC-friendly, since it is a slice of uint256 values instead of a slice of pointers.\n\nCode that pushes an item to the stack has been changed to get() the top\nitem, then overwrite it.\n\nThe PR is a rewrite/rebase of #30362.\n\n---------\n\nCo-authored-by: Martin Holst Swende <martin@swende.se>\nCo-authored-by: Marius van der Wijden <m.vanderwijden@live.de>",
"is_bot": false,
"headline": "core/vm: implement stack arena (#33960)",
"author_name": "Guillaume Ballet",
"author_login": "gballet",
"committed_at": "2026-04-28T09:10:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51c97216c5f1c512781de46a85e756c15ed2c888",
"body": "…ers (#34743)\n\nSave `el.Next()` before calling `plist.Remove(el)` so iteration\ncontinues correctly. Previously the loop exited after removing the first\nexpired matcher because `Remove` invalidates the element's links.\n\n---------\n\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "p2p/discover: fix timeout loop early exit when removing expired match…",
"author_name": "Rahman",
"author_login": "tanvirman",
"committed_at": "2026-04-28T08:57:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "822e7c648618a43e7f8326868b9334b9976185c8",
"body": "Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>",
"is_bot": false,
"headline": "accounts/scwallet: truncate before write (#34815)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-27T14:13:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "442bd28b0bad76674348a67b4c9f8689170bfcdb",
"body": "… (#34785)",
"is_bot": false,
"headline": "cmd/evm/internal/t8ntool: stream t8n alloc to ease heavy memory cases…",
"author_name": "felipe",
"author_login": "fselmo",
"committed_at": "2026-04-27T12:35:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a06558042299eba2e19ca656d3f46edb85df1420",
"body": "`StateSetWithOrigin.decode()` was missing size computation after\ndeserializing origin data, causing `size` to remain zero after journal\nreload. Added the same calculation logic used in\n`NewStateSetWithOrigin()`.",
"is_bot": false,
"headline": "triedb/pathdb: compute size in StateSetWithOrigin.decode (#34828)",
"author_name": "Rahman",
"author_login": "tanvirman",
"committed_at": "2026-04-27T07:25:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d5da603717417ffe63d238a92a8cd9dc4e02745",
"body": "This PR updates the BAL structure definition to the latest the spec,\n\n- Balance has been changed from [16]byte to uint256\n- Storage key and value has been changed from [32]byte to uint256 \n- BlockAccessList has been changed from a struct to a slice of\nAccountChanges\n- TxIndex has been changed from uint16 to uint32",
"is_bot": false,
"headline": "core/types/bal: update the BAL definition to the latest spec (#34799)",
"author_name": "rjl493456442",
"author_login": "rjl493456442",
"committed_at": "2026-04-26T15:32:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b26391773d7cec44dcc52326b5fbfae9cc63f573",
"body": null,
"is_bot": false,
"headline": "core/state: and instead of or (#34819)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-26T09:54:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b70d9a4b8e409640d5f77af860864e1369dc87fd",
"body": "The stateReadList field introduced by #34776 to track the state access\nfootprint for EIP-7928 was not propagated by StateDB.Copy. Every other\nper-transaction field that lives alongside it (accessList,\ntransientStorage, journal, witness, accessEvents) is copied explicitly,\nso this field was simply mi\n[…]\nte.\n\nAdd a Copy method on bal.StateAccessList and invoke it from\nStateDB.Copy, matching the pattern used for accessList and accessEvents.\n\n---------\n\nCo-authored-by: jwasinger <j-wasinger@hotmail.com>",
"is_bot": false,
"headline": "core/state,core/types/bal: copy stateReadList in StateDB.Copy",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-04-24T15:30:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8091994e7b5954827ad68ccca463647b220b1621",
"body": "The testPeer request counters (nAccountRequests, nStorageRequests,\nnBytecodeRequests, nTrienodeRequests) were plain int fields incremented\nwith ++. These increments happen in Request* methods that are invoked\nconcurrently by the Syncer from multiple goroutines\n(assignBytecodeTasks, assignStorageTask\n[…]\nyncManyUseless,\nTestMultiSyncManyUselessWithLowTimeout,\nTestMultiSyncManyUnresponsive, TestSyncWithStorageAndOneCappedPeer,\nTestSyncWithStorageAndCorruptPeer, and\nTestSyncWithStorageAndNonProvingPeer.",
"is_bot": false,
"headline": "eth/protocols/snap: fix data race on testPeer counters (#34802)",
"author_name": "rayoo",
"author_login": "rayjun",
"committed_at": "2026-04-24T11:37:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0da22dee450115c0d4841eae7c555a503b85cdc9",
"body": "scheduleFetches.func1 is the biggest allocator in the long-duration\nprofile of node (11% of total alloc_space).\nEach peer-iteration pre-allocated make([]common.Hash, 0, maxTxRetrievals),\neven for peers that end up collecting no new hashes (all their announces\nwere already being fetched by someone el\n[…]\nr the slice allocation to the first append. Peers that collect zero hashes\nnow pay zero allocation, which is the common case on the timeoutTrigger\npath where all peers with any announces are iterated.",
"is_bot": false,
"headline": "eth/fetcher: lazy-allocate hashes slice in scheduleFetches",
"author_name": "Bosul Mun",
"author_login": "healthykim",
"committed_at": "2026-04-24T11:24:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c876755839b2d6ebffa1c43538c42713e769347d",
"body": "Co-authored-by: jwasinger <j-wasinger@hotmail.com>",
"is_bot": false,
"headline": "Update eth/fetcher/tx_fetcher.go",
"author_name": "Sina M",
"author_login": "s1na",
"committed_at": "2026-04-24T10:12:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33c1bd59ff23a7b22f8804a6b83833015edfc159",
"body": "When `rpc.Client.Close()` is called, the TCP connection is torn down\nwithout sending a WebSocket Close frame. The server sees `websocket:\nclose 1006 (abnormal closure): unexpected EOF` instead of a clean 1000\n(normal closure).\n\n### Root cause\n\n`websocketCodec.close()` delegates to `jsonCodec.close()\n[…]\ntion, and reuses the existing `wsPingWriteTimeout` (5s)\nconstant.\n\n`WriteControl` errors are safe to ignore — the connection may already be\nbroken by the time we attempt the close frame.\n\nFixes #30482",
"is_bot": false,
"headline": "rpc: send WebSocket close frame on client disconnect (#33909)",
"author_name": "YQ",
"author_login": "jiayaoqijia",
"committed_at": "2026-04-24T09:27:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "86be2852daa4bbfb4f18a440c3d25341867aa7ad",
"body": "Signed-off-by: pandainzoo <gary.zhu@mantle.xyz>",
"is_bot": false,
"headline": "SubGas for depoistTx",
"author_name": "pandainzoo",
"author_login": "pandainzoo",
"committed_at": "2026-04-24T03:31:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ece4cd1436fa5ea2380eb819e125ee125efc643",
"body": null,
"is_bot": false,
"headline": "crypto: fix unit test (#34811)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-24T02:02:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "526ad4f6f1dc79d36ae8a7bd75a3ff18ac8a0a60",
"body": "This PR adds three cell-level kzg functions required for the sparse\nblobpool (eth/72).\n\n- VerifyCells: Verifies cells corresponding to proofs. This is used to\nverify cells received from eth/72 peers.\n- ComputeCells: Computes cells from blobs. This is needed because user\nsubmissions and eth/71 transa\n[…]\nain blobs, while\neth/72 peers expect cells.\n- RecoverBlobs: Recovers blobs from partial cells. This is needed to\nsupport both eth/71 and eth/72\n\n---------\n\nCo-authored-by: Felix Lange <fjl@twurst.com>",
"is_bot": false,
"headline": "crypto/kzg4844: add cell-related functions (#34766)",
"author_name": "Bosul Mun",
"author_login": "healthykim",
"committed_at": "2026-04-23T13:39:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2ca74d2ef9314c18a70e396858ddc6dc7de2350f",
"body": "scheduleFetches.func1 is the single biggest allocator in the Pyroscope\nprofile of a busy node (~13.5 GB/hr, 8% of total alloc_space). Each\npeer-iteration pre-allocated 'make([]common.Hash, 0, maxTxRetrievals)'\n= 8 KB, even for peers that end up collecting no new hashes (all their\nannounces were alre\n[…]\n unchanged unchanged unchanged (fast path)\n 100p/allFetching -62% -92% -20%\n 500p/3new -22% -44% -7%\n geomean -33% -65% -9%",
"is_bot": false,
"headline": "eth/fetcher: lazy-allocate hashes slice in scheduleFetches",
"author_name": "Sina Mahmoodi",
"author_login": "s1na",
"committed_at": "2026-04-23T08:38:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8e2107dc39dc9dab132150ec915e7ac299f9eb48",
"body": "The rlpx ping command mishandled disconnect responses on two counts:\nthe error return from rlp.DecodeBytes was ignored, so decode failures\nsilently produced an \"invalid disconnect message\" error with no context;\nand the decoder assumed the spec-compliant list form exclusively, while\nolder geth and s\n[…]\nnnectMessage), and on decode failure include the raw\npayload so operators can see exactly what the peer sent. Add a unit\n test for the decoder covering both forms plus the empty-payload error\n path.",
"is_bot": false,
"headline": "cmd/devp2p: fix disconnect decoding in rlpx ping (#34781)",
"author_name": "Matus Kysel",
"author_login": "MatusKysel",
"committed_at": "2026-04-22T14:48:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b0ead5e17bb3e479137fb545da2fef27e1e51672",
"body": "Adds the installer + archive steps that were done on appveyor to gitea\nbuilder.",
"is_bot": false,
"headline": ".gitea: add installer and archive steps for windows (#34793)",
"author_name": "Sina M",
"author_login": "s1na",
"committed_at": "2026-04-22T14:18:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb3283fb2ef8b606d35fb6e30d2e036c186be45e",
"body": "…ld (#34784)\n\nThis PR reverts the last change to the freebsd build, and it fixes the\n_direct_ FreeBSD build.\n\nHere, we change the upstream of github.com/karalabe/hid to its new home,\ngithub.com/ethereum/hid. The new dependency includes a dummy.go file\nthat makes `go mod vendor` work.\n\n##### Origin o\n[…]\nlabe/hid`, the ports maintainer tried to use the\nversion of `hidapi` that is provided by the ports. To do so, he had to\nmodify the way things are included. This broke the _out of ports_\nFreeBSD build.",
"is_bot": false,
"headline": "accounts/usbwallet: revert github.com/karalabe/hid to fix freebsd bui…",
"author_name": "Guillaume Ballet",
"author_login": "gballet",
"committed_at": "2026-04-22T10:32:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "87b030780e0edc82a1d48969fd05a0f9a84727f2",
"body": "Difference to Appveyor:\n\n- Missing 386 build. Hit some issue because user-space memory there is\naround 2Gbs. Also seems generally extremely niche.\n- Not doing the archive step and NSIS installer and uploads (those are\ndone on the builder).",
"is_bot": false,
"headline": ".github: add windows runner (#34742)",
"author_name": "Sina M",
"author_login": "s1na",
"committed_at": "2026-04-22T10:18:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f02965aab977e8e73942163a357443d43fe9139",
"body": "This is a pre-requisite PR for landing the BAL construction",
"is_bot": false,
"headline": "core: track the state access footprint (#34776)",
"author_name": "rjl493456442",
"author_login": "rjl493456442",
"committed_at": "2026-04-22T05:42:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3abc4cea3532e71f944a9b3e06b4341a6e338b59",
"body": null,
"is_bot": false,
"headline": "core/state: use address hash cache if available (#34780)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-22T03:05:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dca3cf02a22cdc6aae266f4c7e013db1c330e1a0",
"body": null,
"is_bot": false,
"headline": "core: pre-allocate the receipt slice (#34786)",
"author_name": "cui",
"author_login": "cuiweixie",
"committed_at": "2026-04-22T03:02:44Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 15,
"commits_last_year": 962,
"latest_release_at": "2026-04-21T10:37:44Z",
"latest_release_tag": "v1.5.5",
"releases_from_tags": false,
"days_since_last_push": 8,
"active_weeks_last_year": 47,
"days_since_latest_release": 97,
"mean_days_between_releases": 45.6
},
"community": {
"has_readme": false,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": null,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "github.com/ethereum/go-ethereum",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": false,
"registry_url": "https://pkg.go.dev/github.com/ethereum/go-ethereum",
"is_deprecated": false,
"latest_version": "v1.17.5",
"repository_url": "https://github.com/ethereum/go-ethereum",
"versions_count": 244,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-27T08:14:16Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 10,
"stars": 8,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2023-10-31",
"count": 1
},
{
"date": "2023-12-27",
"count": 1
},
{
"date": "2024-02-17",
"count": 1
},
{
"date": "2024-03-05",
"count": 1
},
{
"date": "2024-03-12",
"count": 1
},
{
"date": "2024-06-06",
"count": 1
},
{
"date": "2025-01-07",
"count": 1
},
{
"date": "2025-01-14",
"count": 1
},
{
"date": "2025-02-27",
"count": 1
},
{
"date": "2026-05-01",
"count": 1
}
],
"complete": true,
"collected": 10,
"total_forks": 10
},
"star_history": null,
"open_issues_and_prs": 1
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [
"accounts/usbwallet/trezor/messages-common.proto",
"accounts/usbwallet/trezor/messages-ethereum.proto",
"accounts/usbwallet/trezor/messages-management.proto",
"accounts/usbwallet/trezor/messages.proto"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"cmd/keeper/go.mod",
"go.mod"
],
"largest_source_bytes": 2409168,
"source_files_sampled": 1586,
"oversized_source_files": 32,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 2925
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.47.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": 67
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.78.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-hrxh-6v49-42gf",
"GHSA-p77j-4mvh-x3m3",
"GO-2026-4762",
"GO-2026-6061"
],
"fixed_version": "1.82.1",
"advisory_count": 4,
"oldest_advisory_days": 131
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.40.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh2q-q3fh-2475",
"GO-2026-5506"
],
"fixed_version": "1.41.0",
"advisory_count": 2,
"oldest_advisory_days": 111
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.40.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7,
"advisory_ids": [
"GHSA-hfvc-g4fc-pqhx",
"GO-2026-5426"
],
"fixed_version": "1.43.0",
"advisory_count": 2,
"oldest_advisory_days": 110
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"direct": true,
"version": "v1.40.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-w8rr-5gcm-pp58",
"GO-2026-4985"
],
"fixed_version": "1.43.0",
"advisory_count": 2,
"oldest_advisory_days": 110
},
{
"name": "github.com/pion/dtls/v2",
"direct": false,
"version": "v2.2.7",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-9f3f-wv7r-qc8r",
"GO-2026-4479"
],
"fixed_version": "3.1.1",
"advisory_count": 2,
"oldest_advisory_days": 166
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.49.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": 81
},
{
"name": "github.com/klauspost/compress",
"direct": true,
"version": "v1.17.8",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5841"
],
"fixed_version": "1.18.7",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.40.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5024"
],
"fixed_version": "0.44.0",
"advisory_count": 1,
"oldest_advisory_days": 66
},
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.33.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 13
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 2,
"unknown": 3,
"critical": 2,
"moderate": 3
},
"advisory_count": 51,
"affected_count": 10,
"assessed_count": 159,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 7
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.0"
},
{
"name": "github.com/BurntSushi/toml",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.0"
},
{
"name": "github.com/Microsoft/go-winio",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.2"
},
{
"name": "github.com/VictoriaMetrics/fastcache",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.13.0"
},
{
"name": "github.com/aws/aws-sdk-go-v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.21.2"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.45"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.13.43"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/route53",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.30.2"
},
{
"name": "github.com/cespare/cp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.0"
},
{
"name": "github.com/cloudflare/cloudflare-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.114.0"
},
{
"name": "github.com/cockroachdb/pebble",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.5"
},
{
"name": "github.com/consensys/gnark-crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.18.1"
},
{
"name": "github.com/crate-crypto/go-eth-kzg",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.0"
},
{
"name": "github.com/davecgh/go-spew",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.1"
},
{
"name": "github.com/dchest/siphash",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.3"
},
{
"name": "github.com/deckarep/golang-set/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.6.0"
},
{
"name": "github.com/decred/dcrd/dcrec/secp256k1/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.0.1"
},
{
"name": "github.com/donovanhide/eventsource",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20210830082556-c59027999da0"
},
{
"name": "github.com/dop251/goja",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20230605162241-28ee0ee714f3"
},
{
"name": "github.com/ethereum/c-kzg-4844/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.1.6"
},
{
"name": "github.com/ethereum/go-bigmodexpfix",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250911101455-f9e208c548ab"
},
{
"name": "github.com/ethereum/hid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1-0.20260421154323-c2ab8d9bf68a"
},
{
"name": "github.com/fatih/color",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.16.0"
},
{
"name": "github.com/ferranbt/fastssz",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.4"
},
{
"name": "github.com/fsnotify/fsnotify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/gballet/go-libpcsclite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20190607065134-2772fd86a8ff"
},
{
"name": "github.com/gofrs/flock",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.12.1"
},
{
"name": "github.com/golang-jwt/jwt/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.5.2"
},
{
"name": "github.com/golang/snappy",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/google/gofuzz",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.0"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/gorilla/websocket",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.2"
},
{
"name": "github.com/graph-gophers/graphql-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "github.com/hashicorp/go-bexpr",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.10"
},
{
"name": "github.com/holiman/billy",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250707135307-f2f9b9aae7db"
},
{
"name": "github.com/holiman/bloomfilter/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.0.3"
},
{
"name": "github.com/holiman/uint256",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.2"
},
{
"name": "github.com/huin/goupnp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "github.com/influxdata/influxdb-client-go/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.4.0"
},
{
"name": "github.com/influxdata/influxdb1-client",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20220302092344-a9ab5670611c"
},
{
"name": "github.com/jackpal/go-nat-pmp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.2"
},
{
"name": "github.com/jedisct1/go-minisign",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20230811132847-661be99b8267"
},
{
"name": "github.com/klauspost/compress",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.17.8"
},
{
"name": "github.com/kylelemons/godebug",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.0"
},
{
"name": "github.com/mattn/go-colorable",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.13"
},
{
"name": "github.com/mattn/go-isatty",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.20"
},
{
"name": "github.com/naoina/toml",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.2-0.20170918210437-9fafd6967416"
},
{
"name": "github.com/peterh/liner",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.1-0.20190123174540-a2c9a5303de7"
},
{
"name": "github.com/pion/stun/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.0.0"
},
{
"name": "github.com/protolambda/bls12-381-util",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.0"
},
{
"name": "github.com/protolambda/zrnt",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.34.1"
},
{
"name": "github.com/protolambda/ztyp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.2.2"
},
{
"name": "github.com/rs/cors",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.7.0"
},
{
"name": "github.com/shirou/gopsutil",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.21.4-0.20210419000835-c7a38de76ee5+incompatible"
},
{
"name": "github.com/status-im/keycard-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.2.0"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "github.com/supranational/blst",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.3.16"
},
{
"name": "github.com/syndtr/goleveldb",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1-0.20210819022825-2ae1ddf74ef7"
},
{
"name": "github.com/urfave/cli/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.27.5"
},
{
"name": "go.opentelemetry.io/otel",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.40.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.40.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.40.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.40.0"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.40.0"
},
{
"name": "go.opentelemetry.io/otel/trace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.40.0"
},
{
"name": "go.uber.org/automaxprocs",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.2"
},
{
"name": "go.uber.org/goleak",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
},
{
"name": "golang.org/x/crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.0"
},
{
"name": "golang.org/x/exp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20230626212559-97b1e661b5df"
},
{
"name": "golang.org/x/sync",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.19.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.40.0"
},
{
"name": "golang.org/x/text",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.33.0"
},
{
"name": "golang.org/x/time",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.9.0"
},
{
"name": "golang.org/x/tools",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.40.0"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.36.11"
},
{
"name": "gopkg.in/natefinch/lumberjack.v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.1"
},
{
"name": "gopkg.in/yaml.v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.0.1"
},
{
"name": "github.com/ProjectZKM/Ziren/crates/go-runtime/zkvm_runtime",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20251001021608-1fe7b43fc4d6"
},
{
"name": "github.com/grafana/pyroscope-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.2.7"
},
{
"name": "github.com/ProjectZKM/Ziren/crates/go-runtime/zkvm_runtime",
"manifest": "cmd/keeper/go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20251001021608-1fe7b43fc4d6"
},
{
"name": "github.com/ethereum/go-ethereum",
"manifest": "cmd/keeper/go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-00010101000000-000000000000"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/aws/aws-sdk-go-v2",
"direct": true,
"version": "v1.21.2",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/config",
"direct": true,
"version": "v1.18.45",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"direct": true,
"version": "v1.13.43",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/route53",
"direct": true,
"version": "v1.30.2",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/storage/azblob",
"direct": true,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/burntsushi/toml",
"direct": true,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/cespare/cp",
"direct": true,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/cloudflare/cloudflare-go",
"direct": true,
"version": "v0.114.0",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/pebble",
"direct": true,
"version": "v1.1.5",
"ecosystem": "go"
},
{
"name": "github.com/consensys/gnark-crypto",
"direct": true,
"version": "v0.18.1",
"ecosystem": "go"
},
{
"name": "github.com/crate-crypto/go-eth-kzg",
"direct": true,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": true,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/dchest/siphash",
"direct": true,
"version": "v1.2.3",
"ecosystem": "go"
},
{
"name": "github.com/deckarep/golang-set/v2",
"direct": true,
"version": "v2.6.0",
"ecosystem": "go"
},
{
"name": "github.com/decred/dcrd/dcrec/secp256k1/v4",
"direct": true,
"version": "v4.0.1",
"ecosystem": "go"
},
{
"name": "github.com/donovanhide/eventsource",
"direct": true,
"version": "v0.0.0-20210830082556-c59027999da0",
"ecosystem": "go"
},
{
"name": "github.com/dop251/goja",
"direct": true,
"version": "v0.0.0-20230605162241-28ee0ee714f3",
"ecosystem": "go"
},
{
"name": "github.com/ethereum/c-kzg-4844/v2",
"direct": true,
"version": "v2.1.6",
"ecosystem": "go"
},
{
"name": "github.com/ethereum/go-bigmodexpfix",
"direct": true,
"version": "v0.0.0-20250911101455-f9e208c548ab",
"ecosystem": "go"
},
{
"name": "github.com/ethereum/hid",
"direct": true,
"version": "v1.0.1-0.20260421154323-c2ab8d9bf68a",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": true,
"version": "v1.16.0",
"ecosystem": "go"
},
{
"name": "github.com/ferranbt/fastssz",
"direct": true,
"version": "v0.1.4",
"ecosystem": "go"
},
{
"name": "github.com/fsnotify/fsnotify",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/gballet/go-libpcsclite",
"direct": true,
"version": "v0.0.0-20190607065134-2772fd86a8ff",
"ecosystem": "go"
},
{
"name": "github.com/gofrs/flock",
"direct": true,
"version": "v0.12.1",
"ecosystem": "go"
},
{
"name": "github.com/golang-jwt/jwt/v4",
"direct": true,
"version": "v4.5.2",
"ecosystem": "go"
},
{
"name": "github.com/golang/snappy",
"direct": true,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/google/gofuzz",
"direct": true,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": true,
"version": "v1.4.2",
"ecosystem": "go"
},
{
"name": "github.com/grafana/pyroscope-go",
"direct": true,
"version": "v1.2.7",
"ecosystem": "go"
},
{
"name": "github.com/graph-gophers/graphql-go",
"direct": true,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-bexpr",
"direct": true,
"version": "v0.1.10",
"ecosystem": "go"
},
{
"name": "github.com/holiman/billy",
"direct": true,
"version": "v0.0.0-20250707135307-f2f9b9aae7db",
"ecosystem": "go"
},
{
"name": "github.com/holiman/bloomfilter/v2",
"direct": true,
"version": "v2.0.3",
"ecosystem": "go"
},
{
"name": "github.com/holiman/uint256",
"direct": true,
"version": "v1.3.2",
"ecosystem": "go"
},
{
"name": "github.com/huin/goupnp",
"direct": true,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/influxdata/influxdb-client-go/v2",
"direct": true,
"version": "v2.4.0",
"ecosystem": "go"
},
{
"name": "github.com/influxdata/influxdb1-client",
"direct": true,
"version": "v0.0.0-20220302092344-a9ab5670611c",
"ecosystem": "go"
},
{
"name": "github.com/jackpal/go-nat-pmp",
"direct": true,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/jedisct1/go-minisign",
"direct": true,
"version": "v0.0.0-20230811132847-661be99b8267",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/compress",
"direct": true,
"version": "v1.17.8",
"ecosystem": "go"
},
{
"name": "github.com/kylelemons/godebug",
"direct": true,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": true,
"version": "v0.1.13",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": true,
"version": "v0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": true,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/naoina/toml",
"direct": true,
"version": "v0.1.2-0.20170918210437-9fafd6967416",
"ecosystem": "go"
},
{
"name": "github.com/peterh/liner",
"direct": true,
"version": "v1.1.1-0.20190123174540-a2c9a5303de7",
"ecosystem": "go"
},
{
"name": "github.com/pion/stun/v2",
"direct": true,
"version": "v2.0.0",
"ecosystem": "go"
},
{
"name": "github.com/projectzkm/ziren/crates/go-runtime/zkvm_runtime",
"direct": true,
"version": "v0.0.0-20251001021608-1fe7b43fc4d6",
"ecosystem": "go"
},
{
"name": "github.com/protolambda/bls12-381-util",
"direct": true,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/protolambda/zrnt",
"direct": true,
"version": "v0.34.1",
"ecosystem": "go"
},
{
"name": "github.com/protolambda/ztyp",
"direct": true,
"version": "v0.2.2",
"ecosystem": "go"
},
{
"name": "github.com/rs/cors",
"direct": true,
"version": "v1.7.0",
"ecosystem": "go"
},
{
"name": "github.com/shirou/gopsutil",
"direct": true,
"version": "v3.21.4-0.20210419000835-c7a38de76ee5+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/status-im/keycard-go",
"direct": true,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "github.com/supranational/blst",
"direct": true,
"version": "v0.3.16",
"ecosystem": "go"
},
{
"name": "github.com/syndtr/goleveldb",
"direct": true,
"version": "v1.0.1-0.20210819022825-2ae1ddf74ef7",
"ecosystem": "go"
},
{
"name": "github.com/urfave/cli/v2",
"direct": true,
"version": "v2.27.5",
"ecosystem": "go"
},
{
"name": "github.com/victoriametrics/fastcache",
"direct": true,
"version": "v1.13.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"direct": true,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"direct": true,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"direct": true,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": true,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/automaxprocs",
"direct": true,
"version": "v1.5.2",
"ecosystem": "go"
},
{
"name": "go.uber.org/goleak",
"direct": true,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": true,
"version": "v0.0.0-20230626212559-97b1e661b5df",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": true,
"version": "v0.19.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.33.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": true,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": true,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": true,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "gopkg.in/natefinch/lumberjack.v2",
"direct": true,
"version": "v2.2.1",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": true,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/feature/ec2/imds",
"direct": false,
"version": "v1.13.13",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/configsources",
"direct": false,
"version": "v1.1.43",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2",
"direct": false,
"version": "v2.4.37",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/ini",
"direct": false,
"version": "v1.3.45",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url",
"direct": false,
"version": "v1.9.37",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sso",
"direct": false,
"version": "v1.15.2",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/ssooidc",
"direct": false,
"version": "v1.17.3",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/sts",
"direct": false,
"version": "v1.23.2",
"ecosystem": "go"
},
{
"name": "github.com/aws/smithy-go",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/azcore",
"direct": false,
"version": "v1.7.0",
"ecosystem": "go"
},
{
"name": "github.com/azure/azure-sdk-for-go/sdk/internal",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/bits-and-blooms/bitset",
"direct": false,
"version": "v1.20.0",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v5",
"direct": false,
"version": "v5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/errors",
"direct": false,
"version": "v1.11.3",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/fifo",
"direct": false,
"version": "v0.0.0-20240606204812-0bbfbd93a7ce",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/logtags",
"direct": false,
"version": "v0.0.0-20230118201751-21c54148d20b",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/redact",
"direct": false,
"version": "v1.1.5",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/tokenbucket",
"direct": false,
"version": "v0.0.0-20230807174530-cc333fc44b06",
"ecosystem": "go"
},
{
"name": "github.com/cpuguy83/go-md2man/v2",
"direct": false,
"version": "v2.0.5",
"ecosystem": "go"
},
{
"name": "github.com/datadog/zstd",
"direct": false,
"version": "v1.4.5",
"ecosystem": "go"
},
{
"name": "github.com/deepmap/oapi-codegen",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/dlclark/regexp2",
"direct": false,
"version": "v1.7.0",
"ecosystem": "go"
},
{
"name": "github.com/emicklei/dot",
"direct": false,
"version": "v1.6.2",
"ecosystem": "go"
},
{
"name": "github.com/fjl/gencodec",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/garslo/gogen",
"direct": false,
"version": "v0.0.0-20170306192744-1d203ffc1f61",
"ecosystem": "go"
},
{
"name": "github.com/getsentry/sentry-go",
"direct": false,
"version": "v0.27.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-ole/go-ole",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/go-sourcemap/sourcemap",
"direct": false,
"version": "v2.1.3+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-json",
"direct": false,
"version": "v0.10.4",
"ecosystem": "go"
},
{
"name": "github.com/gogo/protobuf",
"direct": false,
"version": "v1.3.2",
"ecosystem": "go"
},
{
"name": "github.com/golang/protobuf",
"direct": false,
"version": "v1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/google/go-querystring",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/google/pprof",
"direct": false,
"version": "v0.0.0-20230207041349-798e818bf904",
"ecosystem": "go"
},
{
"name": "github.com/grafana/pyroscope-go/godeltaprof",
"direct": false,
"version": "v0.1.9",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"direct": false,
"version": "v2.27.7",
"ecosystem": "go"
},
{
"name": "github.com/influxdata/line-protocol",
"direct": false,
"version": "v0.0.0-20200327222509-2487e7298839",
"ecosystem": "go"
},
{
"name": "github.com/jmespath/go-jmespath",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/kilic/bls12-381",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/cpuid/v2",
"direct": false,
"version": "v2.0.9",
"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/mattn/go-runewidth",
"direct": false,
"version": "v0.0.13",
"ecosystem": "go"
},
{
"name": "github.com/matttproud/golang_protobuf_extensions",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/minio/sha256-simd",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/mapstructure",
"direct": false,
"version": "v1.4.1",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/pointerstructure",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/naoina/go-stringutil",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/opentracing/opentracing-go",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/pion/dtls/v2",
"direct": false,
"version": "v2.2.7",
"ecosystem": "go"
},
{
"name": "github.com/pion/logging",
"direct": false,
"version": "v0.2.2",
"ecosystem": "go"
},
{
"name": "github.com/pion/transport/v2",
"direct": false,
"version": "v2.2.1",
"ecosystem": "go"
},
{
"name": "github.com/pion/transport/v3",
"direct": false,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": false,
"version": "v1.15.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.42.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/rivo/uniseg",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/rogpeppe/go-internal",
"direct": false,
"version": "v1.14.1",
"ecosystem": "go"
},
{
"name": "github.com/russross/blackfriday/v2",
"direct": false,
"version": "v2.1.0",
"ecosystem": "go"
},
{
"name": "github.com/stackexchange/wmi",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/objx",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/tklauser/go-sysconf",
"direct": false,
"version": "v0.3.12",
"ecosystem": "go"
},
{
"name": "github.com/tklauser/numcpus",
"direct": false,
"version": "v0.6.1",
"ecosystem": "go"
},
{
"name": "github.com/xrash/smetrics",
"direct": false,
"version": "v0.0.0-20240521201337-686a1a2994c1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.40.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/proto/otlp",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.31.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.49.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260128011058-8636f8732409",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260128011058-8636f8732409",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.78.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v2",
"direct": false,
"version": "v2.4.0",
"ecosystem": "go"
},
{
"name": "tinyrpc",
"direct": false,
"version": "1.1.4",
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 159,
"direct_count": 79,
"indirect_count": 80
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 139,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 32
},
"bus_factor": 3,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "obscuren",
"commits": 3951,
"avatar_url": "https://avatars.githubusercontent.com/u/6264126?v=4"
},
{
"type": "User",
"login": "karalabe",
"commits": 2681,
"avatar_url": "https://avatars.githubusercontent.com/u/129561?v=4"
},
{
"type": "User",
"login": "fjl",
"commits": 1629,
"avatar_url": "https://avatars.githubusercontent.com/u/6915?v=4"
},
{
"type": "User",
"login": "holiman",
"commits": 826,
"avatar_url": "https://avatars.githubusercontent.com/u/142290?v=4"
},
{
"type": "User",
"login": "rjl493456442",
"commits": 602,
"avatar_url": "https://avatars.githubusercontent.com/u/5959481?v=4"
},
{
"type": "User",
"login": "tgerring",
"commits": 569,
"avatar_url": "https://avatars.githubusercontent.com/u/731472?v=4"
},
{
"type": "User",
"login": "zelig",
"commits": 377,
"avatar_url": "https://avatars.githubusercontent.com/u/769725?v=4"
},
{
"type": "User",
"login": "MariusVanDerWijden",
"commits": 335,
"avatar_url": "https://avatars.githubusercontent.com/u/16664698?v=4"
},
{
"type": "User",
"login": "gballet",
"commits": 258,
"avatar_url": "https://avatars.githubusercontent.com/u/3272758?v=4"
},
{
"type": "User",
"login": "CJentzsch",
"commits": 226,
"avatar_url": "https://avatars.githubusercontent.com/u/8452011?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.274
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"check-docker-build.yml",
"check-make-build.yml",
"freebsd.yml",
"go.yml",
"pages.yaml",
"validate_pr.yml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 9,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 2,
"reason": "2 out of 8 merged PRs checked by a CI test -- score normalized to 2",
"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": 5,
"reason": "Found 4/8 approved changesets -- score normalized to 5",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 42 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no 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 0 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": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"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": null,
"reason": "no releases found",
"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": "31 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "351f6a70ac4081a1287d14348a973917ec0dc016",
"ran_at": "2026-07-28T03:54:35Z",
"aggregate_score": 5.1,
"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-20T02:58:33Z",
"oldest_open_prs": [
{
"number": 170,
"created_at": "2026-07-07T06:02:40Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-20T02:56:48Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/mantle-xyz/op-geth",
"host": "github.com",
"name": "op-geth",
"owner": "mantle-xyz"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"security": 49,
"vitality": 86,
"community": 23,
"governance": 69,
"engineering": 55
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 89,
"inputs": {
"commits_last_year": 962,
"human_commit_share": 1,
"days_since_last_push": 8,
"active_weeks_last_year": 47
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 8 days ago",
"points": 28.8,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 8
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "47/52 weeks with commits",
"points": 32.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 47
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "962 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 962
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 82,
"inputs": {
"releases_count": 15,
"latest_release_tag": "v1.5.5",
"releases_from_tags": false,
"days_since_latest_release": 97,
"mean_days_between_releases": 45.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "15 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 15
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 97 days ago",
"points": 27,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 97
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~45.6 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 45.6
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": 8,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 8 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 8
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "critical",
"name": "Community & Adoption",
"value": 23,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 22,
"inputs": {
"forks": 10,
"stars": 8,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "8 stars",
"points": 13.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 8
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "10 forks",
"points": 8,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 10
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": false,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (LGPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "LGPL-3.0"
}
}
],
"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": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 69,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 100,
"top_contributor_share": 0.274
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 27% of commits",
"points": 16.3,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 27
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "100 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 100
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 42 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 72,
"inputs": {
"merged_prs": 139,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 32
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "139/171 decided PRs merged",
"points": 31.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 139,
"decided": 171
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 4/8 approved changesets -- score normalized to 5",
"points": 7.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 58,
"inputs": {
"followers": 21,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "mantle-xyz",
"public_repos": 49,
"account_age_days": 1179
},
"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": "21 followers of mantle-xyz",
"points": 9.7,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 21,
"login": "mantle-xyz"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "49 public repos, account ~3 yr old",
"points": 18.8,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 49
}
},
{
"code": "account_age_years",
"params": {
"years": 3
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 55,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"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": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "2 out of 8 merged PRs checked by a CI test -- score normalized to 2",
"points": 4,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"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": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": "at_risk",
"name": "Security",
"value": 49,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 51,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 5.1
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "2 out of 8 merged PRs checked by a CI test -- score normalized to 2",
"points": 0.5,
"status": "partial",
"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": "Found 4/8 approved changesets -- score normalized to 5",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 42 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"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 0 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 0",
"points": 0,
"status": "missed",
"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": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": "31 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 159 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": 159
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 41,
"inputs": {
"source": "osv",
"advisories": 51,
"affected_packages": 10,
"assessed_packages": 159,
"unassessed_packages": 0,
"affected_by_severity": "critical 2, high 2, moderate 3, unknown 3",
"direct_affected_packages": 7
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "7 affected: golang.org/x/crypto v0.47.0 (critical 10.0), go.opentelemetry.io/otel v1.40.0 (high 7.5), go.opentelemetry.io/otel/sdk v1.40.0 (high 7.0), +4 more",
"points": 4.1,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 7,
"packages": "golang.org/x/crypto v0.47.0 (critical 10.0), go.opentelemetry.io/otel v1.40.0 (high 7.5), go.opentelemetry.io/otel/sdk v1.40.0 (high 7.0)"
}
},
{
"code": "advisories_affected_more",
"params": {
"count": 4
}
}
],
"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 111 days ago",
"points": 26.8,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 3,
"oldest": 111
}
}
],
"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": 159,
"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": "good",
"name": "AI Readiness",
"value": 84,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.84,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 2925
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md"
}
}
],
"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": "84 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 84,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 80,
"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.04,
"toolchain_manifests": [
"cmd/keeper/go.mod",
"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": "4 of the last 100 commits agent-authored or agent-credited",
"points": 8,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 4,
"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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 2409168,
"source_files_sampled": 1586,
"oversized_source_files": 32
},
"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": "32/1586 source files over 60KB",
"points": 53.9,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 1586,
"oversized": 32
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "good",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": [
"accounts/usbwallet/trezor/messages-common.proto",
"accounts/usbwallet/trezor/messages-ethereum.proto",
"accounts/usbwallet/trezor/messages-management.proto",
"accounts/usbwallet/trezor/messages.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "accounts/usbwallet/trezor/messages-common.proto, accounts/usbwallet/trezor/messages-ethereum.proto, accounts/usbwallet/trezor/messages-management.proto, accounts/usbwallet/trezor/messages.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "accounts/usbwallet/trezor/messages-common.proto, accounts/usbwallet/trezor/messages-ethereum.proto, accounts/usbwallet/trezor/messages-management.proto, accounts/usbwallet/trezor/messages.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": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"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": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Community profile unavailable",
"go package 'github.com/ethereum/go-ethereum' points at a different repository (https://github.com/ethereum/go-ethereum); excluded from ecosystem scoring",
"Could not fetch go package 'github.com/ethereum/go-ethereum/cmd/keeper' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-28T03:55:03.005704Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/mantle-xyz/op-geth.svg",
"full_name": "mantle-xyz/op-geth",
"license_state": "standard",
"license_spdx": "LGPL-3.0"
}