TidePool reusable zk client