def get_all_pools(self, from_block=0, chunk_size=1000, include_balance=False): web3 = Web3Provider.get_web3() current_block = web3.eth.blockNumber bfactory = BFactory(self.bfactory_address) logs = bfactory.get_event_logs( "BPoolRegistered", from_block, current_block, {}, web3=web3, chunk_size=chunk_size, ) if include_balance: pools = sorted( [( lg.args.bpoolAddress, from_base_18( BPool(lg.args.bpoolAddress).getBalance( self.ocean_address)), ) for lg in logs], key=lambda x: x[1], reverse=True, ) else: pools = {lg.args.bpoolAddress for lg in logs} return pools
def get_creation_block(self, pool_address): web3 = Web3Provider.get_web3() bfactory = BFactory(self.bfactory_address) current_block = web3.eth.blockNumber logs = bfactory.get_event_logs('BPoolCreated', 0, current_block, {'newBPoolAddress': pool_address}, web3=web3, chunk_size=current_block) if not logs: return {} assert len(logs) == 1, 'cannot happen' return logs[0].blockNumber
def get_creation_block(self, pool_address): bfactory = BFactory(self.web3, self.bfactory_address) current_block = self.web3.eth.block_number logs = bfactory.get_event_logs( "BPoolCreated", 0, current_block, {"newBPoolAddress": pool_address}, chunk_size=current_block, ) if not logs: return {} assert len(logs) == 1, "cannot happen" return logs[0].blockNumber