aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-05-30 22:14:46 +0800
committerobscuren <geffobscura@gmail.com>2014-05-30 22:14:46 +0800
commit1020d7ff67e4888abbe27f8e1a4d516b4c48231c (patch)
tree940abfa8937de0973729f488c6a42e2fa47cc7b7
parente7c9b86a5aba022afd812f1a4fb554ee17a74bbd (diff)
downloadgo-tangerine-1020d7ff67e4888abbe27f8e1a4d516b4c48231c.tar.gz
go-tangerine-1020d7ff67e4888abbe27f8e1a4d516b4c48231c.tar.zst
go-tangerine-1020d7ff67e4888abbe27f8e1a4d516b4c48231c.zip
Unified the contract interface and tx interface. Fixes #62
-rw-r--r--README.md2
-rw-r--r--ethereal/assets/qml/wallet.qml103
2 files changed, 54 insertions, 51 deletions
diff --git a/README.md b/README.md
index 085030ce2..c52b9ca5b 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,6 @@ General command line options
```
Shared between ethereum and ethereal
--m Start mining blocks
-genaddr Generates a new address and private key (destructive action)
-p Port on which the server will accept incomming connections
-upnp Enable UPnP
@@ -41,6 +40,7 @@ Ethereum only
ethereum [options] [filename]
-js Start the JavaScript REPL
filename Load the given file and interpret as JavaScript
+-m Start mining blocks
Etheral only
-asset_path absolute path to GUI assets directory
diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml
index 4ad4cd7f6..458ce90e4 100644
--- a/ethereal/assets/qml/wallet.qml
+++ b/ethereal/assets/qml/wallet.qml
@@ -170,6 +170,7 @@ ApplicationWindow {
visible: false
anchors.fill: parent
color: "#00000000"
+ /*
TabView{
anchors.fill: parent
anchors.rightMargin: 5
@@ -182,6 +183,10 @@ ApplicationWindow {
addTab("Contracts", newContract)
}
}
+ */
+ Component.onCompleted: {
+ newContract.createObject(newTxView)
+ }
}
Rectangle {
@@ -574,7 +579,14 @@ ApplicationWindow {
}else{
isContract = "No"
}
- txModel.insert(0, {inout: inout, hash: tx.hash, address: tx.address, value: tx.value, contract: isContract})
+
+ var address;
+ if(inout == "recv") {
+ address = tx.sender;
+ } else {
+ address = tx.address;
+ }
+ txModel.insert(0, {inout: inout, hash: tx.hash, address: address, value: tx.value, contract: isContract})
}
function addBlock(block, initial) {
@@ -625,6 +637,7 @@ ApplicationWindow {
id: newContract
Column {
id: mainContractColumn
+ anchors.fill: parent
function contractFormReady(){
if(codeView.text.length > 0 && txValue.text.length > 0 && txGas.text.length > 0 && txGasPrice.length > 0) {
txButton.state = "READY"
@@ -646,6 +659,8 @@ ApplicationWindow {
PropertyChanges { target: codeView; visible:false}
PropertyChanges { target: txButton; visible:false}
PropertyChanges { target: txDataLabel; visible:false}
+ PropertyChanges { target: atLabel; visible:false}
+ PropertyChanges { target: txFuelRecipient; visible:false}
PropertyChanges { target: txResult; visible:true}
PropertyChanges { target: txOutput; visible:true}
@@ -673,81 +688,69 @@ ApplicationWindow {
anchors.topMargin: 5
TextField {
- id: txValue
- width: 200
- placeholderText: "Amount"
- validator: RegExpValidator { regExp: /\d*/ }
- onTextChanged: {
- contractFormReady()
- }
- }
- TextField {
- id: txGas
- width: 200
- validator: RegExpValidator { regExp: /\d*/ }
- placeholderText: "Gas"
- onTextChanged: {
- contractFormReady()
- }
+ id: txFuelRecipient
+ placeholderText: "Address / Name or empty for contract"
+ //validator: RegExpValidator { regExp: /[a-f0-9]{40}/ }
+ width: 400
}
+
TextField {
- id: txGasPrice
- width: 200
- placeholderText: "Gas price"
+ id: txValue
+ width: 222
+ placeholderText: "Amount"
validator: RegExpValidator { regExp: /\d*/ }
onTextChanged: {
contractFormReady()
}
}
- Row {
- id: rowContract
- ExclusiveGroup { id: contractTypeGroup }
- RadioButton {
- id: createContractRadio
- text: "Create contract"
- checked: true
- exclusiveGroup: contractTypeGroup
- onClicked: {
- txFuelRecipient.visible = false
- txDataLabel.text = "Contract code"
+ RowLayout {
+ TextField {
+ id: txGas
+ width: 50
+ validator: RegExpValidator { regExp: /\d*/ }
+ placeholderText: "Gas"
+ text: "500"
+ /*
+ onTextChanged: {
+ contractFormReady()
}
+ */
+ }
+ Label {
+ id: atLabel
+ text: "@"
}
- RadioButton {
- id: runContractRadio
- text: "Run contract"
- exclusiveGroup: contractTypeGroup
- onClicked: {
- txFuelRecipient.visible = true
- txDataLabel.text = "Contract arguments"
+
+ TextField {
+ id: txGasPrice
+ width: 200
+ placeholderText: "Gas price"
+ text: "1000000"
+ validator: RegExpValidator { regExp: /\d*/ }
+ /*
+ onTextChanged: {
+ contractFormReady()
}
+ */
}
}
-
Label {
id: txDataLabel
- text: "Contract code"
+ text: "Data"
}
TextArea {
id: codeView
height: 300
anchors.topMargin: 5
- Layout.fillWidth: true
- width: parent.width /2
+ width: 400
onTextChanged: {
contractFormReady()
}
}
- TextField {
- id: txFuelRecipient
- placeholderText: "Contract address"
- //validator: RegExpValidator { regExp: /[a-f0-9]{40}/ }
- visible: false
- width: 530
- }
Button {
id: txButton
@@ -790,7 +793,7 @@ ApplicationWindow {
Button {
id: newTxButton
visible: false
- text: "Create an other contract"
+ text: "Create a new transaction"
onClicked: {
this.visible = false
txResult.text = ""