{"id":13766792,"url":"https://github.com/kadenzipfel/bytepeep","last_synced_at":"2025-04-13T00:48:36.369Z","repository":{"id":62445078,"uuid":"543808159","full_name":"kadenzipfel/bytepeep","owner":"kadenzipfel","description":"Minimal bytecode peephole optimizer","archived":false,"fork":false,"pushed_at":"2025-01-29T01:07:50.000Z","size":143,"stargazers_count":126,"open_issues_count":2,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-13T00:48:32.372Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kadenzipfel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2022-09-30T22:12:56.000Z","updated_at":"2025-02-02T11:48:23.000Z","dependencies_parsed_at":"2025-03-12T17:10:27.538Z","dependency_job_id":"a8512d24-cb01-4954-949f-c3e40dfc35c8","html_url":"https://github.com/kadenzipfel/bytepeep","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/kadenzipfel%2Fbytepeep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadenzipfel%2Fbytepeep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadenzipfel%2Fbytepeep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadenzipfel%2Fbytepeep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kadenzipfel","download_url":"https://codeload.github.com/kadenzipfel/bytepeep/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650437,"owners_count":21139672,"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-08-03T16:01:00.984Z","updated_at":"2025-04-13T00:48:36.342Z","avatar_url":"https://github.com/kadenzipfel.png","language":"Rust","funding_links":[],"categories":["Huff tooling"],"sub_categories":[],"readme":"# Bytepeep • [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Crates.io](https://img.shields.io/crates/v/bytepeep)\n\nBytecode in, optimized bytecode out.\n\n### About\n\nBytepeep is a minimal bytecode peephole optimizer. Like any other peephole optimizer, it works by passing pairs of opcodes, peepholes, through a pattern matching algorithm to be checked against a set of rules and optimized if possible.\n\n![diagram](diagram.png)\n\nThis is **not intended as a replacement for solidity's built-in optimizers**. Rather it should serve as a quick and easy tool for low-level smart contract development.\n\n### Installation\n\n**Install Rust \u0026 Cargo:**\n`curl https://sh.rustup.rs -sSf | sh`\n\n**Install bytepeep:**\n`cargo install bytepeep`\n\n**Run:**\n`bytepeep \u003cbytecode\u003e`\n\n### Todo\n\nContributions welcome!\n\n- [ ] Handle multi-variable rules, (stack/memory dependent)\n- [ ] Reassign jumps\n- [ ] Handle different inputs\n  - [ ] Mnemonics\n  - [x] Huff\n- [ ] Return tips along with optimized bytecode\n\n### Disclaimer\n\nThis is experimental software and is provided on an \"as is\" and \"as available\" basis. We do not give any warranties and will not be liable for any loss incurred through any use of this codebase.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadenzipfel%2Fbytepeep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkadenzipfel%2Fbytepeep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadenzipfel%2Fbytepeep/lists"}