contract ArbitrumProvider is ArbitrumMethods { /* ... */}
It occurs to me that ArbitrumProvider is misleading as it represents a subset of ArbitrumMethods. MaybeSupportedArbitrumMethods is a better choice. Provider should represent a DIN provider or candidate that has a number of SupportedMethods and possibly some RPS capability commitments.
@twhay correct - Provider is a role within the network, and would be associated with methods, networks, an address (contract or EOA, should be up to the provider to declare)
Todo
[ ] Rename ArbitrumProvider to SupportedArbitrumMethods
[ ] SupportedArbitrumMethods should not inherit from ArbitrumMethods, but have a reference to a deployed ArbitrumMethods contract.
[ ] Tests will have to be updated, or may be unnecessary
It occurs to me that ArbitrumProvider is misleading as it represents a subset of ArbitrumMethods. MaybeSupportedArbitrumMethods is a better choice. Provider should represent a DIN provider or candidate that has a number of SupportedMethods and possibly some RPS capability commitments.
Todo
ArbitrumProvider
toSupportedArbitrumMethods
SupportedArbitrumMethods
should not inherit from ArbitrumMethods, but have a reference to a deployed ArbitrumMethods contract.