Re-wrote Call and Execute to use the new vm messages
This commit is contained in:
@ -85,10 +85,6 @@ func (self *JSPipe) CoinBase() string {
|
||||
return ethutil.Bytes2Hex(self.obj.KeyManager().Address())
|
||||
}
|
||||
|
||||
func (self *JSPipe) BalanceAt(addr string) string {
|
||||
return self.World().SafeGet(ethutil.Hex2Bytes(addr)).Balance.String()
|
||||
}
|
||||
|
||||
func (self *JSPipe) NumberToHuman(balance string) string {
|
||||
b := ethutil.Big(balance)
|
||||
|
||||
@ -101,10 +97,18 @@ func (self *JSPipe) StorageAt(addr, storageAddr string) string {
|
||||
return ethutil.Bytes2Hex(storage.Bytes())
|
||||
}
|
||||
|
||||
func (self *JSPipe) BalanceAt(addr string) string {
|
||||
return self.World().SafeGet(ethutil.Hex2Bytes(addr)).Balance.String()
|
||||
}
|
||||
|
||||
func (self *JSPipe) TxCountAt(address string) int {
|
||||
return int(self.World().SafeGet(ethutil.Hex2Bytes(address)).Nonce)
|
||||
}
|
||||
|
||||
func (self *JSPipe) CodeAt(address string) string {
|
||||
return ethutil.Bytes2Hex(self.World().SafeGet(ethutil.Hex2Bytes(address)).Code)
|
||||
}
|
||||
|
||||
func (self *JSPipe) IsContract(address string) bool {
|
||||
return len(self.World().SafeGet(ethutil.Hex2Bytes(address)).Code) > 0
|
||||
}
|
||||
@ -118,6 +122,18 @@ func (self *JSPipe) SecretToAddress(key string) string {
|
||||
return ethutil.Bytes2Hex(pair.Address())
|
||||
}
|
||||
|
||||
func (self *JSPipe) Execute(addr, value, gas, price, data string) (string, error) {
|
||||
ret, err := self.ExecuteObject(&Object{
|
||||
self.World().safeGet(ethutil.Hex2Bytes(addr))},
|
||||
ethutil.Hex2Bytes(data),
|
||||
ethutil.NewValue(value),
|
||||
ethutil.NewValue(gas),
|
||||
ethutil.NewValue(price),
|
||||
)
|
||||
|
||||
return ethutil.Bytes2Hex(ret), err
|
||||
}
|
||||
|
||||
type KeyVal struct {
|
||||
Key string `json:"key"`
|
||||
Value string `json:"value"`
|
||||
@ -224,9 +240,9 @@ func (self *JSPipe) Transact(key, toStr, valueStr, gasStr, gasPriceStr, codeStr
|
||||
}
|
||||
|
||||
func (self *JSPipe) PushTx(txStr string) (*JSReceipt, error) {
|
||||
tx := ethchain.NewTransactionFromBytes(ethutil.Hex2Bytes(txStr))
|
||||
self.obj.TxPool().QueueTransaction(tx)
|
||||
return NewJSReciept(tx.CreatesContract(), tx.CreationAddress(), tx.Hash(), tx.Sender()), nil
|
||||
tx := ethchain.NewTransactionFromBytes(ethutil.Hex2Bytes(txStr))
|
||||
self.obj.TxPool().QueueTransaction(tx)
|
||||
return NewJSReciept(tx.CreatesContract(), tx.CreationAddress(), tx.Hash(), tx.Sender()), nil
|
||||
}
|
||||
|
||||
func (self *JSPipe) CompileMutan(code string) string {
|
||||
|
Reference in New Issue
Block a user