{"id":19419836,"url":"https://github.com/destiner/deployless-multicall","last_synced_at":"2025-04-24T14:31:57.591Z","repository":{"id":119195346,"uuid":"414412501","full_name":"Destiner/deployless-multicall","owner":"Destiner","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-11T17:22:53.000Z","size":6,"stargazers_count":32,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-03T06:22:05.508Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Destiner.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}},"created_at":"2021-10-07T00:25:06.000Z","updated_at":"2024-12-11T03:45:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"8544b9b3-b765-4b71-a0e8-ef1fad315e86","html_url":"https://github.com/Destiner/deployless-multicall","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destiner%2Fdeployless-multicall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destiner%2Fdeployless-multicall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destiner%2Fdeployless-multicall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Destiner%2Fdeployless-multicall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Destiner","download_url":"https://codeload.github.com/Destiner/deployless-multicall/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250643473,"owners_count":21464182,"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","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":[],"created_at":"2024-11-10T13:19:16.536Z","updated_at":"2025-04-24T14:31:57.581Z","avatar_url":"https://github.com/Destiner.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deployless Multicall\n\nAn implementation of Multicall contract that doesn't require it to be deployed. Can be used in any EVM chain at any block.\n\n## Usage\n\n[ethcall](https://github.com/Destiner/ethcall) provides a convenient wrapper around low-level interation. Alternatively, you can compile a contract yourself, and make an \"read-only deploy\" eth_call:\n\n```js\nconst args = encode(deploylessMulticallAbi, [calls]);\nconst data = ethers.utils.hexConcat([deploylessMulticallBytecode, args]);\nconst callData = await provider.call({\n\tdata,\n});\nconst result = decode(multicallAbi, 'aggregate', callData);\nreturn result;\n```\nwhere `encode` and `decode` is the ABI coding functions.\n\n## How\n\nNormally, a consturcor in Solidity contract returns the bytecode of the newly created contract. Here, we use inline assembly to overwrite return data with the call result.\n\nThe code makes some assuptions about how the variables stored in memory, so it's better to stick to Solidity version specified in the contract.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestiner%2Fdeployless-multicall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdestiner%2Fdeployless-multicall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestiner%2Fdeployless-multicall/lists"}