diff options
Diffstat (limited to 'internal/ethapi')
-rw-r--r-- | internal/ethapi/api.go | 8 | ||||
-rw-r--r-- | internal/ethapi/backend.go | 4 | ||||
-rw-r--r-- | internal/ethapi/solc.go | 82 |
3 files changed, 3 insertions, 91 deletions
diff --git a/internal/ethapi/api.go b/internal/ethapi/api.go index caa742180..c8374fe18 100644 --- a/internal/ethapi/api.go +++ b/internal/ethapi/api.go @@ -25,7 +25,6 @@ import ( "strings" "time" - "github.com/ethereum/ethash" "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/accounts/keystore" "github.com/ethereum/go-ethereum/common" @@ -39,6 +38,7 @@ import ( "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/params" + "github.com/ethereum/go-ethereum/pow" "github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rpc" "github.com/syndtr/goleveldb/leveldb" @@ -1378,11 +1378,7 @@ func (api *PublicDebugAPI) SeedHash(ctx context.Context, number uint64) (string, if block == nil { return "", fmt.Errorf("block #%d not found", number) } - hash, err := ethash.GetSeedHash(number) - if err != nil { - return "", err - } - return fmt.Sprintf("0x%x", hash), nil + return fmt.Sprintf("0x%x", pow.EthashSeedHash(number)), nil } // PrivateDebugAPI is the collection of Etheruem APIs exposed over the private diff --git a/internal/ethapi/backend.go b/internal/ethapi/backend.go index 214214f51..e10fb14ff 100644 --- a/internal/ethapi/backend.go +++ b/internal/ethapi/backend.go @@ -73,8 +73,7 @@ type State interface { } func GetAPIs(apiBackend Backend, solcPath string) []rpc.API { - compiler := makeCompilerAPIs(solcPath) - all := []rpc.API{ + return []rpc.API{ { Namespace: "eth", Version: "1.0", @@ -116,5 +115,4 @@ func GetAPIs(apiBackend Backend, solcPath string) []rpc.API { Public: false, }, } - return append(compiler, all...) } diff --git a/internal/ethapi/solc.go b/internal/ethapi/solc.go deleted file mode 100644 index b9acc518b..000000000 --- a/internal/ethapi/solc.go +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright 2016 The go-ethereum Authors -// This file is part of the go-ethereum library. -// -// The go-ethereum library is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// The go-ethereum library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. - -package ethapi - -import ( - "sync" - - "github.com/ethereum/go-ethereum/common/compiler" - "github.com/ethereum/go-ethereum/rpc" -) - -func makeCompilerAPIs(solcPath string) []rpc.API { - c := &compilerAPI{solc: solcPath} - return []rpc.API{ - { - Namespace: "eth", - Version: "1.0", - Service: (*PublicCompilerAPI)(c), - Public: true, - }, - { - Namespace: "admin", - Version: "1.0", - Service: (*CompilerAdminAPI)(c), - Public: true, - }, - } -} - -type compilerAPI struct { - // This lock guards the solc path set through the API. - // It also ensures that only one solc process is used at - // any time. - mu sync.Mutex - solc string -} - -type CompilerAdminAPI compilerAPI - -// SetSolc sets the Solidity compiler path to be used by the node. -func (api *CompilerAdminAPI) SetSolc(path string) (string, error) { - api.mu.Lock() - defer api.mu.Unlock() - info, err := compiler.SolidityVersion(path) - if err != nil { - return "", err - } - api.solc = path - return info.FullVersion, nil -} - -type PublicCompilerAPI compilerAPI - -// CompileSolidity compiles the given solidity source. -func (api *PublicCompilerAPI) CompileSolidity(source string) (map[string]*compiler.Contract, error) { - api.mu.Lock() - defer api.mu.Unlock() - return compiler.CompileSolidityString(api.solc, source) -} - -func (api *PublicCompilerAPI) GetCompilers() ([]string, error) { - api.mu.Lock() - defer api.mu.Unlock() - if _, err := compiler.SolidityVersion(api.solc); err == nil { - return []string{"Solidity"}, nil - } - return []string{}, nil -} |