aboutsummaryrefslogtreecommitdiffstats
path: root/ethereal/ui/library.go
diff options
context:
space:
mode:
Diffstat (limited to 'ethereal/ui/library.go')
-rw-r--r--ethereal/ui/library.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/ethereal/ui/library.go b/ethereal/ui/library.go
index 6f8cb6f65..9a7469426 100644
--- a/ethereal/ui/library.go
+++ b/ethereal/ui/library.go
@@ -15,7 +15,7 @@ type EthLib struct {
txPool *ethchain.TxPool
}
-func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, data string) string {
+func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, data string) (string, error) {
var hash []byte
var contractCreation bool
if len(recipient) == 0 {
@@ -24,7 +24,7 @@ func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, data strin
var err error
hash, err = hex.DecodeString(recipient)
if err != nil {
- return err.Error()
+ return "", err
}
}
@@ -37,7 +37,7 @@ func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, data strin
if contractCreation {
asm, err := mutan.Compile(strings.NewReader(data), false)
if err != nil {
- return err.Error()
+ return "", err
}
code := ethutil.Assemble(asm...)
@@ -45,7 +45,9 @@ func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, data strin
} else {
tx = ethchain.NewTransactionMessage(hash, value, gasPrice, gas, []string{})
}
- tx.Nonce = lib.stateManager.GetAddrState(keyPair.Address()).Nonce
+ acc := lib.stateManager.GetAddrState(keyPair.Address())
+ tx.Nonce = acc.Nonce
+ //acc.Nonce++
tx.Sign(keyPair.PrivateKey)
lib.txPool.QueueTransaction(tx)
@@ -55,7 +57,7 @@ func (lib *EthLib) CreateTx(recipient, valueStr, gasStr, gasPriceStr, data strin
ethutil.Config.Log.Infof("Tx hash %x", tx.Hash())
}
- return ethutil.Hex(tx.Hash())
+ return ethutil.Hex(tx.Hash()), nil
}
/*