24 releases (stable)

4.0.0 Nov 21, 2023
3.0.0 May 11, 2023
2.0.0 May 9, 2023
1.4.4 Apr 6, 2022
0.1.0 Nov 11, 2020

#3 in #casper

Download history 338/week @ 2024-06-12 449/week @ 2024-06-19 603/week @ 2024-06-26 334/week @ 2024-07-03 416/week @ 2024-07-10 545/week @ 2024-07-17 683/week @ 2024-07-24 559/week @ 2024-07-31 588/week @ 2024-08-07 319/week @ 2024-08-14 337/week @ 2024-08-21 355/week @ 2024-08-28 289/week @ 2024-09-04 337/week @ 2024-09-11 374/week @ 2024-09-18 297/week @ 2024-09-25

1,339 downloads per month
Used in 43 crates (32 directly)

Apache-2.0

1MB
21K SLoC

casper-contract

LOGO

Crates.io Documentation License

A library for developing Casper network smart contracts.

no_std

The crate is no_std, but uses the core and alloc crates. It is recommended to build Wasm smart contracts in a no_std environment as this generally yields smaller, and hence cheaper, binaries.

Compile-time features

no-std-helpers

Enabled by default.

Given that the library is intended to be consumed by smart-contract binaries, and that in a no_std environment these will all require to provide an alloc error handler and an eh_personality, then this crate provides these when no-std-helpers is enabled. This unfortunately requires the use of nightly Rust.

For further convenience, enabling this feature also provides a global allocator suitable for use in a no_std environment.

If you wish to use a different global allocator, or provide different panic/out-of-memory handlers, then add the following to your Cargo.toml:

casper-contract = { version = "1", default-features = false }

test-support

Disabled by default.

To help support smart contract debugging, enabling the test-support feature makes the function contract_api::runtime::print(text: &str) available. If the contract is being tested offchain using the casper-engine-test-support crate, then the contract can output text to the console for debugging.

casper-contract = { version = "1", features = ["test-support"] }

License

Licensed under the Apache License Version 2.0.

Dependencies

~6–8.5MB
~169K SLoC