diff options
author | obscuren <geffobscura@gmail.com> | 2014-10-29 17:34:40 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-10-29 17:34:40 +0800 |
commit | fb4113dab4df8480c77bdcb707fa6b5408755b79 (patch) | |
tree | b369bb26e7b96826120fb08ff61739326add0e92 /ethutil | |
parent | 665a44646e9453e37c8a73bdd2c94ba7dc1e7c0a (diff) | |
download | go-tangerine-fb4113dab4df8480c77bdcb707fa6b5408755b79.tar.gz go-tangerine-fb4113dab4df8480c77bdcb707fa6b5408755b79.tar.zst go-tangerine-fb4113dab4df8480c77bdcb707fa6b5408755b79.zip |
PoC 7 updates
* Bloom
* Block restructure
* Receipts
Diffstat (limited to 'ethutil')
-rw-r--r-- | ethutil/rlp.go | 6 | ||||
-rw-r--r-- | ethutil/value.go | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/ethutil/rlp.go b/ethutil/rlp.go index 55406133b..1fff2b28a 100644 --- a/ethutil/rlp.go +++ b/ethutil/rlp.go @@ -15,6 +15,10 @@ type RlpEncodeDecode interface { RlpValue() []interface{} } +type RlpEncodable interface { + RlpData() interface{} +} + func Rlp(encoder RlpEncode) []byte { return encoder.RlpEncode() } @@ -100,6 +104,8 @@ func Encode(object interface{}) []byte { switch t := object.(type) { case *Value: buff.Write(Encode(t.Raw())) + case RlpEncodable: + buff.Write(Encode(t.RlpData())) // Code dup :-/ case int: buff.Write(Encode(big.NewInt(int64(t)))) diff --git a/ethutil/value.go b/ethutil/value.go index dd777fa43..6417b0008 100644 --- a/ethutil/value.go +++ b/ethutil/value.go @@ -377,6 +377,10 @@ func (val *Value) NewIterator() *ValueIterator { return &ValueIterator{value: val} } +func (it *ValueIterator) Len() int { + return it.value.Len() +} + func (it *ValueIterator) Next() bool { if it.idx >= it.value.Len() { return false |