openzeppelin_monitor/models/
mod.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! Domain models and data structures for blockchain monitoring.
//!
//! This module contains all the core data structures used throughout the application:
//!
//! - `blockchain`: Platform-specific implementations for different blockchains (EVM, Stellar)
//! - `config`: Configuration loading and validation
//! - `core`: Core domain models (Monitor, Network, Trigger)
//! - `security`: Security models (Secret)

mod blockchain;
mod config;
mod core;
mod security;

// Re-export blockchain types
pub use blockchain::{
	BlockChainType, BlockType, ContractSpec, MonitorMatch, ProcessedBlock, TransactionType,
};

pub use blockchain::evm::{
	EVMBaseReceipt, EVMBaseTransaction, EVMBlock, EVMContractSpec, EVMMatchArguments,
	EVMMatchParamEntry, EVMMatchParamsMap, EVMMonitorMatch, EVMReceiptLog, EVMTransaction,
	EVMTransactionReceipt,
};

pub use blockchain::stellar::{
	StellarBlock, StellarContractFunction, StellarContractInput, StellarContractSpec,
	StellarDecodedParamEntry, StellarDecodedTransaction, StellarEvent,
	StellarFormattedContractSpec, StellarLedgerInfo, StellarMatchArguments, StellarMatchParamEntry,
	StellarMatchParamsMap, StellarMonitorMatch, StellarParsedOperationResult, StellarTransaction,
	StellarTransactionInfo,
};

// Re-export core types
pub use core::{
	AddressWithSpec, EventCondition, FunctionCondition, MatchConditions, Monitor, Network,
	NotificationMessage, RpcUrl, ScriptLanguage, TransactionCondition, TransactionStatus, Trigger,
	TriggerConditions, TriggerType, TriggerTypeConfig,
};

// Re-export config types
pub use config::{ConfigError, ConfigLoader};

// Re-export security types
pub use security::{SecretString, SecretValue, SecurityError};