Felix Lange
f1534f5797
trie, whisper/whisperv5: use math/rand Read function
2017-03-22 20:49:15 +01:00
Felix Lange
5c8fe28b72
common: move big integer math to common/math ( #3699 )
...
* common: remove CurrencyToString
Move denomination values to params instead.
* common: delete dead code
* common: move big integer operations to common/math
This commit consolidates all big integer operations into common/math and
adds tests and documentation.
There should be no change in semantics for BigPow, BigMin, BigMax, S256,
U256, Exp and their behaviour is now locked in by tests.
The BigD, BytesToBig and Bytes2Big functions don't provide additional
value, all uses are replaced by new(big.Int).SetBytes().
BigToBytes is now called PaddedBigBytes, its minimum output size
parameter is now specified as the number of bytes instead of bits. The
single use of this function is in the EVM's MSTORE instruction.
Big and String2Big are replaced by ParseBig, which is slightly stricter.
It previously accepted leading zeros for hexadecimal inputs but treated
decimal inputs as octal if a leading zero digit was present.
ParseUint64 is used in places where String2Big was used to decode a
uint64.
The new functions MustParseBig and MustParseUint64 are now used in many
places where parsing errors were previously ignored.
* common: delete unused big integer variables
* accounts/abi: replace uses of BytesToBig with use of encoding/binary
* common: remove BytesToBig
* common: remove Bytes2Big
* common: remove BigTrue
* cmd/utils: add BigFlag and use it for error-checked integer flags
While here, remove environment variable processing for DirectoryFlag
because we don't use it.
* core: add missing error checks in genesis block parser
* common: remove String2Big
* cmd/evm: use utils.BigFlag
* common/math: check for 256 bit overflow in ParseBig
This is supposed to prevent silent overflow/truncation of values in the
genesis block JSON. Without this check, a genesis block that set a
balance larger than 256 bits would lead to weird behaviour in the VM.
* cmd/utils: fixup import
2017-02-26 22:21:51 +01:00
gluk256
562ccff822
whisper: fixed temporary directory for tests ( #3707 )
2017-02-24 09:21:01 +01:00
gluk256
11539030cd
whisper: expiry refactoring ( #3706 )
2017-02-23 18:46:32 +01:00
Péter Szilágyi
1ca20a2697
cmd, whisper/mailserver: revert to utils.Fatalf
2017-02-23 12:16:46 +02:00
Péter Szilágyi
d4fd06c3dc
all: blidly swap out glog to our log15, logs need rework
2017-02-23 12:16:44 +02:00
gluk256
29fac7de44
Whisper API fixed ( #3687 )
...
* whisper: wnode updated for tests with geth
* whisper: updated processing of incoming messages
* whisper: symmetric encryption updated
* whisper: filter id type changed to enhance security
* whisper: allow filter without topic for asymmetric encryption
* whisper: POW updated
* whisper: logging updated
* whisper: spellchecker update
* whisper: error handling changed
* whisper: JSON field names fixed
2017-02-23 09:41:47 +01:00
Felix Lange
9b0af51386
crypto: add btcec fallback for sign/recover without cgo ( #3680 )
...
* vendor: add github.com/btcsuite/btcd/btcec
* crypto: add btcec fallback for sign/recover without cgo
This commit adds a non-cgo fallback implementation of secp256k1
operations.
* crypto, core/vm: remove wrappers for sha256, ripemd160
2017-02-18 09:24:12 +01:00
gluk256
15a609d5d6
whisper: interface changed to simplify the transition to v5
...
* whisper: mailserver test introduced, refactoring
* whisper: validation test updated
* whisper: max number of peers fixed
* whisper: verification bug fixed
* whisper: esthetic fix
* whisper: interface changed to simplify the transition to v5
* whisper: preparation for version switch
2017-02-14 16:44:47 +02:00
gluk256
65ed6a9def
whisper: add tests for mailserver ( #3631 )
2017-02-13 13:15:20 +01:00
gluk256
690f6ea1d7
cmd/wnode, whisper: add whisper CLI tool and mail server ( #3580 )
2017-01-31 11:16:20 +01:00
Felix Lange
b9b3efb09f
all: fix ineffectual assignments and remove uses of crypto.Sha3
...
go get github.com/gordonklaus/ineffassign
ineffassign .
2017-01-09 16:24:42 +01:00
Péter Szilágyi
18c77744ff
all: fix spelling errors
2017-01-06 19:44:35 +02:00
Felix Lange
f2da6581ba
all: fix issues reported by honnef.co/go/simple/cmd/gosimple
2017-01-06 18:18:07 +01:00
Felix Lange
35a7dcb162
all: gofmt -w -s
2017-01-06 15:52:03 +01:00
Felix Lange
cf71f5cd60
rpc: remove HexNumber, replace all uses with hexutil types
...
This change couldn't be automated because HexNumber was used for numbers
of all sizes.
2016-12-20 14:41:58 +01:00
Felix Lange
adab2e16bd
rpc: remove HexBytes, replace all uses with hexutil.Bytes
2016-12-20 14:35:26 +01:00
gluk256
ba996f5e27
whisper: refactoring ( #3411 )
...
* whisper: refactored message processing
* whisper: final polishing
* whisper: logging updated
* whisper: moved the check, changed the default PoW
* whisper: refactoring of message queuing
* whisper: refactored parameters
2016-12-20 00:58:01 +01:00
gluk256
2dcf75a722
whisper/shhapi, whisper/whisperv5: refactoring ( #3364 )
...
* Filter refactoring
* API tests added + bugfix
* fixed the error logs
* FilterID fixed
* test cases fixed
* key generation updated
* POW updated
* got rid of redundant stuff
2016-12-01 20:09:22 +01:00
gluk256
79789af2e7
whisper: project restructured, version 5 introduced ( #3022 )
...
whisper: project restructured, version 5 introduced
This commits adds a draft version of the new shh v5 protocol.
The new version is not on by default, --shh still selects version 2.
2016-10-29 14:11:37 +02:00
Felix Lange
6197fbf8d7
Merge pull request #2458 from fjl/go-vet
...
all: fix go vet warnings
2016-04-15 13:45:15 +02:00
Felix Lange
3a5bdef962
whisper: deflake Test*MessageExpiration
...
These tests have become a common annoyance on CI. Fix them by allowing
messages with expiration == now into the cache and delaying the check
for expired message handling slightly.
2016-04-15 13:28:46 +02:00
Felix Lange
6fdd0893c3
all: fix go vet warnings
2016-04-15 11:17:27 +02:00
Felix Lange
d04a2e7557
all: update license information
2016-04-15 09:48:05 +02:00
Bas van Kervel
aa9fff3e68
rpc: various fixes/enhancements
...
rpc: be less restrictive on the request id
rpc: improved documentation
console: upgrade web3.js to version 0.16.0
rpc: cache http connections
rpc: rename wsDomains parameter to wsOrigins
2016-04-12 11:02:39 +02:00
Ricardo Catalinas Jiménez
436fc8d76a
all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
...
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Bas van Kervel
19b2640e89
rpc: migrated the RPC insterface to a new reflection based RPC layer
2016-01-26 13:51:50 +01:00
Felix Lange
fa187a366d
Merge pull request #2035 from bas-vk/rcp-v2-rebase
...
rpc: new RPC implementation with pub/sub support
2015-12-14 17:38:10 +01:00
Bas van Kervel
eae81465c1
rpc: new RPC implementation with pub/sub support
2015-12-14 16:34:05 +01:00
Gustav Simonsson
c8ad64f33c
crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar mult
...
thanks to Felix Lange (fjl) for help with design & impl
2015-11-30 13:43:32 +01:00
Péter Szilágyi
1e806c4c77
cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks
2015-11-27 11:06:12 +02:00
Jeffrey Wilcke
5f0a4416db
whisper: fixed broadcast race
...
Whisper's expire and broadcast loops happen in two separate go routines.
Whenever an envelope is being expired it's removed from the set of
envelopes and it looses all information about the envelope, including
the "known hash". After the envelope has been removed it can be
re-accepted by a broadcasting peer putting back the envelope in the set
of envelopes. Since the envelope broadcast loop is separate of the
expire loop expired messages may be broadcast to other peer, resulting
in messages **never** being dropped.
This PR includes an expire check before adding new messages to the set
of envelopes.
2015-11-25 12:10:47 +01:00
Péter Szilágyi
60e0abb595
whisper: fix datarace in expiration test
2015-11-05 13:36:25 +02:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Felix Lange
6a2fec5309
p2p, whisper: use glog for peer-level logging
2015-05-06 23:19:14 +02:00
Péter Szilágyi
2b9fd6b40a
whisper: add full filter test suite
2015-04-28 10:49:05 +03:00
Péter Szilágyi
406e74e2af
whisper: fix a small data race duirng peer connection
2015-04-28 10:49:05 +03:00
Péter Szilágyi
db615a85ec
ui/qt/qwhisper, whisper, xeth: polish topic filter, fix wildcards
2015-04-28 10:49:04 +03:00
Péter Szilágyi
ae4bfc3cfb
rpc, ui/qt/qwhisper, whisper, xeth: introduce complex topic filters
2015-04-28 10:49:04 +03:00
Péter Szilágyi
15586368e5
whisper: fix spurious From identity with untargeted messages
2015-04-28 10:49:04 +03:00
Péter Szilágyi
87447f9f3f
whisper: fix payload loss in case of plaintext decrypt
2015-04-28 10:49:04 +03:00
Péter Szilágyi
7f48eb8737
whisper, xeth/whisper: surface TTL and hash to the API
2015-04-28 10:49:04 +03:00
Péter Szilágyi
7948cc0029
rpc, whisper, xeth: fix RPC message retrieval data race
2015-04-28 10:47:35 +03:00
Péter Szilágyi
5aa523e32b
whisper: fix send timestamp omission during envelope opening
2015-04-28 10:47:35 +03:00
Péter Szilágyi
3563c59b12
rpc, whisper, xeth: polish whisper RPC interface
2015-04-28 10:47:35 +03:00
Felix Lange
509d0a8d78
whisper: fix comment for rlpenv
2015-04-17 14:45:09 +02:00
Felix Lange
56a48101dc
cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limit
2015-04-17 14:45:09 +02:00
Péter Szilágyi
4afc22ba6e
whisper: cleanup lefover scoping
2015-04-17 14:11:46 +03:00
Péter Szilágyi
bd14bd6c5b
whisper: hide some internal types
2015-04-17 13:25:18 +03:00
Péter Szilágyi
e5a03eb066
whisper: don't issue signature warning if none present
2015-04-16 18:24:39 +03:00
Péter Szilágyi
e5e91e9eb3
whisper: track active peers, add peer cache expiry test
2015-04-16 13:05:35 +03:00
Péter Szilágyi
ee6531c5ff
whisper: remove dead code, rename a few constants
2015-04-16 11:20:01 +03:00
Péter Szilágyi
6ceb253f74
whisper: use async handshakes to handle blocking peers
2015-04-15 13:01:22 +03:00
Péter Szilágyi
46ea193a49
whisper: remove some unneeded testing complexity
2015-04-15 12:50:10 +03:00
Péter Szilágyi
bcf41797ca
whisper: global message expiration tests, polishes
2015-04-15 10:50:31 +03:00
Péter Szilágyi
4fb7ab5d09
whisper: mock tests to use simulated peers
2015-04-14 19:00:57 +03:00
Péter Szilágyi
86372b20c0
whisper: add basic tests for the whiper peers
2015-04-14 18:21:56 +03:00
Péter Szilágyi
f6efdd8aad
whisper: shorten constants to TTL and PoW
2015-04-14 15:16:02 +03:00
Péter Szilágyi
1a4cfc173e
whisper, xeth/whisper, ui/qt/qwhispe: fix API polish breakages
2015-04-14 15:02:31 +03:00
Péter Szilágyi
e2b7498c9d
whisper: add known message expiration to peers, cleanup
2015-04-14 14:28:59 +03:00
Péter Szilágyi
59bff46505
whisper: general cleanups, documentation
2015-04-14 13:24:43 +03:00
Péter Szilágyi
5205b2f19b
whisper: fix anonymous broadcast drop, add broadcast tests
2015-04-14 12:12:47 +03:00
Péter Szilágyi
4af7743663
whisper: add utility functions for creating topics
2015-04-14 11:12:09 +03:00
Péter Szilágyi
cb707ba50c
whisper: push work in progress for bug report
2015-04-13 16:19:34 +03:00
Péter Szilágyi
89358d25a4
whisper: start adding integration tests
2015-04-13 13:15:01 +03:00
Péter Szilágyi
9a53390f49
whisper: clean up and integrate topics
2015-04-13 12:16:51 +03:00
Péter Szilágyi
7b501906db
whisper: separate out magic number from the code
2015-04-13 11:31:51 +03:00
Péter Szilágyi
5467e7b312
whisper: fix comment entity capitalizations
2015-04-12 14:34:53 +03:00
Péter Szilágyi
0e4f21fc37
whisper: polish the Envelope a bit, prep for tests.
2015-04-10 16:52:01 +03:00
Péter Szilágyi
7d8ce53eca
whisper: polish the messages, fix some bugs, tests
...
Bugs fixed:
- Use randomly generated flags as the spec required.
- During envelope opening check the first bit only for signature.
2015-04-10 15:53:21 +03:00
Péter Szilágyi
7e54a9c07f
whisper: rename test file according to Go style
2015-04-10 13:46:08 +03:00
Péter Szilágyi
a4c8e947b0
whisper: make the test app runnable & do something inside
2015-04-10 13:42:49 +03:00
Jeffrey Wilcke
758205b187
Merge pull request #648 from Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks
...
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 20:48:56 +02:00
obscuren
688d118c7e
Updated logging
2015-04-07 14:57:04 +02:00
Gustav Simonsson
2591883a18
Use logger.Error instead of 0 with glog
2015-04-07 12:48:19 +02:00
Gustav Simonsson
3f306f63d4
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 12:48:19 +02:00
obscuren
1889727144
Moved logging to logger.Core
2015-04-04 13:24:01 +02:00
Taylor Gerring
c956bcb13c
Move version to const and expose via Version()
2015-03-25 12:08:48 +01:00
Felix Lange
069c87b960
whisper: use common.Hash
2015-03-21 00:57:18 +01:00
Felix Lange
483d43a15a
whisper: use package rlp
2015-03-21 00:49:58 +01:00
Felix Lange
e80dda6051
eth, whisper: adapt for RLP encoder switch in package p2p
...
I have rewritten the protocol test to use p2p.MsgPipe because
p2p.NewMsg is gone.
2015-03-19 15:18:31 +01:00
Taylor Gerring
fe819f3b9f
Comment out whisper remove identity stubs
2015-03-17 09:11:01 -04:00
Taylor Gerring
03ac0f18ae
Initial support to remove Whisper identities per #491
2015-03-16 14:46:46 -04:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
obscuren
eba4f389a6
don't log whisper start ups
2015-03-10 22:43:07 +01:00
Felix Lange
6e7e5d5fd5
eth, whisper: fix msg.Payload reads
2015-03-04 13:25:01 +01:00
obscuren
b2a225a52e
Properly uninstall filters. Mining issue fixed #closes #365
...
* Added an additional tx state which is used to get the current nonce
* Refresh transient state each time a new canonical block is found
* Properly uninstall filters. Fixes a possible crash in RPC
2015-02-23 15:43:41 +01:00
obscuren
84f7c966f7
Moved ECIES to repo & added secondary title for webview
...
* ECIES moved from obscuren to ethereum
* Added html META[name=badge] to reflect menuItem.secondaryTitle
2015-02-14 00:25:47 +01:00
obscuren
ddccea75e8
Fixed "to" field
2015-02-10 13:20:06 +01:00
obscuren
e40c1c62ce
API changed to use Pubkey only. Reflected that change in the rest of the api
2015-02-05 15:00:59 -08:00
obscuren
7bd2fbe2b1
Fixed whisper "to" filtering. Closes #283
2015-02-03 07:16:05 -08:00
obscuren
623469cb6c
Added missing whisper timestamp. Closes #284
2015-02-03 06:56:19 -08:00
obscuren
c48644490f
Fixed whisper pub key bug
...
* Unrecoverable messages would cause segfault when recovering invalid
pub key
2015-01-30 13:24:20 +01:00
obscuren
b777d6aa3f
UI Updates
...
* Browser now has tabs
* Fixed a callback issue
2015-01-22 12:35:31 +01:00
obscuren
67f9783e6a
Moved obscuren
secp256k1-go
2015-01-22 00:35:00 +01:00
obscuren
87f50659db
fixed url bug in browser
2015-01-20 18:42:29 +01:00
obscuren
62e0e18030
Changed public whisper api not to reveal temporary private keys
2015-01-14 18:12:18 +01:00
obscuren
e3cad04dec
Fixed whisper messages
...
* Whisper protocol wasn't properly suppling envelope slices
* Message history wasn't properly propagated
* Added 'Messages' method, filtering any current envelope with the
supplied filter.
2015-01-13 13:36:44 +01:00
obscuren
34689cb3f3
Added manual triggering of filters
2015-01-12 20:36:45 +01:00
obscuren
c9f566269b
merged
2015-01-09 13:28:48 +01:00
obscuren
c8a4c04b36
err
2015-01-08 23:15:46 +01:00
obscuren
26f066f0c7
just enable by default
2015-01-08 22:18:23 +01:00
obscuren
4a0ade4788
Fixed some whisper issues
2015-01-08 21:41:32 +01:00
obscuren
e2d1d832ef
added nil check
2015-01-02 13:00:25 +01:00
obscuren
4051c0333f
Added whisper js api
2014-12-22 13:23:11 +01:00
obscuren
52b54631a4
Whisper watches fixes
2014-12-16 19:55:57 +01:00
obscuren
93edae280d
doc desc
2014-12-15 22:50:38 +01:00
obscuren
b55fabc7be
Removed debug message
2014-12-15 22:18:58 +01:00
obscuren
54605d8c8e
During env open check for pub error which indicated unencrypted payload.
2014-12-15 21:55:00 +01:00
obscuren
01a6db9324
Added whisper debug interface + whisper fixes
2014-12-15 17:14:02 +01:00
obscuren
db89c3e1a3
Merge branch 'develop' into poc8
2014-12-15 16:13:08 +01:00
obscuren
ef4135eabe
Added topic utility functions to whisper
2014-12-15 16:12:34 +01:00
obscuren
afc8b887ab
added whisper
2014-12-15 12:01:55 +01:00
obscuren
a17a1f9208
Implemented watching using filter package
...
* Added filters / watches
* Removed event dep
2014-12-12 22:23:42 +01:00
obscuren
dda778eda7
Updated whisper messages to new crypto api + added tests
2014-12-10 14:17:32 +01:00
obscuren
984c7e6689
Added encryption for messages better API for sealing messages
2014-12-10 00:03:50 +01:00
obscuren
76842b0df8
Additional checks and debug output
2014-12-08 14:25:52 +01:00
obscuren
e3a8412df3
Proper start/stoping wpeers
2014-12-08 13:16:50 +01:00
obscuren
ebe2d9d872
First draft of Whisper messages relaying
2014-12-08 12:43:33 +01:00