{"id":29089602,"url":"https://github.com/openzeppelin/stellar-contracts","last_synced_at":"2025-06-28T04:04:13.366Z","repository":{"id":276755082,"uuid":"901887226","full_name":"OpenZeppelin/stellar-contracts","owner":"OpenZeppelin","description":"OpenZeppelin Contracts written in Rust for Stellar Soroban","archived":false,"fork":false,"pushed_at":"2025-06-27T08:29:33.000Z","size":1271,"stargazers_count":40,"open_issues_count":68,"forks_count":21,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-06-27T08:40:38.406Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenZeppelin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":"audits/2025-02-v0.1.0-rc.pdf","citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-11T13:56:50.000Z","updated_at":"2025-06-24T20:21:34.000Z","dependencies_parsed_at":"2025-02-24T10:30:22.073Z","dependency_job_id":"6a564747-53a2-41c8-b347-7f4b3a5ad844","html_url":"https://github.com/OpenZeppelin/stellar-contracts","commit_stats":null,"previous_names":["openzeppelin/stellar-contracts"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/OpenZeppelin/stellar-contracts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstellar-contracts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstellar-contracts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstellar-contracts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstellar-contracts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenZeppelin","download_url":"https://codeload.github.com/OpenZeppelin/stellar-contracts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fstellar-contracts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262371684,"owners_count":23300595,"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":"2025-06-28T04:04:12.056Z","updated_at":"2025-06-28T04:04:13.351Z","avatar_url":"https://github.com/OpenZeppelin.png","language":"Rust","readme":"[![Coverage Status](https://codecov.io/gh/OpenZeppelin/openzeppelin-contracts/graph/badge.svg)](https://codecov.io/gh/OpenZeppelin/stellar-contracts)\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-yellow)](https://docs.openzeppelin.com/stellar-contracts)\n\n# OpenZeppelin Stellar Soroban Contracts\n\n\u003e [!Warning]\n\u003e This 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 losses incurred through any use of this code base.\n\n\nOpenZeppelin Stellar Soroban Contracts is a collection of contracts for the Stellar network. Our goal is to bring Web3 standards under the OpenZeppelin quality by providing a set of high-quality, battle-tested contracts that can be used to build decentralized applications on the Stellar network.\n\n\n## Project Structure\n\n- `packages/`: Source code\n  - `tokens/`: Various token types (fungible, non-fungible, etc.)\n  - `contract-utils/`: Utilities for token types (pausable, upgradeable, etc.)\n  - `constants/`: Constants shared across token standards\n  - `test-utils/`: Utilities for testing\n- `examples/`: Example contracts\n- `docs/`: Documentation\n- `audits/`: Audit reports\n\n\n## Docs\nWe have a [documentation website](https://docs.openzeppelin.com/stellar-contracts/) explaining the high-level concepts of the library. You can find code-specific inline documentation in the source code, or alternatively you can locally generate the documentation using the `cargo doc --no-deps --lib --open` command, which will generate the documentation and open it using your default browser.\n\n\n## Setup\n\nStellar smart contracts are programs written in Rust leveraging the [Soroban SDK](https://crates.io/crates/soroban-sdk). Please, follow the setup process as outlined in the [Stellar documentation](https://developers.stellar.org/docs/build/smart-contracts/getting-started/setup).\n\n\n## How To Test/Play With Example Contracts\nThe below section is based on [Official Stellar Docs](https://developers.stellar.org/docs/build/smart-contracts/getting-started/hello-world). If you are stuck on any of the steps below, or want to dive in deeper, please refer to the official documentation.\n\nWe provide a set of example contracts that demonstrate how to use the library. You can find them in the `examples/` directory. If you want to deploy the example contracts to the testnet and play with them, you can follow the instructions below:\n1. `git clone https://github.com/OpenZeppelin/stellar-contracts.git`\n2. `cd stellar-contracts/examples`\n3. Take a look at the current folder, and select an example contract you are interested in. We will go with the `fungible-pausable` in this guide.\n4. `cd fungible-pausable`\n5. `cargo build --target wasm32-unknown-unknown --release`\n6. Now, the `target/wasm32-unknown-unknown/release/` directory will contain the compiled contracts. In this case, `target/wasm32-unknown-unknown/release/fungible_pausable_example.wasm` is the compiled wasm file.\n7. Deploying to the testnet is no different than any other contract. You can follow the instructions in the [Stellar documentation](https://developers.stellar.org/docs/build/smart-contracts/getting-started/deploy-to-testnet).\n\n\n## How To Use This Library As A Dependency\n\nThe library has not been published yet to `crates.io`, and this will be the case until we reach a stable version. However, one can [specify a git dependency](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-dependencies-from-git-repositories) in a `Cargo.toml`. We also recommend pinning to a specific commit/tag, because rapid iterations are expected as the library is in an active development phase.\n\n- **v0.2.0 (audited)**\n```toml\n[dependencies]\nstellar-constants = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-default-impl-macro = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-event-assertion = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-fungible = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-non-fungible = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-pausable = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-pausable-macros = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-upgradeable = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\nstellar-upgradeable-macros = { git = \"https://github.com/OpenZeppelin/stellar-contracts\" }\n\n```\n\n## Security\n\nFor security concerns, please refer to our [Security Policy](SECURITY.md).\n\n\n## License\n\nOpenZeppelin Stellar Soroban Contracts are released under the [MIT LICENSE](LICENSE).\n\n\n## Coding Standards\n\nWe try to follow the idiomatic Rust style, and enforce `clippy` and `cargo fmt` checks in CI.\nThe detailed rules are defined in the [.rustfmt.toml](./rustfmt.toml) and [.clippy.toml](./clippy.toml) files.\n\n\n## Contributing\n\nWe welcome contributions from the community!\n\nIf you are looking for a good place to start, find a good first issue [here](https://github.com/OpenZeppelin/stellar-contracts/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22).\n\nYou can open an issue for a [bug report](https://github.com/OpenZeppelin/stellar-contracts/issues/new?template=bug_report.yml), [core implementation](https://github.com/OpenZeppelin/stellar-contracts/issues/new?template=core_implementation.yml), or [feature request](https://github.com/OpenZeppelin/stellar-contracts/issues/new?template=feature_request.ymll).\n\nYou can find more details in our [Contributing](CONTRIBUTING.md) guide, and please read our [Code of Conduct](CODE_OF_CONDUCT.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fstellar-contracts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenzeppelin%2Fstellar-contracts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fstellar-contracts/lists"}