Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
    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