simplicity/jet/elements/
mod.rs1mod c_env;
4mod environment;
5#[cfg(test)]
6mod tests;
7
8pub use environment::{ElementsEnv, ElementsUtxo};
9
10use super::init::elements::Elements;
11use super::JetEnvironment;
12use simplicity_sys::c_jets::frame_ffi::CFrameItem;
13use simplicity_sys::CElementsTxEnv;
14
15pub type ElementsTxEnv = ElementsEnv<std::sync::Arc<elements::Transaction>>;
17
18impl JetEnvironment for ElementsTxEnv {
19 type Jet = Elements;
20 type CJetEnvironment = CElementsTxEnv;
21
22 fn c_jet_env(&self) -> &Self::CJetEnvironment {
23 self.c_tx_env()
24 }
25
26 fn c_jet_ptr(
27 jet: &Self::Jet,
28 ) -> fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool {
29 super::init::elements::c_jet_ptr(jet)
30 }
31}