GetBalanceArgs
This commit is contained in:
		
							parent
							
								
									4523a00b91
								
							
						
					
					
						commit
						c139af5826
					
				| @ -94,11 +94,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err | |||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		if err := args.requirements(); err != nil { | 		v := api.xethAtStateNum(args.BlockNumber).State().SafeGet(args.Address.Hex()).Balance() | ||||||
| 			return err |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		v := api.xethAtStateNum(args.BlockNumber).State().SafeGet(args.Address).Balance() |  | ||||||
| 		*reply = common.ToHex(v.Bytes()) | 		*reply = common.ToHex(v.Bytes()) | ||||||
| 	case "eth_getStorage", "eth_storageAt": | 	case "eth_getStorage", "eth_storageAt": | ||||||
| 		args := new(GetStorageArgs) | 		args := new(GetStorageArgs) | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								rpc/args.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								rpc/args.go
									
									
									
									
									
								
							| @ -251,7 +251,7 @@ func (args *GetTxCountArgs) UnmarshalJSON(b []byte) (err error) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type GetBalanceArgs struct { | type GetBalanceArgs struct { | ||||||
| 	Address     string | 	Address     common.Address | ||||||
| 	BlockNumber int64 | 	BlockNumber int64 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -269,7 +269,7 @@ func (args *GetBalanceArgs) UnmarshalJSON(b []byte) (err error) { | |||||||
| 	if !ok { | 	if !ok { | ||||||
| 		return NewDecodeParamError("Address is not a string") | 		return NewDecodeParamError("Address is not a string") | ||||||
| 	} | 	} | ||||||
| 	args.Address = addstr | 	args.Address = common.HexToAddress(addstr) | ||||||
| 
 | 
 | ||||||
| 	if len(obj) > 1 { | 	if len(obj) > 1 { | ||||||
| 		if err := blockHeight(obj[1], &args.BlockNumber); err != nil { | 		if err := blockHeight(obj[1], &args.BlockNumber); err != nil { | ||||||
| @ -280,13 +280,6 @@ func (args *GetBalanceArgs) UnmarshalJSON(b []byte) (err error) { | |||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (args *GetBalanceArgs) requirements() error { |  | ||||||
| 	if len(args.Address) == 0 { |  | ||||||
| 		return NewValidationError("Address", "cannot be blank") |  | ||||||
| 	} |  | ||||||
| 	return nil |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| type GetDataArgs struct { | type GetDataArgs struct { | ||||||
| 	Address     string | 	Address     string | ||||||
| 	BlockNumber int64 | 	BlockNumber int64 | ||||||
|  | |||||||
| @ -24,7 +24,7 @@ func TestSha3(t *testing.T) { | |||||||
| func TestGetBalanceArgs(t *testing.T) { | func TestGetBalanceArgs(t *testing.T) { | ||||||
| 	input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x1f"]` | 	input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "0x1f"]` | ||||||
| 	expected := new(GetBalanceArgs) | 	expected := new(GetBalanceArgs) | ||||||
| 	expected.Address = "0x407d73d8a49eeb85d32cf465507dd71d507100c1" | 	expected.Address = common.HexToAddress("0x407d73d8a49eeb85d32cf465507dd71d507100c1") | ||||||
| 	expected.BlockNumber = 31 | 	expected.BlockNumber = 31 | ||||||
| 
 | 
 | ||||||
| 	args := new(GetBalanceArgs) | 	args := new(GetBalanceArgs) | ||||||
| @ -32,10 +32,6 @@ func TestGetBalanceArgs(t *testing.T) { | |||||||
| 		t.Error(err) | 		t.Error(err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if err := args.requirements(); err != nil { |  | ||||||
| 		t.Error(err) |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if args.Address != expected.Address { | 	if args.Address != expected.Address { | ||||||
| 		t.Errorf("Address should be %v but is %v", expected.Address, args.Address) | 		t.Errorf("Address should be %v but is %v", expected.Address, args.Address) | ||||||
| 	} | 	} | ||||||
| @ -48,7 +44,7 @@ func TestGetBalanceArgs(t *testing.T) { | |||||||
| func TestGetBalanceArgsLatest(t *testing.T) { | func TestGetBalanceArgsLatest(t *testing.T) { | ||||||
| 	input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]` | 	input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", "latest"]` | ||||||
| 	expected := new(GetBalanceArgs) | 	expected := new(GetBalanceArgs) | ||||||
| 	expected.Address = "0x407d73d8a49eeb85d32cf465507dd71d507100c1" | 	expected.Address = common.HexToAddress("0x407d73d8a49eeb85d32cf465507dd71d507100c1") | ||||||
| 	expected.BlockNumber = -1 | 	expected.BlockNumber = -1 | ||||||
| 
 | 
 | ||||||
| 	args := new(GetBalanceArgs) | 	args := new(GetBalanceArgs) | ||||||
| @ -56,10 +52,6 @@ func TestGetBalanceArgsLatest(t *testing.T) { | |||||||
| 		t.Error(err) | 		t.Error(err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if err := args.requirements(); err != nil { |  | ||||||
| 		t.Error(err) |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	if args.Address != expected.Address { | 	if args.Address != expected.Address { | ||||||
| 		t.Errorf("Address should be %v but is %v", expected.Address, args.Address) | 		t.Errorf("Address should be %v but is %v", expected.Address, args.Address) | ||||||
| 	} | 	} | ||||||
| @ -69,15 +61,64 @@ func TestGetBalanceArgsLatest(t *testing.T) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestGetBalanceEmptyArgs(t *testing.T) { | func TestGetBalanceArgsEmpty(t *testing.T) { | ||||||
| 	input := `[]` | 	input := `[]` | ||||||
| 
 | 
 | ||||||
| 	args := new(GetBalanceArgs) | 	args := new(GetBalanceArgs) | ||||||
| 	err := json.Unmarshal([]byte(input), &args) | 	err := json.Unmarshal([]byte(input), &args) | ||||||
| 	if err == nil { | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
| 		t.Error("Expected error but didn't get one") | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *InsufficientParamsError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.InsufficientParamsError but got %T with message %s", err, err.Error()) | ||||||
| 	} | 	} | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
|  | func TestGetBalanceArgsInvalid(t *testing.T) { | ||||||
|  | 	input := `6` | ||||||
|  | 
 | ||||||
|  | 	args := new(GetBalanceArgs) | ||||||
|  | 	err := json.Unmarshal([]byte(input), &args) | ||||||
|  | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
|  | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *DecodeParamError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error()) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestGetBalanceArgsBlockInvalid(t *testing.T) { | ||||||
|  | 	input := `["0x407d73d8a49eeb85d32cf465507dd71d507100c1", false]` | ||||||
|  | 
 | ||||||
|  | 	args := new(GetBalanceArgs) | ||||||
|  | 	err := json.Unmarshal([]byte(input), &args) | ||||||
|  | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
|  | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *DecodeParamError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error()) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestGetBalanceArgsAddressInvalid(t *testing.T) { | ||||||
|  | 	input := `[-9, "latest"]` | ||||||
|  | 
 | ||||||
|  | 	args := new(GetBalanceArgs) | ||||||
|  | 	err := json.Unmarshal([]byte(input), &args) | ||||||
|  | 	switch err.(type) { | ||||||
|  | 	case nil: | ||||||
|  | 		t.Error("Expected error but didn't get one") | ||||||
|  | 	case *DecodeParamError: | ||||||
|  | 		break | ||||||
|  | 	default: | ||||||
|  | 		t.Errorf("Expected *rpc.DecodeParamError but got %T with message %s", err, err.Error()) | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestGetBlockByHashArgs(t *testing.T) { | func TestGetBlockByHashArgs(t *testing.T) { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user