Search in sources :

Example 1 with PolicyType

use of com.sparrowwallet.drongo.policy.PolicyType in project sparrow by sparrowwallet.

the class DescriptorArea method setWallet.

public void setWallet(Wallet wallet) {
    clear();
    this.wallet = wallet;
    DescriptorContextMenu contextMenu = new DescriptorContextMenu(wallet, this);
    setContextMenu(contextMenu);
    PolicyType policyType = wallet.getPolicyType();
    ScriptType scriptType = wallet.getScriptType();
    List<Keystore> keystores = wallet.getKeystores();
    int threshold = wallet.getDefaultPolicy().getNumSignaturesRequired();
    if (SINGLE.equals(policyType)) {
        append(scriptType.getDescriptor(), "descriptor-text");
        replace(getLength(), getLength(), keystores.get(0).getScriptName(), List.of(keystores.get(0).isValid() ? "descriptor-text" : "descriptor-error", keystores.get(0).getScriptName()));
        append(scriptType.getCloseDescriptor(), "descriptor-text");
    }
    if (MULTI.equals(policyType)) {
        append(scriptType.getDescriptor(), "descriptor-text");
        append(MULTISIG.getDescriptor(), "descriptor-text");
        append(Integer.toString(threshold), "descriptor-text");
        for (Keystore keystore : keystores) {
            append(",", "descriptor-text");
            replace(getLength(), getLength(), keystore.getScriptName(), List.of(keystore.isValid() ? "descriptor-text" : "descriptor-error", keystore.getScriptName()));
        }
        append(MULTISIG.getCloseDescriptor(), "descriptor-text");
        append(scriptType.getCloseDescriptor(), "descriptor-text");
    }
}
Also used : Keystore(com.sparrowwallet.drongo.wallet.Keystore) PolicyType(com.sparrowwallet.drongo.policy.PolicyType) ScriptType(com.sparrowwallet.drongo.protocol.ScriptType)

Aggregations

PolicyType (com.sparrowwallet.drongo.policy.PolicyType)1 ScriptType (com.sparrowwallet.drongo.protocol.ScriptType)1 Keystore (com.sparrowwallet.drongo.wallet.Keystore)1