Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'd like to propose a slightly different mechanism for loading protocol handlers as well as other features. Rather than specifically looking for message types inside of a loaded module, I propose that we attempt to load and execute an asynchronous
setup
method, with the context passed as the first argument. This would allow side loaded modules to not only add protocol handlers but also potentially define new ledgers, admin servers, admin server routes, etc. without having to fork the ACA-Py code base. The changes I've included here are mostly just a proof of concept of what this might look like and other changes are likely necessary to fully support side loading something like a ledger.More than open to thoughts and feedback, why this approach is a bad idea, ideas for a better approach etc.