@@ -6,12 +6,12 @@ use config::Network;
66use near_sdk:: base64:: { Engine , engine:: general_purpose} ;
77use omni_types:: ChainKind ;
88use reqwest:: Url ;
9- use solana_sdk:: signature:: Signature ;
109use tracing:: { error, info, warn} ;
1110use tracing_subscriber:: { EnvFilter , fmt, layer:: SubscriberExt , util:: SubscriberInitExt } ;
1211
1312mod config;
1413mod startup;
14+ mod types;
1515mod utils;
1616mod workers;
1717
@@ -21,27 +21,35 @@ struct CliArgs {
2121 #[ clap( short, long, default_value = "config.toml" ) ]
2222 config : String ,
2323 /// Start block for Near indexer
24+ #[ cfg( feature = "native-indexers" ) ]
2425 #[ clap( long) ]
2526 near_start_block : Option < u64 > ,
2627 /// Start block for Ethereum indexer
28+ #[ cfg( feature = "native-indexers" ) ]
2729 #[ clap( long) ]
2830 eth_start_block : Option < u64 > ,
2931 /// Start block for Base indexer
32+ #[ cfg( feature = "native-indexers" ) ]
3033 #[ clap( long) ]
3134 base_start_block : Option < u64 > ,
3235 /// Start block for Arbitrum indexer
36+ #[ cfg( feature = "native-indexers" ) ]
3337 #[ clap( long) ]
3438 arb_start_block : Option < u64 > ,
3539 /// Start block for Bnb indexer
40+ #[ cfg( feature = "native-indexers" ) ]
3641 #[ clap( long) ]
3742 bnb_start_block : Option < u64 > ,
3843 /// Start block for Pol indexer
44+ #[ cfg( feature = "native-indexers" ) ]
3945 #[ clap( long) ]
4046 pol_start_block : Option < u64 > ,
4147 /// Start signature for Solana indexer
48+ #[ cfg( feature = "native-indexers" ) ]
4249 #[ clap( long) ]
43- solana_start_signature : Option < Signature > ,
50+ solana_start_signature : Option < solana_sdk :: signature :: Signature > ,
4451 /// Start timestamp for bridge indexer
52+ #[ cfg( feature = "mongo-ingestion" ) ]
4553 #[ clap( long) ]
4654 start_timestamp : Option < u32 > ,
4755}
@@ -144,11 +152,11 @@ async fn main() -> Result<()> {
144152
145153 let jsonrpc_client = near_jsonrpc_client:: JsonRpcClient :: connect ( config. near . rpc_url . clone ( ) ) ;
146154
147- let near_omni_signer = startup :: near:: get_signer ( & config, config:: NearSignerType :: Omni ) ?;
155+ let near_omni_signer = utils :: near:: get_signer ( & config, config:: NearSignerType :: Omni ) ?;
148156 let omni_connector = Arc :: new ( startup:: build_omni_connector ( & config, & near_omni_signer) . await ?) ;
149157
150158 let ( near_fast_signer, fast_connector) = if config. is_fast_relayer_enabled ( ) {
151- let near_fast_signer = startup :: near:: get_signer ( & config, config:: NearSignerType :: Fast ) ?;
159+ let near_fast_signer = utils :: near:: get_signer ( & config, config:: NearSignerType :: Fast ) ?;
152160
153161 (
154162 Some ( near_fast_signer. clone ( ) ) ,
@@ -176,40 +184,47 @@ async fn main() -> Result<()> {
176184
177185 let mut handles = Vec :: new ( ) ;
178186
187+ #[ cfg( feature = "nats-ingestion" ) ]
179188 if config. is_nats_enabled ( ) {
180189 handles. push ( tokio:: spawn ( {
181190 let config = config. clone ( ) ;
182191 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
183192 let nats_client = nats_client. clone ( ) . unwrap ( ) ;
184193 async move {
185- startup:: bridge_indexer :: start_indexer_nats (
194+ startup:: nats_ingestion :: start_indexer_nats (
186195 & config,
187196 & mut redis_connection_manager,
188197 nats_client,
189198 )
190199 . await
191200 }
192201 } ) ) ;
193- } else if config. is_bridge_indexer_enabled ( ) {
202+ }
203+
204+ #[ cfg( feature = "mongo-ingestion" ) ]
205+ if config. is_bridge_indexer_enabled ( ) {
194206 handles. push ( tokio:: spawn ( {
195207 let config = config. clone ( ) ;
196208 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
197209 async move {
198- startup:: bridge_indexer :: start_indexer (
210+ startup:: mongo_ingestion :: start_indexer (
199211 & config,
200212 & mut redis_connection_manager,
201213 args. start_timestamp ,
202214 )
203215 . await
204216 }
205217 } ) ) ;
206- } else {
218+ }
219+
220+ #[ cfg( feature = "native-indexers" ) ]
221+ {
207222 handles. push ( tokio:: spawn ( {
208223 let config = config. clone ( ) ;
209224 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
210225 let jsonrpc_client = jsonrpc_client. clone ( ) ;
211226 async move {
212- startup:: near:: start_indexer (
227+ startup:: native_indexers :: near:: start_indexer (
213228 & config,
214229 & mut redis_connection_manager,
215230 jsonrpc_client,
@@ -223,7 +238,7 @@ async fn main() -> Result<()> {
223238 let config = config. clone ( ) ;
224239 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
225240 async move {
226- startup:: evm:: start_indexer (
241+ startup:: native_indexers :: evm:: start_indexer (
227242 & config,
228243 & mut redis_connection_manager,
229244 ChainKind :: Eth ,
@@ -238,7 +253,7 @@ async fn main() -> Result<()> {
238253 let config = config. clone ( ) ;
239254 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
240255 async move {
241- startup:: evm:: start_indexer (
256+ startup:: native_indexers :: evm:: start_indexer (
242257 & config,
243258 & mut redis_connection_manager,
244259 ChainKind :: Base ,
@@ -253,7 +268,7 @@ async fn main() -> Result<()> {
253268 let config = config. clone ( ) ;
254269 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
255270 async move {
256- startup:: evm:: start_indexer (
271+ startup:: native_indexers :: evm:: start_indexer (
257272 & config,
258273 & mut redis_connection_manager,
259274 ChainKind :: Arb ,
@@ -268,7 +283,7 @@ async fn main() -> Result<()> {
268283 let config = config. clone ( ) ;
269284 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
270285 async move {
271- startup:: evm:: start_indexer (
286+ startup:: native_indexers :: evm:: start_indexer (
272287 & config,
273288 & mut redis_connection_manager,
274289 ChainKind :: Bnb ,
@@ -283,7 +298,7 @@ async fn main() -> Result<()> {
283298 let config = config. clone ( ) ;
284299 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
285300 async move {
286- startup:: evm:: start_indexer (
301+ startup:: native_indexers :: evm:: start_indexer (
287302 & config,
288303 & mut redis_connection_manager,
289304 ChainKind :: Pol ,
@@ -298,7 +313,7 @@ async fn main() -> Result<()> {
298313 let config = config. clone ( ) ;
299314 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
300315 async move {
301- startup:: solana:: start_indexer (
316+ startup:: native_indexers :: solana:: start_indexer (
302317 & config,
303318 & mut redis_connection_manager,
304319 args. solana_start_signature ,
@@ -310,7 +325,7 @@ async fn main() -> Result<()> {
310325 let config = config. clone ( ) ;
311326 let mut redis_connection_manager = redis_connection_manager. clone ( ) ;
312327 async move {
313- startup:: solana:: process_signature ( & config, & mut redis_connection_manager) . await
328+ startup:: native_indexers :: solana:: process_signature ( & config, & mut redis_connection_manager) . await
314329 }
315330 } ) ) ;
316331 }
0 commit comments