{"id":30140339,"url":"https://github.com/froganbee/find_admin","last_synced_at":"2026-01-07T10:05:49.011Z","repository":{"id":250665554,"uuid":"807967706","full_name":"FroganBee/find_admin","owner":"FroganBee","description":"This project is shown terminal util to find constructor arguments when creating a contract in ethereum based networks","archived":false,"fork":false,"pushed_at":"2024-05-30T06:04:40.000Z","size":39,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-18T19:33:58.724Z","etag":null,"topics":["arguments","blockchain","bsc","constructor","contracts","ethereum","ethers","ethersjs","parser","parser-library","smart-contracts","typescript","web3","web3js"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/FroganBee.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-30T06:03:51.000Z","updated_at":"2024-08-09T15:10:55.000Z","dependencies_parsed_at":"2024-07-29T08:55:14.177Z","dependency_job_id":null,"html_url":"https://github.com/FroganBee/find_admin","commit_stats":null,"previous_names":["tonny0831/find_admin","max-tonny8/find_admin","solpr0digy/find_admin","froganbee/find_admin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FroganBee/find_admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FroganBee%2Ffind_admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FroganBee%2Ffind_admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FroganBee%2Ffind_admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FroganBee%2Ffind_admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FroganBee","download_url":"https://codeload.github.com/FroganBee/find_admin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FroganBee%2Ffind_admin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269827162,"owners_count":24481483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["arguments","blockchain","bsc","constructor","contracts","ethereum","ethers","ethersjs","parser","parser-library","smart-contracts","typescript","web3","web3js"],"created_at":"2025-08-11T03:36:46.178Z","updated_at":"2026-01-07T10:05:48.702Z","avatar_url":"https://github.com/FroganBee.png","language":"TypeScript","readme":"# constructor-argument-detector\n🚀 Terminal util to find constructor arguments when creating a contract in ethereum based networks\n\n[![npm (tag)](https://img.shields.io/npm/v/constructor-argument-detector)](https://www.npmjs.com/package/constructor-argument-detector)\n\n\n## Get Started\n```bash\nnpm install -g constructor-argument-detector\n```\n\n\n## Usage\n```bash\nUsage: constructor-detector [options] \u003ctransaction-hash-of-creation-contract\u003e\n\nCLI to find constructor argument in ethereum based chain contracts\n\nArguments:\n  hash                  Tx of creating transactions\n\nOptions:\n  -e, --endpoint \u003curl\u003e  RPC endpoint url\n  -t, --types \u003cstring\u003e  Constructor types (Example: uint,string,address)\n  -h, --help            display help for command\n```\n\n\n## Example\n```bash\nuser@macbook ~ % constructor  -e https://bsc-dataseed1.binance.org \\\n                              -t address,address \\\n                              0x1bfbff8411ed44e609d911476b0d35a28284545b690902806ea0a7ff0453e931\n\n(address) 0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73\n(address) 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\n```\n\nOr set RRC endpoint to env\n```bash\nuser@macbook ~ % export WEB3_ENDPOINT=https://bsc-dataseed1.binance.org\nuser@macbook ~ % constructor -t address,address,address,address,address,uint 0xc0e636dcebeeed30525f1ca2214b93331fe2263adc87cd467d57d4ff04257d4d\n(address) 0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82\n(address) 0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652\n(address) 0x7a2C5c265bDC9724dACe715c5FF60Eea40E07F47\n(address) 0xeCc90d54B10ADd1ab746ABE7E83abe178B72aa9E\n(address) 0xeCc90d54B10ADd1ab746ABE7E83abe178B72aa9E\n(uint) 0\n\n```\n\n## Or using as library\n```js\nconst detector = require(\"constructor-argument-detector\");\n\ndetector.parse({\n    txHash: \"0xc0e636dcebeeed30525f1ca2214b93331fe2263adc87cd467d57d4ff04257d4d\",\n    endpoint: \"https://bsc-dataseed1.binance.org/\",\n    types: [\"address\", \"address\", \"address\", \"address\", \"address\", \"uint\"]\n}).then(result =\u003e {\n    console.log(result);\n})\n\n/* Output:\n[\n  {\n    type: 'address',\n    value: '0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82'\n  },\n  {\n    type: 'address',\n    value: '0xa5f8C5Dbd5F286960b9d90548680aE5ebFf07652'\n  },\n  {\n    type: 'address',\n    value: '0x7a2C5c265bDC9724dACe715c5FF60Eea40E07F47'\n  },\n  {\n    type: 'address',\n    value: '0xeCc90d54B10ADd1ab746ABE7E83abe178B72aa9E'\n  },\n  {\n    type: 'address',\n    value: '0xeCc90d54B10ADd1ab746ABE7E83abe178B72aa9E'\n  },\n  {\n    type: 'uint',\n    value: BigNumber { _hex: '0x00', _isBigNumber: true }\n  }\n]\n*/\n```\n\nTo resolve the issue, we need data from tx.input and the actual smart contract code. You can extract this data yourself\n```js\nconst detector = require('constructor-argument-detector');\nconst ethers = require('ethers');\nconst provider = new ethers.providers.JsonRpcProvider(\"https://bsc-dataseed1.binance.org/\");\n\nprovider.getTransaction('0xc0e636dcebeeed30525f1ca2214b93331fe2263adc87cd467d57d4ff04257d4d').then(async (tx) =\u003e {\n    const data = tx.data;\n    const addressOfContract = '0x45c54210128a065de780C4B0Df3d16664f7f859e';\n    const byteCode = await provider.getCode(addressOfContract);\n    \n    const result = detector.offchainParse({\n        txData: data,\n        byteCode,\n        types: [\"address\", \"address\", \"address\", \"address\", \"address\", \"uint\"]\n    })\n    console.log(result);\n})\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffroganbee%2Ffind_admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffroganbee%2Ffind_admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffroganbee%2Ffind_admin/lists"}