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