@@ -19,6 +19,11 @@ def get_price_info(self, block_number=None):
1919 raw_price_info = call_contract_function_with_retry (self .price_contract .functions .price (), block_number = block_number )
2020 return BeanClient .map_price_info (raw_price_info )
2121
22+ def get_price_for_wells (self , wells , block_number = None ):
23+ block_number = block_number or self .block_number
24+ raw_price_info = call_contract_function_with_retry (self .price_contract .functions .priceForWells (wells ), block_number = block_number )
25+ return BeanClient .map_price_info (raw_price_info )
26+
2227 @abstractmethod
2328 def map_price_info (raw_price_info ):
2429 price_dict = {}
@@ -65,11 +70,11 @@ def total_delta_b(self, price_info=None, block_number=None):
6570 def get_pool_info (self , addr , block_number = None ):
6671 """Return pool info as dict. If addr is Bean addr, return all info."""
6772 block_number = block_number or self .block_number
68- price_info = self .get_price_info (block_number = block_number )
6973 if addr == BEAN_ADDR :
70- return price_info
74+ return self . get_price_info ( block_number = block_number )
7175 else :
72- return price_info ["pool_infos" ][addr ]
76+ pool_price_info = self .get_price_for_wells ([addr ], block_number = block_number )
77+ return pool_price_info ["pool_infos" ][addr ]
7378
7479 def well_bean_price (self , well_addr , block_number = None ):
7580 """Current float Bean price in the given well."""
0 commit comments