trait BitcoindRpcTestUtil extends Logging

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BitcoindRpcTestUtil
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type RpcClientAccum = Builder[BitcoindRpcClient, Vector[BitcoindRpcClient]]

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def awaitConnection(from: BitcoindRpcClient, to: BitcoindRpcClient, interval: FiniteDuration = 100.milliseconds, maxTries: Int = 50)(implicit system: ActorSystem): Future[Unit]

    Awaits non-blockingly until the provided clients are connected

  6. def awaitDisconnected(from: BitcoindRpcClient, to: BitcoindRpcClient, interval: FiniteDuration = 100.milliseconds, maxTries: Int = 50)(implicit system: ActorSystem): Future[Unit]
  7. def awaitSameBlockHeight(client1: BitcoindRpcClient, client2: BitcoindRpcClient, interval: FiniteDuration = BitcoindRpcTestUtil.DEFAULT_LONG_INTERVAL, maxTries: Int = 50)(implicit system: ActorSystem): Future[Unit]
  8. def awaitStopped(client: BitcoindRpcClient, interval: FiniteDuration = 100.milliseconds, maxTries: Int = 50)(implicit system: ActorSystem): Future[Unit]
  9. def awaitSynced(client1: BitcoindRpcClient, client2: BitcoindRpcClient, interval: FiniteDuration = BitcoindRpcTestUtil.DEFAULT_LONG_INTERVAL, maxTries: Int = 50)(implicit system: ActorSystem): Future[Unit]
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. def config(uri: URI, rpcUri: URI, zmqConfig: ZmqConfig, pruneMode: Boolean, blockFilterIndex: Boolean = false): BitcoindConfig
  12. def connectPairs(pairs: Vector[(BitcoindRpcClient, BitcoindRpcClient)])(implicit system: ActorSystem): Future[Unit]

    Connects and waits non-blockingly until all the provided pairs of clients are connected

  13. def createNodePair[T <: BitcoindRpcClient](version: BitcoindVersion)(implicit system: ActorSystem): Future[(T, T)]
  14. def createNodePair[T <: BitcoindRpcClient](clientAccum: RpcClientAccum = Vector.newBuilder)(implicit system: ActorSystem): Future[(BitcoindRpcClient, BitcoindRpcClient)]

    Returns a pair of BitcoindRpcClient that are connected with some blocks in the chain

  15. def createNodePairV16(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV16RpcClient, BitcoindV16RpcClient)]

    Returns a pair of BitcoindV16RpcClient that are connected with some blocks in the chain

  16. def createNodePairV17(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV17RpcClient, BitcoindV17RpcClient)]

    Returns a pair of BitcoindV17RpcClient that are connected with some blocks in the chain

  17. def createNodePairV18(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV18RpcClient, BitcoindV18RpcClient)]

    Returns a pair of BitcoindV18RpcClient that are connected with some blocks in the chain

  18. def createNodePairV19(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV19RpcClient, BitcoindV19RpcClient)]

    Returns a pair of BitcoindV19RpcClient that are connected with some blocks in the chain

  19. def createNodePairV20(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV20RpcClient, BitcoindV20RpcClient)]

    Returns a pair of BitcoindV20RpcClient that are connected with some blocks in the chain

  20. def createNodePairV21(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV21RpcClient, BitcoindV21RpcClient)]

    Returns a pair of BitcoindV21RpcClient that are connected with some blocks in the chain

  21. def createNodePairV22(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV21RpcClient, BitcoindV21RpcClient)]
  22. def createNodeTriple[T <: BitcoindRpcClient](version: BitcoindVersion)(implicit system: ActorSystem): Future[(T, T, T)]

    Returns a triple of org.bitcoins.rpc.client.common.BitcoindRpcClient BitcoindRpcClient that are connected with some blocks in the chain

  23. def createNodeTriple(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindRpcClient, BitcoindRpcClient, BitcoindRpcClient)]

    Returns a triple of org.bitcoins.rpc.client.common.BitcoindRpcClient BitcoindRpcClient that are connected with some blocks in the chain

  24. def createNodeTripleV17(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV17RpcClient, BitcoindV17RpcClient, BitcoindV17RpcClient)]

    returns

    a triple of BitcoindV17RpcClient that are connected with some blocks in the chain

  25. def createNodeTripleV18(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV18RpcClient, BitcoindV18RpcClient, BitcoindV18RpcClient)]
  26. def createNodeTripleV19(clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[(BitcoindV19RpcClient, BitcoindV19RpcClient, BitcoindV19RpcClient)]
  27. def createRawCoinbaseTransaction(sender: BitcoindRpcClient, receiver: BitcoindRpcClient, amount: Bitcoins = Bitcoins(1))(implicit executionContext: ExecutionContext): Future[Transaction]
  28. def createUnconnectedNodePair(clientAccum: RpcClientAccum = Vector.newBuilder)(implicit system: ActorSystem): Future[(BitcoindRpcClient, BitcoindRpcClient)]

    Returns a pair of unconnected BitcoindRpcClients with no blocks

  29. def debug(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  30. def debug(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  31. def debug(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  32. def deleteNodePair(client1: BitcoindRpcClient, client2: BitcoindRpcClient)(implicit executionContext: ExecutionContext): Future[Unit]

    Stops the provided nodes and deletes their data directories

  33. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  35. def error(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  36. def error(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  37. def error(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  38. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  39. def findOutput(client: BitcoindRpcClient, txid: DoubleSha256DigestBE, amount: Bitcoins, blockhash: Option[DoubleSha256DigestBE] = None)(implicit executionContext: ExecutionContext): Future[UInt32]

    Return index of output of TX txid with value amount

    Return index of output of TX txid with value amount

    See also

    function we're mimicking in Core test suite

  40. def fundBlockChainTransaction(sender: BitcoindRpcClient, receiver: BitcoindRpcClient, address: BitcoinAddress, amount: Bitcoins)(implicit system: ActorSystem): Future[DoubleSha256DigestBE]

    Produces a confirmed transaction from sender to address for amount

  41. def fundMemPoolTransaction(sender: BitcoindRpcClient, address: BitcoinAddress, amount: Bitcoins)(implicit system: ActorSystem): Future[DoubleSha256DigestBE]

    Produces a unconfirmed transaction from sender to address for amount

  42. def generateAllAndSync(clients: Vector[BitcoindRpcClient], blocks: Int = 6)(implicit system: ActorSystem): Future[Vector[Vector[DoubleSha256DigestBE]]]

    Generates the specified amount of blocks with all provided clients and waits until they are synced.

    Generates the specified amount of blocks with all provided clients and waits until they are synced.

    returns

    Vector of Blockhashes of generated blocks, with index corresponding to the list of provided clients

  43. def generateAndSync(clients: Vector[BitcoindRpcClient], blocks: Int = 6)(implicit system: ActorSystem): Future[Vector[DoubleSha256DigestBE]]

    Generates the specified amount of blocks and waits until the provided clients are synced.

    Generates the specified amount of blocks and waits until the provided clients are synced.

    returns

    Blockhashes of generated blocks

  44. def getBinary(version: BitcoindVersion, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory): File
  45. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  46. def getFirstBlock(node: BitcoindRpcClient)(implicit executionContext: ExecutionContext): Future[GetBlockWithTransactionsResult]

    returns

    The first block (after genesis) in the given node's blockchain

  47. def getInstance(bitcoindVersion: BitcoindVersion, port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal

    Gets an instance of bitcoind with the given version

  48. def getPubkey(client: BitcoindRpcClient, address: BitcoinAddress)(implicit system: ActorSystem): Future[Option[ECPublicKey]]

    Gets the pubkey (if it exists) asscociated with a given bitcoin address in a version-agnostic manner

  49. def hasSeenBlock(client1: BitcoindRpcClient, hash: DoubleSha256Digest)(implicit ec: ExecutionContext): Future[Boolean]
  50. def hasSeenBlock(client: BitcoindRpcClient, hash: DoubleSha256DigestBE)(implicit ec: ExecutionContext): Future[Boolean]

    Checks whether the provided client has seen the given block hash

  51. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  52. def info(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  53. def info(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  54. def info(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  55. def instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, versionOpt: Option[BitcoindVersion] = None, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal

    Creates a bitcoind instance within the user temporary directory

  56. def isDebugEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  57. def isErrorEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  58. def isInfoEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  59. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  60. def isTraceEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  61. def isWarnEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  62. def logger: Logger
    Attributes
    protected
    Definition Classes
    Logging
  63. def loggerName: String
    Attributes
    protected
    Definition Classes
    Logging
  64. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  65. lazy val network: RegTest.type
  66. def newestBitcoindBinary: File
  67. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  68. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  69. def removeDataDirectory(client: BitcoindRpcClient, interval: FiniteDuration = 100.milliseconds, maxTries: Int = 50)(implicit system: ActorSystem): Future[Unit]
  70. def sendCoinbaseTransaction(sender: BitcoindRpcClient, receiver: BitcoindRpcClient, amount: Bitcoins = Bitcoins(1))(implicit actorSystem: ActorSystem): Future[GetTransactionResult]
  71. def signRawTransaction(signer: BitcoindRpcClient, transaction: Transaction, utxoDeps: Vector[SignRawTransactionOutputParameter] = Vector.empty): Future[SignRawTransactionResult]

    Bitcoin Core 0.16 and 0.17 has diffrent APIs for signing raw transactions.

    Bitcoin Core 0.16 and 0.17 has diffrent APIs for signing raw transactions. This method tries to construct either a BitcoindV16RpcClient or a BitcoindV16RpcClient from the provided signer, and then calls the appropriate method on the result.

    Exceptions thrown

    RuntimeException if no versioned BitcoindRpcClient can be constructed.

  72. def standardConfig: BitcoindConfig

    Standard config used for testing purposes

  73. def startServers(servers: Vector[BitcoindRpcClient])(implicit ec: ExecutionContext): Future[Unit]
  74. def startedBitcoindRpcClient(instanceOpt: Option[BitcoindInstanceLocal] = None, clientAccum: RpcClientAccum)(implicit system: ActorSystem): Future[BitcoindRpcClient]

    clientAccum

    If provided, the generated client is added to this vectorbuilder.

  75. def stopServer(server: BitcoindRpcClient)(implicit system: ActorSystem): Future[Unit]

    Stops the given server and deletes its data directory

  76. def stopServers(servers: Vector[BitcoindRpcClient])(implicit system: ActorSystem): Future[Unit]

    Stops the given servers and deletes their data directories

  77. def syncPairs(pairs: Vector[(BitcoindRpcClient, BitcoindRpcClient)])(implicit system: ActorSystem): Future[Unit]
  78. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  79. def toString(): String
    Definition Classes
    AnyRef → Any
  80. def trace(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  81. def trace(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  82. def trace(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  83. def v16Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  84. def v17Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  85. def v18Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  86. def v19Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  87. def v20Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  88. def v21Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  89. def v22Instance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  90. def vExperimentalInstance(port: Int = RpcUtil.randomPort, rpcPort: Int = RpcUtil.randomPort, zmqConfig: ZmqConfig = RpcUtil.zmqConfig, pruneMode: Boolean = false, binaryDirectory: Path = BitcoindRpcTestClient.sbtBinaryDirectory)(implicit system: ActorSystem): BitcoindInstanceLocal
  91. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  92. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  93. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  94. def waitUntilBlock(blockHeight: Int, client: BitcoindRpcClient, addressForMining: BitcoinAddress)(implicit ec: ExecutionContext): Future[Unit]

    Mines blocks until the specified block height.

  95. def warn(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  96. def warn(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  97. def warn(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  98. def writtenConfig(uri: URI, rpcUri: URI, zmqConfig: ZmqConfig, pruneMode: Boolean, blockFilterIndex: Boolean = false): Path

    Creates a bitcoind config within the system temp directory, writes the file and returns the written file

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped