allora_runtime/spec/
aggregators_spec.rs1use crate::spec::AggregatorSpec;
9
10#[derive(Debug, Clone)]
11pub struct AggregatorsSpec {
12 version: u32,
13 aggregators: Vec<AggregatorSpec>,
14}
15
16impl AggregatorsSpec {
17 pub fn new(version: u32) -> Self {
18 Self {
19 version,
20 aggregators: Vec::new(),
21 }
22 }
23 pub fn add(mut self, a: AggregatorSpec) -> Self {
24 self.aggregators.push(a);
25 self
26 }
27 pub fn push(&mut self, a: AggregatorSpec) {
28 self.aggregators.push(a);
29 }
30 pub fn version(&self) -> u32 {
31 self.version
32 }
33 pub fn aggregators(&self) -> &[AggregatorSpec] {
34 &self.aggregators
35 }
36 pub fn into_aggregators(self) -> Vec<AggregatorSpec> {
37 self.aggregators
38 }
39}