Object

fr.acinq.eclair.transactions

Transactions

Related Doc: package transactions

Permalink

object Transactions

Created by PM on 15/12/2016.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Transactions
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class ClaimDelayedOutputPenaltyTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  2. case class ClaimDelayedOutputTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  3. case class ClaimHtlcSuccessTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  4. case class ClaimHtlcTimeoutTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  5. case class ClaimP2WPKHOutputTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  6. case class ClosingTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  7. case class CommitTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  8. case class HtlcPenaltyTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  9. case class HtlcSuccessTx(input: InputInfo, tx: Transaction, paymentHash: ByteVector32) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  10. case class HtlcTimeoutTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  11. case class InputInfo(outPoint: OutPoint, txOut: TxOut, redeemScript: ByteVector) extends Product with Serializable

    Permalink
  12. case class MainPenaltyTx(input: InputInfo, tx: Transaction) extends TransactionWithInputInfo with Product with Serializable

    Permalink
  13. sealed trait TransactionWithInputInfo extends AnyRef

    Permalink
  14. sealed trait TxGenerationSkipped extends RuntimeException

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object AmountBelowDustLimit extends RuntimeException with TxGenerationSkipped with Product with Serializable

    Permalink
  5. object InputInfo extends Serializable

    Permalink
  6. object OutputNotFound extends RuntimeException with TxGenerationSkipped with Product with Serializable

    Permalink
  7. val PlaceHolderPubKey: PublicKey

    Permalink

    Default public key used for fee estimation

  8. val PlaceHolderSig: ByteVector64

    Permalink

    This default sig takes 72B when encoded in DER (incl.

    This default sig takes 72B when encoded in DER (incl. 1B for the trailing sig hash), it is used for fee estimation It is 72 bytes because our signatures are normalized (low-s) and will take up 72 bytes at most in DER format

  9. def addSigs(closingTx: ClosingTx, localFundingPubkey: PublicKey, remoteFundingPubkey: PublicKey, localSig: ByteVector64, remoteSig: ByteVector64): ClosingTx

    Permalink
  10. def addSigs(claimHtlcDelayedPenalty: ClaimDelayedOutputPenaltyTx, revocationSig: ByteVector64): ClaimDelayedOutputPenaltyTx

    Permalink
  11. def addSigs(claimHtlcDelayed: ClaimDelayedOutputTx, localSig: ByteVector64): ClaimDelayedOutputTx

    Permalink
  12. def addSigs(claimP2WPKHOutputTx: ClaimP2WPKHOutputTx, localPaymentPubkey: PublicKey, localSig: ByteVector64): ClaimP2WPKHOutputTx

    Permalink
  13. def addSigs(claimHtlcTimeoutTx: ClaimHtlcTimeoutTx, localSig: ByteVector64): ClaimHtlcTimeoutTx

    Permalink
  14. def addSigs(claimHtlcSuccessTx: ClaimHtlcSuccessTx, localSig: ByteVector64, paymentPreimage: ByteVector32): ClaimHtlcSuccessTx

    Permalink
  15. def addSigs(htlcTimeoutTx: HtlcTimeoutTx, localSig: ByteVector64, remoteSig: ByteVector64): HtlcTimeoutTx

    Permalink
  16. def addSigs(htlcSuccessTx: HtlcSuccessTx, localSig: ByteVector64, remoteSig: ByteVector64, paymentPreimage: ByteVector32): HtlcSuccessTx

    Permalink
  17. def addSigs(htlcPenaltyTx: HtlcPenaltyTx, revocationSig: ByteVector64, revocationPubkey: PublicKey): HtlcPenaltyTx

    Permalink
  18. def addSigs(mainPenaltyTx: MainPenaltyTx, revocationSig: ByteVector64): MainPenaltyTx

    Permalink
  19. def addSigs(commitTx: CommitTx, localFundingPubkey: PublicKey, remoteFundingPubkey: PublicKey, localSig: ByteVector64, remoteSig: ByteVector64): CommitTx

    Permalink
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. def checkSig(txinfo: TransactionWithInputInfo, sig: ByteVector64, pubKey: PublicKey): Boolean

    Permalink
  22. def checkSpendable(txinfo: TransactionWithInputInfo): Try[Unit]

    Permalink
  23. val claimHtlcDelayedWeight: Int

    Permalink
  24. val claimHtlcSuccessWeight: Int

    Permalink
  25. val claimHtlcTimeoutWeight: Int

    Permalink
  26. val claimP2WPKHOutputWeight: Int

    Permalink

    these values specific to us and used to estimate fees

  27. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  28. def commitTxFee(dustLimit: Satoshi, spec: CommitmentSpec): Satoshi

    Permalink
  29. def commitTxFeeMsat(dustLimit: Satoshi, spec: CommitmentSpec): MilliSatoshi

    Permalink

    While fees are generally computed in Satoshis (since this is the smallest on-chain unit), it may be useful in some cases to calculate it in MilliSatoshi to avoid rounding issues.

    While fees are generally computed in Satoshis (since this is the smallest on-chain unit), it may be useful in some cases to calculate it in MilliSatoshi to avoid rounding issues. If you are adding multiple fees together for example, you should always add them in MilliSatoshi and then round down to Satoshi.

  30. val commitWeight: Int

    Permalink

    these values are defined in the RFC

  31. def decodeTxNumber(sequence: Long, locktime: Long): Long

    Permalink
  32. def encodeTxNumber(txnumber: Long): (Long, Long)

    Permalink

    This is a trick to split and encode a 48-bit txnumber into the sequence and locktime fields of a tx

    This is a trick to split and encode a 48-bit txnumber into the sequence and locktime fields of a tx

    txnumber

    commitment number

    returns

    (sequence, locktime)

  33. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  34. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  35. def fee2rate(fee: Satoshi, weight: Int): Long

    Permalink

    fee

    tx fee

    weight

    tx weight

    returns

    the fee rate (in Satoshi/Kw) for this tx

  36. def findPubKeyScriptIndex(tx: Transaction, pubkeyScript: ByteVector, outputsAlreadyUsed: Set[Int], amount_opt: Option[Satoshi]): Int

    Permalink
  37. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  38. def getCommitTxNumber(commitTx: Transaction, isFunder: Boolean, localPaymentBasePoint: PublicKey, remotePaymentBasePoint: PublicKey): Long

    Permalink

    commitTx

    commit tx

    isFunder

    true if local node is funder

    localPaymentBasePoint

    local payment base point

    remotePaymentBasePoint

    remote payment base point

    returns

    the actual commit tx number that was blinded and stored in locktime and sequence fields

  39. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  40. def htlcOutputFee(feeratePerKw: Long): MilliSatoshi

    Permalink

    Fee for an un-trimmed HTLC.

  41. val htlcOutputWeight: Int

    Permalink
  42. val htlcPenaltyWeight: Int

    Permalink
  43. val htlcSuccessWeight: Int

    Permalink
  44. val htlcTimeoutWeight: Int

    Permalink
  45. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  46. val mainPenaltyWeight: Int

    Permalink
  47. def makeClaimDelayedOutputPenaltyTx(delayedOutputTx: Transaction, localDustLimit: Satoshi, localRevocationPubkey: PublicKey, toLocalDelay: CltvExpiryDelta, localDelayedPaymentPubkey: PublicKey, localFinalScriptPubKey: ByteVector, feeratePerKw: Long): ClaimDelayedOutputPenaltyTx

    Permalink
  48. def makeClaimDelayedOutputTx(delayedOutputTx: Transaction, localDustLimit: Satoshi, localRevocationPubkey: PublicKey, toLocalDelay: CltvExpiryDelta, localDelayedPaymentPubkey: PublicKey, localFinalScriptPubKey: ByteVector, feeratePerKw: Long): ClaimDelayedOutputTx

    Permalink
  49. def makeClaimHtlcSuccessTx(commitTx: Transaction, outputsAlreadyUsed: Set[Int], localDustLimit: Satoshi, localHtlcPubkey: PublicKey, remoteHtlcPubkey: PublicKey, remoteRevocationPubkey: PublicKey, localFinalScriptPubKey: ByteVector, htlc: UpdateAddHtlc, feeratePerKw: Long): ClaimHtlcSuccessTx

    Permalink
  50. def makeClaimHtlcTimeoutTx(commitTx: Transaction, outputsAlreadyUsed: Set[Int], localDustLimit: Satoshi, localHtlcPubkey: PublicKey, remoteHtlcPubkey: PublicKey, remoteRevocationPubkey: PublicKey, localFinalScriptPubKey: ByteVector, htlc: UpdateAddHtlc, feeratePerKw: Long): ClaimHtlcTimeoutTx

    Permalink
  51. def makeClaimP2WPKHOutputTx(delayedOutputTx: Transaction, localDustLimit: Satoshi, localPaymentPubkey: PublicKey, localFinalScriptPubKey: ByteVector, feeratePerKw: Long): ClaimP2WPKHOutputTx

    Permalink
  52. def makeClosingTx(commitTxInput: InputInfo, localScriptPubKey: ByteVector, remoteScriptPubKey: ByteVector, localIsFunder: Boolean, dustLimit: Satoshi, closingFee: Satoshi, spec: CommitmentSpec): ClosingTx

    Permalink
  53. def makeCommitTx(commitTxInput: InputInfo, commitTxNumber: Long, localPaymentBasePoint: PublicKey, remotePaymentBasePoint: PublicKey, localIsFunder: Boolean, localDustLimit: Satoshi, localRevocationPubkey: PublicKey, toLocalDelay: CltvExpiryDelta, localDelayedPaymentPubkey: PublicKey, remotePaymentPubkey: PublicKey, localHtlcPubkey: PublicKey, remoteHtlcPubkey: PublicKey, spec: CommitmentSpec): CommitTx

    Permalink
  54. def makeHtlcPenaltyTx(commitTx: Transaction, outputsAlreadyUsed: Set[Int], redeemScript: ByteVector, localDustLimit: Satoshi, localFinalScriptPubKey: ByteVector, feeratePerKw: Long): HtlcPenaltyTx

    Permalink

    We already have the redeemScript, no need to build it

  55. def makeHtlcSuccessTx(commitTx: Transaction, outputsAlreadyUsed: Set[Int], localDustLimit: Satoshi, localRevocationPubkey: PublicKey, toLocalDelay: CltvExpiryDelta, localDelayedPaymentPubkey: PublicKey, localHtlcPubkey: PublicKey, remoteHtlcPubkey: PublicKey, feeratePerKw: Long, htlc: UpdateAddHtlc): HtlcSuccessTx

    Permalink
  56. def makeHtlcTimeoutTx(commitTx: Transaction, outputsAlreadyUsed: Set[Int], localDustLimit: Satoshi, localRevocationPubkey: PublicKey, toLocalDelay: CltvExpiryDelta, localDelayedPaymentPubkey: PublicKey, localHtlcPubkey: PublicKey, remoteHtlcPubkey: PublicKey, feeratePerKw: Long, htlc: UpdateAddHtlc): HtlcTimeoutTx

    Permalink
  57. def makeHtlcTxs(commitTx: Transaction, localDustLimit: Satoshi, localRevocationPubkey: PublicKey, toLocalDelay: CltvExpiryDelta, localDelayedPaymentPubkey: PublicKey, localHtlcPubkey: PublicKey, remoteHtlcPubkey: PublicKey, spec: CommitmentSpec): (Seq[HtlcTimeoutTx], Seq[HtlcSuccessTx])

    Permalink
  58. def makeMainPenaltyTx(commitTx: Transaction, localDustLimit: Satoshi, remoteRevocationPubkey: PublicKey, localFinalScriptPubKey: ByteVector, toRemoteDelay: CltvExpiryDelta, remoteDelayedPaymentPubkey: PublicKey, feeratePerKw: Long): MainPenaltyTx

    Permalink
  59. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  60. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  61. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  62. def obscuredCommitTxNumber(commitTxNumber: Long, isFunder: Boolean, localPaymentBasePoint: PublicKey, remotePaymentBasePoint: PublicKey): Long

    Permalink

    commitTxNumber

    commit tx number

    isFunder

    true if local node is funder

    localPaymentBasePoint

    local payment base point

    remotePaymentBasePoint

    remote payment base point

    returns

    the obscured tx number as defined in BOLT #3 (a 48 bits integer)

  63. def offeredHtlcTrimThreshold(dustLimit: Satoshi, spec: CommitmentSpec): Satoshi

    Permalink

    Offered HTLCs below this amount will be trimmed.

  64. def receivedHtlcTrimThreshold(dustLimit: Satoshi, spec: CommitmentSpec): Satoshi

    Permalink

    Received HTLCs below this amount will be trimmed.

  65. def sign(txinfo: TransactionWithInputInfo, key: PrivateKey): ByteVector64

    Permalink
  66. def sign(tx: Transaction, inputIndex: Int, redeemScript: ByteVector, amount: Satoshi, key: PrivateKey): ByteVector64

    Permalink
  67. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  68. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  69. def trimOfferedHtlcs(dustLimit: Satoshi, spec: CommitmentSpec): Seq[DirectedHtlc]

    Permalink
  70. def trimReceivedHtlcs(dustLimit: Satoshi, spec: CommitmentSpec): Seq[DirectedHtlc]

    Permalink
  71. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  74. def weight2fee(feeratePerKw: Long, weight: Int): Satoshi

    Permalink
  75. def weight2feeMsat(feeratePerKw: Long, weight: Int): MilliSatoshi

    Permalink

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped