pub mod c_env;
pub mod c_frame;
pub mod frame_ffi;
#[rustfmt::skip] pub mod jets_ffi;
#[rustfmt::skip] pub mod jets_wrapper;
pub use c_env::{CElementsTxEnv, CTapEnv, CTransaction};
pub use c_frame::{ffi_bytes_size, round_u_word};
pub use frame_ffi::CFrameItem;
pub use jets_ffi as elements_ffi;
use crate::c_jets::c_env::{CRawBuffer, CRawInput, CRawOutput, CRawTapEnv, CRawTransaction};
#[cfg(feature = "test-utils")]
pub mod exec_ffi;
pub fn sanity_checks() -> bool {
unsafe {
if std::mem::size_of::<usize>() != crate::ffi::c_sizeof_UWORD
|| std::mem::align_of::<usize>() != crate::ffi::c_alignof_UWORD
{
return false;
}
if std::mem::size_of::<CFrameItem>() != frame_ffi::c_sizeof_frameItem
|| std::mem::size_of::<CRawBuffer>() != c_env::c_sizeof_rawBuffer
|| std::mem::size_of::<CRawInput>() != c_env::c_sizeof_rawInput
|| std::mem::size_of::<CRawOutput>() != c_env::c_sizeof_rawOutput
|| std::mem::size_of::<CRawTransaction>() != c_env::c_sizeof_rawTransaction
|| std::mem::size_of::<CElementsTxEnv>() != c_env::c_sizeof_txEnv
|| std::mem::size_of::<CRawTapEnv>() != c_env::c_sizeof_rawTapEnv
{
return false;
}
if std::mem::align_of::<CFrameItem>() != frame_ffi::c_alignof_frameItem
|| std::mem::align_of::<CRawBuffer>() != c_env::c_alignof_rawBuffer
|| std::mem::align_of::<CRawInput>() != c_env::c_alignof_rawInput
|| std::mem::align_of::<CRawOutput>() != c_env::c_alignof_rawOutput
|| std::mem::align_of::<CRawTransaction>() != c_env::c_alignof_rawTransaction
|| std::mem::align_of::<CElementsTxEnv>() != c_env::c_alignof_txEnv
|| std::mem::align_of::<CRawTapEnv>() != c_env::c_alignof_rawTapEnv
{
return false;
}
}
true
}