{"id":15837411,"url":"https://github.com/sambacha/solidity-tools","last_synced_at":"2026-01-20T21:33:40.483Z","repository":{"id":52546683,"uuid":"288707872","full_name":"sambacha/solidity-tools","owner":"sambacha","description":"ethereum/solidity tools/scripts/etc ","archived":false,"fork":false,"pushed_at":"2021-05-15T20:57:36.000Z","size":6897,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-11T01:57:33.298Z","etag":null,"topics":["ast","erc20","erc721","ethereum","evm","grammar","parser","smart-contracts","solidity"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sambacha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-19T10:59:12.000Z","updated_at":"2021-02-21T07:50:21.000Z","dependencies_parsed_at":"2022-09-06T16:02:16.934Z","dependency_job_id":null,"html_url":"https://github.com/sambacha/solidity-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sambacha/solidity-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sambacha%2Fsolidity-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sambacha%2Fsolidity-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sambacha%2Fsolidity-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sambacha%2Fsolidity-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sambacha","download_url":"https://codeload.github.com/sambacha/solidity-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sambacha%2Fsolidity-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28614613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T18:56:40.769Z","status":"ssl_error","status_checked_at":"2026-01-20T18:54:26.653Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["ast","erc20","erc721","ethereum","evm","grammar","parser","smart-contracts","solidity"],"created_at":"2024-10-05T15:22:20.046Z","updated_at":"2026-01-20T21:33:40.467Z","avatar_url":"https://github.com/sambacha.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart Contract Tools\n\n## Overview\n\n\u003e Various Tools for working with contracts\n\n### Gwei Contract Monitor\n\nAlerts for Contracts for *potential* attacks through transactions\n\n### Solidity AST Generator\n\n### Overview\n\n`$ sh parse.sh`\n\n#### Output\n```json\n{\n  \"type\": \"Program\",\n  \"body\": [\n    {\n      \"type\": \"ContractStatement\",\n      \"name\": \"MyContract\",\n      \"is\": [],\n      \"body\": [\n        {\n          \"type\": \"ExpressionStatement\",\n          \"expression\": {\n            \"type\": \"AssignmentExpression\",\n            \"operator\": \"=\",\n            \"left\": {\n              \"type\": \"DeclarativeExpression\",\n              \"name\": \"counter\",\n              \"literal\": {\n                \"type\": \"Type\",\n                \"literal\": \"uint\",\n                \"members\": [],\n                \"array_parts\": []\n              },\n              \"is_constant\": false,\n              \"is_public\": false,\n              \"is_memory\": false\n            },\n            \"right\": {\n              \"type\": \"Literal\",\n              \"value\": 0\n            }\n          }\n        },\n        {\n          \"type\": \"FunctionDeclaration\",\n          \"name\": \"Count\",\n          \"params\": null,\n          \"modifiers\": null,\n          \"body\": {\n            \"type\": \"BlockStatement\",\n            \"body\": [\n              {\n                \"type\": \"ExpressionStatement\",\n                \"expression\": {\n                  \"type\": \"UpdateExpression\",\n                  \"operator\": \"++\",\n                  \"argument\": {\n                    \"type\": \"Identifier\",\n                    \"name\": \"counter\"\n                  },\n                  \"prefix\": false\n                }\n              }\n            ]\n          },\n          \"is_abstract\": false\n        },\n        {\n          \"type\": \"FunctionDeclaration\",\n          \"name\": \"CallCount\",\n          \"params\": null,\n          \"modifiers\": null,\n          \"body\": {\n            \"type\": \"BlockStatement\",\n            \"body\": [\n              {\n                \"type\": \"ExpressionStatement\",\n                \"expression\": {\n                  \"type\": \"CallExpression\",\n                  \"callee\": {\n                    \"type\": \"Identifier\",\n                    \"name\": \"Count\"\n                  },\n                  \"arguments\": []\n                }\n              }\n            ]\n          },\n          \"is_abstract\": false\n        },\n        {\n          \"type\": \"FunctionDeclaration\",\n          \"name\": \"Send\",\n          \"params\": null,\n          \"modifiers\": null,\n          \"body\": {\n            \"type\": \"BlockStatement\",\n            \"body\": [\n              {\n                \"type\": \"ExpressionStatement\",\n                \"expression\": {\n                  \"type\": \"CallExpression\",\n                  \"callee\": {\n                    \"type\": \"MemberExpression\",\n                    \"object\": {\n                      \"type\": \"MemberExpression\",\n                      \"object\": {\n                        \"type\": \"Identifier\",\n                        \"name\": \"msg\"\n                      },\n                      \"property\": {\n                        \"type\": \"Identifier\",\n                        \"name\": \"sender\"\n                      },\n                      \"computed\": false\n                    },\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"name\": \"send\"\n                    },\n                    \"computed\": false\n                  },\n                  \"arguments\": [\n                    {\n                      \"type\": \"Literal\",\n                      \"value\": 1\n                    }\n                  ]\n                }\n              }\n            ]\n          },\n          \"is_abstract\": false\n        },\n        {\n          \"type\": \"FunctionDeclaration\",\n          \"name\": \"Call\",\n          \"params\": null,\n          \"modifiers\": null,\n          \"body\": {\n            \"type\": \"BlockStatement\",\n            \"body\": [\n              {\n                \"type\": \"ExpressionStatement\",\n                \"expression\": {\n                  \"type\": \"CallExpression\",\n                  \"arguments\": [],\n                  \"callee\": {\n                    \"type\": \"MemberExpression\",\n                    \"property\": {\n                      \"type\": \"Identifier\",\n                      \"name\": \"call\"\n                    },\n                    \"computed\": false,\n                    \"object\": {\n                      \"type\": \"CallExpression\",\n                      \"callee\": {\n                        \"type\": \"MemberExpression\",\n                        \"object\": {\n                          \"type\": \"MemberExpression\",\n                          \"object\": {\n                            \"type\": \"Identifier\",\n                            \"name\": \"msg\"\n                          },\n                          \"property\": {\n                            \"type\": \"Identifier\",\n                            \"name\": \"sender\"\n                          },\n                          \"computed\": false\n                        },\n                        \"property\": {\n                          \"type\": \"Identifier\",\n                          \"name\": \"value\"\n                        },\n                        \"computed\": false\n                      },\n                      \"arguments\": [\n                        {\n                          \"type\": \"Literal\",\n                          \"value\": 1\n                        }\n                      ]\n                    }\n                  }\n                }\n              }\n            ]\n          },\n          \"is_abstract\": false\n        }\n      ]\n    }\n  ]\n}\n```\n\n## License\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsambacha%2Fsolidity-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsambacha%2Fsolidity-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsambacha%2Fsolidity-tools/lists"}