|
|
|
@ -225,6 +225,83 @@ func (self *UiLib) StartDebugger() { |
|
|
|
|
dbWindow.Show() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) Transact(params map[string]interface{}) (string, error) { |
|
|
|
|
object := mapToTxParams(params) |
|
|
|
|
|
|
|
|
|
return self.JSXEth.Transact( |
|
|
|
|
object["from"], |
|
|
|
|
object["to"], |
|
|
|
|
object["value"], |
|
|
|
|
object["gas"], |
|
|
|
|
object["gasPrice"], |
|
|
|
|
object["data"], |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) Compile(code string) (string, error) { |
|
|
|
|
bcode, err := ethutil.Compile(code, false) |
|
|
|
|
if err != nil { |
|
|
|
|
return err.Error(), err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ethutil.Bytes2Hex(bcode), err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) Call(params map[string]interface{}) (string, error) { |
|
|
|
|
object := mapToTxParams(params) |
|
|
|
|
|
|
|
|
|
return self.JSXEth.Execute( |
|
|
|
|
object["to"], |
|
|
|
|
object["value"], |
|
|
|
|
object["gas"], |
|
|
|
|
object["gasPrice"], |
|
|
|
|
object["data"], |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) AddLocalTransaction(to, data, gas, gasPrice, value string) int { |
|
|
|
|
return self.miner.AddLocalTx(&miner.LocalTx{ |
|
|
|
|
To: ethutil.Hex2Bytes(to), |
|
|
|
|
Data: ethutil.Hex2Bytes(data), |
|
|
|
|
Gas: gas, |
|
|
|
|
GasPrice: gasPrice, |
|
|
|
|
Value: value, |
|
|
|
|
}) - 1 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) RemoveLocalTransaction(id int) { |
|
|
|
|
self.miner.RemoveLocalTx(id) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) SetGasPrice(price string) { |
|
|
|
|
self.miner.MinAcceptedGasPrice = ethutil.Big(price) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) ToggleMining() bool { |
|
|
|
|
if !self.miner.Mining() { |
|
|
|
|
self.miner.Start() |
|
|
|
|
|
|
|
|
|
return true |
|
|
|
|
} else { |
|
|
|
|
self.miner.Stop() |
|
|
|
|
|
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) ToHex(data string) string { |
|
|
|
|
return "0x" + ethutil.Bytes2Hex([]byte(data)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) ToAscii(data string) string { |
|
|
|
|
start := 0 |
|
|
|
|
if len(data) > 1 && data[0:2] == "0x" { |
|
|
|
|
start = 2 |
|
|
|
|
} |
|
|
|
|
return string(ethutil.Hex2Bytes(data[start:])) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// Ethereum filter methods
|
|
|
|
|
func (self *UiLib) NewFilter(object map[string]interface{}) (id int) { |
|
|
|
|
filter := qt.NewFilterFromMap(object, self.eth) |
|
|
|
|
filter.MessageCallback = func(messages state.Messages) { |
|
|
|
@ -312,88 +389,3 @@ func mapToTxParams(object map[string]interface{}) map[string]string { |
|
|
|
|
|
|
|
|
|
return conv |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) Transact(params map[string]interface{}) (string, error) { |
|
|
|
|
object := mapToTxParams(params) |
|
|
|
|
|
|
|
|
|
return self.JSXEth.Transact( |
|
|
|
|
object["from"], |
|
|
|
|
object["to"], |
|
|
|
|
object["value"], |
|
|
|
|
object["gas"], |
|
|
|
|
object["gasPrice"], |
|
|
|
|
object["data"], |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) Compile(code string) (string, error) { |
|
|
|
|
bcode, err := ethutil.Compile(code, false) |
|
|
|
|
if err != nil { |
|
|
|
|
return err.Error(), err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return ethutil.Bytes2Hex(bcode), err |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) Call(params map[string]interface{}) (string, error) { |
|
|
|
|
object := mapToTxParams(params) |
|
|
|
|
|
|
|
|
|
return self.JSXEth.Execute( |
|
|
|
|
object["to"], |
|
|
|
|
object["value"], |
|
|
|
|
object["gas"], |
|
|
|
|
object["gasPrice"], |
|
|
|
|
object["data"], |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) AddLocalTransaction(to, data, gas, gasPrice, value string) int { |
|
|
|
|
return self.miner.AddLocalTx(&miner.LocalTx{ |
|
|
|
|
To: ethutil.Hex2Bytes(to), |
|
|
|
|
Data: ethutil.Hex2Bytes(data), |
|
|
|
|
Gas: gas, |
|
|
|
|
GasPrice: gasPrice, |
|
|
|
|
Value: value, |
|
|
|
|
}) - 1 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) RemoveLocalTransaction(id int) { |
|
|
|
|
self.miner.RemoveLocalTx(id) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) SetGasPrice(price string) { |
|
|
|
|
self.miner.MinAcceptedGasPrice = ethutil.Big(price) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) ToggleMining() bool { |
|
|
|
|
if !self.miner.Mining() { |
|
|
|
|
self.miner.Start() |
|
|
|
|
|
|
|
|
|
return true |
|
|
|
|
} else { |
|
|
|
|
self.miner.Stop() |
|
|
|
|
|
|
|
|
|
return false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) ToHex(data string) string { |
|
|
|
|
return "0x" + ethutil.Bytes2Hex([]byte(data)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *UiLib) ToAscii(data string) string { |
|
|
|
|
start := 0 |
|
|
|
|
if len(data) > 1 && data[0:2] == "0x" { |
|
|
|
|
start = 2 |
|
|
|
|
} |
|
|
|
|
return string(ethutil.Hex2Bytes(data[start:])) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
// XXX Refactor me & MOVE
|
|
|
|
|
func (self *Ethereum) InstallFilter(filter *core.Filter) (id int) { |
|
|
|
|
return self.filterManager.InstallFilter(filter) |
|
|
|
|
} |
|
|
|
|
func (self *Ethereum) UninstallFilter(id int) { self.filterManager.UninstallFilter(id) } |
|
|
|
|
func (self *Ethereum) GetFilter(id int) *core.Filter { return self.filterManager.GetFilter(id) } |
|
|
|
|
*/ |
|
|
|
|