Using BuildBear's RPC for testing PancakeSwap interactions is a practical alternative to forking mainnet locally. When working with web3.py for contract interactions, we found that explicitly setting gas estimation with estimateGas() before each transaction prevents silent failures on complex multi-step contract calls. Did you run into any gas estimation issues with the lottery contract?