ergo-runtime 0.1.0-alpha.1

Canonical primitive contracts and reference implementations for the Ergo graph execution engine
Documentation
use crate::trigger::{
    Cadence, Cardinality, ExecutionSpec, InputSpec, OutputSpec, StateSpec, TriggerKind,
    TriggerPrimitiveManifest, TriggerValueType,
};

pub fn emit_if_event_and_true_manifest() -> TriggerPrimitiveManifest {
    TriggerPrimitiveManifest {
        id: "emit_if_event_and_true".to_string(),
        version: "0.1.0".to_string(),
        kind: TriggerKind::Trigger,
        inputs: vec![
            InputSpec {
                name: "event".to_string(),
                value_type: TriggerValueType::Event,
                required: true,
                cardinality: Cardinality::Single,
            },
            InputSpec {
                name: "condition".to_string(),
                value_type: TriggerValueType::Bool,
                required: true,
                cardinality: Cardinality::Single,
            },
        ],
        outputs: vec![OutputSpec {
            name: "event".to_string(),
            value_type: TriggerValueType::Event,
        }],
        parameters: vec![],
        execution: ExecutionSpec {
            deterministic: true,
            cadence: Cadence::Continuous,
        },
        state: StateSpec {
            allowed: false,
            description: None,
        },
        side_effects: false,
    }
}