starknet_rust/
lib.rs

1//! # Complete Starknet library in Rust™
2//!
3//! > _Note that `starknet-rust` is still experimental. Breaking changes will be made before the first
4//! > stable release. Use at your own risk._
5//!
6//! > _The underlying cryptography library `starknet-rust-crypto` does NOT provide constant-time
7//! > guarantees._
8//!
9//! `starknet-rust` is a Rust™ client library for Starknet. The current version offers full API
10//! coverage of the sequencer gateway and feeder gateway.
11//!
12//! Future versions of `starknet-rust` will support all common features required for buildling client
13//! software for Starknet:
14//!
15//! - full JSON-RPC API coverage as full node implementations become available
16//! - contract deployment
17//! - generating strongly-typed binding code for contracts from ABI
18//! - invoking contracts through the standard account interface
19//!
20//! ## `core`
21//!
22//! Contains all the [necessary data structures](core::types) for interacting with Starknet.
23//!
24//! ## `providers`
25//!
26//! The [`Provider`](providers::Provider) trait provides abstraction over Starknet data providers.
27//! Currently the only implementation is [`SequencerGatewayProvider`](providers::SequencerGatewayProvider).
28//!
29//! ## `contract`
30//!
31//! Contains all the types for deploying and interacting with Starknet smart contracts.
32//!
33//! ## `signers`
34//!
35//! Contains signer implementations.
36//!
37//! ## `accounts`
38//!
39//! Contains types for using account abstraction on Starknet.
40//!
41//! ## `macros`
42//!
43//! Contains procedural macros useful for this crate.
44
45#![deny(missing_docs)]
46
47#[doc = include_str!("../assets/CORE_README.md")]
48pub mod core {
49    pub use starknet_rust_core::*;
50}
51
52#[doc = include_str!("../assets/PROVIDERS_README.md")]
53pub mod providers {
54    pub use starknet_rust_providers::*;
55}
56
57#[doc = include_str!("../assets/CONTRACT_README.md")]
58pub mod contract {
59    pub use starknet_rust_contract::*;
60}
61
62#[doc = include_str!("../assets/SIGNERS_README.md")]
63pub mod signers {
64    pub use starknet_rust_signers::*;
65}
66
67#[doc = include_str!("../assets/ACCOUNTS_README.md")]
68pub mod accounts {
69    pub use starknet_rust_accounts::*;
70}
71
72#[doc = include_str!("../assets/MACROS_README.md")]
73pub mod macros {
74    pub use starknet_rust_macros::*;
75}