{"id":29899330,"url":"https://github.com/openzeppelin/compact-contracts","last_synced_at":"2025-08-01T12:34:26.498Z","repository":{"id":303702743,"uuid":"941630511","full_name":"OpenZeppelin/compact-contracts","owner":"OpenZeppelin","description":"OpenZeppelin Contracts written in Compact for Midnight","archived":false,"fork":false,"pushed_at":"2025-07-24T22:55:21.000Z","size":2157,"stargazers_count":20,"open_issues_count":82,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T03:31:03.078Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/OpenZeppelin.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":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-02T18:30:32.000Z","updated_at":"2025-07-23T20:06:23.000Z","dependencies_parsed_at":"2025-07-09T01:45:30.668Z","dependency_job_id":"fe4809eb-821a-488e-a3b5-558457b22476","html_url":"https://github.com/OpenZeppelin/compact-contracts","commit_stats":null,"previous_names":["openzeppelin/compact-contracts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenZeppelin/compact-contracts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fcompact-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fcompact-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fcompact-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fcompact-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenZeppelin","download_url":"https://codeload.github.com/OpenZeppelin/compact-contracts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fcompact-contracts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268223258,"owners_count":24215711,"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-01T02:00:08.611Z","response_time":67,"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":[],"created_at":"2025-08-01T12:33:22.536Z","updated_at":"2025-08-01T12:34:26.489Z","avatar_url":"https://github.com/OpenZeppelin.png","language":"TypeScript","readme":"[![Generic badge](https://img.shields.io/badge/Compact%20Compiler-0.24.0-1abc9c.svg)](https://docs.midnight.network/relnotes/compact)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n# OpenZeppelin Contracts for Compact\n\n**A library for secure smart contract development** written in Compact for [Midnight](https://midnight.network/).\n\n\u003e ## ⚠️ WARNING! ⚠️\n\u003e\n\u003e This repo contains highly experimental code.\n\u003e Expect rapid iteration.\n\u003e **Use at your own risk.**\n\n## Installation\n\nMake sure you have [nvm](https://github.com/nvm-sh/nvm), [yarn](https://yarnpkg.com/getting-started/install), and [turbo](https://turborepo.com/docs/getting-started/installation) installed on your machine.\n\nFollow Midnight's [compact installation guide](https://docs.midnight.network/develop/tutorial/building/#midnight-compact-compiler) and confirm that `compactc` is in the `PATH` env variable.\n\n```bash\n$ compactc\n\nCompactc version: 0.24.0\nUsage: compactc.bin \u003cflag\u003e ... \u003csource-pathname\u003e \u003ctarget-directory-pathname\u003e\n       --help displays detailed usage information\n```\n\n## Set up the project\n\n\u003e ### Requirements\n\u003e\n\u003e - [node](https://nodejs.org/)\n\u003e - [yarn](https://yarnpkg.com/getting-started/install)\n\u003e - [turbo](https://turborepo.com/docs/getting-started/installation)\n\u003e - [compact](https://docs.midnight.network/develop/tutorial/building/#midnight-compact-compiler)\n\nClone the repository:\n\n```bash\ngit clone git@github.com:OpenZeppelin/compact-contracts.git\n```\n\n`cd` into it and then install dependencies and prepare the environment:\n\n```bash\nnvm install \u0026\u0026 \\\nyarn \u0026\u0026 \\\nturbo compact\n```\n\n## Usage\n\n### Compile the contracts\n\n```bash\n$ turbo compact\n\n(...)\n✔ [COMPILE] [1/2] Compiled FungibleToken.compact\n@openzeppelin-compact/fungible-token:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/fungible-token:compact:\n✔ [COMPILE] [1/6] Compiled Initializable.compact\n@openzeppelin-compact/utils:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/utils:compact:\n✔ [COMPILE] [2/6] Compiled Pausable.compact\n@openzeppelin-compact/utils:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/utils:compact:\n✔ [COMPILE] [3/6] Compiled Utils.compact\n@openzeppelin-compact/utils:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/utils:compact:\n✔ [COMPILE] [4/6] Compiled test/mocks/MockInitializable.compact\n@openzeppelin-compact/utils:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/utils:compact:     Compiling 3 circuits:\n✔ [COMPILE] [5/6] Compiled test/mocks/MockPausable.compact\n@openzeppelin-compact/utils:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/utils:compact:     Compiling 5 circuits:\n✔ [COMPILE] [6/6] Compiled test/mocks/MockUtils.compact\n@openzeppelin-compact/utils:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/utils:compact:\n\n✔ [COMPILE] [2/2] Compiled test/mocks/MockFungibleToken.compact\n@openzeppelin-compact/fungible-token:compact:     Compactc version: 0.24.0\n@openzeppelin-compact/fungible-token:compact:     Compiling 15 circuits:\n\n\n Tasks:    2 successful, 2 total\nCached:    0 cached, 2 total\n  Time:    7.178s\n```\n\n**Note:** Speed up the development process by skipping the prover and verifier key file generation:\n\n```bash\nturbo compact -- --skip-zk\n```\n\n### Run tests\n\n```bash\nturbo test\n```\n\n### Format and lint files\n\n```bash\nturbo fmt-and-lint:fix\n```\n\n### All together now!\n```bash\nturbo compact test fmt-and-lint:fix\n```\n\n## Security\n\nThis project is still in a very early and experimental phase. It has never been audited nor thoroughly reviewed for security vulnerabilities. DO NOT USE IT IN PRODUCTION.\n\nPlease report any security issues you find to \u003csecurity@openzeppelin.com\u003e.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fcompact-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenzeppelin%2Fcompact-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fcompact-contracts/lists"}