Skip to main content

soroban_sdk_tools/
lib.rs

1//! # soroban-sdk-tools
2//!
3//! Enhanced tools for Soroban smart contract development including:
4//! - Advanced storage management with automatic key optimization
5//! - Composable error handling with the #[scerr] macro
6//! - Improved authorization testing utilities
7
8#![no_std]
9
10// Re-export soroban-sdk types for convenience
11pub use soroban_sdk;
12
13// Re-export procedural macros
14pub use soroban_sdk_tools_macro::{contractimport, contractstorage, scerr};
15
16// Public modules
17pub mod error;
18pub mod key;
19pub mod storage;
20
21// Auth module – available when testutils feature is enabled
22#[cfg(feature = "testutils")]
23pub mod auth;
24
25// Re-export commonly used types
26pub use error::{ContractError, ContractErrorSpec, ErrorSpecEntry, SequentialError, SpecNode};
27pub use key::StorageKey;
28pub use storage::{
29    InstanceItem, InstanceMap, PersistentItem, PersistentMap, TemporaryItem, TemporaryMap,
30};
31
32#[cfg(feature = "testutils")]
33pub use auth::{
34    setup_mock_auth, setup_real_auth, Keypair, Secp256k1Keypair, Secp256r1Keypair, Signer,
35};