Packages

class EclairRpcClient extends EclairApi with NativeProcessFactory with StartStopAsync[EclairRpcClient]

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EclairRpcClient
  2. StartStopAsync
  3. StartStop
  4. NativeProcessFactory
  5. Logging
  6. EclairApi
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new EclairRpcClient(instance: EclairInstance, binary: Option[File] = None)(implicit system: ActorSystem)

    binary

    Path to Eclair Jar. If not present, reads environment variable ECLAIR_PATH

Type Members

  1. case class RpcError(error: String) extends Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def allChannels(): Future[Vector[ChannelDesc]]
    Definition Classes
    EclairRpcClientEclairApi
  5. def allNodes(): Future[Vector[NodeInfo]]
    Definition Classes
    EclairRpcClientEclairApi
  6. def allUpdates(nodeId: NodeId): Future[Vector[ChannelUpdate]]
    Definition Classes
    EclairRpcClientEclairApi
  7. def allUpdates(): Future[Vector[ChannelUpdate]]
    Definition Classes
    EclairRpcClientEclairApi
  8. def allUpdates(nodeIdOpt: Option[NodeId] = None): Future[Vector[ChannelUpdate]]
    Definition Classes
    EclairApi
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def audit(from: Option[Instant], to: Option[Instant]): Future[AuditResult]

    List all sent/received/relayed payments in the given interval

    List all sent/received/relayed payments in the given interval

    from

    start timestamp

    to

    end timestamp

    Definition Classes
    EclairRpcClientEclairApi
  11. def audit(): Future[AuditResult]

    List all sent/received/relayed payments

    List all sent/received/relayed payments

    Definition Classes
    EclairRpcClientEclairApi
  12. def channel(channelId: ChannelId): Future[ChannelResult]
    Definition Classes
    EclairRpcClientEclairApi
  13. def channelStats(): Future[Vector[ChannelStats]]
    Definition Classes
    EclairRpcClientEclairApi
  14. def channels(nodeId: NodeId): Future[Vector[ChannelInfo]]
    Definition Classes
    EclairRpcClientEclairApi
  15. def channels(): Future[Vector[ChannelInfo]]
  16. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  17. def close(channelId: ChannelId, scriptPubKey: ScriptPubKey): Future[ChannelCommandResult]
    Definition Classes
    EclairRpcClientEclairApi
  18. def close(channelId: ChannelId): Future[ChannelCommandResult]
  19. def cmd: String

    The command to start the daemon on the underlying OS

    The command to start the daemon on the underlying OS

    Definition Classes
    EclairRpcClientNativeProcessFactory
  20. def connect(nodeId: NodeId): Future[Unit]
    Definition Classes
    EclairRpcClientEclairApi
  21. def connect(uri: NodeUri): Future[Unit]
    Definition Classes
    EclairRpcClientEclairApi
  22. def connect(nodeId: NodeId, host: String, port: Int): Future[Unit]
    Definition Classes
    EclairRpcClientEclairApi
  23. def connect(nodeId: NodeId, addr: InetSocketAddress): Future[Unit]
    Definition Classes
    EclairRpcClientEclairApi
  24. def connectToWebSocket(eventHandler: (WebSocketEvent) => Unit): Future[Unit]

    Connects to the Eclair web socket end point and passes WebSocketEvents to the given eventHandler

    Connects to the Eclair web socket end point and passes WebSocketEvents to the given eventHandler

    Definition Classes
    EclairRpcClientEclairApi
  25. def createInvoice(description: String, amountMsat: Option[MilliSatoshis], expireIn: Option[FiniteDuration], fallbackAddress: Option[Address], paymentPreimage: Option[PaymentPreimage]): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  26. def createInvoice(description: String, amountMsat: MilliSatoshis, expireIn: FiniteDuration, paymentPreimage: PaymentPreimage): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  27. def createInvoice(description: String, amountMsat: MilliSatoshis, paymentPreimage: PaymentPreimage): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  28. def createInvoice(description: String, amountMsat: MilliSatoshis, expireIn: FiniteDuration): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  29. def createInvoice(description: String, amountMsat: MilliSatoshis): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  30. def createInvoice(description: String): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  31. def debug(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  32. def debug(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  33. def debug(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  34. def disconnect(nodeId: NodeId): Future[Unit]
    Definition Classes
    EclairRpcClientEclairApi
  35. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  37. def error(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def error(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def error(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. implicit val executionContext: ExecutionContext
  41. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  42. def findRoute(invoice: LnInvoice, amountMsat: Option[MilliSatoshis]): Future[NodeRoute]
  43. def findRoute(invoice: LnInvoice, amount: MilliSatoshis): Future[NodeRoute]
    Definition Classes
    EclairRpcClientEclairApi
  44. def findRoute(invoice: LnInvoice): Future[NodeRoute]
    Definition Classes
    EclairRpcClientEclairApi
  45. def findRoute(nodeId: NodeId, amountMsat: MilliSatoshis): Future[NodeRoute]
    Definition Classes
    EclairRpcClientEclairApi
  46. def forceClose(shortChannelId: ShortChannelId): Future[ChannelCommandResult]
    Definition Classes
    EclairRpcClientEclairApi
  47. def forceClose(channelId: ChannelId): Future[ChannelCommandResult]
    Definition Classes
    EclairRpcClientEclairApi
  48. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  49. def getDaemon: EclairInstance
  50. def getInfo: Future[GetInfoResult]
    Definition Classes
    EclairRpcClientEclairApi
  51. def getInvoice(paymentHash: Sha256Digest): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  52. def getNewAddress(): Future[BitcoinAddress]
    Definition Classes
    EclairRpcClientEclairApi
  53. def getNodeURI: Future[NodeUri]
    Definition Classes
    EclairRpcClientEclairApi
  54. def getPeers: Future[Vector[PeerInfo]]
    Definition Classes
    EclairRpcClientEclairApi
  55. def getReceivedInfo(invoice: LnInvoice): Future[Option[IncomingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  56. def getReceivedInfo(paymentHash: Sha256Digest): Future[Option[IncomingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  57. def getSentInfo(id: PaymentId): Future[Vector[OutgoingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  58. def getSentInfo(paymentHash: Sha256Digest): Future[Vector[OutgoingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  59. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  60. def help: Future[Vector[String]]
  61. def info(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  62. def info(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  63. def info(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  64. val instance: EclairInstance
  65. def isAlive(): Boolean
    Definition Classes
    NativeProcessFactory
  66. def isConnected(nodeId: NodeId): Future[Boolean]
    Definition Classes
    EclairRpcClientEclairApi
  67. def isDebugEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  68. def isErrorEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  69. def isInfoEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  70. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  71. def isStarted(): Future[Boolean]

    Boolean check to verify the state of the client

    Boolean check to verify the state of the client

    returns

    Future Boolean representing if client has started

  72. def isStopped: Future[Boolean]

    Checks to see if the client stopped successfully

  73. def isTraceEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  74. def isWarnEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  75. def listInvoices(from: Option[Instant], to: Option[Instant]): Future[Vector[LnInvoice]]
    Definition Classes
    EclairRpcClientEclairApi
  76. def listPendingInvoices(from: Option[Instant], to: Option[Instant]): Future[Vector[LnInvoice]]
    Definition Classes
    EclairRpcClientEclairApi
  77. def logger: Logger
    Attributes
    protected
    Definition Classes
    Logging
  78. def loggerName: String
    Attributes
    protected
    Definition Classes
    Logging
  79. def monitorInvoice(lnInvoice: LnInvoice, interval: FiniteDuration = 1.second, maxAttempts: Int = 60): Future[IncomingPayment]

    Returns a future that is completed when this invoice has been paid too.

    Returns a future that is completed when this invoice has been paid too. This also publishes the received payment result to the event bush when the payment is received

    lnInvoice

    the invoice to monitor

    maxAttempts

    the number of attempts we ping eclair until we fail the returned future. Pinging occurrs every 1 second

    Definition Classes
    EclairRpcClientEclairApi
  80. def monitorSentPayment(paymentId: PaymentId, interval: FiniteDuration, maxAttempts: Int): Future[OutgoingPayment]

    Pings eclair to see if a invoice has been paid If the invoice has been paid or the payment has failed, we publish a OutgoingPayment event to the ActorSystem's ActorSystem.eventStream

    Pings eclair to see if a invoice has been paid If the invoice has been paid or the payment has failed, we publish a OutgoingPayment event to the ActorSystem's ActorSystem.eventStream

    We also return a Future[PaymentResult] that is completed when one of three things is true 1. The payment has succeeded 2. The payment has failed 3. We have attempted to query the eclair more than maxAttempts, and the payment is still pending

    paymentId

    the payment id returnned by payInvoice

    interval

    the ping interval

    maxAttempts

    the maximum number of pings

    Definition Classes
    EclairRpcClientEclairApi
  81. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  82. def network: LnParams

    The network that this EclairApi is running on.

    The network that this EclairApi is running on. This is not available directly from the eclair api, but is a very useful helper method

    Definition Classes
    EclairRpcClientEclairApi
  83. def networkFees(from: Option[FiniteDuration], to: Option[FiniteDuration]): Future[Vector[NetworkFeesResult]]
    Definition Classes
    EclairRpcClientEclairApi
  84. def nodeId(): Future[NodeId]
    Definition Classes
    EclairApi
  85. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  86. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  87. def onChainBalance(): Future[OnChainBalance]
    Definition Classes
    EclairRpcClientEclairApi
  88. def onChainTransactions(): Future[Vector[WalletTransaction]]
    Definition Classes
    EclairRpcClientEclairApi
  89. def open(nodeId: NodeId, fundingSatoshis: CurrencyUnit, feerateSatPerByte: SatoshisPerByte, channelFlags: Byte): Future[FundedChannelId]
  90. def open(nodeId: NodeId, fundingSatoshis: CurrencyUnit, pushMsat: MilliSatoshis = MilliSatoshis.zero, feerateSatPerByte: SatoshisPerByte, channelFlags: Byte): Future[FundedChannelId]
  91. def open(nodeId: NodeId, funding: CurrencyUnit, pushMsat: MilliSatoshis, feerateSatPerByte: SatoshisPerByte): Future[FundedChannelId]
  92. def open(nodeId: NodeId, funding: CurrencyUnit, pushMsat: MilliSatoshis): Future[FundedChannelId]
  93. def open(nodeId: NodeId, funding: CurrencyUnit): Future[FundedChannelId]
  94. def open(nodeId: NodeId, funding: CurrencyUnit, pushMsat: Option[MilliSatoshis], feerateSatPerByte: Option[SatoshisPerByte], channelFlags: Option[Byte], openTimeout: Option[FiniteDuration]): Future[FundedChannelId]
    Definition Classes
    EclairRpcClientEclairApi
  95. def parseInvoice(invoice: LnInvoice): Future[InvoiceResult]
    Definition Classes
    EclairRpcClientEclairApi
  96. def payAndMonitorInvoice(invoice: LnInvoice, amount: MilliSatoshis, externalId: Option[String], interval: FiniteDuration, maxAttempts: Int): Future[OutgoingPayment]
    Definition Classes
    EclairApi
  97. def payAndMonitorInvoice(invoice: LnInvoice, externalId: Option[String], interval: FiniteDuration, maxAttempts: Int): Future[OutgoingPayment]
    Definition Classes
    EclairApi
  98. def payInvoice(invoice: LnInvoice, amountMsat: Option[MilliSatoshis], maxAttempts: Option[Int], feeThresholdSat: Option[Satoshis], maxFeePct: Option[Int], externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  99. def payInvoice(invoice: LnInvoice, amount: MilliSatoshis, externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  100. def payInvoice(invoice: LnInvoice, externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  101. def payInvoice(invoice: LnInvoice, amount: MilliSatoshis): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  102. def payInvoice(invoice: LnInvoice): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  103. implicit val rpcErrorReads: Reads[RpcError]
  104. def sendOnChain(address: BitcoinAddress, amount: Satoshis, confirmationTarget: Int): Future[DoubleSha256DigestBE]
    Definition Classes
    EclairRpcClientEclairApi
  105. def sendToNode(nodeId: NodeId, amountMsat: MilliSatoshis, maxAttempts: Option[Int], feeThresholdSat: Option[Satoshis], maxFeePct: Option[Int], externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  106. def sendToRoute(invoice: LnInvoice, route: Route, amountMsat: MilliSatoshis, paymentHash: Sha256Digest, finalCltvExpiry: Long, recipientAmountMsat: Option[MilliSatoshis], parentId: Option[PaymentId], externalId: Option[String]): Future[SendToRouteResult]

    Documented by not implemented in Eclair

    Documented by not implemented in Eclair

    Definition Classes
    EclairRpcClientEclairApi
  107. def start(): Future[EclairRpcClient]

    Starts eclair on the local system.

    Starts eclair on the local system.

    returns

    a future of the started EclairRpcClient when eclair is fully started. If eclair has not successfully started in 60 seconds the future times out.

    Definition Classes
    EclairRpcClientStartStop
  108. def startBinary(): Future[Unit]

    Starts the binary by spinning up a new process

    Starts the binary by spinning up a new process

    Definition Classes
    NativeProcessFactory
  109. def stop(): Future[EclairRpcClient]

    Returns a Future EclairRpcClient if able to shut down Eclair instance, inherits from the StartStop trait

    Returns a Future EclairRpcClient if able to shut down Eclair instance, inherits from the StartStop trait

    returns

    A future EclairRpcClient that is stopped

    Definition Classes
    EclairRpcClientStartStop
  110. def stopBinary(): Future[Unit]

    Stops the binary by destroying the underlying operating system process

    Stops the binary by destroying the underlying operating system process

    If the client is a remote client (not started on the host operating system) this method is a no-op

    Definition Classes
    NativeProcessFactory
  111. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  112. def toString(): String
    Definition Classes
    AnyRef → Any
  113. def trace(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  114. def trace(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  115. def trace(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  116. def updateRelayFee(nodeIds: Vector[NodeId], feeBaseMsat: MilliSatoshis, feeProportionalMillionths: Long): Future[UpdateRelayFeeResult]
    Definition Classes
    EclairRpcClientEclairApi
  117. def updateRelayFee(nodeId: NodeId, feeBaseMsat: MilliSatoshis, feeProportionalMillionths: Long): Future[UpdateRelayFeeResult]
    Definition Classes
    EclairRpcClientEclairApi
  118. def usableBalances(): Future[Vector[UsableBalancesResult]]
    Definition Classes
    EclairRpcClientEclairApi
  119. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  120. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  121. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  122. def warn(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  123. def warn(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  124. def warn(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging

Inherited from NativeProcessFactory

Inherited from Logging

Inherited from EclairApi

Inherited from AnyRef

Inherited from Any

Ungrouped