Output format and nil fixes
This commit is contained in:
		
							parent
							
								
									5c988c8ea0
								
							
						
					
					
						commit
						1aaeae292d
					
				
							
								
								
									
										32
									
								
								rpc/api.go
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								rpc/api.go
									
									
									
									
									
								
							| @ -53,28 +53,21 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 	case "net_listening": | 	case "net_listening": | ||||||
| 		*reply = api.xeth().IsListening() | 		*reply = api.xeth().IsListening() | ||||||
| 	case "net_peerCount": | 	case "net_peerCount": | ||||||
| 		v := api.xeth().PeerCount() | 		*reply = newHexNum(api.xeth().PeerCount()) | ||||||
| 		*reply = common.ToHex(big.NewInt(int64(v)).Bytes()) |  | ||||||
| 	case "eth_protocolVersion": | 	case "eth_protocolVersion": | ||||||
| 		*reply = api.xeth().EthVersion() | 		*reply = api.xeth().EthVersion() | ||||||
| 	case "eth_coinbase": | 	case "eth_coinbase": | ||||||
| 		// TODO handling of empty coinbase due to lack of accounts
 | 		*reply = newHexData(api.xeth().Coinbase()) | ||||||
| 		res := api.xeth().Coinbase() |  | ||||||
| 		if res == "0x" || res == "0x0" { |  | ||||||
| 			*reply = nil |  | ||||||
| 		} else { |  | ||||||
| 			*reply = res |  | ||||||
| 		} |  | ||||||
| 	case "eth_mining": | 	case "eth_mining": | ||||||
| 		*reply = api.xeth().IsMining() | 		*reply = api.xeth().IsMining() | ||||||
| 	case "eth_gasPrice": | 	case "eth_gasPrice": | ||||||
| 		v := xeth.DefaultGas() | 		v := xeth.DefaultGas() | ||||||
| 		*reply = common.ToHex(v.Bytes()) | 		*reply = newHexData(v.Bytes()) | ||||||
| 	case "eth_accounts": | 	case "eth_accounts": | ||||||
| 		*reply = api.xeth().Accounts() | 		*reply = api.xeth().Accounts() | ||||||
| 	case "eth_blockNumber": | 	case "eth_blockNumber": | ||||||
| 		v := api.xeth().CurrentBlock().Number() | 		v := api.xeth().CurrentBlock().Number() | ||||||
| 		*reply = common.ToHex(v.Bytes()) | 		*reply = newHexNum(v.Bytes()) | ||||||
| 	case "eth_getBalance": | 	case "eth_getBalance": | ||||||
| 		args := new(GetBalanceArgs) | 		args := new(GetBalanceArgs) | ||||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||||
| @ -125,6 +118,11 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		block := NewBlockRes(api.xeth().EthBlockByNumber(args.BlockNumber), false) | 		block := NewBlockRes(api.xeth().EthBlockByNumber(args.BlockNumber), false) | ||||||
|  | 		if block == nil { | ||||||
|  | 			*reply = nil | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		*reply = common.ToHex(big.NewInt(int64(len(block.Transactions))).Bytes()) | 		*reply = common.ToHex(big.NewInt(int64(len(block.Transactions))).Bytes()) | ||||||
| 	case "eth_getUncleCountByBlockHash": | 	case "eth_getUncleCountByBlockHash": | ||||||
| 		args := new(HashArgs) | 		args := new(HashArgs) | ||||||
| @ -134,6 +132,11 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 
 | 
 | ||||||
| 		block := api.xeth().EthBlockByHash(args.Hash) | 		block := api.xeth().EthBlockByHash(args.Hash) | ||||||
| 		br := NewBlockRes(block, false) | 		br := NewBlockRes(block, false) | ||||||
|  | 		if br == nil { | ||||||
|  | 			*reply = nil | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		*reply = common.ToHex(big.NewInt(int64(len(br.Uncles))).Bytes()) | 		*reply = common.ToHex(big.NewInt(int64(len(br.Uncles))).Bytes()) | ||||||
| 	case "eth_getUncleCountByBlockNumber": | 	case "eth_getUncleCountByBlockNumber": | ||||||
| 		args := new(BlockNumArg) | 		args := new(BlockNumArg) | ||||||
| @ -143,6 +146,11 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 
 | 
 | ||||||
| 		block := api.xeth().EthBlockByNumber(args.BlockNumber) | 		block := api.xeth().EthBlockByNumber(args.BlockNumber) | ||||||
| 		br := NewBlockRes(block, false) | 		br := NewBlockRes(block, false) | ||||||
|  | 		if br == nil { | ||||||
|  | 			*reply = nil | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		*reply = common.ToHex(big.NewInt(int64(len(br.Uncles))).Bytes()) | 		*reply = common.ToHex(big.NewInt(int64(len(br.Uncles))).Bytes()) | ||||||
| 	case "eth_getData", "eth_getCode": | 	case "eth_getData", "eth_getCode": | ||||||
| 		args := new(GetDataArgs) | 		args := new(GetDataArgs) | ||||||
| @ -219,6 +227,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 		br := NewBlockRes(block, true) | 		br := NewBlockRes(block, true) | ||||||
| 		if br == nil { | 		if br == nil { | ||||||
| 			*reply = nil | 			*reply = nil | ||||||
|  | 			break | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if args.Index >= int64(len(br.Transactions)) || args.Index < 0 { | 		if args.Index >= int64(len(br.Transactions)) || args.Index < 0 { | ||||||
| @ -237,6 +246,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 		v := NewBlockRes(block, true) | 		v := NewBlockRes(block, true) | ||||||
| 		if v == nil { | 		if v == nil { | ||||||
| 			*reply = nil | 			*reply = nil | ||||||
|  | 			break | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if args.Index >= int64(len(v.Transactions)) || args.Index < 0 { | 		if args.Index >= int64(len(v.Transactions)) || args.Index < 0 { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user