gluk256
fd869dc839
whisper/whisperv6: implement pow/bloom exchange protocol ( #15802 )
...
This is the main feature of v6.
2018-01-12 12:11:22 +01:00
Felix Lange
9d06026c19
all: regenerate codecs with gencodec commit 90983d99de ( #15830 )
...
Fixes #15777 because null is now allowed for hexutil.Bytes.
2018-01-08 15:13:22 +02:00
Furkan KAMACI
b8caba9709
various: remove redundant parentheses ( #15793 )
2018-01-03 14:14:47 +02:00
Péter Szilágyi
b98aa3b4f1
whisper/whisper2: fix Go 1.10 vet issues on type mismatches ( #15783 )
2018-01-02 11:13:24 +01:00
gluk256
38b1e8ee20
whisper/whisperv6: PoW requirement ( #15701 )
...
New Whisper-level message introduced (PoW requirement),
corresponding logic added, plus some tests.
2017-12-21 15:17:27 +01:00
gluk256
9f1007e554
whisper/whisperv6: message bundling ( #15666 )
...
Changed the communication protocol for ordinary message,
according to EIP 627. Messages will be send in bundles, i.e.
array of messages will be sent instead of single message.
2017-12-21 10:31:44 +01:00
Zach
3da1bf8ca1
all: use gometalinter.v2, fix new gosimple issues ( #15650 )
2017-12-12 19:05:47 +01:00
Guillaume Ballet
e7610eadfe
whisper: sym encryption message padding includes salt ( #15631 )
...
Now that the AES salt has been moved to the payload, padding must
be adjusted to hide it, lest an attacker guesses that the packet
uses symmetric encryption.
2017-12-11 12:32:58 +01:00
Guillaume Ballet
bf62acf033
whisper/whisperv6: remove Version from the envelope ( #15621 )
2017-12-08 16:08:56 +01:00
Guillaume Ballet
d95962cd5d
whisper/whisperv6: remove aesnonce ( #15578 )
...
As per EIP-627, the salt for symmetric encryption is now
part of the payload. This commit does that.
2017-12-08 11:40:59 +01:00
Guillaume Ballet
20fe928914
whisper: rename EnvNonce to Nonce in the v6 Envelope ( #15579 )
2017-12-01 12:50:19 +01:00
ferhat elmas
86f6568f66
build: enable unconvert linter ( #15456 )
...
* build: enable unconvert linter
- fixes #15453
- update code base for failing cases
* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
2017-11-10 19:06:45 +02:00
gluk256
9f7cd75682
whisper/whisperv6: initial commit (clone of v5) ( #15324 )
2017-11-03 21:29:49 +01:00
baizhenxuan
eea996e4e1
whisper/shhclient: fix Version return type ( #15306 )
2017-10-18 11:16:12 +02:00
Guillaume Ballet
7a045af05b
whisper/whisperv5: set filter SymKeyHash on creation ( #15165 )
2017-10-06 16:04:21 +02:00
Noman
e311bb520a
whisper: Fix spelling and grammar in error ( #15009 )
...
* whisper: Fix spelling and grammar in error
* whisper: Fix grammar in comments
2017-08-21 12:22:00 +03:00
Egon Elbre
d375193797
whisper: fix megacheck warnings ( #14925 )
...
* whisper: fix megacheck warnings
* whisper/whisperv5: regenerate json codec to fix unused override type
2017-08-08 14:48:06 +03:00
Bas van Kervel
b6e99deee9
whisper: renamed Info#Message to Info#Messages
2017-06-23 09:18:02 +02:00
Bas van Kervel
c62d5422bb
whisper: use hexutil.UnmarshalFixedText for topic parsing
2017-06-21 12:58:00 +02:00
Bas van Kervel
a4e4c76cb3
whisper: use syncmap for dynamic configuration options
2017-06-21 11:15:47 +02:00
Bas van Kervel
7a11e86442
whisper: move flags from whisper package to utils
2017-06-21 10:49:14 +02:00
Bas van Kervel
4a1d516d78
whisper: renamed errors
2017-06-21 10:32:36 +02:00
Bas van Kervel
b6b0e00198
whisper: fallback to default config if none is specified
2017-06-21 10:24:34 +02:00
Bas van Kervel
3d66ba56ef
whisper: remove obsolete api tests
2017-06-21 10:23:45 +02:00
Bas van Kervel
767dc6c73d
whisper: remove gencodec override for config
2017-06-21 10:11:54 +02:00
Bas van Kervel
36e7963467
whisper: move ShhClient to its own package
2017-06-21 10:11:46 +02:00
Bas van Kervel
b58a501673
whisperv5: integrate whisper and add whisper RPC simulator
2017-06-15 11:53:15 +02:00
gluk256
f9be9a2302
whisper: switching to v5 + minor refactoring ( #14387 )
2017-04-28 11:57:15 +02:00
gluk256
95f0bd0acf
whisper: message format refactoring ( #14335 )
...
* whisper: salt removed from AES encryption
* whisper: padding format updated
* whisper: padding test added
* whisper: padding refactored, tests fixed
* whisper: padding test updated
* whisper: wnode bugfix
* whisper: send/receive protocol updated
* whisper: minor update
* whisper: bugfix in test
* whisper: updated parameter names and comments
* whisper: functions renamed
* whisper: minor refactoring
2017-04-26 21:05:48 +02:00
Felix Lange
0cc492f815
all: update license information
2017-04-14 10:29:00 +02:00
gluk256
9cd7135516
whisper: big refactoring ( #13852 )
...
* whisper: GetMessages fixed; size restriction updated
* whisper: made PoW and MaxMsgSize customizable
* whisper: test added
* whisper: sym key management changed
* whisper: identity management refactored
* whisper: API refactoring (Post and Filter)
* whisper: big refactoring complete
* whisper: spelling fix
* whisper: variable topic size allowed for a filter
* whisper: final update
* whisper: formatting
* whisper: file exchange introduced in wnode
* whisper: bugfix
* whisper: API updated + new tests
* whisper: statistics updated
* whisper: wnode server updated
* whisper: allowed filtering for variable topic size
* whisper: tests added
* whisper: resolving merge conflicts
* whisper: refactoring (documenting mostly)
* whsiper: tests fixed
* whisper: down cased error messages
* whisper: documenting the API functions
* whisper: logging fixed
* whisper: fixed wnode parameters
* whisper: logs fixed (typos)
2017-04-09 23:49:22 +02:00
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