openzeppelin_monitor/models/
mod.rs

1//! Domain models and data structures for blockchain monitoring.
2//!
3//! This module contains all the core data structures used throughout the application:
4//!
5//! - `blockchain`: Platform-specific implementations for different blockchains (EVM, Stellar)
6//! - `config`: Configuration loading and validation
7//! - `core`: Core domain models (Monitor, Network, Trigger)
8//! - `security`: Security models (Secret)
9
10mod blockchain;
11mod config;
12mod core;
13mod security;
14
15// Re-export blockchain types
16pub use blockchain::{
17	BlockChainType, BlockType, ContractSpec, MonitorMatch, ProcessedBlock, TransactionType,
18};
19
20pub use blockchain::evm::{
21	EVMBaseReceipt, EVMBaseTransaction, EVMBlock, EVMContractSpec, EVMMatchArguments,
22	EVMMatchParamEntry, EVMMatchParamsMap, EVMMonitorMatch, EVMReceiptLog, EVMTransaction,
23	EVMTransactionReceipt,
24};
25
26pub use blockchain::stellar::{
27	StellarBlock, StellarContractFunction, StellarContractInput, StellarContractSpec,
28	StellarDecodedParamEntry, StellarDecodedTransaction, StellarEvent,
29	StellarFormattedContractSpec, StellarLedgerInfo, StellarMatchArguments, StellarMatchParamEntry,
30	StellarMatchParamsMap, StellarMonitorMatch, StellarParsedOperationResult, StellarTransaction,
31	StellarTransactionInfo,
32};
33
34// Re-export core types
35pub use core::{
36	AddressWithSpec, EventCondition, FunctionCondition, MatchConditions, Monitor, Network,
37	NotificationMessage, RpcUrl, ScriptLanguage, TransactionCondition, TransactionStatus, Trigger,
38	TriggerConditions, TriggerType, TriggerTypeConfig,
39};
40
41// Re-export config types
42pub use config::{ConfigError, ConfigLoader};
43
44// Re-export security types
45pub use security::{SecretString, SecretValue, SecurityError};