diff options
author | Felix Lange <fjl@twurst.com> | 2017-03-23 01:20:33 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2017-03-23 03:49:15 +0800 |
commit | c213fd1fd8bb624241da7fc98cf25098d8b92761 (patch) | |
tree | 7b109b0962b34d90d275a1dd1f64fbdba588bf9f /contracts | |
parent | 525116dbff916825463931361f75e75e955c12e2 (diff) | |
download | dexon-c213fd1fd8bb624241da7fc98cf25098d8b92761.tar.gz dexon-c213fd1fd8bb624241da7fc98cf25098d8b92761.tar.zst dexon-c213fd1fd8bb624241da7fc98cf25098d8b92761.zip |
all: import "context" instead of "golang.org/x/net/context"
There is no need to depend on the old context package now that the
minimum Go version is 1.7. The move to "context" eliminates our weird
vendoring setup. Some vendored code still uses golang.org/x/net/context
and it is now vendored in the normal way.
This change triggered new vet checks around context.WithTimeout which
didn't fire with golang.org/x/net/context.
Diffstat (limited to 'contracts')
-rw-r--r-- | contracts/chequebook/cheque.go | 2 | ||||
-rw-r--r-- | contracts/release/release.go | 74 |
2 files changed, 39 insertions, 37 deletions
diff --git a/contracts/chequebook/cheque.go b/contracts/chequebook/cheque.go index 945e56e86..7e0f7eafc 100644 --- a/contracts/chequebook/cheque.go +++ b/contracts/chequebook/cheque.go @@ -26,6 +26,7 @@ package chequebook import ( "bytes" + "context" "crypto/ecdsa" "encoding/json" "fmt" @@ -43,7 +44,6 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/swarm/services/swap/swap" - "golang.org/x/net/context" ) // TODO(zelig): watch peer solvency and notify of bouncing cheques diff --git a/contracts/release/release.go b/contracts/release/release.go index 613e62aa9..28a35381d 100644 --- a/contracts/release/release.go +++ b/contracts/release/release.go @@ -20,6 +20,7 @@ package release //go:generate abigen --sol ./contract.sol --pkg release --out ./contract.go import ( + "context" "fmt" "strings" "time" @@ -33,7 +34,6 @@ import ( "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/rpc" - "golang.org/x/net/context" ) // Interval to check for new releases @@ -116,47 +116,49 @@ func (r *ReleaseService) checker() { for { select { - // If the time arrived, check for a new release case <-timer.C: // Rechedule the timer before continuing timer.Reset(releaseRecheckInterval) - - // Retrieve the current version, and handle missing contracts gracefully - ctx, _ := context.WithTimeout(context.Background(), time.Second*5) - opts := &bind.CallOpts{Context: ctx} - version, err := r.oracle.CurrentVersion(opts) - if err != nil { - if err == bind.ErrNoCode { - log.Debug("Release oracle not found", "contract", r.config.Oracle) - continue - } - log.Error("Failed to retrieve current release", "err", err) - continue - } - // Version was successfully retrieved, notify if newer than ours - if version.Major > r.config.Major || - (version.Major == r.config.Major && version.Minor > r.config.Minor) || - (version.Major == r.config.Major && version.Minor == r.config.Minor && version.Patch > r.config.Patch) { - - warning := fmt.Sprintf("Client v%d.%d.%d-%x seems older than the latest upstream release v%d.%d.%d-%x", - r.config.Major, r.config.Minor, r.config.Patch, r.config.Commit[:4], version.Major, version.Minor, version.Patch, version.Commit[:4]) - howtofix := fmt.Sprintf("Please check https://github.com/ethereum/go-ethereum/releases for new releases") - separator := strings.Repeat("-", len(warning)) - - log.Warn(separator) - log.Warn(warning) - log.Warn(howtofix) - log.Warn(separator) - } else { - log.Debug("Client seems up to date with upstream", - "local", fmt.Sprintf("v%d.%d.%d-%x", r.config.Major, r.config.Minor, r.config.Patch, r.config.Commit[:4]), - "upstream", fmt.Sprintf("v%d.%d.%d-%x", version.Major, version.Minor, version.Patch, version.Commit[:4])) - } - - // If termination was requested, return + r.checkVersion() case errc := <-r.quit: errc <- nil return } } } + +func (r *ReleaseService) checkVersion() { + // Retrieve the current version, and handle missing contracts gracefully + ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) + opts := &bind.CallOpts{Context: ctx} + defer cancel() + + version, err := r.oracle.CurrentVersion(opts) + if err != nil { + if err == bind.ErrNoCode { + log.Debug("Release oracle not found", "contract", r.config.Oracle) + } else { + log.Error("Failed to retrieve current release", "err", err) + } + return + } + // Version was successfully retrieved, notify if newer than ours + if version.Major > r.config.Major || + (version.Major == r.config.Major && version.Minor > r.config.Minor) || + (version.Major == r.config.Major && version.Minor == r.config.Minor && version.Patch > r.config.Patch) { + + warning := fmt.Sprintf("Client v%d.%d.%d-%x seems older than the latest upstream release v%d.%d.%d-%x", + r.config.Major, r.config.Minor, r.config.Patch, r.config.Commit[:4], version.Major, version.Minor, version.Patch, version.Commit[:4]) + howtofix := fmt.Sprintf("Please check https://github.com/ethereum/go-ethereum/releases for new releases") + separator := strings.Repeat("-", len(warning)) + + log.Warn(separator) + log.Warn(warning) + log.Warn(howtofix) + log.Warn(separator) + } else { + log.Debug("Client seems up to date with upstream", + "local", fmt.Sprintf("v%d.%d.%d-%x", r.config.Major, r.config.Minor, r.config.Patch, r.config.Commit[:4]), + "upstream", fmt.Sprintf("v%d.%d.%d-%x", version.Major, version.Minor, version.Patch, version.Commit[:4])) + } +} |