@@ -36,7 +36,7 @@ use crate::{
3636 connector:: VmConnectorChip ,
3737 memory:: {
3838 interface:: MemoryInterfaceAirs ,
39- offline_checker:: { MemoryBridge , MemoryBus } ,
39+ offline_checker:: { HintBridge , HintBus , MemoryBridge , MemoryBus } ,
4040 online:: GuestMemory ,
4141 MemoryAirInventory , MemoryController , TimestampedEquipartition , CHUNK ,
4242 } ,
@@ -149,13 +149,15 @@ pub struct SystemPort {
149149 pub execution_bus : ExecutionBus ,
150150 pub program_bus : ProgramBus ,
151151 pub memory_bridge : MemoryBridge ,
152+ pub hint_bridge : HintBridge ,
152153}
153154
154155#[ derive( Clone ) ]
155156pub struct SystemAirInventory < SC : StarkGenericConfig > {
156157 pub program : ProgramAir ,
157158 pub connector : VmConnectorAir ,
158159 pub memory : MemoryAirInventory < SC > ,
160+ pub hint_bridge : HintBridge ,
159161 /// Public values AIR exists if and only if continuations is disabled and `num_public_values`
160162 /// is greater than 0.
161163 pub public_values : Option < PublicValuesAir > ,
@@ -171,6 +173,7 @@ impl<SC: StarkGenericConfig> SystemAirInventory<SC> {
171173 execution_bus,
172174 program_bus,
173175 memory_bridge,
176+ hint_bridge,
174177 } = port;
175178 let range_bus = memory_bridge. range_bus ( ) ;
176179 let program = ProgramAir :: new ( program_bus) ;
@@ -212,6 +215,7 @@ impl<SC: StarkGenericConfig> SystemAirInventory<SC> {
212215 program,
213216 connector,
214217 memory,
218+ hint_bridge,
215219 public_values,
216220 }
217221 }
@@ -221,6 +225,7 @@ impl<SC: StarkGenericConfig> SystemAirInventory<SC> {
221225 memory_bridge : self . memory . bridge ,
222226 program_bus : self . program . bus ,
223227 execution_bus : self . connector . execution_bus ,
228+ hint_bridge : self . hint_bridge ,
224229 }
225230 }
226231
@@ -300,10 +305,13 @@ impl<SC: StarkGenericConfig> VmCircuitConfig<SC> for SystemConfig {
300305 } ;
301306 let memory_bridge =
302307 MemoryBridge :: new ( memory_bus, self . memory_config . timestamp_max_bits , range_bus) ;
308+ let hint_bus = HintBus :: new ( bus_idx_mgr. new_bus_idx ( ) ) ;
309+ let hint_bridge = HintBridge :: new ( hint_bus) ;
303310 let system_port = SystemPort {
304311 execution_bus,
305312 program_bus,
306313 memory_bridge,
314+ hint_bridge,
307315 } ;
308316 let system = SystemAirInventory :: new ( self , system_port, merkle_compression_buses) ;
309317
0 commit comments