Add state update hooks

This commit is contained in:
Austin Roberts
2021-07-12 14:45:42 -05:00
parent 875e506148
commit 6e4c285ed1
5 changed files with 66 additions and 3 deletions
+20
View File
@@ -31,3 +31,23 @@ func pluginGetAPIs(stack *node.Node, backend interfaces.Backend) []rpc.API {
}
return GetAPIsFromLoader(plugins.DefaultPluginLoader, stack, backend)
}
func InitializeNode(pl *plugins.PluginLoader, stack *node.Node, backend interfaces.Backend) {
fnList := pl.Lookup("InitializeNode", func(item interface{}) bool {
_, ok := item.(func(*node.Node, interfaces.Backend))
return ok
})
for _, fni := range fnList {
if fn, ok := fni.(func(*node.Node, interfaces.Backend)); ok {
fn(stack, backend)
}
}
}
func pluginsInitializeNode(stack *node.Node, backend interfaces.Backend) {
if plugins.DefaultPluginLoader == nil {
log.Warn("Attempting InitializeNode, but default PluginLoader has not been initialized")
return
}
InitializeNode(plugins.DefaultPluginLoader, stack, backend)
}