"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