#![cfg_attr(not(feature = "std"), no_std)]
extern crate alloc;
pub mod address;
pub mod error;
pub mod ext;
#[cfg(feature = "secp256k1")]
pub mod hash;
#[cfg(feature = "peer-id")]
pub mod peer_id;
#[cfg(feature = "peer-id")]
pub use peer_id::ToPeerId;
pub mod scheme;
pub mod schemes;
#[cfg(all(feature = "std", feature = "keyring", feature = "serde"))]
pub mod signer;
pub mod utils;
#[cfg(feature = "cli")]
pub mod cli;
#[cfg(feature = "keyring")]
pub mod keyring;
#[cfg(feature = "keyring")]
pub use keyring::{KeyCodec, Keyring, KeyringScheme, KeystoreEntry, SubstrateKeystore};
#[cfg(all(feature = "std", feature = "keyring"))]
pub mod storage;
#[cfg(feature = "secp256k1")]
pub use address::Address;
#[cfg(feature = "secp256k1")]
pub use address::FromActorIdError;
#[cfg(any(feature = "sr25519", feature = "ed25519"))]
pub use address::{SubstrateAddress, SubstrateCryptoScheme};
pub use error::{Result, SignerError};
#[cfg(feature = "secp256k1")]
pub use ext::Secp256k1Ext;
#[cfg(any(feature = "sr25519", feature = "ed25519"))]
pub use ext::SubstrateAddressExt;
pub use ext::{PairExt, PublicExt};
pub use scheme::CryptoScheme;
#[cfg(feature = "keyring")]
pub use scheme::KeystoreOps;
#[cfg(all(feature = "std", feature = "keyring", feature = "serde"))]
pub use signer::Signer;
#[cfg(all(feature = "std", feature = "keyring"))]
pub use storage::{FilesystemBackend, MemoryBackend, StorageBackend, StorageError, StorageResult};
#[cfg(feature = "secp256k1")]
pub use schemes::secp256k1::{
ContractSignature, Digest, PrivateKey, PublicKey, Signature, SignedData, SignedMessage,
ToDigest, VerifiedData,
};
#[cfg(feature = "ed25519")]
pub use schemes::ed25519::Ed25519;
#[cfg(feature = "secp256k1")]
pub mod secp256k1 {
pub use crate::schemes::secp256k1::*;
#[cfg(all(feature = "std", feature = "keyring", feature = "serde"))]
pub type Signer = crate::Signer<Secp256k1>;
}
#[cfg(feature = "sr25519")]
pub mod sr25519 {
pub use crate::schemes::sr25519::*;
#[cfg(all(feature = "std", feature = "keyring", feature = "serde"))]
pub type Signer = crate::Signer<Sr25519>;
}
#[cfg(feature = "ed25519")]
pub mod ed25519 {
pub use crate::schemes::ed25519::*;
#[cfg(all(feature = "std", feature = "keyring", feature = "serde"))]
pub type Signer = crate::Signer<Ed25519>;
}
pub mod prelude {
pub use crate::{scheme::CryptoScheme, schemes};
#[cfg(feature = "secp256k1")]
pub use crate::Address;
#[cfg(any(feature = "secp256k1", feature = "sr25519", feature = "ed25519"))]
pub use crate::schemes::SchemeType;
#[cfg(all(feature = "std", feature = "keyring", feature = "serde"))]
pub use crate::Signer;
#[cfg(feature = "secp256k1")]
pub use crate::schemes::secp256k1::Secp256k1;
#[cfg(feature = "sr25519")]
pub use crate::schemes::sr25519::Sr25519;
#[cfg(feature = "ed25519")]
pub use crate::schemes::ed25519::Ed25519;
}