diff options
author | Felix Lange <fjl@twurst.com> | 2016-11-09 10:09:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-09 10:09:05 +0800 |
commit | 355f4b0c15fadec683877b5de1361bd678fee28e (patch) | |
tree | ef1c3a915af7f07c049c08318fe450b2ecf46654 /contracts | |
parent | 8b1df1a259fe6dc4c15e391e9c0762c9621d9d72 (diff) | |
parent | bbb5e5d56a51d9430aec934c76a0bd02f1f2427d (diff) | |
download | dexon-355f4b0c15fadec683877b5de1361bd678fee28e.tar dexon-355f4b0c15fadec683877b5de1361bd678fee28e.tar.gz dexon-355f4b0c15fadec683877b5de1361bd678fee28e.tar.bz2 dexon-355f4b0c15fadec683877b5de1361bd678fee28e.tar.lz dexon-355f4b0c15fadec683877b5de1361bd678fee28e.tar.xz dexon-355f4b0c15fadec683877b5de1361bd678fee28e.tar.zst dexon-355f4b0c15fadec683877b5de1361bd678fee28e.zip |
Merge pull request #3232 from zsfelfoldi/light-topic3
Diffstat (limited to 'contracts')
-rw-r--r-- | contracts/release/release.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/contracts/release/release.go b/contracts/release/release.go index 5a6665dba..cd79112cd 100644 --- a/contracts/release/release.go +++ b/contracts/release/release.go @@ -1,4 +1,4 @@ -// Copyright 2016 The go-ethereum Authors +// Copyright 2015 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 @@ -27,6 +27,8 @@ import ( "github.com/ethereum/go-ethereum/accounts/abi/bind" "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/eth" + "github.com/ethereum/go-ethereum/internal/ethapi" + "github.com/ethereum/go-ethereum/les" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/logger/glog" "github.com/ethereum/go-ethereum/node" @@ -60,12 +62,20 @@ type ReleaseService struct { // releases and notify the user of such. func NewReleaseService(ctx *node.ServiceContext, config Config) (node.Service, error) { // Retrieve the Ethereum service dependency to access the blockchain + var apiBackend ethapi.Backend var ethereum *eth.Ethereum - if err := ctx.Service(ðereum); err != nil { - return nil, err + if err := ctx.Service(ðereum); err == nil { + apiBackend = ethereum.ApiBackend + } else { + var ethereum *les.LightEthereum + if err := ctx.Service(ðereum); err == nil { + apiBackend = ethereum.ApiBackend + } else { + return nil, err + } } // Construct the release service - contract, err := NewReleaseOracle(config.Oracle, eth.NewContractBackend(ethereum)) + contract, err := NewReleaseOracle(config.Oracle, eth.NewContractBackend(apiBackend)) if err != nil { return nil, err } |