aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/api/mergedapi.go
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/api/mergedapi.go')
-rw-r--r--rpc/api/mergedapi.go22
1 files changed, 16 insertions, 6 deletions
diff --git a/rpc/api/mergedapi.go b/rpc/api/mergedapi.go
index dea8d1289..b62477a14 100644
--- a/rpc/api/mergedapi.go
+++ b/rpc/api/mergedapi.go
@@ -1,21 +1,27 @@
package api
-import "github.com/ethereum/go-ethereum/rpc/shared"
+import (
+ "github.com/ethereum/go-ethereum/rpc/shared"
+)
+
+const (
+ MergedApiVersion = "1.0"
+)
// combines multiple API's
type MergedApi struct {
- apis []string
+ apis map[string]string
methods map[string]EthereumApi
}
// create new merged api instance
func newMergedApi(apis ...EthereumApi) *MergedApi {
mergedApi := new(MergedApi)
- mergedApi.apis = make([]string, len(apis))
+ mergedApi.apis = make(map[string]string, len(apis))
mergedApi.methods = make(map[string]EthereumApi)
- for i, api := range apis {
- mergedApi.apis[i] = api.Name()
+ for _, api := range apis {
+ mergedApi.apis[api.Name()] = api.ApiVersion()
for _, method := range api.Methods() {
mergedApi.methods[method] = api
}
@@ -47,8 +53,12 @@ func (self *MergedApi) Name() string {
return MergedApiName
}
+func (self *MergedApi) ApiVersion() string {
+ return MergedApiVersion
+}
+
func (self *MergedApi) handle(req *shared.Request) (interface{}, error) {
- if req.Method == "support_apis" { // provided API's
+ if req.Method == "modules" { // provided API's
return self.apis, nil
}