Update NewTXArgs to accept hex
This commit is contained in:
		
							
								
								
									
										15
									
								
								rpc/api.go
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								rpc/api.go
									
									
									
									
									
								
							@@ -252,12 +252,12 @@ func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) error {
 | 
					func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) error {
 | 
				
			||||||
	if len(args.Gas) == 0 {
 | 
						if args.Gas == ethutil.Big0 {
 | 
				
			||||||
		args.Gas = defaultGas.String()
 | 
							args.Gas = defaultGas
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if len(args.GasPrice) == 0 {
 | 
						if args.GasPrice == ethutil.Big0 {
 | 
				
			||||||
		args.GasPrice = defaultGasPrice.String()
 | 
							args.GasPrice = defaultGasPrice
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// TODO if no_private_key then
 | 
						// TODO if no_private_key then
 | 
				
			||||||
@@ -281,7 +281,10 @@ func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) error {
 | 
				
			|||||||
			p.register[ags.From] = append(p.register[args.From], args)
 | 
								p.register[ags.From] = append(p.register[args.From], args)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
	result, _ := p.xeth().Transact( /* TODO specify account */ args.To, args.Value, args.Gas, args.GasPrice, args.Data)
 | 
						result, err := p.xeth().Transact( /* TODO specify account */ args.To, args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	*reply = result
 | 
						*reply = result
 | 
				
			||||||
	//}
 | 
						//}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -289,7 +292,7 @@ func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) error {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (p *EthereumApi) Call(args *NewTxArgs, reply *interface{}) error {
 | 
					func (p *EthereumApi) Call(args *NewTxArgs, reply *interface{}) error {
 | 
				
			||||||
	result, err := p.xeth().Call( /* TODO specify account */ args.To, args.Value, args.Gas, args.GasPrice, args.Data)
 | 
						result, err := p.xeth().Call( /* TODO specify account */ args.To, args.Value.String(), args.Gas.String(), args.GasPrice.String(), args.Data)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										34
									
								
								rpc/args.go
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								rpc/args.go
									
									
									
									
									
								
							@@ -1,8 +1,12 @@
 | 
				
			|||||||
package rpc
 | 
					package rpc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "encoding/json"
 | 
					import (
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"math/big"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import "github.com/ethereum/go-ethereum/core"
 | 
						"github.com/ethereum/go-ethereum/core"
 | 
				
			||||||
 | 
						"github.com/ethereum/go-ethereum/ethutil"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type GetBlockArgs struct {
 | 
					type GetBlockArgs struct {
 | 
				
			||||||
	BlockNumber int32
 | 
						BlockNumber int32
 | 
				
			||||||
@@ -23,12 +27,12 @@ func (obj *GetBlockArgs) UnmarshalJSON(b []byte) (err error) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type NewTxArgs struct {
 | 
					type NewTxArgs struct {
 | 
				
			||||||
	From     string `json:"from"`
 | 
						From     string   `json:"from"`
 | 
				
			||||||
	To       string `json:"to"`
 | 
						To       string   `json:"to"`
 | 
				
			||||||
	Value    string `json:"value"`
 | 
						Value    *big.Int `json:"value"`
 | 
				
			||||||
	Gas      string `json:"gas"`
 | 
						Gas      *big.Int `json:"gas"`
 | 
				
			||||||
	GasPrice string `json:"gasPrice"`
 | 
						GasPrice *big.Int `json:"gasPrice"`
 | 
				
			||||||
	Data     string `json:"data"`
 | 
						Data     string   `json:"data"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (obj *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
 | 
					func (obj *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
 | 
				
			||||||
@@ -40,18 +44,18 @@ func (obj *NewTxArgs) UnmarshalJSON(b []byte) (err error) {
 | 
				
			|||||||
		Gas      string
 | 
							Gas      string
 | 
				
			||||||
		GasPrice string
 | 
							GasPrice string
 | 
				
			||||||
		Data     string
 | 
							Data     string
 | 
				
			||||||
		Code     string
 | 
							// Code     string
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err = json.Unmarshal(b, &ext); err == nil {
 | 
						if err = json.Unmarshal(b, &ext); err == nil {
 | 
				
			||||||
		if len(ext.Data) == 0 {
 | 
							// if len(ext.Data) == 0 {
 | 
				
			||||||
			ext.Data = ext.Code
 | 
							// 	ext.Data = ext.Code
 | 
				
			||||||
		}
 | 
							// }
 | 
				
			||||||
		obj.From = ext.From
 | 
							obj.From = ext.From
 | 
				
			||||||
		obj.To = ext.To
 | 
							obj.To = ext.To
 | 
				
			||||||
		obj.Value = ext.Value
 | 
							obj.Value = ethutil.Big(ext.Value)
 | 
				
			||||||
		obj.Gas = ext.Gas
 | 
							obj.Gas = ethutil.Big(ext.Gas)
 | 
				
			||||||
		obj.GasPrice = ext.GasPrice
 | 
							obj.GasPrice = ethutil.Big(ext.GasPrice)
 | 
				
			||||||
		obj.Data = ext.Data
 | 
							obj.Data = ext.Data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user