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
44pub use blockchain::solana::{
45	SolanaBlock,
46	SolanaConfirmedBlock,
47	SolanaContractEvent,
48	SolanaContractEventParam,
49	SolanaContractFunction,
50	SolanaContractInput,
51	SolanaContractSpec,
52	SolanaDecodedParamEntry,
53	SolanaFormattedContractSpec,
54	// IDL types
55	SolanaIdlAccount,
56	SolanaIdlAccountItem,
57	SolanaIdlEnumVariant,
58	SolanaIdlError,
59	SolanaIdlEvent,
60	SolanaIdlEventField,
61	SolanaIdlField,
62	SolanaIdlInstruction,
63	SolanaIdlInstructionAccount,
64	SolanaIdlInstructionAccounts,
65	SolanaIdlMetadata,
66	SolanaIdlPda,
67	SolanaIdlSeed,
68	SolanaIdlType,
69	SolanaIdlTypeComplex,
70	SolanaIdlTypeDef,
71	SolanaIdlTypeDefTy,
72	// Other Solana types
73	SolanaInstruction,
74	SolanaMatchArguments,
75	SolanaMatchParamEntry,
76	SolanaMatchParamsMap,
77	SolanaMonitorConfig,
78	SolanaMonitorMatch,
79	SolanaParsedInstruction,
80	SolanaParsedInstructionResult,
81	SolanaTransaction,
82	SolanaTransactionInfo,
83	SolanaTransactionMessage,
84	SolanaTransactionMeta,
85};
86
87// Re-export core types
88pub use core::{
89	AddressWithSpec, BlockRecoveryConfig, EventCondition, FunctionCondition, MatchConditions,
90	Monitor, Network, NotificationMessage, RpcUrl, ScriptLanguage, TransactionCondition,
91	TransactionStatus, Trigger, TriggerConditions, TriggerType, TriggerTypeConfig,
92	WebhookPayloadMode, SCRIPT_LANGUAGE_EXTENSIONS,
93};
94
95// Re-export config types
96pub use config::{ConfigError, ConfigLoader};
97
98// Re-export security types
99pub use security::{SecretString, SecretValue, SecurityError};