aboutsummaryrefslogtreecommitdiffstats
path: root/ethutil/rlp.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-05-05 21:55:43 +0800
committerobscuren <geffobscura@gmail.com>2014-05-05 21:55:43 +0800
commit2096b3a9edb3289a8f30da81704181dec7b39917 (patch)
tree1a38e845f32ecfc94a73546ec4cfdb971b740830 /ethutil/rlp.go
parent6a86c517c4f4b372cad0ae1d92e926a482eac5ba (diff)
parentfedd4c906ff9f6139cb2d88e4f1adefbf6ea81a6 (diff)
downloaddexon-2096b3a9edb3289a8f30da81704181dec7b39917.tar
dexon-2096b3a9edb3289a8f30da81704181dec7b39917.tar.gz
dexon-2096b3a9edb3289a8f30da81704181dec7b39917.tar.bz2
dexon-2096b3a9edb3289a8f30da81704181dec7b39917.tar.lz
dexon-2096b3a9edb3289a8f30da81704181dec7b39917.tar.xz
dexon-2096b3a9edb3289a8f30da81704181dec7b39917.tar.zst
dexon-2096b3a9edb3289a8f30da81704181dec7b39917.zip
Merge branch 'release/poc5-rc1'
Diffstat (limited to 'ethutil/rlp.go')
-rw-r--r--ethutil/rlp.go19
1 files changed, 7 insertions, 12 deletions
diff --git a/ethutil/rlp.go b/ethutil/rlp.go
index 33ec0d359..69f80a0a6 100644
--- a/ethutil/rlp.go
+++ b/ethutil/rlp.go
@@ -26,16 +26,6 @@ func (coder *RlpEncoder) EncodeData(rlpData interface{}) []byte {
return Encode(rlpData)
}
-/*
-func FromBin(data []byte) uint64 {
- if len(data) == 0 {
- return 0
- }
-
- return FromBin(data[:len(data)-1])*256 + uint64(data[len(data)-1])
-}
-*/
-
const (
RlpEmptyList = 0x80
RlpEmptyStr = 0x40
@@ -57,7 +47,7 @@ func DecodeWithReader(reader *bytes.Buffer) interface{} {
switch {
case char == 0:
return nil
- case char <= 0x7c:
+ case char <= 0x7f:
return char
case char <= 0xb7:
@@ -186,7 +176,12 @@ func Encode(object interface{}) []byte {
case byte:
buff.Write(Encode(big.NewInt(int64(t))))
case *big.Int:
- buff.Write(Encode(t.Bytes()))
+ // Not sure how this is possible while we check for
+ if t == nil {
+ buff.WriteByte(0xc0)
+ } else {
+ buff.Write(Encode(t.Bytes()))
+ }
case []byte:
if len(t) == 1 && t[0] <= 0x7f {
buff.Write(t)