package db
- Alphabetic
- Public
- Protected
Type Members
- case class AccountDb(xpub: ExtPublicKey, hdAccount: HDAccount) extends Product with Serializable
Represents the xpub at the account level, NOT the root xpub that in conjunction with the path specified in hdAccount can be used to generate the account level xpub m / purpose' / coin_type' / account'
Represents the xpub at the account level, NOT the root xpub that in conjunction with the path specified in hdAccount can be used to generate the account level xpub m / purpose' / coin_type' / account'
- See also
https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#path-levels
- sealed trait AddressDb extends AnyRef
- case class AddressRecord(purpose: HDPurpose, accountCoin: HDCoinType, accountIndex: Int, accountChain: HDChainType, addressIndex: Int, address: BitcoinAddress, pubKey: ECPublicKey, hashedPubKey: Sha256Hash160Digest, scriptPubKeyId: Long, scriptWitnessOpt: Option[ScriptWitness]) extends Product with Serializable
- case class AddressTagDb(address: BitcoinAddress, tagName: AddressTagName, tagType: AddressTagType) extends Product with Serializable
- case class IncomingTransactionDb(txIdBE: DoubleSha256DigestBE, incomingAmount: CurrencyUnit) extends TxDB with Product with Serializable
Represents a relevant transaction for the wallet that we should be keeping track of
Represents a relevant transaction for the wallet that we should be keeping track of
- txIdBE
Transaction ID
- case class LegacyAddressDb(path: LegacyHDPath, ecPublicKey: ECPublicKey, hashedPubKey: Sha256Hash160Digest, address: P2PKHAddress, scriptPubKey: ScriptPubKey) extends AddressDb with Product with Serializable
P2PKH
- case class LegacySpendingInfo(outPoint: TransactionOutPoint, output: TransactionOutput, privKeyPath: LegacyHDPath, state: TxoState, spendingTxIdOpt: Option[DoubleSha256DigestBE], id: Option[Long] = None) extends DbRowAutoInc[SpendingInfoDb] with SpendingInfoDb with Product with Serializable
DB representation of a legacy UTXO
- case class NestedSegWitAddressDb(path: NestedSegWitHDPath, ecPublicKey: ECPublicKey, hashedPubKey: Sha256Hash160Digest, address: P2SHAddress, witnessScript: ScriptWitness, scriptPubKey: ScriptPubKey) extends AddressDb with Product with Serializable
Segwit P2PKH-in-P2SH
- case class NestedSegwitV0SpendingInfo(outPoint: TransactionOutPoint, output: TransactionOutput, privKeyPath: NestedSegWitHDPath, redeemScript: ScriptPubKey, scriptWitness: ScriptWitness, state: TxoState, spendingTxIdOpt: Option[DoubleSha256DigestBE], id: Option[Long] = None) extends DbRowAutoInc[SpendingInfoDb] with SpendingInfoDb with Product with Serializable
DB representation of a nested segwit V0 SegWit UTXO
- case class OutgoingTransactionDb(txIdBE: DoubleSha256DigestBE, inputAmount: CurrencyUnit, sentAmount: CurrencyUnit, actualFee: CurrencyUnit, expectedFee: CurrencyUnit, feeRate: SatoshisPerByte) extends TxDB with Product with Serializable
Represents a relevant transaction for the wallet that we should be keeping track of
Represents a relevant transaction for the wallet that we should be keeping track of
- txIdBE
Transaction ID
- actualFee
fee paid by the transaction
- expectedFee
Fee rate the wallet expected to pay
- feeRate
Fee rate the transaction actually paid
- case class ScriptPubKeyDb(scriptPubKey: ScriptPubKey, hash: Sha256Digest, id: Option[Long] = None) extends DbRowAutoInc[ScriptPubKeyDb] with Product with Serializable
- case class SegWitAddressDb(path: SegWitHDPath, ecPublicKey: ECPublicKey, hashedPubKey: Sha256Hash160Digest, address: Bech32Address, witnessScript: ScriptWitness, scriptPubKey: ScriptPubKey) extends AddressDb with Product with Serializable
Segwit P2PKH
- case class SegwitV0SpendingInfo(outPoint: TransactionOutPoint, output: TransactionOutput, privKeyPath: SegWitHDPath, scriptWitness: ScriptWitness, state: TxoState, spendingTxIdOpt: Option[DoubleSha256DigestBE], id: Option[Long] = None) extends DbRowAutoInc[SpendingInfoDb] with SpendingInfoDb with Product with Serializable
DB representation of a native V0 SegWit UTXO
- sealed trait SpendingInfoDb extends DbRowAutoInc[SpendingInfoDb]
The database level representation of a UTXO.
The database level representation of a UTXO. When storing a UTXO we don't want to store sensitive material such as private keys. We instead store the necessary information we need to derive the private keys, given the root wallet seed.
- case class TaprootAddressDb(path: TaprootHDPath, ecPublicKey: ECPublicKey, address: Bech32mAddress, scriptPubKey: TaprootScriptPubKey) extends AddressDb with Product with Serializable
- case class TaprootSpendingInfo(outPoint: TransactionOutPoint, output: TransactionOutput, privKeyPath: TaprootHDPath, state: TxoState, spendingTxIdOpt: Option[DoubleSha256DigestBE], id: Option[Long] = None) extends DbRowAutoInc[SpendingInfoDb] with SpendingInfoDb with Product with Serializable
- case class TransactionDb(txIdBE: DoubleSha256DigestBE, transaction: Transaction, unsignedTxIdBE: DoubleSha256DigestBE, unsignedTx: Transaction, wTxIdBEOpt: Option[DoubleSha256DigestBE], totalOutput: CurrencyUnit, numInputs: Int, numOutputs: Int, lockTime: UInt32, blockHashOpt: Option[DoubleSha256DigestBE]) extends TxDB with Product with Serializable
Represents a relevant transaction for the wallet that we should be keeping track of
Represents a relevant transaction for the wallet that we should be keeping track of
- txIdBE
Transaction ID
- transaction
Serialized Transaction
- unsignedTxIdBE
Transaction ID of the unsigned transaction
- unsignedTx
Unsigned Transaction. This is useful so we can reconcile what our estimated fees were against our actual fees in the case of ECDSA signature size variability
- wTxIdBEOpt
Witness Transaction ID
- numInputs
Number of inputs in the transaction
- numOutputs
Number of outputs in the transaction
- lockTime
locktime of the transaction
- trait TxDB extends AnyRef
- case class UTXORecord(outpoint: TransactionOutPoint, state: TxoState, scriptPubKeyId: Long, value: CurrencyUnit, path: HDPath, redeemScript: Option[ScriptPubKey], scriptWitness: Option[ScriptWitness], spendingTxIdOpt: Option[DoubleSha256DigestBE], id: Option[Long] = None) extends DbRowAutoInc[UTXORecord] with Product with Serializable
Value Members
- object AddressDbHelper
- object AddressRecord extends Serializable
- object AddressTagDb extends Serializable
- object OutgoingTransactionDb extends Serializable
- object ScriptPubKeyDb extends Serializable
- object SpendingInfoDb
- object TransactionDbHelper
- object UTXORecord extends Serializable