Smardex: A Smarter DeFi Protocol for Liquidity Providers and Traders