#![no_std]
#[doc(hidden)]
pub extern crate alloc;
#[doc(hidden)]
pub use casper_types;
use alloc::string::String;
use casper_types::bytesrepr;
pub use casper_event_standard_macro::Event;
mod cl_type2;
mod schema;
pub use cl_type2::CLType2;
pub use schema::{Schema, Schemas};
#[cfg(target_arch = "wasm32")]
mod contract;
#[cfg(target_arch = "wasm32")]
pub use contract::{emit, init};
#[cfg(not(target_arch = "wasm32"))]
pub fn init(_schemas: Schemas) {
panic!("Init can be used only in wasm32.")
}
#[cfg(not(target_arch = "wasm32"))]
pub fn emit<T>(_event: T) {
panic!("Emit can be used only in wasm32.")
}
pub const EVENTS_DICT: &str = "__events";
pub const EVENTS_LENGTH: &str = "__events_length";
pub const EVENTS_SCHEMA: &str = "__events_schema";
pub trait EventInstance {
fn name() -> String;
fn schema() -> schema::Schema;
}
pub fn try_full_name_from_bytes(bytes: &[u8]) -> Result<String, bytesrepr::Error> {
let (name, _) = bytesrepr::FromBytes::from_bytes(bytes)?;
Ok(name)
}