philip-morlier
9ee93f1e26
further progress on plugin hook
2023-03-23 22:00:13 -07:00
Austin Roberts
9aba661554
Updates for consensus engine injection
2023-03-23 16:37:16 -05:00
philip-morlier
78e00bf68d
Manual touches to preserve compatability of other networks with utils as well as fix a failing test in core/rawdb.
2023-02-21 10:29:25 -08:00
philip-morlier
ef92d21d25
Manual touches to modify types to conform to geth v1.11.1
2023-02-17 08:29:46 -08:00
philip-morlier
c0530b8313
Updated plugin loader, mod, and sum to reflect changes made in utils v0.0.21.
2022-12-08 11:40:22 -08:00
philip-morlier
967626b075
Updates to reflect comments on original merge.
2022-08-22 11:48:26 -07:00
philip-morlier
59a823409e
Merge tag 'v1.10.22' into feature/merge-v1.10.22
2022-08-22 10:48:40 -07:00
philip-morlier
81a8106bc6
Merge Geth v1.10.21 as well as update to Plugeth-Utils v0.0.18
2022-07-27 10:38:42 -07:00
philip-morlier
2f93e2ae10
Merge feature/merge-v1.10.18-attempt-two
2022-05-25 13:07:38 -07:00
philip-morlier
e87859e9ab
Updating mod and sum to reflect plugeth-utils v0.0.17. Made corresponding changes to wrapper function to reflect the close() method on the Node object returned by NewNode(). Created a new tag v1.10.17-2 to reflect these changes.
2022-05-16 09:48:46 -07:00
philip-morlier
4211c5c401
Merge tag 'v1.10.17' into merge/v1.10.17
2022-03-30 15:40:07 -07:00
philip-morlier
0b5c23e739
Updated plugins/wrappers/wrappers.go to include code and input fields on utils core.interface contract object. Also mod and sum to reflect utils v0.0.12
2022-03-30 15:25:22 -07:00
philip-morlier
4a33bc66c5
Changes in service of extending block context object into the tracer plugins
2022-03-30 15:20:54 -07:00
philip-morlier
ec965607cd
Cahnges made in service of pretracer type.
2022-03-30 15:15:37 -07:00
Austin Roberts
d3268003ac
Get plugin details if hook does not match signature
2022-03-14 10:52:22 -05:00
philip-morlier
9a4172189d
Added warning logs to obsolete methods on Downloader in backendwrappers.
2021-12-27 15:01:44 -08:00
philip-morlier
007ba02e4b
final commit of 1.10.14 update
2021-12-27 14:43:35 -08:00
philip-morlier
15b7e55b50
Initial commit of v1.10.14 merge
2021-12-23 14:57:38 -08:00
Austin Roberts
826327a8e7
Update to develop
2021-11-29 10:41:24 -06:00
philip-morlier
cc416746a1
Further additions to v1.10.13 update.
2021-11-29 10:21:34 -06:00
philip-morlier
c56312cd2f
changes in service to operational and assumed complete blockTracer plugin
2021-11-10 18:07:57 -08:00
philip-morlier
9ac78685b3
modifications made in service of block tracer
2021-11-05 17:26:53 -07:00
AusIV
1bca34f157
Merge branch 'develop' into feature/tracer-capture-enter
2021-10-22 15:02:24 -05:00
philip-morlier
c8e3e83641
Updated wrappers to reflect changes to tracer functions
2021-10-18 14:48:51 -07:00
Austin Roberts
625d2c0e98
Make chainconfig wrapper more robust against differences between types
2021-10-18 15:01:04 -05:00
Austin Roberts
5d4d973cc4
Merge tag 'v1.10.9' into develop
...
Notes: the AppendAncient plugin hook is broken by this commit.
This adds CaptureEnter() and CaptureExit() as no-ops for interface
compliance, but these capabilities should be added for plugin tracers
soon.
2021-10-18 12:02:35 -05:00
philip-morlier
5b9e5f56e2
Modifications to wrappers and loader forenabling node.attach in utils/core/interfaces
2021-10-10 13:08:52 -07:00
Austin Roberts
1b06b9762a
Add a db wrapper to enable iteration
2021-09-28 14:01:01 -05:00
Austin Roberts
65f00aad1c
Fix flag parsing for plugins
2021-09-21 09:01:03 -05:00
Austin Roberts
e6f05fcca9
Use restricted params, not geth params
2021-09-16 16:06:46 -05:00
Austin Roberts
f7307d527d
Updates to support blockupdates plugin
...
This makes several updates to support the blockupdates plugin.
I had to update several hooks that were using the wrong types, and
provide a way to get event.Feed objects into plugins without importing
event.Feed (which I did by having the plugin loader make them
available).
2021-09-16 16:04:36 -05:00
philip-morlier
7d7fad0988
Further updates to wrappers.go and rpc/handler.go, chaising bugs
2021-09-16 11:55:39 -07:00
philip-morlier
ea0f27c92d
Merge remote-tracking branch 'refs/remotes/origin/utils-refactor' into utils-refactor
2021-09-15 13:13:32 -07:00
philip-morlier
1b4eded9c5
Updeated wrappers.go and go.mod
2021-09-15 13:09:43 -07:00
Austin Roberts
7b33b6e821
Add chainconfig to backend
2021-09-14 17:44:25 -05:00
philip-morlier
411a43e378
updated cmd/geth/plugin_hooks.go and plugins/plugin_loader.go to reflect changes re core.logger, updated go.mod and go.sum to address dependency issues
2021-09-09 12:51:13 -07:00
philip-morlier
b36e63f184
eth/tracers/plugin_hooks, tracers/plugin_hooks, and wrappers utils refactor modifications
2021-09-08 14:38:17 -07:00
philip-morlier
c36c999383
utils refactor work from the week
2021-09-03 15:20:49 -07:00
Austin Roberts
820a0af71c
Pass plugin loader by interface
2021-08-31 15:41:27 -05:00
Austin Roberts
d9d51dd345
update plugeth-utils version
2021-08-31 15:29:09 -05:00
Austin Roberts
40377543bf
Add plugin hook tester
2021-08-25 14:00:27 -05:00
Austin Roberts
2e7254e737
Update documentation
2021-07-20 10:18:29 -05:00
Austin Roberts
c58a596a53
Documentation!
2021-07-14 15:45:36 -05:00
Austin Roberts
328756dc00
Fix initialize function of plugin loader, update blockupdates plugin
2021-07-14 13:06:10 -05:00
Austin Roberts
75ad936fbb
Hooks for appending ancients, initial work on block update plugin
2021-07-14 08:33:17 -05:00
Austin Roberts
c45774b74b
Give plugins a handle to their plugin loader
...
This potentially allows plugins to invoke other plugins.
2021-07-12 14:55:45 -05:00
Austin Roberts
6e4c285ed1
Add state update hooks
2021-07-12 14:45:42 -05:00
Austin Roberts
4dd3527541
Fix tracer loading
2021-06-25 23:27:09 -05:00
Austin Roberts
03808de29a
Refactor plugin system
...
When the plugin loader itself had to know the types in the arguments
and return values of the plugin functions, it was very difficult to
avoid import loops, given that the types were often defined in the
same package that needed to invoke the plugins.
Under this model, the plugin loader has much less knowledge of the
plugins themselves, and within each package we define functions to
interact with the plugins.
2021-06-25 22:46:17 -05:00
Austin Roberts
091a2f4884
Checkpoint
...
Things are currently broken because of import cycles. I'm going to
need to revisit how the plugin loader works, but I wanted to make
a checkpoint before I start breaking things again.
2021-06-25 17:08:39 -05:00
Austin Roberts
ad8719a64a
Get tracers working, returning results
2021-06-25 14:57:24 -05:00
Austin Roberts
97cf240fe0
Add tracer hooks for debug_traceCall, etc.
2021-06-25 13:55:31 -05:00
Austin Roberts
5c55657c54
Plugin Interface Refactor
...
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.
2021-06-25 10:57:56 -05:00
Austin Roberts
ff46e3c7f8
Add plugin folder
2021-06-25 10:23:49 -05:00