def get(contract=None, address=None, abi=None):
        if contract:
            abi = contract.abi
            address = contract.address

        if address and abi:
            return LogHandler(web3, address, abi)
        else:
            raise Exception('event_handler called without a contract instance')
Example #2
0
    def get(
        contract: Optional[Contract] = None,
        address: Optional[HexAddress] = None,
        abi: Optional[ABI] = None,
    ) -> LogHandler:
        if contract:
            abi = contract.abi
            address = contract.address

        if address and abi:
            return LogHandler(web3=web3, address=address, abi=abi)
        else:
            raise Exception("event_handler called without a contract instance")
Example #3
0
    def get(contract=None, address=None, abi=None):
        if contract:
            # Get contract factory name from contract instance
            # TODO is there an actual API for this??
            comp_target = contract.metadata['settings']['compilationTarget']
            name = comp_target[list(comp_target.keys())[0]]

            abi = chain.provider.get_base_contract_factory(name).abi
            address = contract.address

        if address and abi:
            return LogHandler(web3, address, abi)
        else:
            raise Exception('event_handler called without a contract instance')