Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
This commit is contained in:
		@@ -2,8 +2,10 @@ package ethpub
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/hex"
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"github.com/ethereum/eth-go/ethchain"
 | 
			
		||||
	"github.com/ethereum/eth-go/ethutil"
 | 
			
		||||
	_ "log"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -12,6 +14,8 @@ type PBlock struct {
 | 
			
		||||
	ref          *ethchain.Block
 | 
			
		||||
	Number       int    `json:"number"`
 | 
			
		||||
	Hash         string `json:"hash"`
 | 
			
		||||
	Transactions string `json:"transactions"`
 | 
			
		||||
	Time         int64  `json:"time"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Creates a new QML Block from a chain block
 | 
			
		||||
@@ -20,7 +24,17 @@ func NewPBlock(block *ethchain.Block) *PBlock {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &PBlock{ref: block, Number: int(block.Number.Uint64()), Hash: ethutil.Hex(block.Hash())}
 | 
			
		||||
	var ptxs []PTx
 | 
			
		||||
	for _, tx := range block.Transactions() {
 | 
			
		||||
		ptxs = append(ptxs, *NewPTx(tx))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	txJson, err := json.Marshal(ptxs)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &PBlock{ref: block, Number: int(block.Number.Uint64()), Hash: ethutil.Hex(block.Hash()), Transactions: string(txJson), Time: block.Time}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (self *PBlock) ToString() string {
 | 
			
		||||
@@ -43,16 +57,25 @@ func (self *PBlock) GetTransaction(hash string) *PTx {
 | 
			
		||||
type PTx struct {
 | 
			
		||||
	ref *ethchain.Transaction
 | 
			
		||||
 | 
			
		||||
	Value, Hash, Address string
 | 
			
		||||
	Contract             bool
 | 
			
		||||
	Value    string `json:"value"`
 | 
			
		||||
	Gas      string `json:"gas"`
 | 
			
		||||
	GasPrice string `json:"gasPrice"`
 | 
			
		||||
	Hash     string `json:"hash"`
 | 
			
		||||
	Address  string `json:"address"`
 | 
			
		||||
	Sender   string `json:"sender"`
 | 
			
		||||
	Data     string `json:"data"`
 | 
			
		||||
	Contract bool   `json:"isContract"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewPTx(tx *ethchain.Transaction) *PTx {
 | 
			
		||||
	hash := hex.EncodeToString(tx.Hash())
 | 
			
		||||
	sender := hex.EncodeToString(tx.Recipient)
 | 
			
		||||
	receiver := hex.EncodeToString(tx.Recipient)
 | 
			
		||||
	sender := hex.EncodeToString(tx.Sender())
 | 
			
		||||
	data := strings.Join(ethchain.Disassemble(tx.Data), "\n")
 | 
			
		||||
 | 
			
		||||
	isContract := len(tx.Data) > 0
 | 
			
		||||
 | 
			
		||||
	return &PTx{ref: tx, Hash: hash, Value: ethutil.CurrencyToString(tx.Value), Address: sender, Contract: isContract}
 | 
			
		||||
	return &PTx{ref: tx, Hash: hash, Value: ethutil.CurrencyToString(tx.Value), Address: receiver, Contract: isContract, Gas: tx.Gas.String(), GasPrice: tx.GasPrice.String(), Data: data, Sender: sender}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (self *PTx) ToString() string {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user