use dusk_abi::{ContractId, Module};
use canonical::Canon;
use canonical_derive::Canon;
use dusk_pki::PublicSpendKey;
mod public_input;
pub use public_input::PublicInput;
#[derive(Canon, Clone)]
pub enum PaymentInfo {
Transparent(Option<PublicSpendKey>),
Obfuscated(Option<PublicSpendKey>),
Any(Option<PublicSpendKey>),
}
pub const PAYMENT_INFO: u8 = 100;
#[allow(dead_code)]
pub struct RuskModule {
#[cfg(not(target_arch = "wasm32"))]
pp: &'static dusk_plonk::prelude::PublicParameters,
}
impl RuskModule {
#[doc(hidden)]
pub const POSEIDON_HASH: u8 = 0;
#[doc(hidden)]
pub const VERIFY_PROOF: u8 = 1;
#[doc(hidden)]
pub const VERIFY_SCHNORR_SIGN: u8 = 2;
#[doc(hidden)]
pub const HASH: u8 = 3;
}
impl Module for RuskModule {
fn id() -> ContractId {
ContractId::reserved(77)
}
}
cfg_if::cfg_if! {
if #[cfg(target_arch = "wasm32")] {
#[doc(hidden)]
pub mod hosted;
pub use hosted::*;
} else {
#[doc(hidden)]
pub mod host;
pub use host::*;
}
}