Packages

case class WalletAppConfig(baseDatadir: Path, configOverrides: Vector[Config], kmConfOpt: Option[KeyManagerAppConfig] = None)(implicit system: ActorSystem) extends DbAppConfig with WalletDbManagement with JdbcProfileComponent[WalletAppConfig] with DBMasterXPubApi with CallbackConfig[WalletCallbacks] with Product with Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WalletAppConfig
  2. Serializable
  3. Product
  4. Equals
  5. CallbackConfig
  6. DBMasterXPubApi
  7. MasterXPubApi
  8. JdbcProfileComponent
  9. WalletDbManagement
  10. DbManagement
  11. DbAppConfig
  12. AppConfig
  13. Logging
  14. StartStopAsync
  15. StartStop
  16. AnyRef
  17. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new WalletAppConfig(baseDatadir: Path, configOverrides: Vector[Config], kmConfOpt: Option[KeyManagerAppConfig] = None)(implicit system: ActorSystem)

Type Members

  1. type ConfigType = WalletAppConfig

    Sub members of AppConfig should override this type with the type of themselves, ensuring withOverrides return the correct type

    Sub members of AppConfig should override this type with the type of themselves, ensuring withOverrides return the correct type

    Attributes
    protected[bitcoins]
    Definition Classes
    WalletAppConfigAppConfig

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 addCallbacks(newCallbacks: WalletCallbacks): WalletCallbacks
    Definition Classes
    CallbackConfig
  5. lazy val addressGapLimit: Int
  6. def addressQueueSize: Int

    How much elements we can have in org.bitcoins.wallet.internal.AddressHandling.addressRequestQueue before we throw an exception

  7. def addressQueueTimeout: Duration

    How long we wait while generating an address in org.bitcoins.wallet.internal.AddressHandling.addressRequestQueue before we timeout

  8. lazy val aesPasswordOpt: Option[AesPassword]
  9. lazy val allTables: List[slick.jdbc.JdbcProfile.API.TableQuery[slick.jdbc.JdbcProfile.API.Table[_]]]
    Definition Classes
    WalletDbManagementDbManagement
  10. lazy val allowExternalDLCAddresses: Boolean
  11. def appConfig: WalletAppConfig
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. val baseDatadir: Path

    The base data directory.

    The base data directory. This is where we look for a configuration file

    Definition Classes
    WalletAppConfigAppConfig
  14. lazy val bip39PasswordOpt: Option[String]
  15. lazy val bloomFalsePositiveRate: Double
  16. def callBacks: WalletCallbacks
    Definition Classes
    CallbackConfig
  17. lazy val callbackFactory: WalletCallbacks.type
    Definition Classes
    WalletAppConfigCallbackConfig
  18. lazy val chain: BitcoinChainParams

    Chain parameters for the blockchain we're on

    Chain parameters for the blockchain we're on

    Definition Classes
    AppConfig
  19. def clean(): CleanResult

    Runs flyway clean

    Runs flyway clean

    WARNING: THIS DELETES ALL DATA IN THE DATABASE, YOU PROBABLY DON'T WANT THIS UNLESS YOU ARE USING TESTS

    Definition Classes
    DbManagement
    See also

    https://flywaydb.org/documentation/command/clean

  20. def clearCallbacks(): Unit

    Clears all callbacks

    Clears all callbacks

    Definition Classes
    CallbackConfig
  21. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  22. lazy val config: Config
    Attributes
    protected
    Definition Classes
    AppConfig
  23. def configFileName: String
    Definition Classes
    AppConfig
  24. val configOverrides: Vector[Config]

    List of user-provided configs that should override defaults

    List of user-provided configs that should override defaults

    Definition Classes
    WalletAppConfigAppConfig
  25. def createHDWallet(nodeApi: NodeApi, chainQueryApi: ChainQueryApi, feeRateApi: FeeRateApi)(implicit system: ActorSystem): Future[Wallet]

    Creates a wallet based on this WalletAppConfig

  26. def createSchema(createIfNotExists: Boolean = true)(implicit ec: ExecutionContext): Future[Unit]
    Definition Classes
    DbManagement
  27. def createTable(table: slick.jdbc.JdbcProfile.API.TableQuery[_ <: slick.jdbc.JdbcProfile.API.Table[_]], createIfNotExists: Boolean = true)(implicit ec: ExecutionContext): Future[Unit]

    Creates the given table

    Creates the given table

    Definition Classes
    DbManagement
  28. def creationTime: Instant

    The creation time of the mnemonic seed If we cannot decrypt the seed because of invalid passwords, we return None

  29. lazy val database: slick.jdbc.JdbcProfile.API.Database

    The database we are connecting to

    The database we are connecting to

    Definition Classes
    JdbcProfileComponent
  30. lazy val datadir: Path

    The network specific data directory.

    The network specific data directory.

    Definition Classes
    AppConfig
  31. lazy val dbConfig: DatabaseConfig[JdbcProfile]

    The configuration details for connecting/using the database for our projects that require database connections

    The configuration details for connecting/using the database for our projects that require database connections

    Definition Classes
    JdbcProfileComponent
  32. lazy val dbHost: String

    The host of our postgresql database

    The host of our postgresql database

    Definition Classes
    DbAppConfig
  33. lazy val dbName: String

    The name of our database

    The name of our database

    Definition Classes
    DbAppConfig
  34. lazy val dbPassword: String
    Definition Classes
    DbAppConfig
  35. lazy val dbPath: Path

    The path where our DB is located

    The path where our DB is located

    Definition Classes
    WalletAppConfigDbAppConfig
  36. lazy val dbPort: Int

    The port number of our postgresql database

    The port number of our postgresql database

    Definition Classes
    DbAppConfig
  37. lazy val dbUsername: String
    Definition Classes
    DbAppConfig
  38. def debug(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  39. def debug(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  40. def debug(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  41. lazy val defaultAccount: HDAccount
  42. lazy val defaultAccountKind: HDPurpose
  43. lazy val defaultAddressType: AddressType
  44. lazy val discoveryBatchSize: Int
  45. lazy val driver: DatabaseDriver
    Definition Classes
    DbAppConfig
  46. def dropAll()(implicit ec: ExecutionContext): Future[Unit]
    Definition Classes
    DbManagement
  47. def dropTable(tableName: String)(implicit ec: ExecutionContext): Future[Int]
    Definition Classes
    DbManagement
  48. def dropTable(table: slick.jdbc.JdbcProfile.API.TableQuery[slick.jdbc.JdbcProfile.API.Table[_]]): Future[Unit]
    Definition Classes
    DbManagement
  49. implicit val ec: ExecutionContext
    Definition Classes
    WalletAppConfigWalletDbManagement
  50. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  51. def error(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  52. def error(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  53. def error(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  54. lazy val feeProviderNameOpt: Option[String]
  55. lazy val feeProviderTargetOpt: Option[Int]
  56. lazy val feeRatePollDelay: FiniteDuration
  57. lazy val feeRatePollInterval: FiniteDuration
  58. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  59. lazy val flyway: Flyway
    Attributes
    protected
    Definition Classes
    DbManagement
  60. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  61. def getConfigString(path: String): String
    Definition Classes
    AppConfig
  62. def getConfigStringOpt(path: String): Option[String]
    Definition Classes
    AppConfig
  63. def hasWallet()(implicit walletConf: WalletAppConfig, ec: ExecutionContext): Future[Boolean]

    Checks if the following exist

    Checks if the following exist

    1. A seed exists 2. wallet exists 3. The account exists
  64. lazy val hikariLoggingInterval: Option[Duration]

    Gets how often we should log hikari connection pool stats if None, this means isHikariLoggingEnabled is not enabled

    Gets how often we should log hikari connection pool stats if None, this means isHikariLoggingEnabled is not enabled

    Definition Classes
    DbAppConfig
  65. def info(): MigrationInfoService

    Returns flyway information about the state of migrations

    Returns flyway information about the state of migrations

    Definition Classes
    DbManagement
    See also

    https://flywaydb.org/documentation/command/info

  66. def info(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  67. def info(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  68. def info(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  69. def isCallbackEmpty: Boolean
    Definition Classes
    CallbackConfig
  70. def isDebugEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  71. def isErrorEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  72. lazy val isHikariLoggingEnabled: Boolean
    Definition Classes
    DbAppConfig
  73. def isInfoEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  74. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  75. def isTraceEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  76. def isWarnEnabled: Boolean
    Attributes
    protected
    Definition Classes
    Logging
  77. lazy val jdbcUrl: String
    Definition Classes
    DbAppConfig
  78. lazy val kmConf: KeyManagerAppConfig
  79. val kmConfOpt: Option[KeyManagerAppConfig]
  80. def kmParams: KeyManagerParams
  81. def logger: Logger
    Attributes
    protected
    Definition Classes
    Logging
  82. def loggerName: String
    Attributes
    protected
    Definition Classes
    Logging
  83. lazy val longTermFeeRate: SatoshisPerVirtualByte
  84. def migrate(): MigrateResult

    Executes migrations related to this database

    Executes migrations related to this database

    Definition Classes
    DbManagement
    See also

    https://flywaydb.org/documentation/api/#programmatic-configuration-java

  85. def migrationsApplied(): Int
    Definition Classes
    DbManagement
  86. def moduleName: String

    Name of the module.

    Name of the module. chain, wallet, node etc.

    Attributes
    protected[bitcoins]
    Definition Classes
    WalletAppConfigAppConfig
  87. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  88. lazy val network: BitcoinNetwork

    The blockchain network we're on

    The blockchain network we're on

    Definition Classes
    AppConfig
  89. def newConfigOfType(configs: Vector[Config]): WalletAppConfig

    Constructor to make a new instance of this config type

    Constructor to make a new instance of this config type

    Attributes
    protected[bitcoins]
    Definition Classes
    WalletAppConfigAppConfig
  90. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  91. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  92. lazy val numThreads: Int
    Definition Classes
    JdbcProfileComponent
  93. def productElementNames: Iterator[String]
    Definition Classes
    Product
  94. lazy val profile: JdbcProfile
    Definition Classes
    JdbcProfileComponent
  95. lazy val rebroadcastFrequency: Duration
  96. def replaceCallbacks(newCallbacks: WalletCallbacks): WalletCallbacks
    Definition Classes
    CallbackConfig
  97. lazy val requiredConfirmations: Int
  98. lazy val schemaName: Option[String]
    Definition Classes
    WalletAppConfigDbAppConfig
  99. def seedExists()(implicit ec: ExecutionContext): Future[Boolean]

    Determines if the seed exists

    Determines if the seed exists

    Definition Classes
    DBMasterXPubApiMasterXPubApi
  100. lazy val seedPath: Path

    The path to our encrypted mnemonic seed

    The path to our encrypted mnemonic seed

    Definition Classes
    WalletAppConfigDBMasterXPubApi
  101. lazy val slickDbConfig: DatabaseConfig[JdbcProfile]
    Definition Classes
    DbAppConfig
  102. def start(): Future[Unit]

    Starts this project.

    Starts this project. After this future resolves, all operations should be able to be performed correctly.

    Starting may include creating database tables, making directories or files needed later or something else entirely.

    Definition Classes
    WalletAppConfigAppConfigStartStop
  103. def startHikariLogger(interval: Duration): HikariLogging

    Starts the background logger for hikari

    Starts the background logger for hikari

    interval

    - how often hikari logs database connection pool information

    Attributes
    protected
    Definition Classes
    JdbcProfileComponent
  104. def startRebroadcastTxsScheduler(wallet: Wallet): Unit

    Starts the wallet's rebroadcast transaction scheduler

  105. def stop(): Future[Unit]

    Releases the thread pool associated with this AppConfig's DB

    Releases the thread pool associated with this AppConfig's DB

    Definition Classes
    WalletAppConfigDbAppConfigStartStop
  106. def stopHikariLogger(): Unit
    Attributes
    protected
    Definition Classes
    JdbcProfileComponent
  107. def stopRebroadcastTxsScheduler(): Unit

    Kills the wallet's rebroadcast transaction scheduler

  108. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  109. implicit val system: ActorSystem
  110. implicit def tableQueryToWithSchema(tableQuery: slick.jdbc.JdbcProfile.API.TableQuery[_]): slick.jdbc.JdbcProfile.API.TableQuery[slick.jdbc.JdbcProfile.API.Table[_]]

    Internally, slick defines the schema member as

    Internally, slick defines the schema member as

    def schema: SchemaDescription = buildTableSchemaDescription(q.shaped.value.asInstanceOf[Table[_]])

    we need to cast between TableQuery's of specific table types to the more generic TableQuery[Table[_]] to get methods in this trait working as they require schema (which essentially does this cast anyway)

    This cast is needed because TableQuery is not covariant in its type parameter. However, since Query is covariant in its first type parameter, I believe the cast from TableQuery[T1] to TableQuery[T2] will always be safe so long as T1 is a subtype of T2 AND T1#TableElementType is equal to T2#TableElementType.

    The above conditions are always the case when this is called in the current code base and will stay that way so long as no one tries anything too fancy.

    Attributes
    protected
    Definition Classes
    DbManagement
  111. lazy val torConf: TorAppConfig
  112. def trace(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  113. def trace(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  114. def trace(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  115. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  116. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  117. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  118. lazy val walletName: String
  119. def warn(mkr: Marker, msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  120. def warn(msg: => Any, t: => Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  121. def warn(msg: => Any): Unit
    Attributes
    protected
    Definition Classes
    Logging
  122. def withOverrides(configOverrides: Vector[Config]): ConfigType

    This method returns a new AppConfig, where every key under bitcoin-s overrides the configuration picked up by other means (the reference.conf provided by bitcoin-s and the application.conf provided by the user).

    This method returns a new AppConfig, where every key under bitcoin-s overrides the configuration picked up by other means (the reference.conf provided by bitcoin-s and the application.conf provided by the user). If you pass in configs with overlapping keys (e.g. several configs with the key bitcoin-s.network), the latter config overrides the first.

    Definition Classes
    AppConfig
  123. def withOverrides(configOverrides: Config): ConfigType
    Definition Classes
    AppConfig

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from DBMasterXPubApi

Inherited from MasterXPubApi

Inherited from WalletDbManagement

Inherited from DbManagement

Inherited from DbAppConfig

Inherited from AppConfig

Inherited from Logging

Inherited from StartStopAsync[Unit]

Inherited from StartStop[Future[Unit]]

Inherited from AnyRef

Inherited from Any

Ungrouped