diff options
Diffstat (limited to 'rpc/api/mergedapi.go')
-rw-r--r-- | rpc/api/mergedapi.go | 22 |
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 } |