pub use cast::Cast;
pub use cast_lossy::CastLossy;
mod bytes;
mod cast;
mod cast_lossy;
mod equal;
mod from_bits;
mod parse;
mod sample;
mod serialize;
mod size_in_bits;
mod size_in_bytes;
mod to_bits;
mod to_type;
mod variant;
use crate::{LiteralType, ProgramID};
use snarkvm_console_account::{ComputeKey, PrivateKey, Signature};
use snarkvm_console_network::Network;
use snarkvm_console_types::{Boolean, prelude::*};
#[derive(Clone)]
pub enum Literal<N: Network> {
Address(Address<N>),
Boolean(Boolean<N>),
Field(Field<N>),
Group(Group<N>),
I8(I8<N>),
I16(I16<N>),
I32(I32<N>),
I64(I64<N>),
I128(I128<N>),
U8(U8<N>),
U16(U16<N>),
U32(U32<N>),
U64(U64<N>),
U128(U128<N>),
Scalar(Scalar<N>),
Signature(Box<Signature<N>>),
String(StringType<N>),
}