I understand that you combine an interface (which puts function names and parameter/return types in scope) and a deployed contract address which actually implements these functions. My question is, why do all the addresses used with AggregatorV3Interface have multiple contracts stored at them? First of all, I thought that a single address can only contain one contract. Yet when I look at the etherscan for the 1INCH/USD price feed, I see multiple contracts. How can this be? Second, how do I know which contract the interface is implementing when there are multiple contracts? Thanks.
1 Answer
actually only one main contract AggregatorProxy
which implement AggregatorV3Interface
in link you post, others are just libs linked or contracts inherited/imported