Commit Graph

3842 Commits

Author SHA1 Message Date
Felix Lange 3750ec7b7d accounts: prevent early drops and zero keys in memory when dropping
Private keys would be locked early if SignLocked was called more than
once because the unlockLater was still running. Terminate it properly.
2015-03-08 01:44:15 +01:00
Felix Lange d6a7332993 accounts: fix uses of sync.RWMutex
RWMutexes must be write-locked when writing in order
to actually protect the writes.
2015-03-08 00:36:06 +01:00
Felix Lange afc530ea41 accounts: use time.Duration correctly
There is no point to using time.Duration if the value is interpreted as
milliseconds. Callers should use the standard multiplication idiom to
choose the unit. In fact, the only caller outside of the tests already
does so.
2015-03-08 00:35:23 +01:00
Felix Lange fda7b4c79d accounts: use pointers consistently
Account is now always a non-pointer. This will be important once
the manager starts remembering accounts.

AccountManager is now always a pointer because it contains locks
and locks cannot be copied.
2015-03-08 00:18:13 +01:00
Felix Lange a2810c06d7 cmd/ethereum: add account commands 2015-03-07 12:39:52 +01:00
Felix Lange d66f93cecd accounts, core, eth, xeth: use account manager for everything
The account manager is now responsible for picking the
default account and the coinbase.
2015-03-07 12:38:33 +01:00
Gustav Simonsson bc45e5c6de Integrate eth_accounts and eth_transact to use new account manager
* Add from to eth_transact / xeth.Transact and add static pass in lieu
  of integrating with native Mist window for user passphrase entry
* Make eth_accounts return AccountManager.Accounts()
* Add a Generate Key menu item in Mist
2015-03-06 13:10:42 +00:00
Felix Lange e64f727529 Merge pull request #433 from fjl/newcli
Improved CLI
2015-03-06 14:02:16 +01:00
Felix Lange a91bf01429 Merge pull request #434 from fjl/poc-9
Godeps: bump github.com/ethereum/ethash
2015-03-06 13:31:41 +01:00
Felix Lange 71e510540e Godeps: bump github.com/ethereum/ethash
This fixes the build.
2015-03-06 12:28:00 +00:00
Felix Lange de86403f33 cmd/ethereum: fix JS REPL exit and add support for dumb terminals
It is now possible to exit the REPL using Ctrl-C, Ctrl-D or by typing "exit".
2015-03-06 13:08:11 +01:00
Felix Lange 2393de5d6b Godeps: add github.com/peterh/liner 2015-03-06 10:39:31 +01:00
Felix Lange 38f6d60e6e cmd/ethereum: new JS repl with cross-platform line editing 2015-03-06 03:57:13 +01:00
Felix Lange bae7e93a9c cmd/ethereum: improve command line interface
The ethereum command line interface is now structured using subcommands.
These separate the different tasks it can perform.

Almost all flag names are backwards compatible.

The key tasks have not been ported to subcommands since they will be
replaced by the new accounts infrastructure very soon.
2015-03-06 03:57:13 +01:00
Felix Lange f9c6bc63df Godeps: delete golang.org/x/net/websocket
It is no longer imported by any package in our tree.
2015-03-06 02:54:57 +01:00
Felix Lange bdba044a80 ethutil: remove Config variable
Various functions throughout the codebase used it to grab settings. This
has to stop because I want to use them without reading the config file.

These functions can now be used without reading the config first:

