ergo_runtime/source/implementations/string/
manifest.rs1use crate::common::ValueType;
2use crate::source::{
3 Cadence, ExecutionSpec, OutputSpec, ParameterSpec, ParameterValue, SourceKind,
4 SourcePrimitiveManifest, SourceRequires, StateSpec,
5};
6
7pub fn string_source_manifest() -> SourcePrimitiveManifest {
8 SourcePrimitiveManifest {
9 id: "string_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::String,
16 }],
17 parameters: vec![ParameterSpec {
18 name: "value".to_string(),
19 value_type: ParameterValue::String(String::new()).value_type(),
20 default: Some(ParameterValue::String(String::new())),
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}