Poolshark Protocol combines noncustodial smart contracts for a decentralized exchange with directional and bidirectional liquidity, merging AMM and LOB features with greater transaction throughput, and enhancing AMMs with limit orders and stop-losses for liquidity providers