@@ -6,7 +6,7 @@ use crate::web3::{
6
6
implementations:: {
7
7
ai_token_contract:: AIToken , compute_pool_contract:: ComputePool ,
8
8
compute_registry_contract:: ComputeRegistryContract ,
9
- prime_network_contract:: PrimeNetworkContract ,
9
+ prime_network_contract:: PrimeNetworkContract , stake_manager :: StakeManagerContract ,
10
10
work_validators:: synthetic_data_validator:: SyntheticDataWorkValidator ,
11
11
} ,
12
12
} ,
@@ -20,6 +20,7 @@ pub struct Contracts {
20
20
pub ai_token : AIToken ,
21
21
pub prime_network : PrimeNetworkContract ,
22
22
pub compute_pool : ComputePool ,
23
+ pub stake_manager : Option < StakeManagerContract > ,
23
24
pub synthetic_data_validator : Option < SyntheticDataWorkValidator > ,
24
25
}
25
26
@@ -29,6 +30,7 @@ pub struct ContractBuilder<'a> {
29
30
ai_token : Option < AIToken > ,
30
31
prime_network : Option < PrimeNetworkContract > ,
31
32
compute_pool : Option < ComputePool > ,
33
+ stake_manager : Option < StakeManagerContract > ,
32
34
synthetic_data_validator : Option < SyntheticDataWorkValidator > ,
33
35
}
34
36
@@ -40,6 +42,7 @@ impl<'a> ContractBuilder<'a> {
40
42
ai_token : None ,
41
43
prime_network : None ,
42
44
compute_pool : None ,
45
+ stake_manager : None ,
43
46
synthetic_data_validator : None ,
44
47
}
45
48
}
@@ -76,6 +79,11 @@ impl<'a> ContractBuilder<'a> {
76
79
self
77
80
}
78
81
82
+ pub fn with_stake_manager ( mut self ) -> Self {
83
+ self . stake_manager = Some ( StakeManagerContract :: new ( self . wallet , "stake_manager.json" ) ) ;
84
+ self
85
+ }
86
+
79
87
// TODO: This is not ideal yet - now you have to init all contracts all the time
80
88
pub fn build ( self ) -> Result < Contracts , ContractError > {
81
89
// Using custom error ContractError
@@ -101,6 +109,7 @@ impl<'a> ContractBuilder<'a> {
101
109
None => return Err ( ContractError :: Other ( "PrimeNetwork not initialized" . into ( ) ) ) , // Custom error handling
102
110
} ,
103
111
synthetic_data_validator : self . synthetic_data_validator ,
112
+ stake_manager : self . stake_manager ,
104
113
} )
105
114
}
106
115
}
0 commit comments