merge develop
This commit is contained in:
		
						commit
						e30c323391
					
				| @ -65,6 +65,15 @@ func DefaultDataDir() string { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func ToHex(b []byte) string { | ||||
| 	hex := Bytes2Hex(b) | ||||
| 	// Prefer output of "0x0" instead of "0x"
 | ||||
| 	if len(hex) == 0 { | ||||
| 		hex = "0" | ||||
| 	} | ||||
| 	return "0x" + hex | ||||
| } | ||||
| 
 | ||||
| func FromHex(s string) []byte { | ||||
| 	if len(s) > 1 { | ||||
| 		if s[0:2] == "0x" { | ||||
|  | ||||
							
								
								
									
										26
									
								
								rpc/api.go
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								rpc/api.go
									
									
									
									
									
								
							| @ -251,7 +251,7 @@ func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) (err error) | ||||
| 
 | ||||
| 			result, _ := account.Transact(common.FromHex(args.To), common.FromHex(args.Value), common.FromHex(args.Gas), common.FromHex(args.GasPrice), common.FromHex(args.Data)) | ||||
| 			if len(result) > 0 { | ||||
| 				*reply = toHex(result) | ||||
| 				*reply = common.ToHex(result) | ||||
| 			} | ||||
| 		} else if _, exists := p.register[args.From]; exists { | ||||
| 			p.register[ags.From] = append(p.register[args.From], args) | ||||
| @ -291,7 +291,7 @@ func (p *EthereumApi) GetBalance(args *GetBalanceArgs, reply *interface{}) error | ||||
| 		return err | ||||
| 	} | ||||
| 	state := p.getStateWithNum(args.BlockNumber).SafeGet(args.Address) | ||||
| 	*reply = toHex(state.Balance().Bytes()) | ||||
| 	*reply = common.ToHex(state.Balance().Bytes()) | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| @ -389,7 +389,7 @@ func (p *EthereumApi) NewWhisperFilter(args *WhisperFilterArgs, reply *interface | ||||
| 	} | ||||
| 	id = p.xeth().Whisper().Watch(opts) | ||||
| 	p.messages[id] = &whisperFilter{timeout: time.Now()} | ||||
| 	*reply = toHex(big.NewInt(int64(id)).Bytes()) | ||||
| 	*reply = common.ToHex(big.NewInt(int64(id)).Bytes()) | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| @ -485,7 +485,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		*reply = toHex(crypto.Sha3(common.FromHex(args.Data))) | ||||
| 		*reply = common.ToHex(crypto.Sha3(common.FromHex(args.Data))) | ||||
| 	case "web3_clientVersion": | ||||
| 		*reply = p.xeth().Backend().Version() | ||||
| 	case "net_version": | ||||
| @ -493,7 +493,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 	case "net_listening": | ||||
| 		*reply = p.xeth().IsListening() | ||||
| 	case "net_peerCount": | ||||
| 		*reply = toHex(big.NewInt(int64(p.xeth().PeerCount())).Bytes()) | ||||
| 		*reply = common.ToHex(big.NewInt(int64(p.xeth().PeerCount())).Bytes()) | ||||
| 	case "eth_coinbase": | ||||
| 		// TODO handling of empty coinbase due to lack of accounts
 | ||||
| 		res := p.xeth().Coinbase() | ||||
| @ -505,11 +505,11 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 	case "eth_mining": | ||||
| 		*reply = p.xeth().IsMining() | ||||
| 	case "eth_gasPrice": | ||||
| 		*reply = toHex(defaultGasPrice.Bytes()) | ||||
| 		*reply = common.ToHex(defaultGasPrice.Bytes()) | ||||
| 	case "eth_accounts": | ||||
| 		*reply = p.xeth().Accounts() | ||||
| 	case "eth_blockNumber": | ||||
| 		*reply = toHex(p.xeth().Backend().ChainManager().CurrentBlock().Number().Bytes()) | ||||
| 		*reply = common.ToHex(p.xeth().Backend().ChainManager().CurrentBlock().Number().Bytes()) | ||||
| 	case "eth_getBalance": | ||||
| 		args := new(GetBalanceArgs) | ||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||
| @ -544,7 +544,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		*reply = toHex(big.NewInt(v).Bytes()) | ||||
| 		*reply = common.ToHex(big.NewInt(v).Bytes()) | ||||
| 	case "eth_getBlockTransactionCountByNumber": | ||||
| 		args := new(GetBlockByNumberArgs) | ||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||
| @ -555,7 +555,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		*reply = toHex(big.NewInt(v).Bytes()) | ||||
| 		*reply = common.ToHex(big.NewInt(v).Bytes()) | ||||
| 	case "eth_getUncleCountByBlockHash": | ||||
| 		args := new(GetBlockByHashArgs) | ||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||
| @ -566,7 +566,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		*reply = toHex(big.NewInt(v).Bytes()) | ||||
| 		*reply = common.ToHex(big.NewInt(v).Bytes()) | ||||
| 	case "eth_getUncleCountByBlockNumber": | ||||
| 		args := new(GetBlockByNumberArgs) | ||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||
| @ -577,7 +577,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		*reply = toHex(big.NewInt(v).Bytes()) | ||||
| 		*reply = common.ToHex(big.NewInt(v).Bytes()) | ||||
| 	case "eth_getData", "eth_getCode": | ||||
| 		args := new(GetDataArgs) | ||||
| 		if err := json.Unmarshal(req.Params, &args); err != nil { | ||||
| @ -668,7 +668,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 			return NewValidationError("Index", "does not exist") | ||||
| 		} | ||||
| 
 | ||||
| 		uncle, err := p.GetBlockByHash(toHex(v.Uncles[args.Index]), false) | ||||
| 		uncle, err := p.GetBlockByHash(common.ToHex(v.Uncles[args.Index]), false) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| @ -687,7 +687,7 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 			return NewValidationError("Index", "does not exist") | ||||
| 		} | ||||
| 
 | ||||
| 		uncle, err := p.GetBlockByHash(toHex(v.Uncles[args.Index]), false) | ||||
| 		uncle, err := p.GetBlockByHash(common.ToHex(v.Uncles[args.Index]), false) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|  | ||||
| @ -5,6 +5,7 @@ import ( | ||||
| 	// "fmt"
 | ||||
| 	"math/big" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/core/types" | ||||
| ) | ||||
| 
 | ||||
| @ -56,23 +57,23 @@ func (b *BlockRes) MarshalJSON() ([]byte, error) { | ||||
| 	} | ||||
| 
 | ||||
| 	// convert strict types to hexified strings
 | ||||
| 	ext.BlockNumber = toHex(big.NewInt(b.BlockNumber).Bytes()) | ||||
| 	ext.BlockHash = toHex(b.BlockHash) | ||||
| 	ext.ParentHash = toHex(b.ParentHash) | ||||
| 	ext.Nonce = toHex(b.Nonce) | ||||
| 	ext.Sha3Uncles = toHex(b.Sha3Uncles) | ||||
| 	ext.LogsBloom = toHex(b.LogsBloom) | ||||
| 	ext.TransactionRoot = toHex(b.TransactionRoot) | ||||
| 	ext.StateRoot = toHex(b.StateRoot) | ||||
| 	ext.Miner = toHex(b.Miner) | ||||
| 	ext.Difficulty = toHex(big.NewInt(b.Difficulty).Bytes()) | ||||
| 	ext.TotalDifficulty = toHex(big.NewInt(b.TotalDifficulty).Bytes()) | ||||
| 	ext.Size = toHex(big.NewInt(b.Size).Bytes()) | ||||
| 	// ext.ExtraData = toHex(b.ExtraData)
 | ||||
| 	ext.GasLimit = toHex(big.NewInt(b.GasLimit).Bytes()) | ||||
| 	// ext.MinGasPrice = toHex(big.NewInt(b.MinGasPrice).Bytes())
 | ||||
| 	ext.GasUsed = toHex(big.NewInt(b.GasUsed).Bytes()) | ||||
| 	ext.UnixTimestamp = toHex(big.NewInt(b.UnixTimestamp).Bytes()) | ||||
| 	ext.BlockNumber = common.ToHex(big.NewInt(b.BlockNumber).Bytes()) | ||||
| 	ext.BlockHash = common.ToHex(b.BlockHash) | ||||
| 	ext.ParentHash = common.ToHex(b.ParentHash) | ||||
| 	ext.Nonce = common.ToHex(b.Nonce) | ||||
| 	ext.Sha3Uncles = common.ToHex(b.Sha3Uncles) | ||||
| 	ext.LogsBloom = common.ToHex(b.LogsBloom) | ||||
| 	ext.TransactionRoot = common.ToHex(b.TransactionRoot) | ||||
| 	ext.StateRoot = common.ToHex(b.StateRoot) | ||||
| 	ext.Miner = common.ToHex(b.Miner) | ||||
| 	ext.Difficulty = common.ToHex(big.NewInt(b.Difficulty).Bytes()) | ||||
| 	ext.TotalDifficulty = common.ToHex(big.NewInt(b.TotalDifficulty).Bytes()) | ||||
| 	ext.Size = common.ToHex(big.NewInt(b.Size).Bytes()) | ||||
| 	// ext.ExtraData = common.ToHex(b.ExtraData)
 | ||||
| 	ext.GasLimit = common.ToHex(big.NewInt(b.GasLimit).Bytes()) | ||||
| 	// ext.MinGasPrice = common.ToHex(big.NewInt(b.MinGasPrice).Bytes())
 | ||||
| 	ext.GasUsed = common.ToHex(big.NewInt(b.GasUsed).Bytes()) | ||||
| 	ext.UnixTimestamp = common.ToHex(big.NewInt(b.UnixTimestamp).Bytes()) | ||||
| 	ext.Transactions = make([]interface{}, len(b.Transactions)) | ||||
| 	if b.fullTx { | ||||
| 		for i, tx := range b.Transactions { | ||||
| @ -80,12 +81,12 @@ func (b *BlockRes) MarshalJSON() ([]byte, error) { | ||||
| 		} | ||||
| 	} else { | ||||
| 		for i, tx := range b.Transactions { | ||||
| 			ext.Transactions[i] = toHex(tx.Hash) | ||||
| 			ext.Transactions[i] = common.ToHex(tx.Hash) | ||||
| 		} | ||||
| 	} | ||||
| 	ext.Uncles = make([]string, len(b.Uncles)) | ||||
| 	for i, v := range b.Uncles { | ||||
| 		ext.Uncles[i] = toHex(v) | ||||
| 		ext.Uncles[i] = common.ToHex(v) | ||||
| 	} | ||||
| 
 | ||||
| 	return json.Marshal(ext) | ||||
| @ -160,17 +161,17 @@ func (t *TransactionRes) MarshalJSON() ([]byte, error) { | ||||
| 		Input       string `json:"input"` | ||||
| 	} | ||||
| 
 | ||||
| 	ext.Hash = toHex(t.Hash) | ||||
| 	ext.Nonce = toHex(big.NewInt(t.Nonce).Bytes()) | ||||
| 	ext.BlockHash = toHex(t.BlockHash) | ||||
| 	ext.BlockNumber = toHex(big.NewInt(t.BlockNumber).Bytes()) | ||||
| 	ext.TxIndex = toHex(big.NewInt(t.TxIndex).Bytes()) | ||||
| 	ext.From = toHex(t.From) | ||||
| 	ext.To = toHex(t.To) | ||||
| 	ext.Value = toHex(big.NewInt(t.Value).Bytes()) | ||||
| 	ext.Gas = toHex(big.NewInt(t.Gas).Bytes()) | ||||
| 	ext.GasPrice = toHex(big.NewInt(t.GasPrice).Bytes()) | ||||
| 	ext.Input = toHex(t.Input) | ||||
| 	ext.Hash = common.ToHex(t.Hash) | ||||
| 	ext.Nonce = common.ToHex(big.NewInt(t.Nonce).Bytes()) | ||||
| 	ext.BlockHash = common.ToHex(t.BlockHash) | ||||
| 	ext.BlockNumber = common.ToHex(big.NewInt(t.BlockNumber).Bytes()) | ||||
| 	ext.TxIndex = common.ToHex(big.NewInt(t.TxIndex).Bytes()) | ||||
| 	ext.From = common.ToHex(t.From) | ||||
| 	ext.To = common.ToHex(t.To) | ||||
| 	ext.Value = common.ToHex(big.NewInt(t.Value).Bytes()) | ||||
| 	ext.Gas = common.ToHex(big.NewInt(t.Gas).Bytes()) | ||||
| 	ext.GasPrice = common.ToHex(big.NewInt(t.GasPrice).Bytes()) | ||||
| 	ext.Input = common.ToHex(t.Input) | ||||
| 
 | ||||
| 	return json.Marshal(ext) | ||||
| } | ||||
|  | ||||
							
								
								
									
										17
									
								
								rpc/util.go
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								rpc/util.go
									
									
									
									
									
								
							| @ -90,17 +90,8 @@ func UnmarshalRawMessages(b []byte, iface interface{}, number *int64) (err error | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func toHex(b []byte) string { | ||||
| 	hex := common.Bytes2Hex(b) | ||||
| 	// Prefer output of "0x0" instead of "0x"
 | ||||
| 	if len(hex) == 0 { | ||||
| 		hex = "0" | ||||
| 	} | ||||
| 	return "0x" + hex | ||||
| } | ||||
| 
 | ||||
| func i2hex(n int) string { | ||||
| 	return toHex(big.NewInt(int64(n)).Bytes()) | ||||
| 	return common.ToHex(big.NewInt(int64(n)).Bytes()) | ||||
| } | ||||
| 
 | ||||
| type RpcServer interface { | ||||
| @ -121,11 +112,11 @@ func toLogs(logs state.Logs) (ls []Log) { | ||||
| 	for i, log := range logs { | ||||
| 		var l Log | ||||
| 		l.Topic = make([]string, len(log.Topics())) | ||||
| 		l.Address = toHex(log.Address()) | ||||
| 		l.Data = toHex(log.Data()) | ||||
| 		l.Address = common.ToHex(log.Address()) | ||||
| 		l.Data = common.ToHex(log.Data()) | ||||
| 		l.Number = log.Number() | ||||
| 		for j, topic := range log.Topics() { | ||||
| 			l.Topic[j] = toHex(topic) | ||||
| 			l.Topic[j] = common.ToHex(topic) | ||||
| 		} | ||||
| 		ls[i] = l | ||||
| 	} | ||||
|  | ||||
| @ -4,8 +4,8 @@ package qwhisper | ||||
| import ( | ||||
| 	"time" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/crypto" | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/crypto" | ||||
| 	"github.com/ethereum/go-ethereum/logger" | ||||
| 	"github.com/ethereum/go-ethereum/whisper" | ||||
| 	"github.com/obscuren/qml" | ||||
| @ -13,8 +13,6 @@ import ( | ||||
| 
 | ||||
| var qlogger = logger.NewLogger("QSHH") | ||||
| 
 | ||||
| func toHex(b []byte) string { return "0x" + common.Bytes2Hex(b) } | ||||
| 
 | ||||
| type Whisper struct { | ||||
| 	*whisper.Whisper | ||||
| 	view qml.Object | ||||
| @ -66,7 +64,7 @@ func (self *Whisper) Post(payload []string, to, from string, topics []string, pr | ||||
| func (self *Whisper) NewIdentity() string { | ||||
| 	key := self.Whisper.NewIdentity() | ||||
| 
 | ||||
| 	return toHex(crypto.FromECDSAPub(&key.PublicKey)) | ||||
| 	return common.ToHex(crypto.FromECDSAPub(&key.PublicKey)) | ||||
| } | ||||
| 
 | ||||
| func (self *Whisper) HasIdentity(key string) bool { | ||||
|  | ||||
| @ -5,19 +5,15 @@ import ( | ||||
| 	"fmt" | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/core" | ||||
| 	"github.com/ethereum/go-ethereum/core/types" | ||||
| 	"github.com/ethereum/go-ethereum/crypto" | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/p2p" | ||||
| 	"github.com/ethereum/go-ethereum/rlp" | ||||
| 	"github.com/ethereum/go-ethereum/state" | ||||
| ) | ||||
| 
 | ||||
| func toHex(b []byte) string { | ||||
| 	return "0x" + common.Bytes2Hex(b) | ||||
| } | ||||
| 
 | ||||
| type Object struct { | ||||
| 	*state.StateObject | ||||
| } | ||||
| @ -49,7 +45,7 @@ func (self *Object) Storage() (storage map[string]string) { | ||||
| 	for it.Next() { | ||||
| 		var data []byte | ||||
| 		rlp.Decode(bytes.NewReader(it.Value), &data) | ||||
| 		storage[toHex(it.Key)] = toHex(data) | ||||
| 		storage[common.ToHex(it.Key)] = common.ToHex(data) | ||||
| 	} | ||||
| 
 | ||||
| 	return | ||||
| @ -59,19 +55,19 @@ func (self *Object) Storage() (storage map[string]string) { | ||||
| type Block struct { | ||||
| 	//Transactions string `json:"transactions"`
 | ||||
| 	ref          *types.Block | ||||
| 	Size         string        `json:"size"` | ||||
| 	Number       int           `json:"number"` | ||||
| 	Hash         string        `json:"hash"` | ||||
| 	Size         string       `json:"size"` | ||||
| 	Number       int          `json:"number"` | ||||
| 	Hash         string       `json:"hash"` | ||||
| 	Transactions *common.List `json:"transactions"` | ||||
| 	Uncles       *common.List `json:"uncles"` | ||||
| 	Time         int64         `json:"time"` | ||||
| 	Coinbase     string        `json:"coinbase"` | ||||
| 	Name         string        `json:"name"` | ||||
| 	GasLimit     string        `json:"gasLimit"` | ||||
| 	GasUsed      string        `json:"gasUsed"` | ||||
| 	PrevHash     string        `json:"prevHash"` | ||||
| 	Bloom        string        `json:"bloom"` | ||||
| 	Raw          string        `json:"raw"` | ||||
| 	Time         int64        `json:"time"` | ||||
| 	Coinbase     string       `json:"coinbase"` | ||||
| 	Name         string       `json:"name"` | ||||
| 	GasLimit     string       `json:"gasLimit"` | ||||
| 	GasUsed      string       `json:"gasUsed"` | ||||
| 	PrevHash     string       `json:"prevHash"` | ||||
| 	Bloom        string       `json:"bloom"` | ||||
| 	Raw          string       `json:"raw"` | ||||
| } | ||||
| 
 | ||||
| // Creates a new QML Block from a chain block
 | ||||
| @ -95,12 +91,12 @@ func NewBlock(block *types.Block) *Block { | ||||
| 	return &Block{ | ||||
| 		ref: block, Size: block.Size().String(), | ||||
| 		Number: int(block.NumberU64()), GasUsed: block.GasUsed().String(), | ||||
| 		GasLimit: block.GasLimit().String(), Hash: toHex(block.Hash()), | ||||
| 		GasLimit: block.GasLimit().String(), Hash: common.ToHex(block.Hash()), | ||||
| 		Transactions: txlist, Uncles: ulist, | ||||
| 		Time:     block.Time(), | ||||
| 		Coinbase: toHex(block.Coinbase()), | ||||
| 		PrevHash: toHex(block.ParentHash()), | ||||
| 		Bloom:    toHex(block.Bloom()), | ||||
| 		Coinbase: common.ToHex(block.Coinbase()), | ||||
| 		PrevHash: common.ToHex(block.ParentHash()), | ||||
| 		Bloom:    common.ToHex(block.Bloom()), | ||||
| 		Raw:      block.String(), | ||||
| 	} | ||||
| } | ||||
| @ -139,22 +135,22 @@ type Transaction struct { | ||||
| } | ||||
| 
 | ||||
| func NewTx(tx *types.Transaction) *Transaction { | ||||
| 	hash := toHex(tx.Hash()) | ||||
| 	receiver := toHex(tx.To()) | ||||
| 	hash := common.ToHex(tx.Hash()) | ||||
| 	receiver := common.ToHex(tx.To()) | ||||
| 	if len(receiver) == 0 { | ||||
| 		receiver = toHex(core.AddressFromMessage(tx)) | ||||
| 		receiver = common.ToHex(core.AddressFromMessage(tx)) | ||||
| 	} | ||||
| 	sender := toHex(tx.From()) | ||||
| 	sender := common.ToHex(tx.From()) | ||||
| 	createsContract := core.MessageCreatesContract(tx) | ||||
| 
 | ||||
| 	var data string | ||||
| 	if createsContract { | ||||
| 		data = strings.Join(core.Disassemble(tx.Data()), "\n") | ||||
| 	} else { | ||||
| 		data = toHex(tx.Data()) | ||||
| 		data = common.ToHex(tx.Data()) | ||||
| 	} | ||||
| 
 | ||||
| 	return &Transaction{ref: tx, Hash: hash, Value: common.CurrencyToString(tx.Value()), Address: receiver, Contract: createsContract, Gas: tx.Gas().String(), GasPrice: tx.GasPrice().String(), Data: data, Sender: sender, CreatesContract: createsContract, RawData: toHex(tx.Data())} | ||||
| 	return &Transaction{ref: tx, Hash: hash, Value: common.CurrencyToString(tx.Value()), Address: receiver, Contract: createsContract, Gas: tx.Gas().String(), GasPrice: tx.GasPrice().String(), Data: data, Sender: sender, CreatesContract: createsContract, RawData: common.ToHex(tx.Data())} | ||||
| } | ||||
| 
 | ||||
| func (self *Transaction) ToString() string { | ||||
| @ -168,7 +164,7 @@ type Key struct { | ||||
| } | ||||
| 
 | ||||
| func NewKey(key *crypto.KeyPair) *Key { | ||||
| 	return &Key{toHex(key.Address()), toHex(key.PrivateKey), toHex(key.PublicKey)} | ||||
| 	return &Key{common.ToHex(key.Address()), common.ToHex(key.PrivateKey), common.ToHex(key.PublicKey)} | ||||
| } | ||||
| 
 | ||||
| type PReceipt struct { | ||||
| @ -181,9 +177,9 @@ type PReceipt struct { | ||||
| func NewPReciept(contractCreation bool, creationAddress, hash, address []byte) *PReceipt { | ||||
| 	return &PReceipt{ | ||||
| 		contractCreation, | ||||
| 		toHex(creationAddress), | ||||
| 		toHex(hash), | ||||
| 		toHex(address), | ||||
| 		common.ToHex(creationAddress), | ||||
| 		common.ToHex(hash), | ||||
| 		common.ToHex(address), | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @ -220,8 +216,8 @@ type Receipt struct { | ||||
| func NewReciept(contractCreation bool, creationAddress, hash, address []byte) *Receipt { | ||||
| 	return &Receipt{ | ||||
| 		contractCreation, | ||||
| 		toHex(creationAddress), | ||||
| 		toHex(hash), | ||||
| 		toHex(address), | ||||
| 		common.ToHex(creationAddress), | ||||
| 		common.ToHex(hash), | ||||
| 		common.ToHex(address), | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @ -56,7 +56,7 @@ func (self *Whisper) Post(payload string, to, from string, topics []string, prio | ||||
| func (self *Whisper) NewIdentity() string { | ||||
| 	key := self.Whisper.NewIdentity() | ||||
| 
 | ||||
| 	return toHex(crypto.FromECDSAPub(&key.PublicKey)) | ||||
| 	return common.ToHex(crypto.FromECDSAPub(&key.PublicKey)) | ||||
| } | ||||
| 
 | ||||
| func (self *Whisper) HasIdentity(key string) bool { | ||||
| @ -112,9 +112,9 @@ type WhisperMessage struct { | ||||
| func NewWhisperMessage(msg *whisper.Message) WhisperMessage { | ||||
| 	return WhisperMessage{ | ||||
| 		ref:     msg, | ||||
| 		Payload: toHex(msg.Payload), | ||||
| 		From:    toHex(crypto.FromECDSAPub(msg.Recover())), | ||||
| 		To:      toHex(crypto.FromECDSAPub(msg.To)), | ||||
| 		Payload: common.ToHex(msg.Payload), | ||||
| 		From:    common.ToHex(crypto.FromECDSAPub(msg.Recover())), | ||||
| 		To:      common.ToHex(crypto.FromECDSAPub(msg.To)), | ||||
| 		Sent:    msg.Sent, | ||||
| 	} | ||||
| } | ||||
|  | ||||
							
								
								
									
										26
									
								
								xeth/xeth.go
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								xeth/xeth.go
									
									
									
									
									
								
							| @ -8,10 +8,10 @@ import ( | ||||
| 	"math/big" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/accounts" | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/core" | ||||
| 	"github.com/ethereum/go-ethereum/core/types" | ||||
| 	"github.com/ethereum/go-ethereum/crypto" | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| 	"github.com/ethereum/go-ethereum/event" | ||||
| 	"github.com/ethereum/go-ethereum/logger" | ||||
| 	"github.com/ethereum/go-ethereum/p2p" | ||||
| @ -170,7 +170,7 @@ func (self *XEth) Accounts() []string { | ||||
| 	accounts, _ := self.eth.AccountManager().Accounts() | ||||
| 	accountAddresses := make([]string, len(accounts)) | ||||
| 	for i, ac := range accounts { | ||||
| 		accountAddresses[i] = toHex(ac.Address) | ||||
| 		accountAddresses[i] = common.ToHex(ac.Address) | ||||
| 	} | ||||
| 	return accountAddresses | ||||
| } | ||||
| @ -201,7 +201,7 @@ func (self *XEth) IsListening() bool { | ||||
| 
 | ||||
| func (self *XEth) Coinbase() string { | ||||
| 	cb, _ := self.eth.AccountManager().Coinbase() | ||||
| 	return toHex(cb) | ||||
| 	return common.ToHex(cb) | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) NumberToHuman(balance string) string { | ||||
| @ -213,7 +213,7 @@ func (self *XEth) NumberToHuman(balance string) string { | ||||
| func (self *XEth) StorageAt(addr, storageAddr string) string { | ||||
| 	storage := self.State().SafeGet(addr).StorageString(storageAddr) | ||||
| 
 | ||||
| 	return toHex(storage.Bytes()) | ||||
| 	return common.ToHex(storage.Bytes()) | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) BalanceAt(addr string) string { | ||||
| @ -225,7 +225,7 @@ func (self *XEth) TxCountAt(address string) int { | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) CodeAt(address string) string { | ||||
| 	return toHex(self.State().SafeGet(address).Code()) | ||||
| 	return common.ToHex(self.State().SafeGet(address).Code()) | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) IsContract(address string) bool { | ||||
| @ -238,7 +238,7 @@ func (self *XEth) SecretToAddress(key string) string { | ||||
| 		return "" | ||||
| 	} | ||||
| 
 | ||||
| 	return toHex(pair.Address()) | ||||
| 	return common.ToHex(pair.Address()) | ||||
| } | ||||
| 
 | ||||
| type KeyVal struct { | ||||
| @ -251,7 +251,7 @@ func (self *XEth) EachStorage(addr string) string { | ||||
| 	object := self.State().SafeGet(addr) | ||||
| 	it := object.Trie().Iterator() | ||||
| 	for it.Next() { | ||||
| 		values = append(values, KeyVal{toHex(it.Key), toHex(it.Value)}) | ||||
| 		values = append(values, KeyVal{common.ToHex(it.Key), common.ToHex(it.Value)}) | ||||
| 	} | ||||
| 
 | ||||
| 	valuesJson, err := json.Marshal(values) | ||||
| @ -265,7 +265,7 @@ func (self *XEth) EachStorage(addr string) string { | ||||
| func (self *XEth) ToAscii(str string) string { | ||||
| 	padded := common.RightPadBytes([]byte(str), 32) | ||||
| 
 | ||||
| 	return "0x" + toHex(padded) | ||||
| 	return "0x" + common.ToHex(padded) | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) FromAscii(str string) string { | ||||
| @ -293,9 +293,9 @@ func (self *XEth) PushTx(encodedTx string) (string, error) { | ||||
| 
 | ||||
| 	if tx.To() == nil { | ||||
| 		addr := core.AddressFromMessage(tx) | ||||
| 		return toHex(addr), nil | ||||
| 		return common.ToHex(addr), nil | ||||
| 	} | ||||
| 	return toHex(tx.Hash()), nil | ||||
| 	return common.ToHex(tx.Hash()), nil | ||||
| } | ||||
| 
 | ||||
| var ( | ||||
| @ -325,7 +325,7 @@ func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr st | ||||
| 	vmenv := core.NewEnv(statedb, self.chainManager, msg, block) | ||||
| 
 | ||||
| 	res, err := vmenv.Call(msg.from, msg.to, msg.data, msg.gas, msg.gasPrice, msg.value) | ||||
| 	return toHex(res), err | ||||
| 	return common.ToHex(res), err | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeStr string) (string, error) { | ||||
| @ -371,9 +371,9 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt | ||||
| 	} | ||||
| 
 | ||||
| 	if types.IsContractAddr(to) { | ||||
| 		return toHex(core.AddressFromMessage(tx)), nil | ||||
| 		return common.ToHex(core.AddressFromMessage(tx)), nil | ||||
| 	} | ||||
| 	return toHex(tx.Hash()), nil | ||||
| 	return common.ToHex(tx.Hash()), nil | ||||
| } | ||||
| 
 | ||||
| func (self *XEth) sign(tx *types.Transaction, from []byte, didUnlock bool) error { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user