good morning!!!!

Skip to content
Snippets Groups Projects
  1. May 16, 2019
  2. Apr 25, 2019
  3. Apr 12, 2019
  4. Apr 08, 2019
  5. Apr 05, 2019
  6. Apr 04, 2019
  7. Mar 06, 2019
  8. Feb 28, 2019
  9. Feb 19, 2019
  10. Feb 18, 2019
  11. Feb 07, 2019
    • Janoš Guljaš's avatar
      cmd, node, p2p/simulations: fix node account manager leak (#19004) · 26aea736
      Janoš Guljaš authored
      * node: close AccountsManager in new Close method
      
      * p2p/simulations, p2p/simulations/adapters: handle node close on shutdown
      
      * node: move node ephemeralKeystore cleanup to stop method
      
      * node: call Stop in Node.Close method
      
      * cmd/geth: close node.Node created with makeFullNode in cli commands
      
      * node: close Node instances in tests
      
      * cmd/geth, node: minor code style fixes
      
      * cmd, console, miner, mobile: proper node Close() termination
      26aea736
  12. Feb 05, 2019
    • Martin Holst Swende's avatar
      accounts, eth, clique, signer: support for external signer API (#18079) · 43e8efe8
      Martin Holst Swende authored
      * accounts, eth, clique: implement external backend + move sighash calc to backend
      
      * signer: implement account_Version on external API
      
      * accounts/external: enable ipc, add copyright
      
      * accounts, internal, signer: formatting
      
      * node: go fmt
      
      * flags: disallow --dev in combo with --externalsigner
      
      * accounts: remove clique-specific signing method, replace with more generic
      
      * accounts, consensus: formatting + fix error in tests
      
      * signer/core: remove (test-) import cycle
      
      * clique: remove unused import
      
      * accounts: remove CliqueHash and avoid dependency on package crypto
      
      * consensus/clique: unduplicate header encoding
      43e8efe8
  13. Jan 21, 2019
    • Kris Shinn's avatar
      GraphQL master FF for review (#18445) · f91312db
      Kris Shinn authored
      
      * Initial work on a graphql API
      
      * Added receipts, and more transaction fields.
      
      * Finish receipts, add logs
      
      * Add transactionCount to block
      
      * Add types  and .
      
      * Update Block type to be compatible with ethql
      
      * Rename nonce to transactionCount in Account, to be compatible with ethql
      
      * Update transaction, receipt and log to match ethql
      
      * Add  query operator, for a range of blocks
      
      * Added ommerCount to Block
      
      * Add transactionAt and ommerAt to Block
      
      * Added sendRawTransaction mutation
      
      * Add Call and EstimateGas to graphQL API
      
      * Refactored to use hexutil.Bytes instead of HexBytes
      
      * Replace BigNum with hexutil.Big
      
      * Refactor call and estimateGas to use ethapi struct type
      
      * Replace ethgraphql.Address with common.Address
      
      * Replace ethgraphql.Hash with common.Hash
      
      * Converted most quantities to Long instead of Int
      
      * Add support for logs
      
      * Fix bug in runFilter
      
      * Restructured Transaction to work primarily with headers, so uncle data is reported properly
      
      * Add gasPrice API
      
      * Add protocolVersion API
      
      * Add syncing API
      
      * Moved schema into its own source file
      
      * Move some single use args types into anonymous structs
      
      * Add doc-comments
      
      * Fixed backend fetching to use context
      
      * Added (very) basic tests
      
      * Add documentation to the graphql schema
      
      * Fix reversion for formatting of big numbers
      
      * Correct spelling error
      
      * s/BigInt/Long/
      
      * Update common/types.go
      
      * Fixes in response to review
      
      * Fix lint error
      
      * Updated calls on private functions
      
      * Fix typo in graphql.go
      
      * Rollback ethapi breaking changes for graphql support
      Co-Authored-By: default avatarArachnid <arachnid@notdot.net>
      f91312db
  14. Dec 07, 2018
  15. Nov 20, 2018
  16. Oct 12, 2018
    • Felix Lange's avatar
      p2p, p2p/discover: add signed ENR generation (#17753) · 6f607de5
      Felix Lange authored
      This PR adds enode.LocalNode and integrates it into the p2p
      subsystem. This new object is the keeper of the local node
      record. For now, a new version of the record is produced every
      time the client restarts. We'll make it smarter to avoid that in
      the future.
      
      There are a couple of other changes in this commit: discovery now
      waits for all of its goroutines at shutdown and the p2p server
      now closes the node database after discovery has shut down. This
      fixes a leveldb crash in tests. p2p server startup is faster
      because it doesn't need to wait for the external IP query
      anymore.
      6f607de5
  17. Oct 11, 2018
    • Felix Lange's avatar
      p2p/simulations: fix a deadlock and clean up adapters (#17891) · dcae0d34
      Felix Lange authored
      This fixes a rare deadlock with the inproc adapter:
      
      - A node is stopped, which acquires Network.lock.
      - The protocol code being simulated (swarm/network in my case)
        waits for its goroutines to shut down.
      - One of those goroutines calls into the simulation to add a peer,
        which waits for Network.lock.
      
      The fix for the deadlock is really simple, just release the lock
      before stopping the simulation node.
      
      Other changes in this PR clean up the exec adapter so it reports
      node startup errors better and remove the docker adapter because
      it just adds overhead.
      
      In the exec adapter, node information is now posted to a one-shot
      server. This avoids log parsing and allows reporting startup
      errors to the simulation host.
      
      A small change in package node was needed because simulation
      nodes use port zero. Node.{HTTP,WS}Endpoint now return the live
      endpoints after startup by checking the TCP listener.
      dcae0d34
  18. Sep 24, 2018
    • Felix Lange's avatar
      all: new p2p node representation (#17643) · 30cd5c18
      Felix Lange authored
      Package p2p/enode provides a generalized representation of p2p nodes
      which can contain arbitrary information in key/value pairs. It is also
      the new home for the node database. The "v4" identity scheme is also
      moved here from p2p/enr to remove the dependency on Ethereum crypto from
      that package.
      
      Record signature handling is changed significantly. The identity scheme
      registry is removed and acceptable schemes must be passed to any method
      that needs identity. This means records must now be validated explicitly
      after decoding.
      
      The enode API is designed to make signature handling easy and safe: most
      APIs around the codebase work with enode.Node, which is a wrapper around
      a valid record. Going from enr.Record to enode.Node requires a valid
      signature.
      
      * p2p/discover: port to p2p/enode
      
      This ports the discovery code to the new node representation in
      p2p/enode. The wire protocol is unchanged, this can be considered a
      refactoring change. The Kademlia table can now deal with nodes using an
      arbitrary identity scheme. This requires a few incompatible API changes:
      
        - Table.Lookup is not available anymore. It used to take a public key
          as argument because v4 protocol requires one. Its replacement is
          LookupRandom.
        - Table.Resolve takes *enode.Node instead of NodeID. This is also for
          v4 protocol compatibility because nodes cannot be looked up by ID
          alone.
        - Types Node and NodeID are gone. Further commits in the series will be
          fixes all over the the codebase to deal with those removals.
      
      * p2p: port to p2p/enode and discovery changes
      
      This adapts package p2p to the changes in p2p/discover. All uses of
      discover.Node and discover.NodeID are replaced by their equivalents from
      p2p/enode.
      
      New API is added to retrieve the enode.Node instance of a peer. The
      behavior of Server.Self with discovery disabled is improved. It now
      tries much harder to report a working IP address, falling back to
      127.0.0.1 if no suitable address can be determined through other means.
      These changes were needed for tests of other packages later in the
      series.
      
      * p2p/simulations, p2p/testing: port to p2p/enode
      
      No surprises here, mostly replacements of discover.Node, discover.NodeID
      with their new equivalents. The 'interesting' API changes are:
      
       - testing.ProtocolSession tracks complete nodes, not just their IDs.
       - adapters.NodeConfig has a new method to create a complete node.
      
      These changes were needed to make swarm tests work.
      
      Note that the NodeID change makes the code incompatible with old
      simulation snapshots.
      
      * whisper/whisperv5, whisper/whisperv6: port to p2p/enode
      
      This port was easy because whisper uses []byte for node IDs and
      URL strings in the API.
      
      * eth: port to p2p/enode
      
      Again, easy to port because eth uses strings for node IDs and doesn't
      care about node information in any way.
      
      * les: port to p2p/enode
      
      Apart from replacing discover.NodeID with enode.ID, most changes are in
      the server pool code. It now deals with complete nodes instead
      of (Pubkey, IP, Port) triples. The database format is unchanged for now,
      but we should probably change it to use the node database later.
      
      * node: port to p2p/enode
      
      This change simply replaces discover.Node and discover.NodeID with their
      new equivalents.
      
      * swarm/network: port to p2p/enode
      
      Swarm has its own node address representation, BzzAddr, containing both
      an overlay address (the hash of a secp256k1 public key) and an underlay
      address (enode:// URL).
      
      There are no changes to the BzzAddr format in this commit, but certain
      operations such as creating a BzzAddr from a node ID are now impossible
      because node IDs aren't public keys anymore.
      
      Most swarm-related changes in the series remove uses of
      NewAddrFromNodeID, replacing it with NewAddr which takes a complete node
      as argument. ToOverlayAddr is removed because we can just use the node
      ID directly.
      30cd5c18
  19. Jul 31, 2018
    • Ryan Schneider's avatar
      rpc: make HTTP RPC timeouts configurable, raise defaults (#17240) · 5d7e1853
      Ryan Schneider authored
      * rpc: Make HTTP server timeout values configurable
      
      * rpc: Remove flags for setting HTTP Timeouts, configuring via .toml is sufficient.
      
      * rpc: Replace separate constants with a single default struct.
      
      * rpc: Update HTTP Server Read and Write Timeouts to 30s.
      
      * rpc: Remove redundant NewDefaultHTTPTimeouts function.
      
      * rpc: document HTTPTimeouts.
      
      * rpc: sanitize timeout values for library use
      5d7e1853
  20. Jul 11, 2018
  21. Jul 03, 2018
  22. Jun 27, 2018
  23. Jun 21, 2018
  24. Jun 04, 2018
  25. May 24, 2018
  26. May 22, 2018
  27. May 09, 2018
  28. Apr 19, 2018
  29. Apr 18, 2018
  30. Apr 16, 2018
    • Martin Holst Swende's avatar
      cmd/clef, signer: initial poc of the standalone signer (#16154) · ec3db0f5
      Martin Holst Swende authored
      * signer: introduce external signer command
      
      * cmd/signer, rpc: Implement new signer. Add info about remote user to Context
      
      * signer: refactored request/response, made use of urfave.cli
      
      * cmd/signer: Use common flags
      
      * cmd/signer: methods to validate calldata against abi
      
      * cmd/signer: work on abi parser
      
      * signer: add mutex around UI
      
      * cmd/signer: add json 4byte directory, remove passwords from api
      
      * cmd/signer: minor changes
      
      * cmd/signer: Use ErrRequestDenied, enable lightkdf
      
      * cmd/signer: implement tests
      
      * cmd/signer: made possible for UI to modify tx parameters
      
      * cmd/signer: refactors, removed channels in ui comms, added UI-api via stdin/out
      
      * cmd/signer: Made lowercase json-definitions, added UI-signer test functionality
      
      * cmd/signer: update documentation
      
      * cmd/signer: fix bugs, improve abi detection, abi argument display
      
      * cmd/signer: minor change in json format
      
      * cmd/signer: rework json communication
      
      * cmd/signer: implement mixcase addresses in API, fix json id bug
      
      * cmd/signer: rename fromaccount, update pythonpoc with new json encoding format
      
      * cmd/signer: make use of new abi interface
      
      * signer: documentation
      
      * signer/main: remove redundant  option
      
      * signer: implement audit logging
      
      * signer: create package 'signer', minor changes
      
      * common: add 0x-prefix to mixcaseaddress in json marshalling + validation
      
      * signer, rules, storage: implement rules + ephemeral storage for signer rules
      
      * signer: implement OnApprovedTx, change signing response (API BREAKAGE)
      
      * signer: refactoring + documentation
      
      * signer/rules: implement dispatching to next handler
      
      * signer: docs
      
      * signer/rules: hide json-conversion from users, ensure context is cleaned
      
      * signer: docs
      
      * signer: implement validation rules, change signature of call_info
      
      * signer: fix log flaw with string pointer
      
      * signer: implement custom 4byte databsae that saves submitted signatures
      
      * signer/storage: implement aes-gcm-backed credential storage
      
      * accounts: implement json unmarshalling of url
      
      * signer: fix listresponse, fix gas->uint64
      
      * node: make http/ipc start methods public
      
      * signer: add ipc capability+review concerns
      
      * accounts: correct docstring
      
      * signer: address review concerns
      
      * rpc: go fmt -s
      
      * signer: review concerns+ baptize Clef
      
      * signer,node: move Start-functions to separate file
      
      * signer: formatting
      ec3db0f5
  31. Mar 05, 2018
  32. Feb 27, 2018
  33. Feb 23, 2018
    • Anton Evangelatov's avatar
      metrics: pull library and introduce ResettingTimer and InfluxDB reporter (#15910) · ae9f9722
      Anton Evangelatov authored
      * go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.
      
      * vendor: change nonsense/go-metrics to ethersphere/go-metrics
      
      * go-metrics: add tests. move ResettingTimer logic from reporter to type.
      
      * all, metrics: pull in metrics package in go-ethereum
      
      * metrics/test: make sure metrics are enabled for tests
      
      * metrics: apply gosimple rules
      
      * metrics/exp, internal/debug: init expvar endpoint when starting pprof server
      
      * internal/debug: tiny comment formatting fix
      ae9f9722
  34. Feb 15, 2018
  35. Feb 12, 2018
    • Martin Holst Swende's avatar
      node, rpc: fix linter issues · 6c6247a6
      Martin Holst Swende authored
      6c6247a6
    • Martin Holst Swende's avatar
      rpc: dns rebind protection (#15962) · 589b603a
      Martin Holst Swende authored
      * cmd,node,rpc: add allowedHosts to prevent dns rebinding attacks
      
      * p2p,node: Fix bug with dumpconfig introduced in r54aeb8e4c0bb9f0e7a6c67258af67df3b266af3d
      
      * rpc: add wildcard support for rpcallowedhosts + go fmt
      
      * cmd/geth, cmd/utils, node, rpc: ignore direct ip(v4/6) addresses in rpc virtual hostnames check
      
      * http, rpc, utils: make vhosts into map, address review concerns
      
      * node: change log messages to use geth standard (not sprintf)
      
      * rpc: fix spelling
      589b603a
  36. Jan 22, 2018
    • Zsolt Felföldi's avatar
      p2p, p2p/discover, p2p/discv5: implement UDP port sharing (#15200) · 92580d69
      Zsolt Felföldi authored
      This commit affects p2p/discv5 "topic discovery" by running it on
      the same UDP port where the old discovery works. This is realized
      by giving an "unhandled" packet channel to the old v4 discovery
      packet handler where all invalid packets are sent. These packets
      are then processed by v5. v5 packets are always invalid when
      interpreted by v4 and vice versa. This is ensured by adding one
      to the first byte of the packet hash in v5 packets.
      
      DiscoveryV5Bootnodes is also changed to point to new bootnodes
      that are implementing the changed packet format with modified
      hash. Existing and new v5 bootnodes are both running on different
      ports ATM.
      92580d69
  37. Dec 01, 2017
    • Lewis Marshall's avatar
      p2p/simulations: various stability fixes (#15198) · 54aeb8e4
      Lewis Marshall authored
      p2p/simulations: introduce dialBan
      
      - Refactor simulations/network connection getters to support
        avoiding simultaneous dials between two peers If two peers dial
        simultaneously, the connection will be dropped to help avoid
        that, we essentially lock the connection object with a
        timestamp which serves as a ban on dialing for a period of time
        (dialBanTimeout).
      
      - The connection getter InitConn can be wrapped and passed to the
        nodes via adapters.NodeConfig#Reachable field and then used by
        the respective services when they initiate connections. This
        massively stablise the emerging connectivity when running with
        hundreds of nodes bootstrapping a network.
      
      p2p: add Inbound public method to p2p.Peer
      
      p2p/simulations: Add server id to logs to support debugging
      in-memory network simulations when multiple peers are logging.
      
      p2p: SetupConn now returns error. The dialer checks the error and
      only calls resolve if the actual TCP dial fails.
      54aeb8e4
Loading