5c55657c54
This makes two main changes to the plugin system: * Instead of assuming that each plugin will have exactly one type, inspect each plugin to see which interfaces it provides, and register it as a provider of each provided interface. This can allow a single .so file to provide multiple interfaces, which will likely be necessary for aggregating certain types of info. * Rather than using dependency injection and having to propagate the plugin system all throughout Geth, have a default plugin loader so we need only import the module and make calls to it. If the plan were to integrate this into mainline Geth, I would say we use dependency injection and take the time to pass the plugin loader throughout the codebase, but as I expect this to be a fork that has to pull upstream changes, this approach should make merge conflicts much less common. |
||
---|---|---|
.. | ||
fuzzers | ||
solidity | ||
testdata@6b85703b56 | ||
block_test_util.go | ||
block_test.go | ||
difficulty_test_util.go | ||
difficulty_test.go | ||
gen_btheader.go | ||
gen_difficultytest.go | ||
gen_stenv.go | ||
gen_sttransaction.go | ||
gen_vmexec.go | ||
init_test.go | ||
init.go | ||
rlp_test_util.go | ||
rlp_test.go | ||
state_test_util.go | ||
state_test.go | ||
transaction_test_util.go | ||
transaction_test.go | ||
vm_test_util.go | ||
vm_test.go |