def handle_tx(self, tx):
        found = False
        green_address_msg = ""
        for txin in tx.vin:
            address = extract_public_key(txin.scriptSig)
            if address in self.addresses:
                found = True
                green_address_msg = self.addresses[address]
                break
        output_addresses = []
        for txout in tx.vout:
            output_addresses.append(extract_public_key(txout.scriptPubKey))

        txid = "%064x" % tx.sha256
        self.callback(txid, output_addresses, found, green_address_msg)