Script

object Script
class Object
trait Matchable
class Any
Script.type

Type members

Classlikes

case class Context(tx: Transaction, inputIndex: Int, amount: Satoshi)

Execution context of a tx script. A script is always executed in the "context" of a transaction that is being verified.

Execution context of a tx script. A script is always executed in the "context" of a transaction that is being verified.

Value parameters:
inputIndex

0-based index of the tx input that is being processed

tx

transaction that is being verified

Source:
Script.scala
class Runner(context: Context, scriptFlag: Int, callback: Option[Callback])

Bitcoin script runner

Bitcoin script runner

Value parameters:
callback

optional callback

context

script execution context

scriptFlag

script flags

Companion:
object
Source:
Script.scala
object Runner
Companion:
class
Source:
Script.scala

Types

Value members

Concrete methods

def checkLockTime(lockTime: Long, tx: Transaction, inputIndex: Int): Boolean
def checkSequence(sequence: Long, tx: Transaction, inputIndex: Int): Boolean
def cost(op: ScriptElt): Int

Creates a m-of-n multisig script.

Creates a m-of-n multisig script.

Value parameters:
m

is the number of required signatures

pubkeys

are the public keys signatures will be checked against (there should be at least as many public keys as required signatures)

Returns:

a multisig redeem script

Source:
Script.scala
def decodeNumber(input: ByteVector, checkMinimalEncoding: Boolean, maximumSize: Int): Long
def parse(input: InputStream, stack: Vector[ScriptElt]): List[ScriptElt]

parse a script from a input stream of binary data

parse a script from a input stream of binary data

Value parameters:
input

input stream

stack

initial command stack

Returns:

an updated command stack

Source:
Script.scala
def pay2pkh(pubKeyHash: ByteVector): Seq[ScriptElt]
Value parameters:
pubKeyHash

public key hash

Returns:

a pay-to-public-key-hash script

Source:
Script.scala
Value parameters:
pubKey

public key

Returns:

a pay-to-public-key-hash script

Source:
Script.scala
def pay2sh(script: Seq[ScriptElt]): Seq[ScriptElt]
Value parameters:
script

bitcoin script

Returns:

a pay-to-script script

Source:
Script.scala
Value parameters:
script

bitcoin script

Returns:

a pay-to-script script

Source:
Script.scala
def pay2wpkh(pubKeyHash: ByteVector): Seq[ScriptElt]
Value parameters:
pubKeyHash

public key hash

Returns:

a pay-to-witness-public-key-hash script

Source:
Script.scala
Value parameters:
pubKey

public key

Returns:

a pay-to-witness-public-key-hash script

Source:
Script.scala
Value parameters:
script

bitcoin script

Returns:

a pay-to-witness-script script

Source:
Script.scala
Value parameters:
script

bitcoin script

Returns:

a pay-to-witness-script script

Source:
Script.scala

extract a public key from a signature script

extract a public key from a signature script

Value parameters:
script

signature script

Returns:

the public key wrapped in the script

Source:
Script.scala

extract a public key hash from a public key script

extract a public key hash from a public key script

Value parameters:
script

public key script

Returns:

the public key hash wrapped in the script

Source:
Script.scala
Value parameters:
pubKeys

are the public keys signatures will be checked against.

sigs

are the signatures for a subset of the public keys.

Returns:

script witness for the pay-to-witness-script-hash script containing a multisig script.

Source:
Script.scala
Value parameters:
pubKey

public key

sig

signature matching the public key

Returns:

script witness for the corresponding pay-to-witness-public-key-hash script

Source:
Script.scala
def write(script: Seq[ScriptElt], out: OutputStream): Unit