Merge branch 'release/0.6.6' into develop

pull/150/head
obscuren 10 years ago
commit ecdda01841
  1. 7
      ethpipe/js_types.go
  2. 19
      ethutil/list.go

@ -36,13 +36,6 @@ func NewJSBlock(block *ethchain.Block) *JSBlock {
ptxs = append(ptxs, *NewJSTx(tx)) ptxs = append(ptxs, *NewJSTx(tx))
} }
/*
txJson, err := json.Marshal(ptxs)
if err != nil {
return nil
}
return &JSBlock{ref: block, Size: block.Size().String(), Number: int(block.Number.Uint64()), GasUsed: block.GasUsed.String(), GasLimit: block.GasLimit.String(), Hash: ethutil.Bytes2Hex(block.Hash()), Transactions: string(txJson), Time: block.Time, Coinbase: ethutil.Bytes2Hex(block.Coinbase)}
*/
list := ethutil.NewList(ptxs) list := ethutil.NewList(ptxs)
return &JSBlock{ref: block, Size: block.Size().String(), Number: int(block.Number.Uint64()), GasUsed: block.GasUsed.String(), GasLimit: block.GasLimit.String(), Hash: ethutil.Bytes2Hex(block.Hash()), Transactions: list, Time: block.Time, Coinbase: ethutil.Bytes2Hex(block.Coinbase)} return &JSBlock{ref: block, Size: block.Size().String(), Number: int(block.Number.Uint64()), GasUsed: block.GasUsed.String(), GasLimit: block.GasLimit.String(), Hash: ethutil.Bytes2Hex(block.Hash()), Transactions: list, Time: block.Time, Coinbase: ethutil.Bytes2Hex(block.Coinbase)}

@ -2,7 +2,6 @@ package ethutil
import ( import (
"encoding/json" "encoding/json"
"fmt"
"reflect" "reflect"
) )
@ -10,6 +9,7 @@ import (
// for containing any slice type to use in an environment which // for containing any slice type to use in an environment which
// does not support slice types (e.g., JavaScript, QML) // does not support slice types (e.g., JavaScript, QML)
type List struct { type List struct {
val interface{}
list reflect.Value list reflect.Value
Length int Length int
} }
@ -21,7 +21,7 @@ func NewList(t interface{}) *List {
panic("list container initialized with a non-slice type") panic("list container initialized with a non-slice type")
} }
return &List{list, list.Len()} return &List{t, list, list.Len()}
} }
func EmptyList() *List { func EmptyList() *List {
@ -30,17 +30,24 @@ func EmptyList() *List {
// Get N element from the embedded slice. Returns nil if OOB. // Get N element from the embedded slice. Returns nil if OOB.
func (self *List) Get(i int) interface{} { func (self *List) Get(i int) interface{} {
if self.list.Len() == 3 {
fmt.Println("get", i, self.list.Index(i).Interface())
}
if self.list.Len() > i { if self.list.Len() > i {
return self.list.Index(i).Interface() i := self.list.Index(i).Interface()
return i
} }
return nil return nil
} }
func (self *List) GetAsJson(i int) interface{} {
e := self.Get(i)
r, _ := json.Marshal(e)
return string(r)
}
// Appends value at the end of the slice. Panics when incompatible value // Appends value at the end of the slice. Panics when incompatible value
// is given. // is given.
func (self *List) Append(v interface{}) { func (self *List) Append(v interface{}) {

Loading…
Cancel
Save