add cache for extract_addresses(tx)