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. BitcoinSLogger
  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: Vector[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 disconnect(nodeId: NodeId): Future[Unit]
    Definition Classes
    EclairRpcClientEclairApi
  32. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  34. implicit val executionContext: ExecutionContext
  35. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  36. def findRoute(invoice: LnInvoice, amountMsat: Option[MilliSatoshis]): Future[Vector[Route]]
  37. def findRoute(invoice: LnInvoice, amount: MilliSatoshis): Future[Vector[Route]]
    Definition Classes
    EclairRpcClientEclairApi
  38. def findRoute(invoice: LnInvoice): Future[Vector[Route]]
    Definition Classes
    EclairRpcClientEclairApi
  39. def findRoute(nodeId: NodeId, amountMsat: MilliSatoshis): Future[Vector[Route]]
    Definition Classes
    EclairRpcClientEclairApi
  40. def forceClose(shortChannelId: ShortChannelId): Future[ChannelCommandResult]
    Definition Classes
    EclairRpcClientEclairApi
  41. def forceClose(channelId: ChannelId): Future[ChannelCommandResult]
    Definition Classes
    EclairRpcClientEclairApi
  42. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  43. def getDaemon: EclairInstance
  44. def getInfo: Future[GetInfoResult]
    Definition Classes
    EclairRpcClientEclairApi
  45. def getInvoice(paymentHash: Sha256Digest): Future[LnInvoice]
    Definition Classes
    EclairRpcClientEclairApi
  46. def getNewAddress(): Future[BitcoinAddress]
    Definition Classes
    EclairRpcClientEclairApi
  47. def getNodeURI: Future[NodeUri]
    Definition Classes
    EclairRpcClientEclairApi
  48. def getPeers: Future[Vector[PeerInfo]]
    Definition Classes
    EclairRpcClientEclairApi
  49. def getReceivedInfo(invoice: LnInvoice): Future[Option[IncomingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  50. def getReceivedInfo(paymentHash: Sha256Digest): Future[Option[IncomingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  51. def getSentInfo(id: PaymentId): Future[Vector[OutgoingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  52. def getSentInfo(paymentHash: Sha256Digest): Future[Vector[OutgoingPayment]]
    Definition Classes
    EclairRpcClientEclairApi
  53. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  54. def help: Future[Vector[String]]
  55. val instance: EclairInstance
  56. def isAlive(): Boolean
    Definition Classes
    NativeProcessFactory
  57. def isConnected(nodeId: NodeId): Future[Boolean]
    Definition Classes
    EclairRpcClientEclairApi
  58. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  59. 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

  60. def isStopped: Future[Boolean]

    Checks to see if the client stopped successfully

  61. def listInvoices(from: Option[Instant], to: Option[Instant]): Future[Vector[LnInvoice]]
    Definition Classes
    EclairRpcClientEclairApi
  62. def listPendingInvoices(from: Option[Instant], to: Option[Instant]): Future[Vector[LnInvoice]]
    Definition Classes
    EclairRpcClientEclairApi
  63. def logger: Logger
    Definition Classes
    BitcoinSLogger
  64. 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
  65. 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
  66. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  67. 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
  68. def networkFees(from: Option[FiniteDuration], to: Option[FiniteDuration]): Future[Vector[NetworkFeesResult]]
    Definition Classes
    EclairRpcClientEclairApi
  69. def nodeId(): Future[NodeId]
    Definition Classes
    EclairApi
  70. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  71. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  72. def onChainBalance(): Future[OnChainBalance]
    Definition Classes
    EclairRpcClientEclairApi
  73. def onChainTransactions(count: Int = 10, skip: Int = 0): Future[Vector[WalletTransaction]]
    Definition Classes
    EclairRpcClientEclairApi
  74. def open(nodeId: NodeId, fundingSatoshis: CurrencyUnit, feerateSatPerByte: SatoshisPerByte, channelFlags: Byte): Future[FundedChannelId]
  75. def open(nodeId: NodeId, fundingSatoshis: CurrencyUnit, pushMsat: MilliSatoshis = MilliSatoshis.zero, feerateSatPerByte: SatoshisPerByte, channelFlags: Byte): Future[FundedChannelId]
  76. def open(nodeId: NodeId, funding: CurrencyUnit, pushMsat: MilliSatoshis, feerateSatPerByte: SatoshisPerByte): Future[FundedChannelId]
  77. def open(nodeId: NodeId, funding: CurrencyUnit, pushMsat: MilliSatoshis): Future[FundedChannelId]
  78. def open(nodeId: NodeId, funding: CurrencyUnit): Future[FundedChannelId]
  79. def open(nodeId: NodeId, funding: CurrencyUnit, pushMsat: Option[MilliSatoshis], feerateSatPerByte: Option[SatoshisPerByte], channelFlags: Option[Byte], openTimeout: Option[FiniteDuration]): Future[FundedChannelId]
    Definition Classes
    EclairRpcClientEclairApi
  80. def parseInvoice(invoice: LnInvoice): Future[InvoiceResult]
    Definition Classes
    EclairRpcClientEclairApi
  81. def payAndMonitorInvoice(invoice: LnInvoice, amount: MilliSatoshis, externalId: Option[String], interval: FiniteDuration, maxAttempts: Int): Future[OutgoingPayment]
    Definition Classes
    EclairApi
  82. def payAndMonitorInvoice(invoice: LnInvoice, externalId: Option[String], interval: FiniteDuration, maxAttempts: Int): Future[OutgoingPayment]
    Definition Classes
    EclairApi
  83. def payInvoice(invoice: LnInvoice, amountMsat: Option[MilliSatoshis], maxAttempts: Option[Int], feeThresholdSat: Option[Satoshis], maxFeePct: Option[Int], externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  84. def payInvoice(invoice: LnInvoice, amount: MilliSatoshis, externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  85. def payInvoice(invoice: LnInvoice, externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  86. def payInvoice(invoice: LnInvoice, amount: MilliSatoshis): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  87. def payInvoice(invoice: LnInvoice): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  88. implicit val rpcErrorReads: Reads[RpcError]
  89. def sendOnChain(address: BitcoinAddress, amount: Satoshis, confirmationTarget: Int): Future[DoubleSha256DigestBE]
    Definition Classes
    EclairRpcClientEclairApi
  90. def sendToNode(nodeId: NodeId, amountMsat: MilliSatoshis, maxAttempts: Option[Int], feeThresholdSat: Option[Satoshis], maxFeePct: Option[Int], externalId: Option[String]): Future[PaymentId]
    Definition Classes
    EclairRpcClientEclairApi
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  97. def toString(): String
    Definition Classes
    AnyRef → Any
  98. def updateRelayFee(nodeIds: Vector[NodeId], feeBaseMsat: MilliSatoshis, feeProportionalMillionths: Long): Future[UpdateRelayFeeResult]
    Definition Classes
    EclairRpcClientEclairApi
  99. def updateRelayFee(nodeId: NodeId, feeBaseMsat: MilliSatoshis, feeProportionalMillionths: Long): Future[UpdateRelayFeeResult]
    Definition Classes
    EclairRpcClientEclairApi
  100. def usableBalances(): Future[Vector[UsableBalancesResult]]
    Definition Classes
    EclairRpcClientEclairApi
  101. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  102. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  103. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from NativeProcessFactory

Inherited from BitcoinSLogger

Inherited from EclairApi

Inherited from AnyRef

Inherited from Any

Ungrouped