* ethdb.NewLDBDatabase
* ethrepl.NewJSRepl
* vm.New
2015-03-06 02:46:56 +01:00
obscuren 76e4e233ad Merge branch 'poc-9' of github.com-obscure:ethereum/go-ethereum into poc-9 2015-03-05 17:48:46 +01:00
obscuren d44fe4ec62 Merge branch 'develop' into poc-9 2015-03-05 17:46:40 +01:00
obscuren 72bf02bf15 Merge branch 'tendermint-develop_pull_request' into develop 2015-03-05 17:46:11 +01:00
obscuren 357d17ae58 Start at 0 2015-03-05 17:46:00 +01:00
obscuren 1d1ba40965 Merge branch 'develop_pull_request' of https://github.com/tendermint/ethermint into tendermint-develop_pull_request 2015-03-05 17:44:18 +01:00
Jeffrey Wilcke 3b30765378 Merge pull request #426 from Gustav-Simonsson/add_blockchain_tests
Add initial implementation of block tests
2015-03-05 17:43:56 +01:00
obscuren 377c8a13de Merge branch 'develop' into poc-9 2015-03-05 17:37:18 +01:00
obscuren 201b09f99a Merge branch 'alexvandesande-ui' into develop 2015-03-05 17:37:09 +01:00
obscuren 44b83c6ea6 Removed unused variables 2015-03-05 17:37:00 +01:00
obscuren 12ca70537f Merge branch 'fjl-p2p-handshake-2' into poc-9 2015-03-05 17:26:41 +01:00
obscuren ba0c41436c Merge branch 'p2p-handshake-2' of https://github.com/fjl/go-ethereum into fjl-p2p-handshake-2 2015-03-05 17:21:32 +01:00
obscuren fabaf4f1f0 wip math 2015-03-05 17:21:16 +01:00
obscuren c47866d251 Miner fixes and updates (including miner) 2015-03-05 09:14:58 +01:00
= a6fe92194f Fixed iterator bug which skips the 0x000...000 key 2015-03-05 01:47:49 +00:00
Alexandre Van de Sande 178798ef87 network back to local files 2015-03-04 16:31:48 -03:00
Gustav Simonsson 871dfd399b Add initial implementation of block tests
* Add blocktest cmd and support for block tests files in
  tests/BlockTests , the launched node does not connect to
  network, resets state with a genesis block from the test file
  and starts the RPC API
2015-03-04 20:27:09 +01:00
Alexandre Van de Sande 671e38fb65 Fixed Average Return calculation 2015-03-04 15:13:57 -03:00
Alexandre Van de Sande e1bae3771e updated network app to latest build 2015-03-04 12:59:17 -03:00
Felix Lange 215c763d53 eth, p2p: delete p2p.Blacklist
It is unused and untested right now. We can
bring it back later if required.
2015-03-04 16:54:36 +01:00
Felix Lange 429828cd92 p2p: reject messages that cannot be written as simple RLPx frames
Until chunked frames are implemented we cannot send messages
with a size overflowing uint24.
2015-03-04 16:42:01 +01:00
Felix Lange 22659a7fea p2p: restore read/write timeouts
They got lost in the transition to rlpxFrameRW.
2015-03-04 16:42:00 +01:00
Alexandre Van de Sande 5f25c117eb Merge branch 'develop' into ui 2015-03-04 10:04:07 -03:00
Alexandre Van de Sande cf880f78d5 network dashboard is now a local file 2015-03-04 10:02:11 -03:00
Felix Lange 6e7e5d5fd5 eth, whisper: fix msg.Payload reads 2015-03-04 13:25:01 +01:00
Felix Lange 7964f30dcb p2p: msg.Payload contains list data
With RLPx frames, the message code is contained in the
frame and is no longer part of the encoded data.

EncodeMsg, Msg.Decode have been updated to match.
Code that decodes RLP directly from Msg.Payload will need
to change.
2015-03-04 12:27:24 +01:00
Felix Lange 21649100b1 p2p: verify protocol handshake node ID 2015-03-04 12:27:24 +01:00
Felix Lange 7d39fd6678 p2p: make encryption handshake code easier to follow
This mostly changes how information is passed around.
Instead of using many function parameters and return values,
put the entire state in a struct and pass that.

This also adds back derivation of ecdhe-shared-secret. I deleted
it by accident in a previous refactoring.
2015-03-04 12:27:24 +01:00
Felix Lange 2c505efd1e p2p/discover: add NodeID.Pubkey 2015-03-04 12:27:24 +01:00
Felix Lange d344054e5a p2p: make RLPx frame MAC 16 bytes as defined in the spec 2015-03-04 12:27:24 +01:00
Felix Lange d084aed5e9 p2p: delete frameRW 2015-03-04 12:27:24 +01:00
Felix Lange 736e632215 p2p: use RLPx frames for messaging 2015-03-04 12:27:23 +01:00
Felix Lange 51e01cceca p2p: encrypted and authenticated RLPx frame I/O 2015-03-04 12:27:23 +01:00
Felix Lange 936dd0f3bc p2p: add basic RLPx frame I/O 2015-03-04 12:27:23 +01:00
obscuren 15f491e500 Clean up REPL 2015-03-04 12:18:26 +01:00