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
//! Postage stamp issuing and signing for Ethereum Swarm.
//!
//! This crate provides the issuing and signing functionality for postage stamps,
//! designed for use by CLI tools (like `dipper`) that create and sign stamps.
//!
//! For verification-only use cases (like `vertex` nodes), use
//! [`nectar-postage`](nectar_postage) directly.
//!
//! # Features
//!
//! - `std` (default) - Enables standard library support
//! - `serde` - Enables serialization/deserialization
//! - `local-signer` - Enables local key signing with `alloy-signer-local`
//! - `parallel` - Enables parallel signing with rayon
//!
//! # Example
//!
//! ```ignore
//! use nectar_postage_issuer::{BatchStamper, MemoryIssuer, Stamper};
//! use nectar_primitives::SwarmAddress;
//! use alloy_primitives::B256;
//! use alloy_signer_local::PrivateKeySigner;
//!
//! // Create an issuer for a batch
//! let issuer = MemoryIssuer::new(B256::ZERO, 20, 16);
//!
//! // Combine with any SignerSync implementation to create a stamper
//! let signer = PrivateKeySigner::random();
//! let mut stamper = BatchStamper::new(issuer, signer);
//!
//! // Stamp chunks
//! let stamp = stamper.stamp(&chunk_address)?;
//! ```
// Re-export core types from nectar-postage (includes BatchEvent, BatchEventHandler)
pub use *;
// Errors (override nectar_postage::StampError with our own that includes signing)
pub use SigningError;
// Issuing
pub use ;
pub use ShardedIssuer;
pub use ;
// Factory (std only)
pub use ;
// Parallel signing (requires parallel feature)
pub use ;