@@ -10,15 +10,20 @@ use std::fs::File;
10
10
use std:: io:: { BufReader , Read } ;
11
11
use std:: path:: PathBuf ;
12
12
13
- use crate :: service:: { DEFAULT_CONTROL_PORT , DEFAULT_INGESTION_PORT } ;
14
-
15
13
const DEFAULT_MAINNET_STACKS_TSV_ARCHIVE : & str =
16
14
"https://archive.hiro.so/mainnet/stacks-blockchain-api/mainnet-stacks-blockchain-api-latest" ;
17
15
const DEFAULT_TESTNET_STACKS_TSV_ARCHIVE : & str =
18
16
"https://archive.hiro.so/testnet/stacks-blockchain-api/testnet-stacks-blockchain-api-latest" ;
19
17
const DEFAULT_MAINNET_ORDINALS_SQLITE_ARCHIVE : & str =
20
18
"https://archive.hiro.so/mainnet/chainhooks/hord-latest.sqlite" ;
21
19
20
+ pub const DEFAULT_INGESTION_PORT : u16 = 20455 ;
21
+ pub const DEFAULT_CONTROL_PORT : u16 = 20456 ;
22
+ pub const STACKS_SCAN_THREAD_POOL_SIZE : usize = 10 ;
23
+ pub const BITCOIN_SCAN_THREAD_POOL_SIZE : usize = 10 ;
24
+ pub const STACKS_MAX_PREDICATE_REGISTRATION : usize = 50 ;
25
+ pub const BITCOIN_MAX_PREDICATE_REGISTRATION : usize = 50 ;
26
+
22
27
#[ derive( Clone , Debug ) ]
23
28
pub struct Config {
24
29
pub storage : StorageConfig ,
@@ -70,8 +75,10 @@ pub struct UrlConfig {
70
75
71
76
#[ derive( Clone , Debug ) ]
72
77
pub struct ChainhooksConfig {
73
- pub max_stacks_registrations : u16 ,
74
- pub max_bitcoin_registrations : u16 ,
78
+ pub max_stacks_registrations : usize ,
79
+ pub max_bitcoin_registrations : usize ,
80
+ pub max_stacks_concurrent_scans : usize ,
81
+ pub max_bitcoin_concurrent_scans : usize ,
75
82
pub enable_http_api : bool ,
76
83
}
77
84
@@ -151,11 +158,20 @@ impl Config {
151
158
max_stacks_registrations : config_file
152
159
. chainhooks
153
160
. max_stacks_registrations
154
- . unwrap_or ( 100 ) ,
161
+ . unwrap_or ( STACKS_MAX_PREDICATE_REGISTRATION ) ,
155
162
max_bitcoin_registrations : config_file
156
163
. chainhooks
157
164
. max_bitcoin_registrations
158
- . unwrap_or ( 100 ) ,
165
+ . unwrap_or ( BITCOIN_MAX_PREDICATE_REGISTRATION ) ,
166
+ max_stacks_concurrent_scans : config_file
167
+ . chainhooks
168
+ . max_stacks_registrations
169
+ . unwrap_or ( STACKS_SCAN_THREAD_POOL_SIZE ) ,
170
+ max_bitcoin_concurrent_scans : config_file
171
+ . chainhooks
172
+ . max_bitcoin_registrations
173
+ . unwrap_or ( BITCOIN_SCAN_THREAD_POOL_SIZE ) ,
174
+
159
175
enable_http_api : true ,
160
176
} ,
161
177
network : IndexerConfig {
@@ -344,8 +360,10 @@ impl Config {
344
360
} ,
345
361
event_sources : vec ! [ ] ,
346
362
chainhooks : ChainhooksConfig {
347
- max_stacks_registrations : 50 ,
348
- max_bitcoin_registrations : 50 ,
363
+ max_stacks_registrations : STACKS_MAX_PREDICATE_REGISTRATION ,
364
+ max_bitcoin_registrations : BITCOIN_MAX_PREDICATE_REGISTRATION ,
365
+ max_stacks_concurrent_scans : STACKS_SCAN_THREAD_POOL_SIZE ,
366
+ max_bitcoin_concurrent_scans : BITCOIN_SCAN_THREAD_POOL_SIZE ,
349
367
enable_http_api : true ,
350
368
} ,
351
369
network : IndexerConfig {
@@ -374,8 +392,10 @@ impl Config {
374
392
file_url: DEFAULT_TESTNET_STACKS_TSV_ARCHIVE . into( ) ,
375
393
} ) ] ,
376
394
chainhooks : ChainhooksConfig {
377
- max_stacks_registrations : 10 ,
378
- max_bitcoin_registrations : 10 ,
395
+ max_stacks_registrations : STACKS_MAX_PREDICATE_REGISTRATION ,
396
+ max_bitcoin_registrations : BITCOIN_MAX_PREDICATE_REGISTRATION ,
397
+ max_stacks_concurrent_scans : STACKS_SCAN_THREAD_POOL_SIZE ,
398
+ max_bitcoin_concurrent_scans : BITCOIN_SCAN_THREAD_POOL_SIZE ,
379
399
enable_http_api : true ,
380
400
} ,
381
401
network : IndexerConfig {
@@ -409,8 +429,10 @@ impl Config {
409
429
} ) ,
410
430
] ,
411
431
chainhooks : ChainhooksConfig {
412
- max_stacks_registrations : 10 ,
413
- max_bitcoin_registrations : 10 ,
432
+ max_stacks_registrations : STACKS_MAX_PREDICATE_REGISTRATION ,
433
+ max_bitcoin_registrations : BITCOIN_MAX_PREDICATE_REGISTRATION ,
434
+ max_stacks_concurrent_scans : STACKS_SCAN_THREAD_POOL_SIZE ,
435
+ max_bitcoin_concurrent_scans : BITCOIN_SCAN_THREAD_POOL_SIZE ,
414
436
enable_http_api : true ,
415
437
} ,
416
438
network : IndexerConfig {
0 commit comments