8 releases

0.2.0-alpha.3 Jan 30, 2025
0.2.0-alpha.2 Dec 19, 2024
0.2.0-alpha.1 Nov 15, 2024
0.1.1 Oct 28, 2024
0.0.1 Jun 3, 2024

#10 in #arbitrum

Download history 65/week @ 2024-10-29 15/week @ 2024-11-05 110/week @ 2024-11-12 26/week @ 2024-11-19 52/week @ 2024-11-26 8/week @ 2024-12-03 36/week @ 2024-12-10 118/week @ 2024-12-17 5/week @ 2025-01-07 11/week @ 2025-01-14 13/week @ 2025-01-21 205/week @ 2025-01-28 35/week @ 2025-02-04 10/week @ 2025-02-11

264 downloads per month

MIT license

540KB
9K SLoC

OpenZeppelin Contracts for Arbitrum Stylus

Robust, reliable, and secure smart contracts for the Arbitrum Stylus upgrade.

[!WARNING] Note that contracts is still 0.*.*, so breaking changes may occur at any time. If you must depend on contracts, we recommend pinning to a specific version, i.e., =0.y.z.

Security

Refer to our Security Policy for more details.


lib.rs:

OpenZeppelin Contracts for Stylus

A library for secure smart contract development written in Rust for Arbitrum Stylus. This library offers common smart contract primitives and affordances that take advantage of the nature of Stylus.

Usage

To start using it, add openzeppelin-stylus to your Cargo.toml, or simply run cargo add openzeppelin-stylus.

[dependencies]
openzeppelin-stylus = "x.x.x"

We recommend pinning to a specific version -- expect rapid iteration.

Once defined as a dependency, use one of our pre-defined implementations by importing them:

use stylus_sdk::prelude::*;
use openzeppelin_stylus::token::erc20::Erc20;

#[entrypoint]
#[storage]
struct MyContract {
#[borrow]
pub erc20: Erc20,
}

#[public]
#[inherit(Erc20)]
impl MyContract { }

Dependencies

~11–20MB
~269K SLoC