Implement `getPair()` and `allPairs()` functions
A request to Implement getPair(address tokenA, address tokenB) and allPairs(uint) functions came from the Orion Team
I think we have the getPair
https://github.com/AcalaNetwork/predeploy-contracts/blob/ea5682f8c57355392f11ac328917a184c3bd4c96/contracts/dex/DEX.sol#L35-L39
https://docs.uniswap.org/protocol/V2/reference/smart-contracts/factory#getpair
https://docs.uniswap.org/protocol/V2/reference/smart-contracts/factory#allpairs
Also, I think allPairs() is not possible to do identically to uniswap because we don't have an index (0-n) mapped to pairs enabled
We need a precompile to iterate enabled pairs and return them. However, not 100% sure why do we need such method?