Class SignOptions

  • All Implemented Interfaces:

    public final class SignOptions
    
                        

    Options for a software signer.

    Adjust the behavior of our software signers and the way a transaction is finalized.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Boolean getTrustWitnessUtxo() Whether the signer should trust the witness_utxo, if the non_witness_utxo hasn't been providedDefaults to false to mitigate the "SegWit bug" which could trick the wallet into paying a fee larger than expected.
      final Unit setTrustWitnessUtxo(Boolean trustWitnessUtxo) Whether the signer should trust the witness_utxo, if the non_witness_utxo hasn't been providedDefaults to false to mitigate the "SegWit bug" which could trick the wallet into paying a fee larger than expected.
      final UInt getAssumeHeight() Whether the wallet should assume a specific height has been reached when trying to finalize a transactionThe wallet will only "use" a timelock to satisfy the spending policy of an input if the timelock height has already been reached.
      final Unit setAssumeHeight(UInt assumeHeight) Whether the wallet should assume a specific height has been reached when trying to finalize a transactionThe wallet will only "use" a timelock to satisfy the spending policy of an input if the timelock height has already been reached.
      final Boolean getAllowAllSighashes() Whether the signer should use the sighash_type set in the PSBT when signing, no matter what its value isDefaults to false which will only allow signing using SIGHASH_ALL.
      final Unit setAllowAllSighashes(Boolean allowAllSighashes) Whether the signer should use the sighash_type set in the PSBT when signing, no matter what its value isDefaults to false which will only allow signing using SIGHASH_ALL.
      final Boolean getTryFinalize() Whether to try finalizing the PSBT after the inputs are signed.
      final Unit setTryFinalize(Boolean tryFinalize) Whether to try finalizing the PSBT after the inputs are signed.
      final Boolean getSignWithTapInternalKey() Whether we should try to sign a taproot transaction with the taproot internal key or not.
      final Unit setSignWithTapInternalKey(Boolean signWithTapInternalKey) Whether we should try to sign a taproot transaction with the taproot internal key or not.
      final Boolean getAllowGrinding() Whether we should grind ECDSA signature to ensure signing with low r or not.
      final Unit setAllowGrinding(Boolean allowGrinding) Whether we should grind ECDSA signature to ensure signing with low r or not.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getAssumeHeight

         final UInt getAssumeHeight()

        Whether the wallet should assume a specific height has been reached when trying to finalize a transaction

        The wallet will only "use" a timelock to satisfy the spending policy of an input if the timelock height has already been reached. This option allows overriding the "current height" to let the wallet use timelocks in the future to spend a coin.

      • setAssumeHeight

         final Unit setAssumeHeight(UInt assumeHeight)

        Whether the wallet should assume a specific height has been reached when trying to finalize a transaction

        The wallet will only "use" a timelock to satisfy the spending policy of an input if the timelock height has already been reached. This option allows overriding the "current height" to let the wallet use timelocks in the future to spend a coin.

      • getAllowAllSighashes

         final Boolean getAllowAllSighashes()

        Whether the signer should use the sighash_type set in the PSBT when signing, no matter what its value is

        Defaults to false which will only allow signing using SIGHASH_ALL.

      • setAllowAllSighashes

         final Unit setAllowAllSighashes(Boolean allowAllSighashes)

        Whether the signer should use the sighash_type set in the PSBT when signing, no matter what its value is

        Defaults to false which will only allow signing using SIGHASH_ALL.

      • getTryFinalize

         final Boolean getTryFinalize()

        Whether to try finalizing the PSBT after the inputs are signed.

        Defaults to true which will try finalizing PSBT after inputs are signed.

      • setTryFinalize

         final Unit setTryFinalize(Boolean tryFinalize)

        Whether to try finalizing the PSBT after the inputs are signed.

        Defaults to true which will try finalizing PSBT after inputs are signed.

      • getSignWithTapInternalKey

         final Boolean getSignWithTapInternalKey()

        Whether we should try to sign a taproot transaction with the taproot internal key or not. This option is ignored if we're signing a non-taproot PSBT.

        Defaults to true, i.e., we always try to sign with the taproot internal key.

      • setSignWithTapInternalKey

         final Unit setSignWithTapInternalKey(Boolean signWithTapInternalKey)

        Whether we should try to sign a taproot transaction with the taproot internal key or not. This option is ignored if we're signing a non-taproot PSBT.

        Defaults to true, i.e., we always try to sign with the taproot internal key.

      • getAllowGrinding

         final Boolean getAllowGrinding()

        Whether we should grind ECDSA signature to ensure signing with low r or not. Defaults to true, i.e., we always grind ECDSA signature to sign with low r.

      • setAllowGrinding

         final Unit setAllowGrinding(Boolean allowGrinding)

        Whether we should grind ECDSA signature to ensure signing with low r or not. Defaults to true, i.e., we always grind ECDSA signature to sign with low r.