#[macro_use]
extern crate tracing;
mod cashnotes;
mod error;
mod genesis;
mod transfers;
mod wallet;
pub(crate) use cashnotes::{Input, TransactionBuilder};
pub use cashnotes::{
CashNote, DerivationIndex, DerivedSecretKey, Hash, MainPubkey, MainSecretKey, NanoTokens,
SignedSpend, Spend, SpendAddress, Transaction, UniquePubkey, UnsignedTransfer,
};
pub use error::{Error, Result};
pub use transfers::{CashNoteRedemption, OfflineTransfer, Transfer};
pub use genesis::{
calculate_royalties_fee, create_faucet_wallet, create_first_cash_note_from_key,
is_genesis_parent_tx, load_genesis_wallet, Error as GenesisError, GENESIS_CASHNOTE,
GENESIS_CASHNOTE_SK, NETWORK_ROYALTIES_PK,
};
pub use transfers::create_offline_transfer;
pub use wallet::bls_secret_from_hex;
pub use wallet::{
Error as WalletError, LocalWallet, Payment, PaymentQuote, Result as WalletResult,
WatchOnlyWallet,
};
pub use bls::{self, rand, Ciphertext, Signature};
pub mod rng {
use crate::rand::{
rngs::{StdRng, ThreadRng},
SeedableRng,
};
pub fn thread_rng() -> ThreadRng {
crate::rand::thread_rng()
}
pub fn from_seed(seed: <StdRng as SeedableRng>::Seed) -> StdRng {
StdRng::from_seed(seed)
}
}