aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/responses.go
diff options
context:
space:
mode:
Diffstat (limited to 'rpc/responses.go')
-rw-r--r--rpc/responses.go24
1 files changed, 14 insertions, 10 deletions
diff --git a/rpc/responses.go b/rpc/responses.go
index 3e9293fbb..45a2fa18b 100644
--- a/rpc/responses.go
+++ b/rpc/responses.go
@@ -29,12 +29,15 @@ type BlockRes struct {
Uncles []*hexdata `json:"uncles"`
}
-func NewBlockRes(block *types.Block) *BlockRes {
+func NewBlockRes(block *types.Block, fullTx bool) *BlockRes {
+ // TODO respect fullTx flag
+
if block == nil {
return &BlockRes{}
}
res := new(BlockRes)
+ res.fullTx = fullTx
res.BlockNumber = newHexNum(block.Number())
res.BlockHash = newHexData(block.Hash())
res.ParentHash = newHexData(block.ParentHash())
@@ -52,11 +55,20 @@ func NewBlockRes(block *types.Block) *BlockRes {
// res.MinGasPrice =
res.GasUsed = newHexNum(block.GasUsed())
res.UnixTimestamp = newHexNum(block.Time())
- res.Transactions = NewTransactionsRes(block.Transactions())
+
+ res.Transactions = make([]*TransactionRes, len(block.Transactions()))
+ for i, tx := range block.Transactions() {
+ res.Transactions[i] = NewTransactionRes(tx)
+ res.Transactions[i].BlockHash = res.BlockHash
+ res.Transactions[i].BlockNumber = res.BlockNumber
+ res.Transactions[i].TxIndex = newHexNum(i)
+ }
+
res.Uncles = make([]*hexdata, len(block.Uncles()))
for i, uncle := range block.Uncles() {
res.Uncles[i] = newHexData(uncle.Hash())
}
+
return res
}
@@ -91,14 +103,6 @@ func NewTransactionRes(tx *types.Transaction) *TransactionRes {
return v
}
-func NewTransactionsRes(txs []*types.Transaction) []*TransactionRes {
- v := make([]*TransactionRes, len(txs))
- for i, tx := range txs {
- v[i] = NewTransactionRes(tx)
- }
- return v
-}
-
// type FilterLogRes struct {
// Hash string `json:"hash"`
// Address string `json:"address"`