aboutsummaryrefslogtreecommitdiffstats
path: root/rpc
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2015-06-30 06:44:23 +0800
committerJeffrey Wilcke <jeffrey@ethereum.org>2015-06-30 06:44:23 +0800
commit7c4ed8055cc036214279e3ebded74c58d6808d05 (patch)
treeb35a10b7a41c5e1f03300c7afb51f8a76202dbf8 /rpc
parent9d8b512b27f691fc1980b850e04eb436a3938626 (diff)
parent992e4f83cb05946fa53132a9184d4ac3f38b62bc (diff)
downloaddexon-7c4ed8055cc036214279e3ebded74c58d6808d05.tar
dexon-7c4ed8055cc036214279e3ebded74c58d6808d05.tar.gz
dexon-7c4ed8055cc036214279e3ebded74c58d6808d05.tar.bz2
dexon-7c4ed8055cc036214279e3ebded74c58d6808d05.tar.lz
dexon-7c4ed8055cc036214279e3ebded74c58d6808d05.tar.xz
dexon-7c4ed8055cc036214279e3ebded74c58d6808d05.tar.zst
dexon-7c4ed8055cc036214279e3ebded74c58d6808d05.zip
Merge pull request #1357 from obscuren/core-optimisations-2
core: optimisations
Diffstat (limited to 'rpc')
-rw-r--r--rpc/api/eth.go8
-rw-r--r--rpc/api/parsing.go18
2 files changed, 10 insertions, 16 deletions
diff --git a/rpc/api/eth.go b/rpc/api/eth.go
index 0dff138c6..962c8d0f9 100644
--- a/rpc/api/eth.go
+++ b/rpc/api/eth.go
@@ -348,14 +348,6 @@ func (self *ethApi) GetBlockByNumber(req *shared.Request) (interface{}, error) {
block := self.xeth.EthBlockByNumber(args.BlockNumber)
br := NewBlockRes(block, args.IncludeTxs)
- // If request was for "pending", nil nonsensical fields
- if args.BlockNumber == -2 {
- br.BlockHash = nil
- br.BlockNumber = nil
- br.Miner = nil
- br.Nonce = nil
- br.LogsBloom = nil
- }
return br, nil
}
diff --git a/rpc/api/parsing.go b/rpc/api/parsing.go
index 85a9165e5..632462c31 100644
--- a/rpc/api/parsing.go
+++ b/rpc/api/parsing.go
@@ -270,29 +270,31 @@ func NewBlockRes(block *types.Block, fullTx bool) *BlockRes {
res.BlockHash = newHexData(block.Hash())
res.ParentHash = newHexData(block.ParentHash())
res.Nonce = newHexData(block.Nonce())
- res.Sha3Uncles = newHexData(block.Header().UncleHash)
+ res.Sha3Uncles = newHexData(block.UncleHash())
res.LogsBloom = newHexData(block.Bloom())
- res.TransactionRoot = newHexData(block.Header().TxHash)
+ res.TransactionRoot = newHexData(block.TxHash())
res.StateRoot = newHexData(block.Root())
- res.Miner = newHexData(block.Header().Coinbase)
+ res.Miner = newHexData(block.Coinbase())
res.Difficulty = newHexNum(block.Difficulty())
res.TotalDifficulty = newHexNum(block.Td)
res.Size = newHexNum(block.Size().Int64())
- res.ExtraData = newHexData(block.Header().Extra)
+ res.ExtraData = newHexData(block.Extra())
res.GasLimit = newHexNum(block.GasLimit())
res.GasUsed = newHexNum(block.GasUsed())
res.UnixTimestamp = newHexNum(block.Time())
- res.Transactions = make([]*TransactionRes, len(block.Transactions()))
- for i, tx := range block.Transactions() {
+ txs := block.Transactions()
+ res.Transactions = make([]*TransactionRes, len(txs))
+ for i, tx := range txs {
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([]*UncleRes, len(block.Uncles()))
- for i, uncle := range block.Uncles() {
+ uncles := block.Uncles()
+ res.Uncles = make([]*UncleRes, len(uncles))
+ for i, uncle := range uncles {
res.Uncles[i] = NewUncleRes(uncle)
}