NewTxArgs

This commit is contained in:
Taylor Gerring 2015-03-26 10:34:21 +01:00
parent c7dc379da5
commit 966cfa4bdd
3 changed files with 18 additions and 39 deletions

View File

@ -185,11 +185,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
return err
}
if err := args.requirements(); err != nil {
return err
}
v, err := api.xeth().Transact(args.From, args.To, args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data)
v, err := api.xeth().Transact(args.From.Hex(), args.To.Hex(), args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data)
if err != nil {
return err
}
@ -200,7 +196,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
return err
}
v, err := api.xethAtStateNum(args.BlockNumber).Call(args.From, args.To, args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data)
v, err := api.xethAtStateNum(args.BlockNumber).Call(args.From.Hex(), args.To.Hex(), args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data)
if err != nil {
return err
}

View File

@ -93,8 +93,8 @@ func (args *GetBlockByNumberArgs) UnmarshalJSON(b []byte) (err error) {
}
type NewTxArgs struct {
From string
To string
From common.Address
To common.Address
Value *big.Int
Gas *big.Int
GasPrice *big.Int
@ -122,9 +122,12 @@ func (args *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
return NewDecodeParamError(err.Error())
}
// var ok bool
args.From = ext.From
args.To = ext.To
if len(ext.From) == 0 {
return NewValidationError("from", "is required")
}
args.From = common.HexToAddress(ext.From)
args.To = common.HexToAddress(ext.To)
args.Value = common.String2Big(ext.Value)
args.Gas = common.String2Big(ext.Gas)
args.GasPrice = common.String2Big(ext.GasPrice)
@ -145,13 +148,6 @@ func (args *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
return nil
}
func (args *NewTxArgs) requirements() error {
if len(args.From) == 0 {
return NewValidationError("From", "Is required")
}
return nil
}
type GetStorageArgs struct {
Address string
BlockNumber int64

View File

@ -149,8 +149,8 @@ func TestNewTxArgs(t *testing.T) {
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"},
"0x10"]`
expected := new(NewTxArgs)
expected.From = "0xb60e8dd61c5d32be8058bb8eb970870f07233155"
expected.To = "0xd46e8dd67c5d32be8058bb8eb970870f072445675"
expected.From = common.HexToAddress("0xb60e8dd61c5d32be8058bb8eb970870f07233155")
expected.To = common.HexToAddress("0xd46e8dd67c5d32be8058bb8eb970870f072445675")
expected.Gas = big.NewInt(30400)
expected.GasPrice = big.NewInt(10000000000000)
expected.Value = big.NewInt(10000000000000)
@ -194,7 +194,7 @@ func TestNewTxArgs(t *testing.T) {
func TestNewTxArgsBlockInt(t *testing.T) {
input := `[{"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155"}, 5]`
expected := new(NewTxArgs)
expected.From = "0xb60e8dd61c5d32be8058bb8eb970870f07233155"
expected.From = common.HexToAddress("0xb60e8dd61c5d32be8058bb8eb970870f07233155")
expected.BlockNumber = big.NewInt(5).Int64()
args := new(NewTxArgs)
@ -221,31 +221,18 @@ func TestNewTxArgsEmpty(t *testing.T) {
}
}
func TestNewTxArgsReqs(t *testing.T) {
func TestNewTxArgsFromEmpty(t *testing.T) {
input := `[{"to": "0xb60e8dd61c5d32be8058bb8eb970870f07233155"}]`
args := new(NewTxArgs)
args.From = "0xb60e8dd61c5d32be8058bb8eb970870f07233155"
err := args.requirements()
switch err.(type) {
case nil:
break
default:
t.Errorf("Get %T", err)
}
}
func TestNewTxArgsReqsFromBlank(t *testing.T) {
args := new(NewTxArgs)
args.From = ""
err := args.requirements()
err := json.Unmarshal([]byte(input), &args)
switch err.(type) {
case nil:
t.Error("Expected error but didn't get one")
case *ValidationError:
break
default:
t.Error("Wrong type of error")
t.Errorf("Expected *rpc.ValidationError, but got %T with message `%s`", err, err.Error())
}
}