object DLCUtil
- Alphabetic
- By Inheritance
- DLCUtil
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def buildOracleSignatures(announcements: OrderedAnnouncements, attestments: Vector[OracleAttestmentTLV]): Vector[OracleSignatures]
Builds a set of oracle signatures from given announcements and attestations.
Builds a set of oracle signatures from given announcements and attestations. This method discards attestments that do not have a matching announcement. Those attestments are not included in the returned set of OracleSignatures
- def buildOracleSignaturesNaive(announcements: OrderedAnnouncements, attestments: Vector[OracleAttestmentTLV]): Vector[OracleSignatures]
- def calcContractId(offer: DLCOffer, acceptWithoutSigs: DLCAcceptWithoutSigs): ByteVector
- def calcContractId(offer: DLCOffer, accept: DLCAccept): ByteVector
- def calcDLCPubKeys(xpub: ExtPublicKey, chainType: HDChainType, keyIndex: Int, networkParameters: NetworkParameters, externalPayoutAddressOpt: Option[BitcoinAddress]): DLCPublicKeys
Calculates a DLCPublicKeys from the wallet's BIP39KeyManager
- def checkOracleSignaturesAgainstContract(contractInfo: ContractInfo, oracleSigs: Vector[OracleSignatures]): Boolean
Checks that the oracles signatures given to us are correct Things we need to check
Checks that the oracles signatures given to us are correct Things we need to check
- We have all the oracle signatures 2. The oracle signatures are for one of the contracts in the ContractInfo
- See also
https://github.com/bitcoin-s/bitcoin-s/issues/4032
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def computeContractId(fundingTx: Transaction, outputIdx: Int, tempContractId: Sha256Digest): ByteVector
- fundingTx
the transaction that contains the DLC funding output
- outputIdx
the index of the output
- tempContractId
the temporary contractId in the offer message
- See also
https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#definition-of-contract_id
- def computeContractId(fundingTxId: DoubleSha256DigestBE, outputIdx: Int, tempContractId: Sha256Digest): ByteVector
- fundingTxId
the id of the transaction that contains the DLC funding output
- outputIdx
the index of the output
- tempContractId
the temporary contractId in the offer message
- See also
https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md#definition-of-contract_id
- def computeOutcome(isInitiator: Boolean, offerFundingKey: ECPublicKey, acceptFundingKey: ECPublicKey, contractInfo: ContractInfo, localAdaptorSigs: Vector[(ECPublicKey, ECAdaptorSignature)], cet: WitnessTransaction): Option[(SchnorrDigitalSignature, OracleOutcome)]
- def computeOutcome(completedSig: ECDigitalSignature, possibleAdaptorSigs: Vector[(ECPublicKey, ECAdaptorSignature)]): Option[(FieldElement, ECPublicKey)]
Given a ECDigitalSignature we found on the blockchain, and the set of possible adaptor signatures we have stored locally in our wallet we reverse engineer the actual outcome our counterparty broadcast
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def matchOracleSignatures(announcements: Vector[OracleAnnouncementTLV], oracleSignatures: Vector[OracleSignatures]): Option[OracleSignatures]
- def matchOracleSignatures(contractInfo: SingleContractInfo, oracleSignatures: Vector[OracleSignatures]): Option[OracleSignatures]
Matches a SingleContractInfo to its oracle's signatures
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()