{"id":34188814,"url":"https://github.com/chmielewskikamil/solbot","last_synced_at":"2026-03-09T22:31:14.328Z","repository":{"id":225499535,"uuid":"763585925","full_name":"ChmielewskiKamil/solbot","owner":"ChmielewskiKamil","description":"Solidity static analyzer and language server written from scratch in Go.","archived":false,"fork":false,"pushed_at":"2026-02-22T16:58:48.000Z","size":390,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-22T21:36:35.183Z","etag":null,"topics":["golang","lexer","lsp","parser","solidity","static-analyzer","zero-dependency"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChmielewskiKamil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-26T15:13:58.000Z","updated_at":"2026-02-22T16:58:52.000Z","dependencies_parsed_at":"2024-03-27T17:46:46.301Z","dependency_job_id":"d6430874-8a35-463f-96b6-64108eab327a","html_url":"https://github.com/ChmielewskiKamil/solbot","commit_stats":null,"previous_names":["chmielewskikamil/parse-sol-in-go"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ChmielewskiKamil/solbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChmielewskiKamil%2Fsolbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChmielewskiKamil%2Fsolbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChmielewskiKamil%2Fsolbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChmielewskiKamil%2Fsolbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChmielewskiKamil","download_url":"https://codeload.github.com/ChmielewskiKamil/solbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChmielewskiKamil%2Fsolbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30314627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","lexer","lsp","parser","solidity","static-analyzer","zero-dependency"],"created_at":"2025-12-15T15:44:06.999Z","updated_at":"2026-03-09T22:31:14.307Z","avatar_url":"https://github.com/ChmielewskiKamil.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"| Detector ID | Description | Implemented |\n| --- | --- | :---: |\n| `screamingsnakeconst` | `constant` and `immutable` variables should be declared with a `SCREAMING_SNAKE_CASE`. | ✅ |\n| `nonpausable` | Contract is not pausable if the internal `_pause` and `_unpause` functions are not exposed | |\n| `disableinitializers` | Initializers on implementation contracts should be disabled | |\n| `interfacemismatch` | Function signature in the interface is different from the implementation | |\n| `zeroaddresseth` | `address(0)` should not be used to represent Ether | |\n| `functionorder` | Order of functions should follow the Solidity style guide | |\n| `privatefuncunderscore` | Private and internal functions should be prefixed with an underscore | |\n| `privatevarunderscore` | Private and internal state variables should be prefixed with an underscore | |\n| `renounceownership` | If the `renounceOwnership(...)` is not overriden, ownership can be lost by accident | | \n| `unusedpayable` | Function is marked as `payable` but does not use the `msg.value` inside the function's body | |\n| `memorytocalldata` | If function arguments are not modified in the function, they should be declared as `calldata` | |\n| `rtloverride` | The `U+202E` character should not be present in the code | |\n| `constantvars` | Variables that never change should be declared as `constant` | |\n| `immutablevars` | Variables that are assigned once during construction should be declared as `immutable` | |\n| `publicexternalfunc` | A `public` function that is not called internally should be declared as `external` | |\n| `unusedimport` | Unused imports should be removed | |\n| `unusedlocalvar` | Unused local variables should be removed | |\n| `unusedstatevar` | Unused state variables should be removed | |\n| `unusedreturn` | Unused named returns should be removed | |\n| `unusedstruct` | Unused structs should be removed | |\n| `unusedmodifier` | Unused modifiers should be removed | |\n| `unusedevent` | Unused events should be removed | |\n| `unusedenum` | Unused enums should be removed | |\n| `unusedfunction` | Unused `internal` and `private` functions should be removed | |\n| `unusedparams` | Unused function parameters should be removed | |\n| `redefinedconst` | Redefined `constant` and `immutable` variables should be grouped in a single file | |\n| `couldbepure` | Functions that do not read or modify state should be declared as `pure` | |\n| `unnecessarysetroleadmin` | When using OZ's `AccessControl` there is no need to set `DEFAULT_ADMIN_ROLE` as admin for other roles | |\n| `grantrolezeroaddress` | The grant role functions from OZ's `AccessControl` don't check zero address | |\n| `upgradepattern` | If you don't inherit `UUPSUpgradeable`, the contract can't be deployed as UUPS proxy | |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchmielewskikamil%2Fsolbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchmielewskikamil%2Fsolbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchmielewskikamil%2Fsolbot/lists"}