Injecting Custom Functions into Existing Contracts with eth_simulateV1