package models
- Alphabetic
- Public
- Protected
Type Members
- case class AcceptDbState(dlcDb: DLCDb, contractDataDb: DLCContractDataDb, contractInfo: ContractInfo, offerDb: DLCOfferDb, acceptDb: DLCAcceptDb, offerFundingInputsDb: Vector[DLCFundingInputDb], offerPrevTxs: Vector[TransactionDb], acceptFundingInputsDb: Vector[DLCFundingInputDb], acceptPrevTxs: Vector[TransactionDb], cetSigsOpt: Option[Vector[DLCCETSignaturesDb]], refundSigDb: DLCRefundSigsDb) extends SetupCompleteDLCDbState with Product with Serializable
- case class ClosedDbStateNoCETSigs(dlcDb: DLCDb, contractDataDb: DLCContractDataDb, contractInfo: ContractInfo, offerDb: DLCOfferDb, acceptDb: DLCAcceptDb, offerFundingInputsDb: Vector[DLCFundingInputDb], offerPrevTxs: Vector[TransactionDb], acceptFundingInputsDb: Vector[DLCFundingInputDb], acceptPrevTxs: Vector[TransactionDb], refundSigsDb: DLCRefundSigsDb) extends DLCClosedDbState with Product with Serializable
Sometimes we prune CET sigs from the database to save on disk space.
Sometimes we prune CET sigs from the database to save on disk space. We need to handle this different than ClosedDbStateWithCETSigs
- case class ClosedDbStateWithCETSigs(dlcDb: DLCDb, contractDataDb: DLCContractDataDb, contractInfo: ContractInfo, offerDb: DLCOfferDb, acceptDb: DLCAcceptDb, offerFundingInputsDb: Vector[DLCFundingInputDb], offerPrevTxs: Vector[TransactionDb], acceptFundingInputsDb: Vector[DLCFundingInputDb], acceptPrevTxs: Vector[TransactionDb], refundSigsDb: DLCRefundSigsDb, cetSigs: Vector[DLCCETSignaturesDb]) extends DLCClosedDbState with Product with Serializable
- case class DLCAcceptDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCAcceptDb, Sha256Digest] with SlickUtil[DLCAcceptDb, Sha256Digest] with DLCIdDaoUtil[DLCAcceptDb, Sha256Digest] with Product with Serializable
- case class DLCAcceptDb(dlcId: Sha256Digest, fundingKey: ECPublicKey, payoutAddress: BitcoinAddress, payoutSerialId: UInt64, collateral: CurrencyUnit, changeAddress: BitcoinAddress, changeSerialId: UInt64, negotiationFieldsTLV: NegotiationFieldsTLV) extends Product with Serializable
- case class DLCAnnouncementDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCAnnouncementDb, DLCAnnouncementPrimaryKey] with SlickUtil[DLCAnnouncementDb, DLCAnnouncementPrimaryKey] with DLCIdDaoUtilNoPK[DLCAnnouncementDb] with Product with Serializable
- case class DLCAnnouncementDb(dlcId: Sha256Digest, announcementId: Long, index: Int, used: Boolean) extends Product with Serializable
This table is for mapping announcements to DLCs, as well as, some contains DLC specific data about the announcement.
- case class DLCAnnouncementPrimaryKey(dlcId: Sha256Digest, announcementId: Long) extends Product with Serializable
- case class DLCCETSignaturesDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCCETSignaturesDb, DLCCETSignaturesPrimaryKey] with SlickUtil[DLCCETSignaturesDb, DLCCETSignaturesPrimaryKey] with DLCIdDaoUtilNoPK[DLCCETSignaturesDb] with Product with Serializable
- case class DLCCETSignaturesDb(dlcId: Sha256Digest, index: Long, sigPoint: ECPublicKey, accepterSig: ECAdaptorSignature, initiatorSig: Option[ECAdaptorSignature]) extends Product with Serializable
- case class DLCCETSignaturesPrimaryKey(dlcId: Sha256Digest, contractIndex: Long) extends Product with Serializable
- sealed trait DLCClosedDbState extends DLCDbState
Represents a DLC in the database that has been fully setup and settled
- case class DLCContactDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCContactDb, InetSocketAddress] with SlickUtil[DLCContactDb, InetSocketAddress] with Product with Serializable
- case class DLCContractDataDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCContractDataDb, Sha256Digest] with SlickUtil[DLCContractDataDb, Sha256Digest] with DLCIdDaoUtil[DLCContractDataDb, Sha256Digest] with Product with Serializable
- case class DLCContractDataDb(dlcId: Sha256Digest, oracleThreshold: Int, oracleParamsTLVOpt: Option[OracleParamsV0TLV], contractDescriptorTLV: ContractDescriptorTLV, contractMaturity: BlockTimeStamp, contractTimeout: BlockTimeStamp, totalCollateral: CurrencyUnit) extends Product with Serializable
This table contains all the meta information about a DLC.
This table contains all the meta information about a DLC. This includes various identifiers as well as state and a BIP 32 key path.
- case class DLCDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCDb, Sha256Digest] with SlickUtil[DLCDb, Sha256Digest] with DLCIdDaoUtil[DLCDb, Sha256Digest] with Product with Serializable
- case class DLCDAOs(announcementDAO: OracleAnnouncementDataDAO, nonceDAO: OracleNonceDAO, dlcAnnouncementDAO: DLCAnnouncementDAO, dlcDAO: DLCDAO, contractDataDAO: DLCContractDataDAO, dlcOfferDAO: DLCOfferDAO, dlcAcceptDAO: DLCAcceptDAO, dlcInputsDAO: DLCFundingInputDAO, dlcSigsDAO: DLCCETSignaturesDAO, dlcRefundSigDAO: DLCRefundSigsDAO, dlcRemoteTxDAO: DLCRemoteTxDAO, incomingDLCOfferDAO: IncomingDLCOfferDAO, contactDAO: DLCContactDAO) extends Product with Serializable
- sealed trait DLCDbState extends AnyRef
Super trait to represent the state of a DLC in the database
- case class DLCExecutorWithSetup(executor: DLCExecutor, setup: SetupDLC) extends Product with Serializable
- case class DLCFundingInputDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCFundingInputDb, TransactionOutPoint] with SlickUtil[DLCFundingInputDb, TransactionOutPoint] with DLCIdDaoUtilNoPK[DLCFundingInputDb] with Product with Serializable
- case class DLCFundingInputDb(dlcId: Sha256Digest, isInitiator: Boolean, index: Int, inputSerialId: UInt64, outPoint: TransactionOutPoint, output: TransactionOutput, nSequence: UInt32, maxWitnessLength: Long, redeemScriptOpt: Option[ScriptPubKey], witnessScriptOpt: Option[ScriptWitness]) extends Product with Serializable
- trait DLCIdDaoUtil[T, PrimaryKeyType] extends AnyRef
Helper methods for querying by dlcId whne the dlcId is the primary key on the table
- trait DLCIdDaoUtilNoPK[T] extends AnyRef
Helper methods for querying by dlcId when the dlcId is not a primary key on the table
- case class DLCOfferDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCOfferDb, Sha256Digest] with SlickUtil[DLCOfferDb, Sha256Digest] with DLCIdDaoUtil[DLCOfferDb, Sha256Digest] with Product with Serializable
- case class DLCOfferDb(dlcId: Sha256Digest, fundingKey: ECPublicKey, payoutAddress: BitcoinAddress, payoutSerialId: UInt64, collateral: CurrencyUnit, changeAddress: BitcoinAddress, changeSerialId: UInt64) extends Product with Serializable
- case class DLCRefundSigsDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[DLCRefundSigsDb, Sha256Digest] with SlickUtil[DLCRefundSigsDb, Sha256Digest] with DLCIdDaoUtil[DLCRefundSigsDb, Sha256Digest] with Product with Serializable
- case class DLCRefundSigsDb(dlcId: Sha256Digest, accepterSig: PartialSignature[ECDigitalSignature], initiatorSig: Option[PartialSignature[ECDigitalSignature]]) extends Product with Serializable
- case class DLCRemoteTxDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[TransactionDb, DoubleSha256DigestBE] with TxDAO[TransactionDb] with Product with Serializable
- sealed trait DLCSetupDbState extends DLCDbState
Represents a DLC in the database that has not had its funding transaction published.
Represents a DLC in the database that has not had its funding transaction published. This means we are still setting up the DLC
- case class DLCWalletDAOs(dlcDAO: DLCDAO, contractDataDAO: DLCContractDataDAO, dlcAnnouncementDAO: DLCAnnouncementDAO, dlcInputsDAO: DLCFundingInputDAO, dlcOfferDAO: DLCOfferDAO, dlcAcceptDAO: DLCAcceptDAO, dlcSigsDAO: DLCCETSignaturesDAO, dlcRefundSigDAO: DLCRefundSigsDAO, oracleNonceDAO: OracleNonceDAO, oracleAnnouncementDAO: OracleAnnouncementDataDAO, dlcRemoteTxDAO: DLCRemoteTxDAO, incomingDLCOfferDAO: IncomingDLCOfferDAO, contactDAO: DLCContactDAO) extends Product with Serializable
- case class IncomingDLCOfferDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[IncomingDLCOfferDb, Sha256Digest] with SlickUtil[IncomingDLCOfferDb, Sha256Digest] with Product with Serializable
- case class InitializedAccept(dlc: DLCDb, offerDb: DLCOfferDb, acceptDb: DLCAcceptDb, fundingInputsDb: Vector[DLCFundingInputDb], pubKeys: DLCPublicKeys, contractDataDb: DLCContractDataDb, acceptWithoutSigs: DLCAcceptWithoutSigs) extends Product with Serializable
- case class OfferedDbState(dlcDb: DLCDb, contractDataDb: DLCContractDataDb, contractInfo: ContractInfo, offerDb: DLCOfferDb, offerFundingInputsDb: Vector[DLCFundingInputDb], offerPrevTxs: Vector[TransactionDb]) extends DLCSetupDbState with Product with Serializable
- case class OracleAnnouncementDataDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUDAutoInc[OracleAnnouncementDataDb] with Product with Serializable
- case class OracleAnnouncementDataDb(id: Option[Long], announcementSignature: SchnorrDigitalSignature, publicKey: SchnorrPublicKey, signingPublicKey: SchnorrPublicKey, eventId: String, eventDescriptor: EventDescriptorTLV, eventMaturity: UInt32) extends DbRowAutoInc[OracleAnnouncementDataDb] with Product with Serializable
- case class OracleNonceDAO()(implicit ec: ExecutionContext, appConfig: DLCAppConfig) extends CRUD[OracleNonceDb, OracleNoncePrimaryKey] with SlickUtil[OracleNonceDb, OracleNoncePrimaryKey] with Product with Serializable
- case class OracleNonceDb(announcementId: Long, index: Long, announcementSignature: SchnorrDigitalSignature, nonce: SchnorrNonce, signatureOpt: Option[SchnorrDigitalSignature], outcomeOpt: Option[String]) extends Product with Serializable
- case class OracleNoncePrimaryKey(announcementId: Long, index: Long) extends Product with Serializable
- sealed trait SetupCompleteDLCDbState extends DLCSetupDbState
Shared data structured when we have all information to build a funding transaction for a discreet log contract
- case class SignDbState(dlcDb: DLCDb, contractDataDb: DLCContractDataDb, contractInfo: ContractInfo, offerDb: DLCOfferDb, acceptDb: DLCAcceptDb, offerFundingInputsDb: Vector[DLCFundingInputDb], offerPrevTxs: Vector[TransactionDb], acceptFundingInputsDb: Vector[DLCFundingInputDb], acceptPrevTxs: Vector[TransactionDb], refundSigDb: DLCRefundSigsDb, cetSigsOpt: Option[Vector[DLCCETSignaturesDb]]) extends SetupCompleteDLCDbState with Product with Serializable
Value Members
- object DLCAcceptDbHelper
- object DLCClosedDbState
- object DLCOfferDbHelper
- object DLCWalletDAOs extends Serializable
- object IncomingDLCOfferDbHelper
- object OracleAnnouncementDbHelper
- object OracleNonceDbHelper