Bad design - BlockChainState
BlockChainState is a DTO
We should probably develop 3 decorators for remote procedures instead of having 3 implementations of BlockChainState.
There are 13 JSON RPC methods with BlockChainState. I do not like an idea of having 13+26 more classes in the library.
In most of the use cases, we will have to work with latest tag and sometimes with pending.
@rockfridrich I did not suggest to add a class for each case that addresses blockchain state. One of the possible design solutions I see is developing 3 decorators that would be applicable to any (or specific) types of RemoteProcedure. Another solution would be to decorate Network object passed to the RemoteProcedure.