mirror of https://github.com/status-im/op-geth.git
Merge branch 'develop' of github.com-obscure:ethereum/eth-go into develop
This commit is contained in:
commit
006c757a03
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue