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
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, ChainConfiguration, ContractSpec, MonitorMatch, ProcessedBlock,
18	TransactionType,
19};
20
21pub use blockchain::evm::{
22	EVMBaseReceipt, EVMBaseTransaction, EVMBlock, EVMContractSpec, EVMMatchArguments,
23	EVMMatchParamEntry, EVMMatchParamsMap, EVMMonitorConfig, EVMMonitorMatch, EVMReceiptLog,
24	EVMTransaction, EVMTransactionReceipt,
25};
26
27pub use blockchain::stellar::{
28	StellarBlock, StellarContractEvent, StellarContractEventParam, StellarContractFunction,
29	StellarContractInput, StellarContractSpec, StellarDecodedParamEntry, StellarDecodedTransaction,
30	StellarEvent, StellarEventParamLocation, StellarFormattedContractSpec, StellarLedgerInfo,
31	StellarMatchArguments, StellarMatchParamEntry, StellarMatchParamsMap, StellarMonitorConfig,
32	StellarMonitorMatch, StellarParsedOperationResult, StellarTransaction, StellarTransactionInfo,
33};
34
35pub use blockchain::midnight::{
36	MidnightBaseTransaction, MidnightBlock, MidnightBlockDigest, MidnightBlockHeader,
37	MidnightCallDetails, MidnightClaimMintDetails, MidnightDeploymentDetails, MidnightEvent,
38	MidnightEventType, MidnightMaintainDetails, MidnightMatchArguments, MidnightMatchParamEntry,
39	MidnightMatchParamsMap, MidnightMonitorConfig, MidnightMonitorMatch, MidnightOperation,
40	MidnightPayoutDetails, MidnightPhase, MidnightRpcBlock, MidnightRpcTransactionEnum,
41	MidnightTopics, MidnightTransaction, MidnightTxAppliedDetails,
42};
43
44// Re-export core types
45pub use core::{
46	AddressWithSpec, EventCondition, FunctionCondition, MatchConditions, Monitor, Network,
47	NotificationMessage, RpcUrl, ScriptLanguage, TransactionCondition, TransactionStatus, Trigger,
48	TriggerConditions, TriggerType, TriggerTypeConfig, SCRIPT_LANGUAGE_EXTENSIONS,
49};
50
51// Re-export config types
52pub use config::{ConfigError, ConfigLoader};
53
54// Re-export security types
55pub use security::{SecretString, SecretValue, SecurityError};