In our project, we use multiple canisters that communicate with each other via ICQC. Therefore, we cannot use InspectMessage as it is currently impossible to perform ICQC in this mode. Are there any plans to extend the InspectMessage feature to support ICQC?
Just to make sure I understand, is your idea that inside inspect_message of, say, canister A you would like to be able to call another canister B to determine whether the ingress message for A should be accepted by A?
Follow-up comment: The instruction limits for message inspection are intentionally lower than for other queries, because it’s a first-line-of-DoS-protection feature. So we would have to weigh the possible extended risk for DoS.
@dsarlis absolutely correct. ICQC provided a great opportunity for quick communication between canisters, and the distributed system became more resilient and easier to test. However, the current implementation of inspect_message is useless with this approach. If I understand correctly, this should not be difficult since inspect_message is already executed on a single canister. I think this improvement would be a logical continuation of the work on this feature.
Taking into account this comment, something like inspect_message_composite_query to divide responsibilities and requirements seems like a good idea. It would be interesting to look at the current implementation of this feature.