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, StellarContractEvent, StellarContractEventParam, StellarContractFunction,
28	StellarContractInput, StellarContractSpec, StellarDecodedParamEntry, StellarDecodedTransaction,
29	StellarEvent, StellarEventParamLocation, StellarFormattedContractSpec, StellarLedgerInfo,
30	StellarMatchArguments, StellarMatchParamEntry, StellarMatchParamsMap, StellarMonitorMatch,
31	StellarParsedOperationResult, StellarTransaction, 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};