interledger-deprecated / ilp-core

Core ILP module — handles ledger abstraction and quoting
Other
8 stars 5 forks source link

Proposal: Remove ilp-core #76

Closed emschwartz closed 7 years ago

emschwartz commented 7 years ago

Right now ilp-core implements two primary functions: quoting and managing multiple clients. These are relatively minimal bits of functionality but as a result of the current structure, ilp-core has to wrap and re-expose all of the plugin methods and events. This provides little value and makes the stack unnecessarily complicated.

For quoting, right now it seems that the ilp client and the ilp-connector use different methods for quoting and generating the source transfers. If the behavior is different for a reason, this suggests that quoting is not really shared functionality and thus should be implemented separately by the ilp and ilp-connector modules.

Regarding managing multiple clients, this functionality is not currently used by the ilp client and I don't think we need to support a multi-plugin sender any time in the near future. Again, the actual functionality provided by the core class of this module is pretty minimal, so it doesn't seem worth it to have another wrapper layer around the plugin.

I would propose that we move the quoting functionality from ilp-core into the ilp module, potentially exported separately as ILP.ILQP, move the multi-plugin functionality into the ilp-connector, and get rid of this module.

sentientwaffle commented 7 years ago

This is done: https://github.com/interledgerjs/ilp-connector/pull/365