output pane

This commit is contained in:
Craig Raw
2020-04-07 15:14:11 +02:00
parent 924e7d6b45
commit 5ad85eb154
8 changed files with 128 additions and 42 deletions
@@ -108,12 +108,12 @@ public class InputController extends TransactionFormController implements Initia
//TODO: Enable select outpoint when wallet present
outpointSelect.setDisable(true);
initializeScriptFields(txInput);
initializeScriptFields(txInput, psbtInput);
initializeStatusFields(txInput);
initializeLocktimeFields(txInput);
}
private void initializeScriptFields(TransactionInput txInput) {
private void initializeScriptFields(TransactionInput txInput, PSBTInput psbtInput) {
//TODO: Is this safe?
Script redeemScript = txInput.getScriptSig().getFirstNestedScript();
@@ -1,6 +1,11 @@
package com.sparrowwallet.sparrow.transaction;
import com.sparrowwallet.drongo.protocol.TransactionOutput;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
import org.fxmisc.richtext.CodeArea;
import tornadofx.control.Fieldset;
import java.net.URL;
import java.util.ResourceBundle;
@@ -8,12 +13,32 @@ import java.util.ResourceBundle;
public class OutputController extends TransactionFormController implements Initializable {
private OutputForm outputForm;
@FXML
private Fieldset outputFieldset;
@FXML
private TextField value;
@FXML
private CodeArea scriptPubKeyArea;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
public void initializeView() {
TransactionOutput txOutput = outputForm.getTransactionOutput();
outputFieldset.setText("Output #" + txOutput.getIndex());
value.setText(txOutput.getValue() + " sats");
scriptPubKeyArea.clear();
appendScript(scriptPubKeyArea, txOutput.getScript(), null, null);
}
public void setModel(OutputForm form) {
this.outputForm = form;
initializeView();
}
}
@@ -57,7 +57,23 @@ public abstract class TransactionFormController {
}
protected void appendScript(CodeArea codeArea, Script script, Script redeemScript, Script witnessScript) {
if(ScriptPattern.isP2WPKH(script)) {
if(ScriptPattern.isP2PKH(script)) {
codeArea.append(script.getChunks().get(0).toString(), "script-opcode");
codeArea.append(" ", "");
codeArea.append(script.getChunks().get(1).toString(), "script-opcode");
codeArea.append(" ", "");
codeArea.append("<pkh>", "script-hash");
codeArea.append(" ", "");
codeArea.append(script.getChunks().get(3).toString(), "script-opcode");
codeArea.append(" ", "");
codeArea.append(script.getChunks().get(4).toString(), "script-opcode");
} else if(ScriptPattern.isP2SH(script)) {
codeArea.append(script.getChunks().get(0).toString(), "script-opcode");
codeArea.append(" ", "");
codeArea.append("<sh>", "script-hash");
codeArea.append(" ", "");
codeArea.append(script.getChunks().get(2).toString(), "script-opcode");
} else if(ScriptPattern.isP2WPKH(script)) {
codeArea.append(script.getChunks().get(0).toString(), "script-opcode");
codeArea.append(" ", "");
codeArea.append("<wpkh>", "script-hash");