I need some basic interface understanding. In my contract I implement two interfaces with the same function signature:
interface IFirst {function someCall(address sender) external;}
interface ISecond {function someCall(address sender) external;}
contract MyContract is IFirst, ISecond {
function someCall(address sender) external override {...}
}
Because my contract can be called from other contracts e.g. A and B like this:
A: IFirst(myContractAddress).someCall(0x...);
B: ISecond(myContractAddress).someCall(0x...);
Isn't it just enough to implement the first Interface because it already ensures the existance of the correct someCall function?
But..is it then necessary to implement the interface at all if I just make sure the function someCall with the correct signature exists in my contract?