diff --git a/src/app/provider/view.nim b/src/app/provider/view.nim index 29671e28e9..4991f148e1 100644 --- a/src/app/provider/view.nim +++ b/src/app/provider/view.nim @@ -114,7 +114,7 @@ QtObject: try: let request = data.request.parseJson let fromAddress = request["params"][0]["from"].getStr() - let to = request["params"][0]["to"].getStr() + let to = request["params"][0]{"to"}.getStr() let value = if (request["params"][0]["value"] != nil): request["params"][0]["value"].getStr() else: diff --git a/src/status/libstatus/eth/transactions.nim b/src/status/libstatus/eth/transactions.nim index e79b68387b..5c37dd8611 100644 --- a/src/status/libstatus/eth/transactions.nim +++ b/src/status/libstatus/eth/transactions.nim @@ -16,6 +16,8 @@ proc estimateGas*(tx: EthSend): RpcResponse = trace "Gas estimated succesfully", estimate=result.result proc sendTransaction*(tx: EthSend, password: string): RpcResponse = + if not tx.hasKey("to"): + tx["to"] = "" let responseStr = core.sendTransaction($(%tx), password) result = Json.decode(responseStr, RpcResponse) if not result.error.isNil: diff --git a/src/status/wallet.nim b/src/status/wallet.nim index cfa1cf4efc..c1c5aa9de0 100644 --- a/src/status/wallet.nim +++ b/src/status/wallet.nim @@ -126,7 +126,9 @@ proc sendTransaction*(self: WalletModel, source, to, value, gas, gasPrice, passw parseAddress(source), eth2Wei(parseFloat(value), 18), gas, gasPrice, data ) - tx.to = parseAddress(to).some + + if to != "": + tx.to = parseAddress(to).some result = eth.sendTransaction(tx, password, success) if success: diff --git a/ui/shared/BalanceValidator.qml b/ui/shared/BalanceValidator.qml index 09cc876aa8..3c1d07d80e 100644 --- a/ui/shared/BalanceValidator.qml +++ b/ui/shared/BalanceValidator.qml @@ -22,7 +22,7 @@ Column { function validate() { let isValid = true - if (!(account && account.assets && asset && amount > 0)) { + if (!(account && account.assets && asset && amount >= 0)) { return root.isValid } const currAcctAsset = Utils.findAssetBySymbol(account.assets, asset.symbol) diff --git a/ui/shared/RecipientSelector.qml b/ui/shared/RecipientSelector.qml index 42753f66b2..8d91ff036f 100644 --- a/ui/shared/RecipientSelector.qml +++ b/ui/shared/RecipientSelector.qml @@ -81,9 +81,11 @@ Item { switch (root.selectedType) { case RecipientSelector.Type.Address: inpAddress.text = selectedRecipient.name || "" - inpAddress.selectedAddress = selectedRecipient.address inpAddress.visible = true selContact.visible = selAccount.visible = false + if(!!selectedRecipient.address){ + inpAddress.selectedAddress = selectedRecipient.address + } break case RecipientSelector.Type.Contact: selContact.selectedContact = selectedRecipient diff --git a/ui/shared/TransactionPreview.qml b/ui/shared/TransactionPreview.qml index 1d5bb7649b..de2e45944d 100644 --- a/ui/shared/TransactionPreview.qml +++ b/ui/shared/TransactionPreview.qml @@ -123,7 +123,7 @@ Item { when: !!root.toAccount && root.toAccount.type === RecipientSelector.Type.Address PropertyChanges { target: txtToPrimary - text: !!root.toAccount ? root.toAccount.address : "" + text: (!!root.toAccount && root.toAccount.address) ? root.toAccount.address : qsTr("Unknown") elide: Text.ElideMiddle anchors.leftMargin: 190 anchors.right: parent.right diff --git a/vendor/eventemitter b/vendor/eventemitter new file mode 160000 index 0000000000..49cfa2f313 --- /dev/null +++ b/vendor/eventemitter @@ -0,0 +1 @@ +Subproject commit 49cfa2f3135139c3488b68fdd061cc069d31d651