The SmartContractService and the TokenService need to be reused on MirrorNode to simulate the execution of smart contracts. Some functionality must be replaceable by alternative implementations (e.g., accessing state) or by dummy implementations (e.g., record streaming).
In the current design, we send a whole range of data and functionality when calling a service (in HederaContext). Ideally, we find a solution where only the required subset is passed to the services.
The SmartContractService and the TokenService need to be reused on MirrorNode to simulate the execution of smart contracts. Some functionality must be replaceable by alternative implementations (e.g., accessing state) or by dummy implementations (e.g., record streaming).
In the current design, we send a whole range of data and functionality when calling a service (in
HederaContext
). Ideally, we find a solution where only the required subset is passed to the services.