How to find correct historical contract addresses

I want to find out historical holding patterns for users. Specifically, which reserves they had collateral/debts in. I am thinking of using the getUserReservesData from UiPoolDataProvider, and calling it on an archive node. Unfortunately, I am not able to figure out how to find the historical address of the UiPoolDataProvider contract.

As far as I can understand, the current contract is called ‘UiPoolDataProviderV2V3’, and is at the address 0x00e50fab64ebb37b87df06aa46b8b35d5f1a4e1a. However, it seems to be created in January 11, 2023, and I cannot help but think that there has to be older contracts. Perhaps ones called UiPoolDataProvider and/or UiPoolDataProviderV2. How do I go about finding their addresses in past blocks?

I have looked at the getAddress function of LendingPoolAddressProvider. However, I do not know what id to use when calling this function.

Thanks in advance for your help!