Commit Graph

66 Commits

Author SHA1 Message Date
Felix Lange b94f85de22 rlp: add Flat 2015-02-11 19:28:56 +01:00
Felix Lange 8c3095faf0 rlp: fix encoding of arrays with byte element type 2015-02-06 00:00:36 +01:00
Felix Lange fc92abec2c rlp: allow encoding non-empty interface values
This needs to be supported because []someInterface does occur sometimes.

Funny enough, the fix involves changes to the decoder. makeDecoder
cannot return an error for non-empty interfaces anymore because the type
cache builds both decoder and writer. Do the check at 'runtime' instead.
2015-01-15 23:35:26 +01:00
Felix Lange 29c46cdf34 rlp: fix Decode benchmarks 2015-01-15 11:12:39 +01:00
Felix Lange 552f5b2693 rlp: add functions for encoding
I'm reasonably confident that the encoding matches the output of
ethutil.Encode for values that it supports. Some of the tests have been
adpated from the Ethereum testing repository.

There are still TODOs in the code.
2015-01-15 11:00:19 +01:00
obscuren 6abf8ef78f Merge 2015-01-05 17:10:42 +01:00
Felix Lange 6cf4e0329c rlp: display decoder target type in more error messages
Decode error messages now say "expected input list for foo.MyStruct"
instead of just "expected List".
2014-12-09 22:28:49 +01:00
Felix Lange 829730dec4 rlp: remove dead code 2014-12-09 12:49:20 +01:00
Felix Lange c084a7daa5 rlp: fix panic in decodeList on go 1.4+
The documentation for reflect.Value.Index states that it will
panic for out-of-bounds indices. Since go 1.4, it actually panics.
2014-12-09 10:58:46 +01:00
Felix Lange 93e858f88e rlp: remove support for signed integer types
There is no agreement on how to encode negative integers
across implementations. cpp-ethereum doesn't support them either.
2014-12-09 10:58:46 +01:00
Felix Lange 4f12f0697e rlp: move decoder type switch to decode.go 2014-12-09 10:52:05 +01:00
Felix Lange f816fdcb69 rlp: include target type in decoder error messages 2014-11-25 16:00:48 +01:00
Felix Lange 205af02a1f rlp: add NewListStream (for p2p) 2014-11-24 19:03:17 +01:00
Felix Lange 5a5560f105 rlp: add Stream.Reset and accept any reader (for p2p) 2014-11-24 19:03:11 +01:00
Felix Lange bd0a50fdc3 rlp: fix pointer reuse 2014-11-17 12:02:08 +01:00
Felix Lange 74266d5bbd rlp: new package for streaming RLP decoder 2014-11-17 01:49:47 +01:00