forked from cerc-io/ipld-eth-server
22 lines
605 B
Go
22 lines
605 B
Go
package rpc
|
|
|
|
import "github.com/ethereum/go-ethereum/rpc"
|
|
|
|
// checkModuleAvailability check that all names given in modules are actually
|
|
// available API services.
|
|
func checkModuleAvailability(modules []string, apis []rpc.API) (bad, available []string) {
|
|
availableSet := make(map[string]struct{})
|
|
for _, api := range apis {
|
|
if _, ok := availableSet[api.Namespace]; !ok {
|
|
availableSet[api.Namespace] = struct{}{}
|
|
available = append(available, api.Namespace)
|
|
}
|
|
}
|
|
for _, name := range modules {
|
|
if _, ok := availableSet[name]; !ok {
|
|
bad = append(bad, name)
|
|
}
|
|
}
|
|
return bad, available
|
|
}
|