Packages

package crypto

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed abstract class CryptoInterpreter extends AnyRef

    Created by chris on 1/6/16.

  2. sealed trait CryptoOperation extends constant.ScriptOperation

    Created by chris on 1/6/16.

    Created by chris on 1/6/16. Represents an operation where a cryptographic function is applied

  3. sealed trait CryptoSignatureEvaluation extends CryptoOperation

    Represents an operation where ECDSA signatures are evaluated.

  4. trait CryptoSignatureEvaluationFactory extends ScriptOperationFactory[CryptoSignatureEvaluation]

    Created by chris on 3/24/16.

  5. case class TapscriptChecksigHelper(pubKey: XOnlyPubKey, signature: SchnorrDigitalSignature, hashType: HashType, restOfStack: List[ScriptToken]) extends Product with Serializable

Value Members

  1. object CryptoInterpreter extends CryptoInterpreter
  2. object CryptoOperation extends ScriptOperationFactory[CryptoOperation]
  3. object CryptoSignatureEvaluationFactory extends CryptoSignatureEvaluationFactory
  4. case object OP_CHECKMULTISIG extends CryptoSignatureEvaluation with Product with Serializable

    Compares the first signature against each public key until it finds an ECDSA match.

    Compares the first signature against each public key until it finds an ECDSA match. Starting with the subsequent public key, it compares the second signature against each remaining public key until it finds an ECDSA match. The process is repeated until all signatures have been checked or not enough public keys remain to produce a successful result. All signatures need to match a public key. Because public keys are not checked again if they fail any signature comparison, signatures must be placed in the scriptSig using the same order as their corresponding public keys were placed in the scriptPubKey or redeemScript. If all signatures are valid, 1 is returned, 0 otherwise. Due to a bug, one extra unused value is removed from the stack.

  5. case object OP_CHECKMULTISIGVERIFY extends CryptoSignatureEvaluation with Product with Serializable

    Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.

  6. case object OP_CHECKSIG extends CryptoSignatureEvaluation with Product with Serializable

    The entire transaction's outputs, inputs, and script (from the most recently-executed OP_CODESEPARATOR to the end) are hashed.

    The entire transaction's outputs, inputs, and script (from the most recently-executed OP_CODESEPARATOR to the end) are hashed. The signature used by OP_CHECKSIG must be a valid signature for this hash and public key. If it is, 1 is returned, 0 otherwise.

  7. case object OP_CHECKSIGADD extends CryptoSignatureEvaluation with Product with Serializable

    Opcode added in taproot soft fork

    Opcode added in taproot soft fork

    See also

    https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#rules-for-signature-opcodes

  8. case object OP_CHECKSIGVERIFY extends CryptoSignatureEvaluation with Product with Serializable

    Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.

  9. case object OP_CODESEPARATOR extends CryptoOperation with Product with Serializable

    All of the signature checking words will only match signatures to the data after the most recently-executed OP_CODESEPARATOR.

  10. case object OP_HASH160 extends CryptoOperation with Product with Serializable

    The input is hashed twice: first with SHA-256 and then with RIPEMD-160.

  11. case object OP_HASH256 extends CryptoOperation with Product with Serializable

    The input is hashed two times with SHA-256.

  12. case object OP_RIPEMD160 extends CryptoOperation with Product with Serializable

    The input is hashed using RIPEMD-160.

  13. case object OP_SHA1 extends CryptoOperation with Product with Serializable

    The input is hashed using SHA-1.

  14. case object OP_SHA256 extends CryptoOperation with Product with Serializable

    The input is hashed using SHA-256.

Ungrouped