Skip to content

OpenZeppelin Contracts written in Rust for Stellar Soroban

License

Notifications You must be signed in to change notification settings

OpenZeppelin/stellar-contracts

Repository files navigation

OpenZeppelin Stellar Soroban Contracts

Warning

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.

OpenZeppelin 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.

Project Structure

  • contracts/: Source code
    • token/: Various token types (fungible, non-fungible, etc.)
    • utils/: Utilities for token types (pausable, etc.)
  • examples/: Example contracts
  • docs/: Documentation
  • audits/: Audit reports

Setup

Stellar smart contracts are programs written in Rust leveraging the Soroban SDK. Please, follow the setup process as outlined in the Stellar documentation.

Usage

The 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 in a Cargo.toml, like so:

[dependencies]
openzeppelin-pausable = { git = "https://github.com/OpenZeppelin/stellar-contracts" }
openzeppelin-fungible-token = { git = "https://github.com/OpenZeppelin/stellar-contracts" }

We recommend pinning to a specific version, because rapid iterations are expected as the library is in an active development phase.

Security

For security concerns, please refer to our Security Policy.

License

OpenZeppelin Stellar Soroban Contracts are released under the MIT LICENSE.

Coding Standards

We try to follow the idiomatic Rust style, and enforce clippy and cargo fmt checks in CI. The detailed rules are defined in the .rustfmt.toml and .clippy.toml files.

Contributing

We welcome contributions from the community!

If you are looking for a good place to start, find a good first issue here.

You can open an issue for a bug report, core implementation, or feature request.

You can find more details in our Contributing guide, and please read our Code of Conduct.

About

OpenZeppelin Contracts written in Rust for Stellar Soroban

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published