fluence_spell_dtos/
trigger_config.rs1use crate::value::SpellValueT;
2use marine_rs_sdk::marine;
3use serde::{Deserialize, Serialize};
4
5#[marine]
6#[derive(Default, Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
7pub struct TriggerConfigValue {
8 pub config: TriggerConfig,
9 pub success: bool,
10 pub error: String,
11}
12
13impl SpellValueT for TriggerConfigValue {
14 fn is_success(&self) -> bool {
15 self.success
16 }
17
18 fn take_error(self) -> String {
19 self.error
20 }
21}
22
23#[marine]
24#[derive(Default, Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
25pub struct TriggerConfig {
26 pub clock: ClockConfig,
28 pub connections: ConnectionPoolConfig,
30 pub blockchain: BlockChainConfig,
32}
33
34#[marine]
35#[derive(Default, Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
36pub struct ClockConfig {
37 pub start_sec: u32,
40 pub end_sec: u32,
43 pub period_sec: u32,
48}
49
50#[marine]
51#[derive(Default, Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
52pub struct BlockChainConfig {
53 pub start_block: u32,
57 pub end_block: u32,
60}
61
62#[marine]
63#[derive(Default, Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
64pub struct ConnectionPoolConfig {
65 pub connect: bool,
67 pub disconnect: bool,
69}