Skip to main content

ergo_runtime/source/implementations/boolean/
manifest.rs

1use crate::common::ValueType;
2use crate::source::{
3    Cadence, ExecutionSpec, OutputSpec, ParameterSpec, ParameterValue, SourceKind,
4    SourcePrimitiveManifest, SourceRequires, StateSpec,
5};
6
7pub fn boolean_source_manifest() -> SourcePrimitiveManifest {
8    SourcePrimitiveManifest {
9        id: "boolean_source".to_string(),
10        version: "0.1.0".to_string(),
11        kind: SourceKind::Source,
12        inputs: vec![],
13        outputs: vec![OutputSpec {
14            name: "value".to_string(),
15            value_type: ValueType::Bool,
16        }],
17        parameters: vec![ParameterSpec {
18            name: "value".to_string(),
19            value_type: ParameterValue::Bool(false).value_type(),
20            default: Some(ParameterValue::Bool(false)),
21            bounds: None,
22        }],
23        requires: SourceRequires { context: vec![] },
24        execution: ExecutionSpec {
25            deterministic: true,
26            cadence: Cadence::Continuous,
27        },
28        state: StateSpec { allowed: false },
29        side_effects: false,
30    }
31}