Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 17427,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 2373547,
"HTML": 4061,
"Shell": 31512,
"Smarty": 843,
"Makefile": 2456,
"Dockerfile": 1168
},
"pushed_at": "2026-07-28T13:00:39Z",
"created_at": "2022-11-04T05:55:13Z",
"owner_type": "Organization",
"updated_at": "2026-07-27T15:24:57Z",
"description": "Greenfield is a decentralized storage platform.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "AGPL-3.0",
"default_branch": "master",
"license_spdx_raw": "AGPL-3.0",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "https://www.bnbchain.org",
"name": null,
"type": "Organization",
"login": "bnb-chain",
"company": null,
"location": null,
"followers": 4257,
"avatar_url": "https://avatars.githubusercontent.com/u/45615063?v=4",
"created_at": "2018-12-05T03:08:49Z",
"is_verified": null,
"public_repos": 226,
"account_age_days": 2795
},
"license": {
"state": "standard",
"spdx_id": "AGPL-3.0",
"raw_spdx": "AGPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.10.12",
"kind": "patch",
"published_at": "2026-07-28T13:04:07Z"
},
{
"tag": "v1.10.11",
"kind": "patch",
"published_at": "2026-07-21T00:09:51Z"
},
{
"tag": "v1.10.10",
"kind": "patch",
"published_at": "2026-05-21T13:08:09Z"
},
{
"tag": "v1.10.9",
"kind": "patch",
"published_at": "2026-05-21T10:07:43Z"
},
{
"tag": "v1.10.8",
"kind": "patch",
"published_at": "2026-05-21T07:51:00Z"
},
{
"tag": "v1.10.7.beta",
"kind": "other",
"published_at": "2026-05-21T03:00:04Z"
},
{
"tag": "v1.10.7",
"kind": "patch",
"published_at": "2026-04-22T08:06:18Z"
},
{
"tag": "v1.10.6",
"kind": "patch",
"published_at": "2026-04-07T10:34:51Z"
},
{
"tag": "v1.10.5",
"kind": "patch",
"published_at": "2025-10-28T07:09:05Z"
},
{
"tag": "v1.10.4",
"kind": "patch",
"published_at": "2025-10-14T06:46:35Z"
},
{
"tag": "v1.10.2",
"kind": "patch",
"published_at": "2025-07-29T08:54:27Z"
},
{
"tag": "v1.10.1",
"kind": "patch",
"published_at": "2025-04-25T06:24:13Z"
},
{
"tag": "v1.10.0",
"kind": "minor",
"published_at": "2024-11-21T08:52:49Z"
},
{
"tag": "v1.9.1",
"kind": "patch",
"published_at": "2024-09-20T12:18:12Z"
},
{
"tag": "v1.9.0",
"kind": "minor",
"published_at": "2024-07-22T10:17:34Z"
},
{
"tag": "v1.8.0",
"kind": "minor",
"published_at": "2024-06-12T05:57:24Z"
},
{
"tag": "v1.7.4",
"kind": "patch",
"published_at": "2024-05-24T01:52:09Z"
},
{
"tag": "v1.7.3",
"kind": "patch",
"published_at": "2024-05-10T17:09:04Z"
},
{
"tag": "v1.7.2",
"kind": "patch",
"published_at": "2024-05-09T03:40:12Z"
},
{
"tag": "v1.7.1",
"kind": "patch",
"published_at": "2024-05-06T06:11:04Z"
},
{
"tag": "v1.7.0",
"kind": "minor",
"published_at": "2024-04-29T06:31:38Z"
},
{
"tag": "v1.6.1",
"kind": "patch",
"published_at": "2024-04-18T14:11:54Z"
},
{
"tag": "v1.6.0",
"kind": "minor",
"published_at": "2024-04-07T05:54:38Z"
},
{
"tag": "v1.5.1",
"kind": "patch",
"published_at": "2024-03-14T12:34:02Z"
},
{
"tag": "v1.5.0",
"kind": "minor",
"published_at": "2024-03-13T08:35:53Z"
},
{
"tag": "v1.4.1",
"kind": "patch",
"published_at": "2024-03-06T07:06:48Z"
},
{
"tag": "v1.4.0",
"kind": "minor",
"published_at": "2024-02-21T05:42:30Z"
},
{
"tag": "v1.3.0",
"kind": "minor",
"published_at": "2024-01-22T09:48:37Z"
},
{
"tag": "v1.2.2",
"kind": "patch",
"published_at": "2024-01-05T04:25:53Z"
},
{
"tag": "v1.2.1",
"kind": "patch",
"published_at": "2023-12-25T08:34:56Z"
},
{
"tag": "v1.2.0",
"kind": "minor",
"published_at": "2023-12-14T07:26:33Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2023-11-23T09:11:20Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2023-11-13T09:50:57Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2023-10-13T13:05:35Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2023-10-07T04:04:17Z"
},
{
"tag": "v0.2.6-hf.1",
"kind": "prerelease",
"published_at": "2023-09-25T07:21:29Z"
},
{
"tag": "v0.2.6",
"kind": "patch",
"published_at": "2023-09-20T14:25:49Z"
},
{
"tag": "v0.2.6-alpha.1",
"kind": "prerelease",
"published_at": "2023-09-18T01:37:59Z"
},
{
"tag": "v0.2.5-hf.1",
"kind": "prerelease",
"published_at": "2023-09-15T06:57:40Z"
},
{
"tag": "v0.2.5",
"kind": "patch",
"published_at": "2023-09-12T08:37:53Z"
},
{
"tag": "v0.2.5-alpha.3",
"kind": "prerelease",
"published_at": "2023-09-11T05:56:47Z"
},
{
"tag": "v0.2.5-alpha.2",
"kind": "prerelease",
"published_at": "2023-09-07T04:56:57Z"
},
{
"tag": "v0.2.5-alpha.1",
"kind": "prerelease",
"published_at": "2023-09-06T11:10:50Z"
},
{
"tag": "v0.2.4-hf.1",
"kind": "prerelease",
"published_at": "2023-09-05T07:27:17Z"
},
{
"tag": "v0.2.4",
"kind": "patch",
"published_at": "2023-08-29T07:08:06Z"
},
{
"tag": "v0.2.4-alpha.3",
"kind": "prerelease",
"published_at": "2023-08-18T06:03:21Z"
},
{
"tag": "v0.2.4-alpha.2",
"kind": "prerelease",
"published_at": "2023-08-17T01:50:29Z"
},
{
"tag": "v0.2.4-alpha.1",
"kind": "prerelease",
"published_at": "2023-08-08T10:30:59Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2023-07-31T03:36:53Z"
},
{
"tag": "v0.2.3-alpha.8",
"kind": "prerelease",
"published_at": "2023-07-28T03:23:02Z"
},
{
"tag": "v0.2.3-alpha.7",
"kind": "prerelease",
"published_at": "2023-07-25T12:17:47Z"
},
{
"tag": "v0.2.3-alpha.6",
"kind": "prerelease",
"published_at": "2023-07-21T13:05:09Z"
},
{
"tag": "v0.2.3-alpha.5",
"kind": "prerelease",
"published_at": "2023-07-13T09:25:39Z"
},
{
"tag": "v0.2.2-hf.3",
"kind": "prerelease",
"published_at": "2023-07-12T15:14:03Z"
},
{
"tag": "v0.2.2-hf.2",
"kind": "prerelease",
"published_at": "2023-07-11T09:15:24Z"
},
{
"tag": "v0.2.3-alpha.4",
"kind": "prerelease",
"published_at": "2023-07-07T09:23:32Z"
},
{
"tag": "v0.2.3-alpha.3",
"kind": "prerelease",
"published_at": "2023-07-07T08:52:50Z"
},
{
"tag": "v0.2.2-hf.1",
"kind": "prerelease",
"published_at": "2023-06-28T03:15:34Z"
},
{
"tag": "v0.2.3-alpha.2",
"kind": "prerelease",
"published_at": "2023-06-27T08:19:02Z"
},
{
"tag": "v0.2.3-alpha.1",
"kind": "prerelease",
"published_at": "2023-06-26T07:36:51Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2023-06-21T09:53:13Z"
},
{
"tag": "v0.2.2-alpha.2",
"kind": "prerelease",
"published_at": "2023-06-08T07:01:59Z"
},
{
"tag": "v0.2.2-alpha.1",
"kind": "prerelease",
"published_at": "2023-05-29T07:29:09Z"
},
{
"tag": "v0.2.1-hf.2",
"kind": "prerelease",
"published_at": "2023-05-31T07:06:19Z"
},
{
"tag": "v0.2.1-alpha.1",
"kind": "prerelease",
"published_at": "2023-05-26T03:01:28Z"
},
{
"tag": "v0.2.1-hf.1",
"kind": "prerelease",
"published_at": "2023-05-25T05:45:16Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2023-05-23T05:44:36Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2023-05-15T08:26:36Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2023-04-21T02:48:09Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2023-04-10T01:56:27Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2023-04-06T04:23:12Z"
},
{
"tag": "v0.0.11",
"kind": "patch",
"published_at": "2023-03-28T10:34:04Z"
},
{
"tag": "v0.0.10",
"kind": "patch",
"published_at": "2023-03-24T11:29:00Z"
},
{
"tag": "v0.0.9",
"kind": "patch",
"published_at": "2023-03-17T08:51:56Z"
},
{
"tag": "v0.0.8",
"kind": "patch",
"published_at": "2023-03-14T10:21:31Z"
},
{
"tag": "v0.0.7",
"kind": "patch",
"published_at": "2023-03-10T11:51:52Z"
},
{
"tag": "v0.0.6",
"kind": "patch",
"published_at": "2023-02-24T07:02:41Z"
},
{
"tag": "v0.0.5",
"kind": "patch",
"published_at": "2023-02-10T05:47:12Z"
},
{
"tag": "v0.0.4",
"kind": "patch",
"published_at": "2023-01-30T03:41:15Z"
},
{
"tag": "v0.0.3",
"kind": "patch",
"published_at": "2023-01-19T08:34:05Z"
},
{
"tag": "v0.0.2",
"kind": "patch",
"published_at": "2023-01-06T08:17:10Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2022-12-26T08:10:02Z"
}
],
"recent_commits": [
{
"oid": "77d25ebac679b46e840c45f6b9b5dde8ef8cee11",
"body": "feat: modify gvg withdraw and dockerfile and prepare for v1.10.5 (#668)",
"is_bot": false,
"headline": "Merge pull request #669 from bnb-chain/feat-dev-to-master-1028",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2025-10-28T06:57:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e23c08c08d5daf903434242b042da1175777e5be",
"body": "* feat: modify gvg withdraw and dockerfile\n\n* feat: add tmp docker ci\n\n* feat: update docker tag name\n\n* Revert \"feat: update docker tag name\"\n\nThis reverts commit e8606543b105632780ee93b58612abbdff35d046.\n\n* Revert \"feat: add tmp docker ci\"\n\nThis reverts commit 9c6b73e0a4d6681ec9c9af564d7c49bfc65c198b.\n\n* feat: prepare for v1.10.5",
"is_bot": false,
"headline": "feat: modify gvg withdraw and dockerfile and prepare for v1.10.5 (#668)",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2025-10-28T06:14:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0bf216089dcde0155d0a75299b4c857c19531c3",
"body": "feat: dep update dev to master",
"is_bot": false,
"headline": "Merge pull request #666 from bnb-chain/feat-develop-deps-1017",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2025-10-20T02:43:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bd5bbf7b09efe66c6a594184f17c60b8281c47b",
"body": "* feat: allow change GvgStakingPerBytes for gvg updateParams\n\n* fix: lint\n\n* release: prepare for v1.10.1\n\n* feat: dep update\n\n* fix: lint\n\n* fix: e2e\n\n* fix: ut\n\n* fix: ut\n\n* fix: ut\n\n* test: add log\n\n* fix: ut\n\n* test: add log\n\n* fix: gov\n\n* test: log\n\n* fix: e2e\n\n* feat: update dep\n\n---------\n\nCo-authored-by: Annie <108039750+annielz@users.noreply.github.com>\nCo-authored-by: annielz <lmlmzhen@sina.com>\n\nchore: mark golang.org/x/crypto as indirect dependency",
"is_bot": false,
"headline": "feat: dep update (#659)",
"author_name": "constwz",
"author_login": "constwz",
"committed_at": "2025-10-17T09:42:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6623f4e3d40b37e68ea90e31bb30475ae5056df4",
"body": "feat: fix release yml",
"is_bot": false,
"headline": "Merge pull request #663 from bnb-chain/fix-master-release-yml",
"author_name": "ruojunm",
"author_login": "ruojunm",
"committed_at": "2025-10-14T06:41:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e8fd24325c1c1f4dffb673e5fa7c0cdbbddaf0c",
"body": "* feat: fix release yml\n\n* fix: download artifact in relase to v4",
"is_bot": false,
"headline": "feat: fix release yml (#660)",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2025-10-14T06:38:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4ad7cce5a42c62e06cdab2c8d4b6f871df374ca",
"body": "fix: fix a data issue in virtual group",
"is_bot": false,
"headline": "Merge pull request #661 from bnb-chain/fix-withdraw-security",
"author_name": "ruojunm",
"author_login": "ruojunm",
"committed_at": "2025-10-14T05:53:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "379061fbf0de5e51d7710ae50431d2e3d1ec9822",
"body": null,
"is_bot": false,
"headline": "fix: fix dependency",
"author_name": "Clyde",
"author_login": "clydemeng",
"committed_at": "2025-10-14T05:50:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44ee0e2ccc8bd99e811bd3731645685a194901be",
"body": null,
"is_bot": false,
"headline": "fix: fix dependency",
"author_name": "Clyde",
"author_login": "clydemeng",
"committed_at": "2025-10-14T05:16:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0c07429e5981672288c512a443feb795d742fb1",
"body": null,
"is_bot": false,
"headline": "fix: add hardfork condition",
"author_name": "Clyde",
"author_login": "clydemeng",
"committed_at": "2025-10-14T04:49:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "872b917fda186bdb64016fc2a77dfe81378c130c",
"body": null,
"is_bot": false,
"headline": "fix: add hardfork config",
"author_name": "Clyde",
"author_login": "clydemeng",
"committed_at": "2025-10-14T04:49:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c49754e4b60cf60c5e0c051b2124f6dc255ca63b",
"body": null,
"is_bot": false,
"headline": "fix: fix a data issue in virtual group",
"author_name": "Clyde",
"author_login": "clydemeng",
"committed_at": "2025-10-13T12:53:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a0f69fb74b5c2a724922e0c9aa9dbf0ed4b089f",
"body": "release: prepare for v1.10.1",
"is_bot": false,
"headline": "Merge pull request #656 from bnb-chain/release-v1.10.1",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2025-04-17T09:23:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6859cc29b2b56c20f5d9f53aecffa90d427004b3",
"body": null,
"is_bot": false,
"headline": "release: prepare for v1.10.1",
"author_name": "annielz",
"author_login": "annielz",
"committed_at": "2025-04-17T08:46:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "974306f701a5cee5086f0b4577ee74f6ca3e48a7",
"body": "feat: allow change GvgStakingPerBytes for gvg updateParams",
"is_bot": false,
"headline": "Merge pull request #655 from bnb-chain/feat-update-gvg-param-rule",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2025-04-17T08:36:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f07bfba0ab8f60954fea9202cd545168172fcf34",
"body": null,
"is_bot": false,
"headline": "fix: lint",
"author_name": "annielz",
"author_login": "annielz",
"committed_at": "2025-04-16T07:59:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55bf69204d7ce5cc07b05843cf3d39761328dbc9",
"body": null,
"is_bot": false,
"headline": "feat: allow change GvgStakingPerBytes for gvg updateParams",
"author_name": "annielz",
"author_login": "annielz",
"committed_at": "2025-04-16T07:36:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae16fa03d8c30a129041339e7cfe6e666b235e22",
"body": "release: prepare for v1.10.0",
"is_bot": false,
"headline": "Merge pull request #649 from bnb-chain/develop",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2024-11-21T08:41:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1fa7d0fca9a4e5a6830215ded33bfab25b59c7fb",
"body": null,
"is_bot": false,
"headline": "release: prepare for release v1.10.0 (#648)",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2024-11-21T08:32:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c511769d277f3d323113e2c92ebbad5e36f42340",
"body": "fix: fail to resume frozen payment account when netflow is zero",
"is_bot": false,
"headline": "Merge pull request #647 from forcodedancing/fix_payment_deposit",
"author_name": "zoro",
"author_login": "unclezoro",
"committed_at": "2024-11-18T06:12:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53c4ad9159d72ad59873c0afc0c77d0052a81b40",
"body": null,
"is_bot": false,
"headline": "try to fix e2e issue",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-11-07T05:16:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb45cbfb18282bcbfb4e30f1908b0b4ed7a85a2a",
"body": null,
"is_bot": false,
"headline": "fix: fail to resume frozen payment account when netflow is zero",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-11-06T12:13:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e490ec705c46afed4bc2692d10cad1f9f07b9fc3",
"body": "chore: sync master to develop",
"is_bot": false,
"headline": "Merge pull request #646 from bnb-chain/master",
"author_name": "zoro",
"author_login": "unclezoro",
"committed_at": "2024-11-05T08:57:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb6e32ad5b6ed6ce667718b4b814d211245552db",
"body": "* feat: introduce the Altai upgrade\r\n\r\n* update dependency\r\n\r\n* update dependency\r\n\r\n* fix: update dep\r\n\r\n* doc: update change log\r\n\r\n* dep: update dep\r\n\r\n* dep: update dep\r\n\r\n---------\r\n\r\nCo-authored-by: unclezoro <296179868@qq.com>",
"is_bot": false,
"headline": "feat: introduce the Altai upgrade (#645)",
"author_name": "Roshan",
"author_login": "pythonberg1997",
"committed_at": "2024-09-20T12:12:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d04a031a70a2844f122cc730e5036b84da0d49f8",
"body": null,
"is_bot": false,
"headline": "upgrade cosmos-sdk to v1.9.0 and update CHANGELOG.md (#643)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-07-22T07:26:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0404b8b27624fbfb6743d64ea24b062bab359b1c",
"body": "release: prepare for release v1.9.0",
"is_bot": false,
"headline": "Merge pull request #641 from bnb-chain/develop",
"author_name": "zoro",
"author_login": "unclezoro",
"committed_at": "2024-07-12T05:01:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d85ef37caeed1a72190e17053f436b210998260a",
"body": "* feat: Support msg to create policy by cross chain\n\n* feat: add ut\n\n* fix: Remove cross-chain operation restrictions\n\n* fix: add cross chain policy\n\n* feat: add hardfork logic\n\n* fix: hardfork bug\n\n* fix: ut",
"is_bot": false,
"headline": "feat: Support msg to create policy by cross chain (#639)",
"author_name": "constwz",
"author_login": "constwz",
"committed_at": "2024-07-12T01:21:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f32d400fa5d231ad69c3c5f6ea2991cc9f677ee",
"body": null,
"is_bot": false,
"headline": "fix the min value comparison (#638)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-07-11T10:07:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b998e1dde4db523f1433320a267ce0e6d2f8310",
"body": null,
"is_bot": false,
"headline": "fix: broken links reroute from local repo to bnbchain docs (#640)",
"author_name": "Annie",
"author_login": "annielz",
"committed_at": "2024-07-09T06:13:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08852f8a3f189eece884151535dc569cf866eb81",
"body": "sync: sync master to develop",
"is_bot": false,
"headline": "Merge pull request #637 from bnb-chain/master",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-07-02T04:10:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6868551e2274d103cc6630dfde866bb5efc68d54",
"body": null,
"is_bot": false,
"headline": "release: prepare for v1.8.0 (#635)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-06-12T05:55:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e017bef9dd1f66b0240105e4fa02be2b297a4520",
"body": "* release: replace docs link\n\n* docs: replace docs link\n\n* docs: replace docs link",
"is_bot": false,
"headline": "docs: replace docs link (#633)",
"author_name": "Barry",
"author_login": "BarryTong65",
"committed_at": "2024-06-11T01:44:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1d174bee46fe2be7febf3048f91d17f00223c9a",
"body": null,
"is_bot": false,
"headline": "fix: ingore register channel error (#632)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-05-28T11:07:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "303da15cfcb02bd5f0c2309f7fd200af0ac28c33",
"body": null,
"is_bot": false,
"headline": "fix: veld hardfork (#631)",
"author_name": "Barry",
"author_login": "BarryTong65",
"committed_at": "2024-05-28T09:07:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed346a69ecd6bf4ad16b3b5482ac2bbe3a0d50a1",
"body": "feat: sync develop to master",
"is_bot": false,
"headline": "Merge pull request #629 from bnb-chain/develop",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-05-28T08:24:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db902816fe69581890241c3c741eed4f231a0dd6",
"body": "feat: sync master to develop",
"is_bot": false,
"headline": "Merge pull request #630 from bnb-chain/feat-sync-develop",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-05-28T07:45:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4fe8f19bc4a3b0ea51603fb3f7d2cf3a31500e43",
"body": null,
"is_bot": false,
"headline": "fix: ut",
"author_name": "BarryTong65",
"author_login": "BarryTong65",
"committed_at": "2024-05-28T07:37:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c760f6c874307382a5a700536f2da38df333b6a",
"body": null,
"is_bot": false,
"headline": "fix: resolve conflicts",
"author_name": "BarryTong65",
"author_login": "BarryTong65",
"committed_at": "2024-05-28T07:34:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70e5d61c4305be906186b0c7a90e3f0aacdd9a42",
"body": "* fix: discontinued bucket can't be migrated\n\n* fix: check veld upgrade",
"is_bot": false,
"headline": "fix: discontinued bucket can't be migrated (#625)",
"author_name": "Barry",
"author_login": "BarryTong65",
"committed_at": "2024-05-28T02:27:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37eb89ff9f185050e8dbdad48bce4f66ac3708e4",
"body": "* fix: principal value supports group name\n\n* fix: principal value supports group name",
"is_bot": false,
"headline": "fix: principal value supports group name (#626)",
"author_name": "Barry",
"author_login": "BarryTong65",
"committed_at": "2024-05-28T01:53:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e418737bc157a9b45c9276cd6bcd92f849a51def",
"body": "* chore: fix payment check for testnet\n\n* update price time",
"is_bot": false,
"headline": "chore: fix payment check for testnet (#623)",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-05-24T01:47:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88e71c5ef309baf60e8d57322d610d7b13df59b0",
"body": "* fix: fix deleting issue for paymaster\r\n\r\n* fix lint issue\r\n\r\n* check limit status when migrate bucket\r\n\r\n* prevent migrate bucket when bucket is rate limited",
"is_bot": false,
"headline": "fix: fix deleting issue for paymaster (#624)",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-05-23T08:03:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91009ff5208d74d830e69e26cce83a8740e04203",
"body": null,
"is_bot": false,
"headline": "add docker build",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-05-22T09:31:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc41c389096c1a18645dd3600798e75834fd6718",
"body": null,
"is_bot": false,
"headline": "add bucket status to events (#621)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-05-21T06:22:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd6a0f43c852b5bdbfde4f6089915b9a7af54df5",
"body": null,
"is_bot": false,
"headline": "refine import (#620)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-05-15T03:35:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "211b92438b5f2f75db2ace4a8b9c10881fb64899",
"body": "…reenfield repo (#619)\n\n* docs: move greenfield cmd/module/api docs from docs.bnbchain.org to greenfield repo\r\n\r\n* docs: move unnecessary title/order syntax\r\n\r\n---------\r\n\r\nCo-authored-by: Clyde <clyde.m@nodereal.io>",
"is_bot": false,
"headline": "docs: move greenfield cmd/module/api docs from docs.bnbchain.org to g…",
"author_name": "ruojunm",
"author_login": "ruojunm",
"committed_at": "2024-05-15T03:34:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3fb0c0ead828911cbd043d40399d5addbc366f7f",
"body": "dep: update cosmos-sdk version",
"is_bot": false,
"headline": "Merge pull request #618 from unclezoro/erods",
"author_name": "zoro",
"author_login": "unclezoro",
"committed_at": "2024-05-10T17:06:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b35e9b5028bc224b4bcc3c57f7561fef58feaf2",
"body": null,
"is_bot": false,
"headline": "dep: update cosmos-sdk version",
"author_name": "zjubfd",
"author_login": "unclezoro",
"committed_at": "2024-05-10T17:04:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "068ab60eb937dc80a79e028f42aadda4ee1ae739",
"body": "fix: fix EventBucketFlowRateLimitStatus",
"is_bot": false,
"headline": "Merge pull request #617 from yutianwu/fix_event",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-05-09T03:05:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d025d82418c0acdc6914033e164bb18a134b48f",
"body": null,
"is_bot": false,
"headline": "fix: fix EventBucketFlowRateLimitStatus",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-05-08T12:26:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9c18819ffadfadbd27709782fd96cbbe4e9471d",
"body": null,
"is_bot": false,
"headline": "prepare for v1.7.1 upgrade (#616)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-05-06T06:10:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1445fd18342255b0f317a32cb0a7ecf76740b418",
"body": "sync: master to develop",
"is_bot": false,
"headline": "Merge pull request #615 from bnb-chain/master",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-29T08:31:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e2564ee110352b11b305010cba16e99356de9e2",
"body": null,
"is_bot": false,
"headline": "prepare for v1.7.0 upgrade (#614)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-29T06:30:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a165e0966eb8ee2eb698dd3e89698eeb860f1f71",
"body": null,
"is_bot": false,
"headline": "feat: add check for payment data (#607)",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-04-26T05:32:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e49142309cfcc9af782e556e9874aa6895aad66",
"body": "chore: bump deps",
"is_bot": false,
"headline": "Merge pull request #613 from alexgao001/dep-security",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-25T03:56:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41eda3bb5c0013f238a5a2387c9b79d81811cdd9",
"body": "sync: sync develop to master",
"is_bot": false,
"headline": "Merge pull request #612 from bnb-chain/develop",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-25T03:54:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f05950c5ef172fa7603fb7c8e5bf6c9d110e24c1",
"body": null,
"is_bot": false,
"headline": "bump deps",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-04-25T03:17:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "964001cc3a018b0cb71bd7b8fd0486528a59d8f8",
"body": "feat: add pick vgf strategy",
"is_bot": false,
"headline": "Merge pull request #611 from bnb-chain/vgf-strategy",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-18T14:19:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86f5423ccbeb1ab49e7743fb041152eda96cafeb",
"body": null,
"is_bot": false,
"headline": "add pick vgf strategy",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-04-18T11:43:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4354d2ea98ea5b4622fa6c00198af5dba76fe6f5",
"body": "* fix: add MsgSetBucketFlowRateLimit in Erdos upgrade\n\n* delete unused code\n\n---------\n\nCo-authored-by: Alexxxxxx <118710506+alexgao001@users.noreply.github.com>\nCo-authored-by: yutianwu <wzxingbupt@gmail.com>",
"is_bot": false,
"headline": "chore: merge master into develop branch (#610)",
"author_name": "Roshan",
"author_login": "pythonberg1997",
"committed_at": "2024-04-16T10:14:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97e481485393fe4f81509f7b02bdb9f492f31006",
"body": null,
"is_bot": false,
"headline": "chore: optimize error msg of `ExecutorApp` (#609)",
"author_name": "Roshan",
"author_login": "pythonberg1997",
"committed_at": "2024-04-16T09:17:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ef6152ab9579df69c20f631d230d761620e7dbd",
"body": "fix: add MsgSetBucketFlowRateLimit in Erdos upgrade",
"is_bot": false,
"headline": "Merge pull request #608 from yutianwu/add_missis_msg",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-16T07:24:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a2430d92da88424129d0e4224795fc762f5d92a",
"body": null,
"is_bot": false,
"headline": "delete unused code",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-16T05:59:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4419bfd1ed8c02699cdb4a54f2d9f843017d5838",
"body": null,
"is_bot": false,
"headline": "fix: add MsgSetBucketFlowRateLimit in Erdos upgrade",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-16T05:56:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d26564899b2a1b93eca962e8869ed9d9a29bf833",
"body": "release: prepare for v1.7.0",
"is_bot": false,
"headline": "Merge pull request #606 from bnb-chain/develop",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-08T09:46:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b1883c66e3ea94b386313a5fc6e6d90ec4a0198",
"body": "sync: master to develop and fix conflict",
"is_bot": false,
"headline": "Merge pull request #605 from alexgao001/pre-v1.7.0",
"author_name": "zjubfd",
"author_login": "unclezoro",
"committed_at": "2024-04-08T08:34:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1de8e6bbc7fbdc0235ced03f8e7200d114fd7a96",
"body": null,
"is_bot": false,
"headline": "chore: update deps",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-04-08T07:43:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0702cf00804938b7c7cc0e3f5053060be1618dfd",
"body": "* feat: add `ExecutorApp`\n\n* fix lint issue\n\n* fix review comments\n\n* fix abi decode methods\n\n* add unit test\n\n* fix review comments\n\n* fix review comments\n\n* add `registerErdosUpgradeHandler`\n\n* remove unused code in `registerErdosUpgradeHandler`",
"is_bot": false,
"headline": "feat: add `ExecutorApp` (#595)",
"author_name": "Roshan",
"author_login": "pythonberg1997",
"committed_at": "2024-04-08T02:51:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0f123227b7404febafeef0ce16500772bed1e6e",
"body": "release: prepare for v1.6.0 upgrade",
"is_bot": false,
"headline": "Merge pull request #602 from alexgao001/pre-v1.6.0",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-07T05:51:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4b640414f9aa50c96c17508583ddb65ddd401a9",
"body": null,
"is_bot": false,
"headline": "update deps for v1.6.0 upgrade",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-04-07T04:09:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcd63d91b23e2b0877d141d4dc666b742e5ea7b8",
"body": "* fix dep\n\n* fix deps security\n\n* fix deps security",
"is_bot": false,
"headline": "chore: upgrade deps for fixing vulnerabilities (#597)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-04-02T11:17:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6868d14917e6a02d86425829e55d7c2d30e142f8",
"body": "fix: fix uncharge issue when force-deleting objects",
"is_bot": false,
"headline": "Merge pull request #601 from yutianwu/fix_force_delete",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-02T09:11:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdd78c205ba6379bd441a4e0f0ecb6ee0bd928eb",
"body": null,
"is_bot": false,
"headline": "remove unused code",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-02T06:31:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd3fe09bb3b336591b052d17707dd895495de744",
"body": null,
"is_bot": false,
"headline": "update gas price",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-02T05:57:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c5e2f567e437fb04a7929de24c858b93d5e1529",
"body": null,
"is_bot": false,
"headline": "introduce erdos upgrade",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-02T03:44:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "113e610dddf7192f85d4e4cf83b3204a78def790",
"body": null,
"is_bot": false,
"headline": "create object with new gvg",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-02T02:20:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "220ec828b377e7af5eb627536759b631b7b366a9",
"body": null,
"is_bot": false,
"headline": "add test case",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-01T08:19:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0084869699eec6caf1e51e82af3c4c4944944cf1",
"body": null,
"is_bot": false,
"headline": "fix: fix uncharge issue when force-deleting objects",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-01T07:48:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5d5f42df57c26b2b6898e7c58ac92dae6da0077",
"body": null,
"is_bot": false,
"headline": "comment related test cases",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-01T04:33:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a9059821518e7840b53f985fa3d90a77168e988",
"body": null,
"is_bot": false,
"headline": "feat: remove set bucket flow rate limit message",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-04-01T03:47:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "866df5f310ea26c97ede2183331ce29b002d469e",
"body": "feat: add bucketId in BucketFlowRateLimitStatus event",
"is_bot": false,
"headline": "Merge pull request #598 from yutianwu/updateEvent",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-03-27T12:07:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6e48848722fab634a9b1fb6999cab3943b068be",
"body": null,
"is_bot": false,
"headline": "feat: add bucketId in BucketFlowRateLimitStatus event",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-03-27T06:15:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6842c3fb53e1efab07c79cdcc78ab19e34a250d",
"body": null,
"is_bot": false,
"headline": "add event (#596)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-03-25T03:32:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f28b240981f6b4ded97a98095642e80636d90d98",
"body": "fix: add upgrade check when deleting rate limit status",
"is_bot": false,
"headline": "Merge pull request #594 from yutianwu/fix_delete_bucket",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-03-15T09:02:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "664a6a1121af386f64a80427534f5894f20d0a04",
"body": null,
"is_bot": false,
"headline": "fix: add upgrade check when deleting rate limit status",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-03-15T08:20:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad2660a52c4092bc63bdffa2b531f5f965ddc50f",
"body": "release: prepare for release v1.6.0",
"is_bot": false,
"headline": "Merge pull request #593 from bnb-chain/develop",
"author_name": "zjubfd",
"author_login": "unclezoro",
"committed_at": "2024-03-15T05:55:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4cc584f6da2f7d048966404b8ac08349ca814cf",
"body": "* feat: implement paymaster\n\n* fix: fix proto file\n\n* fix: fix e2e tests\n\n* fix: fix the e2e test and add log\n\n* fix: fix e2e test case\n\n* feat: add unit tests\n\n* fix: fix the comments\n\n* fix some corner cases\n\n* fix comments\n\n* fix comments\n\n* update query api\n\n* fix the comment\n\n* fix comments\n\n* \n[…]\nrors\n\n* generate swagger\n\n* update buf version\n\n* fix e2e tests\n\n* register new message\n\n* fix comments\n\n* update swagger\n\n* delete unused code\n\n* update swagger file\n\n* resolve confilcts and comments",
"is_bot": false,
"headline": "feat: implement paymaster (#582)",
"author_name": "yutianwu",
"author_login": "yutianwu",
"committed_at": "2024-03-14T11:31:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b2ef76bd611313ae68a4f591865f4ebe823549c5",
"body": null,
"is_bot": false,
"headline": "delete after harkfork (#592)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-03-14T10:33:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "072bfbe270b97816fc82c985314b487b775d22d7",
"body": "chore: resolve conflict when sync master to develop",
"is_bot": false,
"headline": "Merge pull request #591 from alexgao001/resolve-conflict",
"author_name": "zjubfd",
"author_login": "unclezoro",
"committed_at": "2024-03-14T03:02:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f065dc8af58365a3a62e6d0bd1bae5f524fb84a",
"body": null,
"is_bot": false,
"headline": "resolve conflict merge to develop",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-03-14T02:51:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df143c62cbb520b1c7a95047d3090bd9cdb86ccd",
"body": "* enable delegated agent to create object\n\n* enable delegated agent to update object\n\n* use flag to toggle SP as upload agent for bucket\n\n* clean code\n\n* disable discontinue\n\n* fix gas limit\n\n* refine code\n\n* gen swaggger\n\n* fix gvg test\n\n* fix comment",
"is_bot": false,
"headline": "feat: allow SP to create/update object for delegator (#581)",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-03-13T09:26:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f33ddf3b98a302b51873793732cf5e9b5ac85520",
"body": "release: prepare for v1.5.0",
"is_bot": false,
"headline": "Merge pull request #589 from alexgao001/v1.5.0",
"author_name": "Alexxxxxx",
"author_login": "alexgao001",
"committed_at": "2024-03-13T08:25:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "39c6896af23cb6352e3e189c22e95f20db8e5054",
"body": null,
"is_bot": false,
"headline": "prepare for v1.5.0",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-03-13T04:17:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c6b827c4b6c4571b9da56c8aae9abae2841e222",
"body": null,
"is_bot": false,
"headline": "fix: remove copy object approval (#588)",
"author_name": "Barry",
"author_login": "BarryTong65",
"committed_at": "2024-03-11T08:06:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "164ef7e61c58bd003cb388ab33c3ded1c8e1a6e1",
"body": "…object\n\nfix: disallow copy an object is being updated",
"is_bot": false,
"headline": "Merge pull request #587 from alexgao001/fix-discontinue-unlock-shadow…",
"author_name": "KeefeL",
"author_login": "keefel",
"committed_at": "2024-03-11T02:28:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a74e009e59c4cb5c764d4684177e05f07588d0ef",
"body": "fix: disallow update payment address when there are created/updating objects",
"is_bot": false,
"headline": "Merge pull request #584 from bnb-chain/disallow_change_payment",
"author_name": "KeefeL",
"author_login": "keefel",
"committed_at": "2024-03-11T02:28:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d672aceb36499d16b34a25b0e63341f418ef4c9",
"body": null,
"is_bot": false,
"headline": "udpate mock files and fix test issues",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-03-08T10:33:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68e761df619ec14706138eae84d9c88a070d531c",
"body": null,
"is_bot": false,
"headline": "fix test issues",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-03-08T08:58:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa7bf5217efa5012c455ccdef065c570ae16ce4d",
"body": null,
"is_bot": false,
"headline": "object might be set to OBJECT_STATUS_DISCONTINUED",
"author_name": "Alexgao001",
"author_login": "alexgao001",
"committed_at": "2024-03-08T08:41:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6af6cd2e7596561296b597add8b0a3d8b18882c0",
"body": null,
"is_bot": false,
"headline": "reject deleting discontinued objects",
"author_name": "forcodedancing",
"author_login": "forcodedancing",
"committed_at": "2024-03-08T08:25:17Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 82,
"commits_last_year": 10,
"latest_release_at": "2026-07-28T13:04:07Z",
"latest_release_tag": "v1.10.12",
"releases_from_tags": false,
"days_since_last_push": 3,
"active_weeks_last_year": 3,
"days_since_latest_release": 3,
"mean_days_between_releases": 31.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/bnb-chain/greenfield",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/bnb-chain/greenfield",
"is_deprecated": false,
"latest_version": "v1.10.12",
"repository_url": "https://github.com/bnb-chain/greenfield",
"versions_count": 83,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-28T12:58:45Z",
"latest_version_yanked": null,
"days_since_latest_publish": 3
}
]
},
"popularity": {
"forks": 59,
"stars": 135,
"watchers": 22,
"fork_history": {
"days": [
{
"date": "2023-04-12",
"count": 2
},
{
"date": "2023-04-18",
"count": 2
},
{
"date": "2023-04-19",
"count": 2
},
{
"date": "2023-04-20",
"count": 1
},
{
"date": "2023-04-24",
"count": 2
},
{
"date": "2023-04-27",
"count": 1
},
{
"date": "2023-04-28",
"count": 1
},
{
"date": "2023-05-05",
"count": 1
},
{
"date": "2023-05-26",
"count": 1
},
{
"date": "2023-05-27",
"count": 1
},
{
"date": "2023-06-09",
"count": 1
},
{
"date": "2023-06-17",
"count": 1
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-25",
"count": 1
},
{
"date": "2023-06-29",
"count": 1
},
{
"date": "2023-07-05",
"count": 1
},
{
"date": "2023-07-11",
"count": 1
},
{
"date": "2023-07-19",
"count": 1
},
{
"date": "2023-07-26",
"count": 1
},
{
"date": "2023-07-28",
"count": 1
},
{
"date": "2023-07-31",
"count": 1
},
{
"date": "2023-08-01",
"count": 1
},
{
"date": "2023-09-04",
"count": 1
},
{
"date": "2023-09-06",
"count": 1
},
{
"date": "2023-09-18",
"count": 1
},
{
"date": "2023-10-13",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-10-17",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-12-24",
"count": 1
},
{
"date": "2024-02-03",
"count": 1
},
{
"date": "2024-02-04",
"count": 1
},
{
"date": "2024-06-05",
"count": 2
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-06-28",
"count": 1
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-09-03",
"count": 1
},
{
"date": "2024-09-05",
"count": 1
},
{
"date": "2024-11-30",
"count": 1
},
{
"date": "2024-12-24",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-22",
"count": 1
},
{
"date": "2025-03-07",
"count": 1
},
{
"date": "2025-03-15",
"count": 1
},
{
"date": "2025-04-11",
"count": 2
},
{
"date": "2025-05-25",
"count": 1
},
{
"date": "2025-06-13",
"count": 1
},
{
"date": "2025-08-21",
"count": 1
},
{
"date": "2025-10-09",
"count": 1
},
{
"date": "2025-10-20",
"count": 1
},
{
"date": "2025-11-24",
"count": 1
},
{
"date": "2026-06-30",
"count": 1
}
],
"complete": true,
"collected": 59,
"total_forks": 59
},
"star_history": null,
"open_issues_and_prs": 16
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"sample"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [
"proto/greenfield/bridge/event.proto",
"proto/greenfield/bridge/genesis.proto",
"proto/greenfield/bridge/params.proto",
"proto/greenfield/bridge/query.proto",
"proto/greenfield/bridge/tx.proto",
"proto/greenfield/challenge/events.proto",
"proto/greenfield/challenge/genesis.proto",
"proto/greenfield/challenge/params.proto",
"proto/greenfield/challenge/query.proto",
"proto/greenfield/challenge/tx.proto",
"proto/greenfield/challenge/types.proto",
"proto/greenfield/common/approval.proto",
"proto/greenfield/common/wrapper.proto",
"proto/greenfield/gensp/genesis.proto",
"proto/greenfield/gensp/params.proto",
"proto/greenfield/gensp/query.proto",
"proto/greenfield/gensp/tx.proto",
"proto/greenfield/payment/auto_resume_record.proto",
"proto/greenfield/payment/auto_settle_record.proto",
"proto/greenfield/payment/delayed_withdrawal_record.proto",
"proto/greenfield/payment/events.proto",
"proto/greenfield/payment/genesis.proto",
"proto/greenfield/payment/out_flow.proto",
"proto/greenfield/payment/params.proto",
"proto/greenfield/payment/payment_account.proto",
"proto/greenfield/payment/payment_account_count.proto",
"proto/greenfield/payment/query.proto",
"proto/greenfield/payment/stream_record.proto",
"proto/greenfield/payment/tx.proto",
"proto/greenfield/permission/common.proto",
"proto/greenfield/permission/events.proto",
"proto/greenfield/permission/genesis.proto",
"proto/greenfield/permission/params.proto",
"proto/greenfield/permission/query.proto",
"proto/greenfield/permission/tx.proto",
"proto/greenfield/permission/types.proto",
"proto/greenfield/resource/types.proto",
"proto/greenfield/sp/authz.proto",
"proto/greenfield/sp/events.proto",
"proto/greenfield/sp/genesis.proto",
"proto/greenfield/sp/params.proto",
"proto/greenfield/sp/query.proto",
"proto/greenfield/sp/tx.proto",
"proto/greenfield/sp/types.proto",
"proto/greenfield/storage/common.proto",
"proto/greenfield/storage/events.proto",
"proto/greenfield/storage/genesis.proto",
"proto/greenfield/storage/params.proto",
"proto/greenfield/storage/query.proto",
"proto/greenfield/storage/tx.proto",
"proto/greenfield/storage/types.proto",
"proto/greenfield/virtualgroup/common.proto",
"proto/greenfield/virtualgroup/events.proto",
"proto/greenfield/virtualgroup/genesis.proto",
"proto/greenfield/virtualgroup/params.proto",
"proto/greenfield/virtualgroup/query.proto",
"proto/greenfield/virtualgroup/tx.proto",
"proto/greenfield/virtualgroup/types.proto",
"swagger/static/openapi.yml",
"swagger/static/swagger.yaml"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 14655923,
"source_files_sampled": 510,
"oversized_source_files": 27,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "1.62.1",
"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": 134
},
{
"name": "github.com/btcsuite/btcd",
"direct": false,
"version": "0.23.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-27vh-h6mc-q6g8",
"GHSA-2chg-86hq-7w38",
"GHSA-3jgf-r68h-xfqm",
"GO-2022-1098",
"GO-2024-2818",
"GO-2024-3189"
],
"fixed_version": "0.24.2-beta.rc1",
"advisory_count": 6,
"oldest_advisory_days": 1362
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "0.22.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 10,
"advisory_ids": [
"GHSA-45gg-vh54-h5m9",
"GHSA-5cgq-3rg8-m6cv",
"GHSA-78mq-xcr3-xm33",
"GHSA-89gr-r52h-f8rx",
"GHSA-9m57-25v3-79x9",
"GHSA-f5wc-c3c7-36mc",
"GHSA-f6x5-jh6r-wrfv",
"GHSA-hcg3-q754-cr77",
"GHSA-j5w8-q4qc-rx2x",
"GHSA-jppx-rxg9-jmrx"
],
"fixed_version": "0.52.0",
"advisory_count": 36,
"oldest_advisory_days": 596
},
{
"name": "github.com/ethereum/go-ethereum",
"direct": true,
"version": "1.13.15",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-2gjw-fg97-vg3r",
"GHSA-689v-6xwf-5jf3",
"GHSA-m6j8-rg6r-7mv8",
"GHSA-mq3p-rrmp-79jg",
"GHSA-mr7q-c9w9-wh4h",
"GO-2026-4314",
"GO-2026-4315",
"GO-2026-4507",
"GO-2026-4508",
"GO-2026-4511"
],
"fixed_version": "1.17.0",
"advisory_count": 10,
"oldest_advisory_days": 198
},
{
"name": "github.com/consensys/gnark-crypto",
"direct": false,
"version": "0.12.1",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-fj2x-735w-74vq",
"GO-2025-4087"
],
"fixed_version": "0.19.2",
"advisory_count": 2,
"oldest_advisory_days": 273
},
{
"name": "github.com/dvsekhvalnov/jose2go",
"direct": false,
"version": "1.6.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-9mj6-hxhv-w67j",
"GO-2025-4123"
],
"fixed_version": "1.7.0",
"advisory_count": 2,
"oldest_advisory_days": 260
},
{
"name": "github.com/golang/glog",
"direct": false,
"version": "1.2.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.1,
"advisory_ids": [
"GHSA-6wxm-mpqj-6jpf",
"GO-2025-3372"
],
"fixed_version": "1.2.4",
"advisory_count": 2,
"oldest_advisory_days": 549
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "0.24.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 6.5,
"advisory_ids": [
"GHSA-5cv4-jp36-h3mw",
"GHSA-qxp5-gwg8-xv66",
"GHSA-vvgc-356p-c3xw",
"GO-2024-3333",
"GO-2025-3503",
"GO-2025-3595",
"GO-2026-4440",
"GO-2026-4441",
"GO-2026-4918",
"GO-2026-5025"
],
"fixed_version": "1.26.3",
"advisory_count": 16,
"oldest_advisory_days": 589
},
{
"name": "filippo.io/edwards25519",
"direct": false,
"version": "1.0.0",
"severity": "low",
"ecosystem": "go",
"cvss_score": 3.7,
"advisory_ids": [
"GHSA-fw7p-63qq-7hpr",
"GO-2026-4503"
],
"fixed_version": "1.1.1",
"advisory_count": 2,
"oldest_advisory_days": 163
},
{
"name": "github.com/klauspost/compress",
"direct": false,
"version": "1.17.6",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5841"
],
"fixed_version": "1.18.7",
"advisory_count": 1,
"oldest_advisory_days": 4
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "0.19.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5024"
],
"fixed_version": "0.44.0",
"advisory_count": 1,
"oldest_advisory_days": 69
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "0.14.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 16
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 4,
"unknown": 3,
"critical": 3,
"moderate": 1
},
"advisory_count": 83,
"affected_count": 12,
"assessed_count": 168,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 2
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "cosmossdk.io/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.4.0"
},
{
"name": "cosmossdk.io/errors",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0-beta.7"
},
{
"name": "cosmossdk.io/math",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.1"
},
{
"name": "github.com/bits-and-blooms/bitset",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.0"
},
{
"name": "github.com/cometbft/cometbft",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.37.2"
},
{
"name": "github.com/cometbft/cometbft-db",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.0"
},
{
"name": "github.com/cosmos/cosmos-proto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0-beta.5"
},
{
"name": "github.com/cosmos/cosmos-sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.2"
},
{
"name": "github.com/cosmos/go-bip39",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/cosmos/gogoproto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.7.0"
},
{
"name": "github.com/ethereum/go-ethereum",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.13.15"
},
{
"name": "github.com/ghodss/yaml",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.0"
},
{
"name": "github.com/golang/mock",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/golang/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.5.4"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.16.0"
},
{
"name": "github.com/pkg/errors",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.9.1"
},
{
"name": "github.com/prysmaticlabs/prysm/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.0.3"
},
{
"name": "github.com/rakyll/statik",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.7"
},
{
"name": "github.com/samber/lo",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.37.0"
},
{
"name": "github.com/spf13/cast",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/spf13/cobra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.8.0"
},
{
"name": "github.com/spf13/pflag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.0.5"
},
{
"name": "github.com/spf13/viper",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.2"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.9.0"
},
{
"name": "golang.org/x/exp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20240213143201-ec583247a57a"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20240123012728-ef4313101c80"
},
{
"name": "google.golang.org/grpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.62.1"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.33.0"
},
{
"name": "gopkg.in/yaml.v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.4.0"
},
{
"name": "sigs.k8s.io/yaml",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.3.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "cosmossdk.io/errors",
"direct": true,
"version": "1.0.0-beta.7",
"ecosystem": "go"
},
{
"name": "github.com/bits-and-blooms/bitset",
"direct": true,
"version": "1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/cosmos-proto",
"direct": true,
"version": "1.0.0-beta.5",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/go-bip39",
"direct": true,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/gogoproto",
"direct": true,
"version": "1.7.0",
"ecosystem": "go"
},
{
"name": "github.com/ethereum/go-ethereum",
"direct": true,
"version": "1.13.15",
"ecosystem": "go"
},
{
"name": "github.com/ghodss/yaml",
"direct": true,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/golang/mock",
"direct": true,
"version": "1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/golang/protobuf",
"direct": true,
"version": "1.5.4",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway",
"direct": true,
"version": "1.16.0",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": true,
"version": "0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/prysmaticlabs/prysm/v5",
"direct": true,
"version": "5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/rakyll/statik",
"direct": true,
"version": "0.1.7",
"ecosystem": "go"
},
{
"name": "github.com/samber/lo",
"direct": true,
"version": "1.37.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cast",
"direct": true,
"version": "1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cobra",
"direct": true,
"version": "1.8.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": true,
"version": "1.0.5",
"ecosystem": "go"
},
{
"name": "github.com/spf13/viper",
"direct": true,
"version": "1.18.2",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "1.9.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": true,
"version": "0.0.0-20240213143201-ec583247a57a",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": true,
"version": "0.0.0-20240123012728-ef4313101c80",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "1.62.1",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": true,
"version": "1.33.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v2",
"direct": true,
"version": "2.4.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/yaml",
"direct": true,
"version": "1.3.0",
"ecosystem": "go"
},
{
"name": "cosmossdk.io/core",
"direct": false,
"version": "0.6.1",
"ecosystem": "go"
},
{
"name": "cosmossdk.io/depinject",
"direct": false,
"version": "1.0.0-alpha.3",
"ecosystem": "go"
},
{
"name": "cosmossdk.io/log",
"direct": false,
"version": "1.1.0",
"ecosystem": "go"
},
{
"name": "filippo.io/edwards25519",
"direct": false,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/99designs/go-keychain",
"direct": false,
"version": "0.0.0-20191008050251-8e49817e8af4",
"ecosystem": "go"
},
{
"name": "github.com/99designs/keyring",
"direct": false,
"version": "1.2.1",
"ecosystem": "go"
},
{
"name": "github.com/armon/go-metrics",
"direct": false,
"version": "0.4.1",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/bgentry/speakeasy",
"direct": false,
"version": "0.1.1-0.20220910012023-760eaf8b6816",
"ecosystem": "go"
},
{
"name": "github.com/bnb-chain/greenfield-cometbft",
"direct": false,
"version": "1.3.2-0.20250421115205-d0c58e3042cf",
"ecosystem": "go"
},
{
"name": "github.com/bnb-chain/greenfield-cometbft-db",
"direct": false,
"version": "0.8.1-alpha.1",
"ecosystem": "go"
},
{
"name": "github.com/bnb-chain/greenfield-cosmos-sdk",
"direct": false,
"version": "1.10.1",
"ecosystem": "go"
},
{
"name": "github.com/bnb-chain/greenfield-cosmos-sdk/api",
"direct": false,
"version": "0.0.0-20250424012533-3644b91a4a5c",
"ecosystem": "go"
},
{
"name": "github.com/bnb-chain/greenfield-cosmos-sdk/math",
"direct": false,
"version": "0.0.0-20250424012533-3644b91a4a5c",
"ecosystem": "go"
},
{
"name": "github.com/bnb-chain/greenfield-iavl",
"direct": false,
"version": "0.20.1",
"ecosystem": "go"
},
{
"name": "github.com/btcsuite/btcd",
"direct": false,
"version": "0.23.0",
"ecosystem": "go"
},
{
"name": "github.com/btcsuite/btcd/btcec/v2",
"direct": false,
"version": "2.3.2",
"ecosystem": "go"
},
{
"name": "github.com/btcsuite/btcd/btcutil",
"direct": false,
"version": "1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/btcsuite/btcd/chaincfg/chainhash",
"direct": false,
"version": "1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic",
"direct": false,
"version": "1.10.0",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v4",
"direct": false,
"version": "4.1.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash",
"direct": false,
"version": "1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "2.2.0",
"ecosystem": "go"
},
{
"name": "github.com/chainsafe/go-schnorrkel",
"direct": false,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/chzyer/readline",
"direct": false,
"version": "1.5.1",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/apd/v2",
"direct": false,
"version": "2.0.2",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/errors",
"direct": false,
"version": "1.11.1",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/logtags",
"direct": false,
"version": "0.0.0-20230118201751-21c54148d20b",
"ecosystem": "go"
},
{
"name": "github.com/cockroachdb/redact",
"direct": false,
"version": "1.1.5",
"ecosystem": "go"
},
{
"name": "github.com/consensys/bavard",
"direct": false,
"version": "0.1.13",
"ecosystem": "go"
},
{
"name": "github.com/consensys/gnark-crypto",
"direct": false,
"version": "0.12.1",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/btcutil",
"direct": false,
"version": "1.0.5",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/cosmos-sdk/ics23/go",
"direct": false,
"version": "0.8.0",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/gogogateway",
"direct": false,
"version": "1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/cosmos/ledger-cosmos-go",
"direct": false,
"version": "0.13.0",
"ecosystem": "go"
},
{
"name": "github.com/crate-crypto/go-kzg-4844",
"direct": false,
"version": "0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/creachadair/taskgroup",
"direct": false,
"version": "0.4.2",
"ecosystem": "go"
},
{
"name": "github.com/danieljoos/wincred",
"direct": false,
"version": "1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/decred/dcrd/dcrec/secp256k1/v4",
"direct": false,
"version": "4.2.0",
"ecosystem": "go"
},
{
"name": "github.com/desertbit/timer",
"direct": false,
"version": "0.0.0-20180107155436-c41aec40b27f",
"ecosystem": "go"
},
{
"name": "github.com/dgraph-io/badger/v2",
"direct": false,
"version": "2.2007.4",
"ecosystem": "go"
},
{
"name": "github.com/dgraph-io/ristretto",
"direct": false,
"version": "0.1.1",
"ecosystem": "go"
},
{
"name": "github.com/dgryski/go-farm",
"direct": false,
"version": "0.0.0-20200201041132-a6ae2369ad13",
"ecosystem": "go"
},
{
"name": "github.com/dustin/go-humanize",
"direct": false,
"version": "1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/dvsekhvalnov/jose2go",
"direct": false,
"version": "1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/ethereum/c-kzg-4844",
"direct": false,
"version": "0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/ferranbt/fastssz",
"direct": false,
"version": "0.1.3",
"ecosystem": "go"
},
{
"name": "github.com/fsnotify/fsnotify",
"direct": false,
"version": "1.7.0",
"ecosystem": "go"
},
{
"name": "github.com/getsentry/sentry-go",
"direct": false,
"version": "0.25.0",
"ecosystem": "go"
},
{
"name": "github.com/go-kit/kit",
"direct": false,
"version": "0.12.0",
"ecosystem": "go"
},
{
"name": "github.com/go-kit/log",
"direct": false,
"version": "0.2.1",
"ecosystem": "go"
},
{
"name": "github.com/go-logfmt/logfmt",
"direct": false,
"version": "0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/godbus/dbus",
"direct": false,
"version": "0.0.0-20190726142602-4481cbc300e2",
"ecosystem": "go"
},
{
"name": "github.com/gogo/googleapis",
"direct": false,
"version": "1.4.1",
"ecosystem": "go"
},
{
"name": "github.com/gogo/protobuf",
"direct": false,
"version": "1.3.2",
"ecosystem": "go"
},
{
"name": "github.com/golang/glog",
"direct": false,
"version": "1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/golang/snappy",
"direct": false,
"version": "0.0.5-0.20220116011046-fa5810519dcb",
"ecosystem": "go"
},
{
"name": "github.com/google/btree",
"direct": false,
"version": "1.1.2",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": false,
"version": "0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/google/orderedcode",
"direct": false,
"version": "0.0.1",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/handlers",
"direct": false,
"version": "1.5.1",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/mux",
"direct": false,
"version": "1.8.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "1.5.1",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/go-grpc-middleware",
"direct": false,
"version": "1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/gsterjov/go-libsecret",
"direct": false,
"version": "0.0.0-20161001094733-a6f4afe4910c",
"ecosystem": "go"
},
{
"name": "github.com/gtank/merlin",
"direct": false,
"version": "0.1.1",
"ecosystem": "go"
},
{
"name": "github.com/gtank/ristretto255",
"direct": false,
"version": "0.1.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-immutable-radix",
"direct": false,
"version": "1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/golang-lru",
"direct": false,
"version": "0.5.5-0.20210104140557-80c98217689d",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/hcl",
"direct": false,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/hdevalence/ed25519consensus",
"direct": false,
"version": "0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/herumi/bls-eth-go-binary",
"direct": false,
"version": "1.31.0",
"ecosystem": "go"
},
{
"name": "github.com/holiman/uint256",
"direct": false,
"version": "1.2.4",
"ecosystem": "go"
},
{
"name": "github.com/huandu/skiplist",
"direct": false,
"version": "1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/improbable-eng/grpc-web",
"direct": false,
"version": "0.15.0",
"ecosystem": "go"
},
{
"name": "github.com/inconshreveable/mousetrap",
"direct": false,
"version": "1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/jmhodges/levigo",
"direct": false,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/compress",
"direct": false,
"version": "1.17.6",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/cpuid/v2",
"direct": false,
"version": "2.2.7",
"ecosystem": "go"
},
{
"name": "github.com/kr/pretty",
"direct": false,
"version": "0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/kr/text",
"direct": false,
"version": "0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/lib/pq",
"direct": false,
"version": "1.10.7",
"ecosystem": "go"
},
{
"name": "github.com/libp2p/go-buffer-pool",
"direct": false,
"version": "0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/linxgnu/grocksdb",
"direct": false,
"version": "1.7.16",
"ecosystem": "go"
},
{
"name": "github.com/magiconair/properties",
"direct": false,
"version": "1.8.7",
"ecosystem": "go"
},
{
"name": "github.com/manifoldco/promptui",
"direct": false,
"version": "0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": false,
"version": "0.1.13",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/mimoo/strobego",
"direct": false,
"version": "0.0.0-20210601165009-122bf33a46e0",
"ecosystem": "go"
},
{
"name": "github.com/minio/highwayhash",
"direct": false,
"version": "1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/minio/sha256-simd",
"direct": false,
"version": "1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/mapstructure",
"direct": false,
"version": "1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/mmcloughlin/addchain",
"direct": false,
"version": "0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/mohae/deepcopy",
"direct": false,
"version": "0.0.0-20170929034955-c48cc78d4826",
"ecosystem": "go"
},
{
"name": "github.com/mtibben/percent",
"direct": false,
"version": "0.2.1",
"ecosystem": "go"
},
{
"name": "github.com/pelletier/go-toml/v2",
"direct": false,
"version": "2.1.0",
"ecosystem": "go"
},
{
"name": "github.com/petermattis/goid",
"direct": false,
"version": "0.0.0-20230317030725-371a4b8eda08",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": false,
"version": "1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": false,
"version": "0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "0.47.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "0.12.0",
"ecosystem": "go"
},
{
"name": "github.com/prysmaticlabs/fastssz",
"direct": false,
"version": "0.0.0-20221107182844-78142813af44",
"ecosystem": "go"
},
{
"name": "github.com/prysmaticlabs/gohashtree",
"direct": false,
"version": "0.0.4-beta",
"ecosystem": "go"
},
{
"name": "github.com/rcrowley/go-metrics",
"direct": false,
"version": "0.0.0-20201227073835-cf1acfcdf475",
"ecosystem": "go"
},
{
"name": "github.com/rogpeppe/go-internal",
"direct": false,
"version": "1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/rs/cors",
"direct": false,
"version": "1.8.3",
"ecosystem": "go"
},
{
"name": "github.com/rs/zerolog",
"direct": false,
"version": "1.29.1",
"ecosystem": "go"
},
{
"name": "github.com/sagikazarmark/locafero",
"direct": false,
"version": "0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/sagikazarmark/slog-shim",
"direct": false,
"version": "0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/sasha-s/go-deadlock",
"direct": false,
"version": "0.3.1",
"ecosystem": "go"
},
{
"name": "github.com/sirupsen/logrus",
"direct": false,
"version": "1.9.3",
"ecosystem": "go"
},
{
"name": "github.com/sourcegraph/conc",
"direct": false,
"version": "0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/afero",
"direct": false,
"version": "1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/subosito/gotenv",
"direct": false,
"version": "1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/supranational/blst",
"direct": false,
"version": "0.3.11",
"ecosystem": "go"
},
{
"name": "github.com/syndtr/goleveldb",
"direct": false,
"version": "1.0.1-0.20210819022825-2ae1ddf74ef7",
"ecosystem": "go"
},
{
"name": "github.com/tendermint/go-amino",
"direct": false,
"version": "0.16.0",
"ecosystem": "go"
},
{
"name": "github.com/thomaso-mirodin/intmath",
"direct": false,
"version": "0.0.0-20160323211736-5dc6d854e46e",
"ecosystem": "go"
},
{
"name": "github.com/tidwall/btree",
"direct": false,
"version": "1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/wealdtech/go-bytesutil",
"direct": false,
"version": "1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/wealdtech/go-eth2-types/v2",
"direct": false,
"version": "2.8.2",
"ecosystem": "go"
},
{
"name": "github.com/wealdtech/go-eth2-util",
"direct": false,
"version": "1.6.3",
"ecosystem": "go"
},
{
"name": "github.com/willf/bitset",
"direct": false,
"version": "1.1.11",
"ecosystem": "go"
},
{
"name": "github.com/zondax/hid",
"direct": false,
"version": "0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/zondax/ledger-go",
"direct": false,
"version": "0.14.1",
"ecosystem": "go"
},
{
"name": "go.etcd.io/bbolt",
"direct": false,
"version": "1.3.9",
"ecosystem": "go"
},
{
"name": "go.uber.org/multierr",
"direct": false,
"version": "1.11.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "0.22.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "0.24.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "0.6.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "0.19.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": false,
"version": "0.19.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "0.14.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto",
"direct": false,
"version": "0.0.0-20240123012728-ef4313101c80",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "0.0.0-20240123012728-ef4313101c80",
"ecosystem": "go"
},
{
"name": "gopkg.in/ini.v1",
"direct": false,
"version": "1.67.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": false,
"version": "3.0.1",
"ecosystem": "go"
},
{
"name": "nhooyr.io/websocket",
"direct": false,
"version": "1.8.6",
"ecosystem": "go"
},
{
"name": "pgregory.net/rapid",
"direct": false,
"version": "1.1.0",
"ecosystem": "go"
},
{
"name": "rsc.io/tmplfunc",
"direct": false,
"version": "0.0.3",
"ecosystem": "go"
}
],
"collected": true,
"truncated": false,
"total_count": 168,
"direct_count": 25,
"indirect_count": 143
}
},
"maintainership": {
"issues": {
"open_prs": 10,
"merged_prs": 590,
"open_issues": 6,
"closed_ratio": 0.75,
"closed_issues": 18,
"closed_unmerged_prs": 62
},
"bus_factor": 4,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "alexgao001",
"commits": 87,
"avatar_url": "https://avatars.githubusercontent.com/u/118710506?v=4"
},
{
"type": "User",
"login": "forcodedancing",
"commits": 84,
"avatar_url": "https://avatars.githubusercontent.com/u/61674316?v=4"
},
{
"type": "User",
"login": "unclezoro",
"commits": 73,
"avatar_url": "https://avatars.githubusercontent.com/u/7310198?v=4"
},
{
"type": "User",
"login": "yutianwu",
"commits": 61,
"avatar_url": "https://avatars.githubusercontent.com/u/5030187?v=4"
},
{
"type": "User",
"login": "j75689",
"commits": 54,
"avatar_url": "https://avatars.githubusercontent.com/u/25412254?v=4"
},
{
"type": "User",
"login": "fynnss",
"commits": 51,
"avatar_url": "https://avatars.githubusercontent.com/u/16660938?v=4"
},
{
"type": "User",
"login": "pythonberg1997",
"commits": 43,
"avatar_url": "https://avatars.githubusercontent.com/u/48975233?v=4"
},
{
"type": "User",
"login": "randyahx",
"commits": 30,
"avatar_url": "https://avatars.githubusercontent.com/u/62416962?v=4"
},
{
"type": "User",
"login": "owen-reorg",
"commits": 23,
"avatar_url": "https://avatars.githubusercontent.com/u/103096885?v=4"
},
{
"type": "User",
"login": "jingjunLi",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/11239387?v=4"
}
],
"contributors_sampled": 20,
"top_contributor_share": 0.148
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"buf.yml",
"build.yml",
"docker-build-workflow-dispatch.yml",
"docker-release.yml",
"gosec.yml",
"lint.yml",
"release.yml",
"tests.yml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yaml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 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": "4 out of 17 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": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"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": 0,
"reason": "project is not 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": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow 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": 4,
"reason": "SAST tool is not run on all commits -- score normalized to 4",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"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": "49 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "77d25ebac679b46e840c45f6b9b5dde8ef8cee11",
"ran_at": "2026-07-31T16:51:48Z",
"aggregate_score": 3.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-27T16:40:24Z",
"oldest_open_prs": [
{
"number": 466,
"created_at": "2023-09-06T19:55:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 502,
"created_at": "2023-10-11T22:51:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 510,
"created_at": "2023-10-25T22:44:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 651,
"created_at": "2025-01-02T02:47:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 653,
"created_at": "2025-03-15T15:59:00Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 667,
"created_at": "2025-10-20T08:06:28Z",
"last_comment_at": "2025-10-24T09:38:33Z",
"last_comment_author": "withtimezone"
},
{
"number": 681,
"created_at": "2026-06-03T08:25:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 682,
"created_at": "2026-06-03T08:27:44Z",
"last_comment_at": "2026-06-03T08:27:53Z",
"last_comment_author": "hashdit-bot"
},
{
"number": 685,
"created_at": "2026-07-15T07:01:18Z",
"last_comment_at": "2026-07-15T07:01:28Z",
"last_comment_author": "hashdit-bot"
},
{
"number": 687,
"created_at": "2026-07-24T04:01:25Z",
"last_comment_at": "2026-07-24T07:33:04Z",
"last_comment_author": "hashdit-bot"
}
],
"last_merged_pr_at": "2026-07-28T12:58:46Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 540,
"created_at": "2023-12-15T15:44:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 622,
"created_at": "2024-05-19T00:28:23Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 642,
"created_at": "2024-07-15T06:00:47Z",
"last_comment_at": "2025-11-02T09:29:23Z",
"last_comment_author": "Castro1g"
},
{
"number": 650,
"created_at": "2024-11-27T19:13:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 670,
"created_at": "2026-02-14T14:36:12Z",
"last_comment_at": "2026-02-14T14:37:18Z",
"last_comment_author": "teresabuby-cmd"
},
{
"number": 679,
"created_at": "2026-05-26T05:42:30Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/bnb-chain/greenfield",
"host": "github.com",
"name": "greenfield",
"owner": "bnb-chain"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": "The weighted overall 65 is calibrated to 75 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 65,
"calibrated": 75,
"calibration": "2026-08-02"
}
}
],
"value": 75,
"inputs": {
"security": 38,
"vitality": 65,
"community": 57,
"governance": 84,
"calibration": "2026-08-02",
"engineering": 71,
"ai_readiness": 67,
"weighted_overall_raw": 65
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 65,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "weak",
"name": "Development activity",
"note": null,
"notes": [],
"value": 48,
"inputs": {
"commits_last_year": 10,
"human_commit_share": 1,
"days_since_last_push": 3,
"active_weeks_last_year": 3
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 3 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 3
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "3/52 weeks with commits",
"points": 2.1,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 3
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "10 commits in the last year",
"points": 9.4,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 10
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 82,
"latest_release_tag": "v1.10.12",
"releases_from_tags": false,
"days_since_latest_release": 3,
"mean_days_between_releases": 31.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "82 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 82
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 3 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 3
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~31.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 31.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "dormant",
"guards": [
"recent_release"
],
"signals": [
"scorecard_unmaintained"
],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 6,
"unanswered_open_issues": 4,
"days_since_last_merged_pr": 7,
"days_since_last_human_commit": 280,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 280 days, with nothing left unanswered; held at dormant by a release within the year",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_quiet",
"params": {
"days": 280
}
},
{
"code": "abandonment_guarded",
"params": {
"guards": "a release within the year"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 57,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"forks": 59,
"stars": 135,
"watchers": 22,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "135 stars",
"points": 34.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 135
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "59 forks",
"points": 14.7,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 59
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "22 watchers",
"points": 7.4,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 22
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (AGPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "AGPL-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": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "excellent",
"name": "Sustainability & Governance",
"value": 84,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"bus_factor": 4,
"contributors_sampled": 20,
"top_contributor_share": 0.148
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "4 contributor(s) cover half of all commits",
"points": 43.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 4
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 15% of commits",
"points": 19.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 15
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "20 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 20
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 85,
"inputs": {
"merged_prs": 590,
"open_issues": 6,
"closed_issues": 18,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 0.75,
"closed_unmerged_prs": 62,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "75% of issues closed",
"points": 31.5,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 75
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "590/652 decided PRs merged",
"points": 27.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 590,
"decided": 652
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "excellent",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 4257,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "bnb-chain",
"public_repos": 226,
"account_age_days": 2795
},
"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": "4,257 followers of bnb-chain",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 4257,
"login": "bnb-chain"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "226 public repos, account ~7 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 226
}
},
{
"code": "account_age_years",
"params": {
"years": 7
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/bnb-chain/greenfield"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 3
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 3 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 3
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "83 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 83
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 71,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"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": "8 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 8
}
}
],
"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.yaml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yaml"
}
}
],
"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": "4 out of 17 merged PRs checked by a CI test -- score normalized to 2",
"points": 4,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": 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": "weak",
"name": "Security",
"value": 38,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "weak",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 36,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 3.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "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": "4 out of 17 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": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"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 not fuzzed",
"points": 0,
"status": "missed",
"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": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"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 4",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "49 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "weak",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 168 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": 168
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 48,
"inputs": {
"source": "osv",
"advisories": 83,
"affected_packages": 12,
"assessed_packages": 168,
"unassessed_packages": 0,
"affected_by_severity": "critical 3, high 4, moderate 1, low 1, unknown 3",
"direct_affected_packages": 2
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "2 affected: google.golang.org/grpc 1.62.1 (critical 9.1), github.com/ethereum/go-ethereum 1.13.15 (high 7.5)",
"points": 8,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 2,
"packages": "google.golang.org/grpc 1.62.1 (critical 9.1), github.com/ethereum/go-ethereum 1.13.15 (high 7.5)"
}
}
],
"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": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 198 days ago",
"points": 28.3,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 2,
"oldest": 198
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"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": 168,
"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": "exceptional",
"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"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 2
},
"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": 67,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "weak",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.82,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "82 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 82,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"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.yaml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yaml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 97,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 14655923,
"source_files_sampled": 510,
"oversized_source_files": 27
},
"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": "27/510 source files over 60KB",
"points": 52.1,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 510,
"oversized": 27
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "excellent",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"example_dirs": [
"sample"
],
"has_mcp_signal": false,
"api_schema_files": [
"proto/greenfield/bridge/event.proto",
"proto/greenfield/bridge/genesis.proto",
"proto/greenfield/bridge/params.proto",
"proto/greenfield/bridge/query.proto",
"proto/greenfield/bridge/tx.proto",
"proto/greenfield/challenge/events.proto",
"proto/greenfield/challenge/genesis.proto",
"proto/greenfield/challenge/params.proto",
"proto/greenfield/challenge/query.proto",
"proto/greenfield/challenge/tx.proto",
"proto/greenfield/challenge/types.proto",
"proto/greenfield/common/approval.proto",
"proto/greenfield/common/wrapper.proto",
"proto/greenfield/gensp/genesis.proto",
"proto/greenfield/gensp/params.proto",
"proto/greenfield/gensp/query.proto",
"proto/greenfield/gensp/tx.proto",
"proto/greenfield/payment/auto_resume_record.proto",
"proto/greenfield/payment/auto_settle_record.proto",
"proto/greenfield/payment/delayed_withdrawal_record.proto",
"proto/greenfield/payment/events.proto",
"proto/greenfield/payment/genesis.proto",
"proto/greenfield/payment/out_flow.proto",
"proto/greenfield/payment/params.proto",
"proto/greenfield/payment/payment_account.proto",
"proto/greenfield/payment/payment_account_count.proto",
"proto/greenfield/payment/query.proto",
"proto/greenfield/payment/stream_record.proto",
"proto/greenfield/payment/tx.proto",
"proto/greenfield/permission/common.proto",
"proto/greenfield/permission/events.proto",
"proto/greenfield/permission/genesis.proto",
"proto/greenfield/permission/params.proto",
"proto/greenfield/permission/query.proto",
"proto/greenfield/permission/tx.proto",
"proto/greenfield/permission/types.proto",
"proto/greenfield/resource/types.proto",
"proto/greenfield/sp/authz.proto",
"proto/greenfield/sp/events.proto",
"proto/greenfield/sp/genesis.proto",
"proto/greenfield/sp/params.proto",
"proto/greenfield/sp/query.proto",
"proto/greenfield/sp/tx.proto",
"proto/greenfield/sp/types.proto",
"proto/greenfield/storage/common.proto",
"proto/greenfield/storage/events.proto",
"proto/greenfield/storage/genesis.proto",
"proto/greenfield/storage/params.proto",
"proto/greenfield/storage/query.proto",
"proto/greenfield/storage/tx.proto",
"proto/greenfield/storage/types.proto",
"proto/greenfield/virtualgroup/common.proto",
"proto/greenfield/virtualgroup/events.proto",
"proto/greenfield/virtualgroup/genesis.proto",
"proto/greenfield/virtualgroup/params.proto",
"proto/greenfield/virtualgroup/query.proto",
"proto/greenfield/virtualgroup/tx.proto",
"proto/greenfield/virtualgroup/types.proto",
"swagger/static/openapi.yml",
"swagger/static/swagger.yaml"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "proto/greenfield/bridge/event.proto, proto/greenfield/bridge/genesis.proto, proto/greenfield/bridge/params.proto, proto/greenfield/bridge/query.proto, proto/greenfield/bridge/tx.proto, proto/greenfield/challenge/events.proto, proto/greenfield/challenge/genesis.proto, proto/greenfield/challenge/params.proto, proto/greenfield/challenge/query.proto, proto/greenfield/challenge/tx.proto, proto/greenfield/challenge/types.proto, proto/greenfield/common/approval.proto, proto/greenfield/common/wrapper.proto, proto/greenfield/gensp/genesis.proto, proto/greenfield/gensp/params.proto, proto/greenfield/gensp/query.proto, proto/greenfield/gensp/tx.proto, proto/greenfield/payment/auto_resume_record.proto, proto/greenfield/payment/auto_settle_record.proto, proto/greenfield/payment/delayed_withdrawal_record.proto, proto/greenfield/payment/events.proto, proto/greenfield/payment/genesis.proto, proto/greenfield/payment/out_flow.proto, proto/greenfield/payment/params.proto, proto/greenfield/payment/payment_account.proto, proto/greenfield/payment/payment_account_count.proto, proto/greenfield/payment/query.proto, proto/greenfield/payment/stream_record.proto, proto/greenfield/payment/tx.proto, proto/greenfield/permission/common.proto, proto/greenfield/permission/events.proto, proto/greenfield/permission/genesis.proto, proto/greenfield/permission/params.proto, proto/greenfield/permission/query.proto, proto/greenfield/permission/tx.proto, proto/greenfield/permission/types.proto, proto/greenfield/resource/types.proto, proto/greenfield/sp/authz.proto, proto/greenfield/sp/events.proto, proto/greenfield/sp/genesis.proto, proto/greenfield/sp/params.proto, proto/greenfield/sp/query.proto, proto/greenfield/sp/tx.proto, proto/greenfield/sp/types.proto, proto/greenfield/storage/common.proto, proto/greenfield/storage/events.proto, proto/greenfield/storage/genesis.proto, proto/greenfield/storage/params.proto, proto/greenfield/storage/query.proto, proto/greenfield/storage/tx.proto, proto/greenfield/storage/types.proto, proto/greenfield/virtualgroup/common.proto, proto/greenfield/virtualgroup/events.proto, proto/greenfield/virtualgroup/genesis.proto, proto/greenfield/virtualgroup/params.proto, proto/greenfield/virtualgroup/query.proto, proto/greenfield/virtualgroup/tx.proto, proto/greenfield/virtualgroup/types.proto, swagger/static/openapi.yml, swagger/static/swagger.yaml",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "proto/greenfield/bridge/event.proto, proto/greenfield/bridge/genesis.proto, proto/greenfield/bridge/params.proto, proto/greenfield/bridge/query.proto, proto/greenfield/bridge/tx.proto, proto/greenfield/challenge/events.proto, proto/greenfield/challenge/genesis.proto, proto/greenfield/challenge/params.proto, proto/greenfield/challenge/query.proto, proto/greenfield/challenge/tx.proto, proto/greenfield/challenge/types.proto, proto/greenfield/common/approval.proto, proto/greenfield/common/wrapper.proto, proto/greenfield/gensp/genesis.proto, proto/greenfield/gensp/params.proto, proto/greenfield/gensp/query.proto, proto/greenfield/gensp/tx.proto, proto/greenfield/payment/auto_resume_record.proto, proto/greenfield/payment/auto_settle_record.proto, proto/greenfield/payment/delayed_withdrawal_record.proto, proto/greenfield/payment/events.proto, proto/greenfield/payment/genesis.proto, proto/greenfield/payment/out_flow.proto, proto/greenfield/payment/params.proto, proto/greenfield/payment/payment_account.proto, proto/greenfield/payment/payment_account_count.proto, proto/greenfield/payment/query.proto, proto/greenfield/payment/stream_record.proto, proto/greenfield/payment/tx.proto, proto/greenfield/permission/common.proto, proto/greenfield/permission/events.proto, proto/greenfield/permission/genesis.proto, proto/greenfield/permission/params.proto, proto/greenfield/permission/query.proto, proto/greenfield/permission/tx.proto, proto/greenfield/permission/types.proto, proto/greenfield/resource/types.proto, proto/greenfield/sp/authz.proto, proto/greenfield/sp/events.proto, proto/greenfield/sp/genesis.proto, proto/greenfield/sp/params.proto, proto/greenfield/sp/query.proto, proto/greenfield/sp/tx.proto, proto/greenfield/sp/types.proto, proto/greenfield/storage/common.proto, proto/greenfield/storage/events.proto, proto/greenfield/storage/genesis.proto, proto/greenfield/storage/params.proto, proto/greenfield/storage/query.proto, proto/greenfield/storage/tx.proto, proto/greenfield/storage/types.proto, proto/greenfield/virtualgroup/common.proto, proto/greenfield/virtualgroup/events.proto, proto/greenfield/virtualgroup/genesis.proto, proto/greenfield/virtualgroup/params.proto, proto/greenfield/virtualgroup/query.proto, proto/greenfield/virtualgroup/tx.proto, proto/greenfield/virtualgroup/types.proto, swagger/static/openapi.yml, swagger/static/swagger.yaml"
}
}
],
"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": "sample",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "sample"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"application"
],
"labels": [
"cli"
],
"scores": {
"cli": 4,
"library": 3,
"network-service": 3
},
"primary": "cli",
"evidence": [
{
"tier": "dependencies",
"label": "cli",
"source": "dep:github.com/spf13/cobra",
"weight": 4
},
{
"tier": "distribution",
"label": "library",
"source": "registry:go",
"weight": 3
},
{
"tier": "structure",
"label": "network-service",
"source": "api_schema",
"weight": 3
}
],
"artifacts": [],
"confidence": "low",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": false
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-31T16:52:18.256237Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/bnb-chain/greenfield.svg",
"full_name": "bnb-chain/greenfield",
"license_state": "standard",
"license_spdx": "AGPL-3.0"
}