"pending" convention should be -2 instead of 0
This commit is contained in:
parent
2f8601ef38
commit
5707912e2f
@ -26,7 +26,7 @@ func blockHeight(raw interface{}, number *int64) (err error) {
|
|||||||
case "latest":
|
case "latest":
|
||||||
*number = -1
|
*number = -1
|
||||||
case "pending":
|
case "pending":
|
||||||
*number = 0
|
*number = -2
|
||||||
default:
|
default:
|
||||||
*number = common.String2Big(str).Int64()
|
*number = common.String2Big(str).Int64()
|
||||||
}
|
}
|
||||||
|
15
xeth/xeth.go
15
xeth/xeth.go
@ -176,9 +176,12 @@ func (self *XEth) AtStateNum(num int64) *XEth {
|
|||||||
chain := self.Backend().ChainManager()
|
chain := self.Backend().ChainManager()
|
||||||
var block *types.Block
|
var block *types.Block
|
||||||
|
|
||||||
|
// -1 generally means "latest"
|
||||||
|
// -2 means "pending", which has no blocknum
|
||||||
if num < 0 {
|
if num < 0 {
|
||||||
num = chain.CurrentBlock().Number().Int64() + num + 1
|
num = chain.CurrentBlock().Number().Int64()
|
||||||
}
|
}
|
||||||
|
|
||||||
block = chain.GetBlockByNumber(uint64(num))
|
block = chain.GetBlockByNumber(uint64(num))
|
||||||
|
|
||||||
var st *state.StateDB
|
var st *state.StateDB
|
||||||
@ -229,6 +232,11 @@ func (self *XEth) EthTransactionByHash(hash string) *types.Transaction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *XEth) BlockByNumber(num int64) *Block {
|
func (self *XEth) BlockByNumber(num int64) *Block {
|
||||||
|
if num == -2 {
|
||||||
|
// "pending" is non-existant
|
||||||
|
return &Block{}
|
||||||
|
}
|
||||||
|
|
||||||
if num == -1 {
|
if num == -1 {
|
||||||
return NewBlock(self.chainManager.CurrentBlock())
|
return NewBlock(self.chainManager.CurrentBlock())
|
||||||
}
|
}
|
||||||
@ -237,6 +245,11 @@ func (self *XEth) BlockByNumber(num int64) *Block {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *XEth) EthBlockByNumber(num int64) *types.Block {
|
func (self *XEth) EthBlockByNumber(num int64) *types.Block {
|
||||||
|
if num == -2 {
|
||||||
|
// "pending" is non-existant
|
||||||
|
return &types.Block{}
|
||||||
|
}
|
||||||
|
|
||||||
if num == -1 {
|
if num == -1 {
|
||||||
return self.chainManager.CurrentBlock()
|
return self.chainManager.CurrentBlock()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user