good morning!!!!

Skip to content
Snippets Groups Projects
Commit aefcb834 authored by Maran Hidskes's avatar Maran Hidskes
Browse files

Updated Public Block and Transaction objects with more information

parent 24a6d87c
No related branches found
No related tags found
No related merge requests found
...@@ -2,8 +2,10 @@ package ethpub ...@@ -2,8 +2,10 @@ package ethpub
import ( import (
"encoding/hex" "encoding/hex"
"encoding/json"
"github.com/ethereum/eth-go/ethchain" "github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethutil" "github.com/ethereum/eth-go/ethutil"
_ "log"
"strings" "strings"
) )
...@@ -12,6 +14,8 @@ type PBlock struct { ...@@ -12,6 +14,8 @@ type PBlock struct {
ref *ethchain.Block ref *ethchain.Block
Number int `json:"number"` Number int `json:"number"`
Hash string `json:"hash"` Hash string `json:"hash"`
Transactions string `json:"transactions"`
Time int64 `json:"time"`
} }
// Creates a new QML Block from a chain block // Creates a new QML Block from a chain block
...@@ -19,8 +23,17 @@ func NewPBlock(block *ethchain.Block) *PBlock { ...@@ -19,8 +23,17 @@ func NewPBlock(block *ethchain.Block) *PBlock {
if block == nil { if block == nil {
return nil return nil
} }
var ptxs []PTx
for _, tx := range block.Transactions() {
ptxs = append(ptxs, *NewPTx(tx))
}
b, err := json.Marshal(ptxs)
if err != nil {
return nil
}
return &PBlock{ref: block, Number: int(block.Number.Uint64()), Hash: ethutil.Hex(block.Hash())} return &PBlock{ref: block, Number: int(block.Number.Uint64()), Hash: ethutil.Hex(block.Hash()), Transactions: string(b), Time: block.Time}
} }
func (self *PBlock) ToString() string { func (self *PBlock) ToString() string {
...@@ -43,16 +56,23 @@ func (self *PBlock) GetTransaction(hash string) *PTx { ...@@ -43,16 +56,23 @@ func (self *PBlock) GetTransaction(hash string) *PTx {
type PTx struct { type PTx struct {
ref *ethchain.Transaction ref *ethchain.Transaction
Value, Hash, Address string Value string `json:"value"`
Contract bool 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 { func NewPTx(tx *ethchain.Transaction) *PTx {
hash := hex.EncodeToString(tx.Hash()) hash := hex.EncodeToString(tx.Hash())
sender := hex.EncodeToString(tx.Recipient) receiver := hex.EncodeToString(tx.Recipient)
sender := hex.EncodeToString(tx.Sender())
isContract := len(tx.Data) > 0 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: hex.EncodeToString(tx.Data), Sender: sender}
} }
func (self *PTx) ToString() string { func (self *PTx) ToString() string {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment