Skip to main content

OpCode

scrypt-ts / OpCode

Class: OpCode

Opcodes used in [Bitcoin Script][https://wiki.bitcoinsv.io/index.php/Opcodes_used_in_Bitcoin_Script](https://wiki.bitcoinsv.io/index.php/Opcodes_used_in_Bitcoin_Script)

Table of contents

Constructors

Properties

Constructors

constructor

new OpCode()

Properties

OP_0

Static Readonly OP_0: OpCodeType

An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)

Name

OP_0

Constant

OpCodeType('00')

Defined in

dist/smart-contract/builtins/functions.d.ts:170


OP_0NOTEQUAL

Static Readonly OP_0NOTEQUAL: OpCodeType

Returns 0 if the input is 0. 1 otherwise.

Name

OP_0NOTEQUAL

Constant

OpCodeType('92')

Defined in

dist/smart-contract/builtins/functions.d.ts:648


OP_1

Static Readonly OP_1: OpCodeType

The number 1 is pushed onto the stack.

Name

OP_1

Constant

OpCodeType('51')

Defined in

dist/smart-contract/builtins/functions.d.ts:212


OP_10

Static Readonly OP_10: OpCodeType

The number 10 is pushed onto the stack.

Name

OP_10

Constant

OpCodeType('5a')

Defined in

dist/smart-contract/builtins/functions.d.ts:272


OP_11

Static Readonly OP_11: OpCodeType

The number 11 is pushed onto the stack.

Name

OP_11

Constant

OpCodeType('5b')

Defined in

dist/smart-contract/builtins/functions.d.ts:278


OP_12

Static Readonly OP_12: OpCodeType

The number 12 is pushed onto the stack.

Name

OP_12

Constant

OpCodeType('5c')

Defined in

dist/smart-contract/builtins/functions.d.ts:284


OP_13

Static Readonly OP_13: OpCodeType

The number 13 is pushed onto the stack.

Name

OP_13

Constant

OpCodeType('5d')

Defined in

dist/smart-contract/builtins/functions.d.ts:290


OP_14

Static Readonly OP_14: OpCodeType

The number 14 is pushed onto the stack.

Name

OP_14

Constant

OpCodeType('5e')

Defined in

dist/smart-contract/builtins/functions.d.ts:296


OP_15

Static Readonly OP_15: OpCodeType

The number 15 is pushed onto the stack.

Name

OP_15

Constant

OpCodeType('5f')

Defined in

dist/smart-contract/builtins/functions.d.ts:302


OP_16

Static Readonly OP_16: OpCodeType

The number 16 is pushed onto the stack.

Name

OP_16

Constant

OpCodeType('60')

Defined in

dist/smart-contract/builtins/functions.d.ts:308


OP_1ADD

Static Readonly OP_1ADD: OpCodeType

1 is added to the input.

Name

OP_1ADD

Constant

OpCodeType('8b')

Defined in

dist/smart-contract/builtins/functions.d.ts:606


OP_1NEGATE

Static Readonly OP_1NEGATE: OpCodeType

The number -1 is pushed onto the stack.

Name

OP_1NEGATE

Constant

OpCodeType('4f')

Defined in

dist/smart-contract/builtins/functions.d.ts:200


OP_1SUB

Static Readonly OP_1SUB: OpCodeType

1 is subtracted from the input.

Name

OP_1SUB

Constant

OpCodeType('8c')

Defined in

dist/smart-contract/builtins/functions.d.ts:612


OP_2

Static Readonly OP_2: OpCodeType

The number 2 is pushed onto the stack.

Name

OP_2

Constant

OpCodeType('52')

Defined in

dist/smart-contract/builtins/functions.d.ts:224


OP_2DIV

Static Readonly OP_2DIV: OpCodeType

The input is divided by 2. DISABLED now. (This opcode is scheduled to be re-enabled in the Chronicle update)

Name

OP_2DIV

Constant

OpCodeType('8e')

Defined in

dist/smart-contract/builtins/functions.d.ts:624


OP_2DROP

Static Readonly OP_2DROP: OpCodeType

Removes the top two stack items.

Name

OP_2DROP

Constant

OpCodeType('6d')

Defined in

dist/smart-contract/builtins/functions.d.ts:426


OP_2DUP

Static Readonly OP_2DUP: OpCodeType

Duplicates the top two stack items.

Name

OP_2DUP

Constant

OpCodeType('6e')

Defined in

dist/smart-contract/builtins/functions.d.ts:432


OP_2MUL

Static Readonly OP_2MUL: OpCodeType

The input is multiplied by 2. DISABLED now. (This opcode is scheduled to be re-enabled in the Chronicle update)

Name

OP_2MUL

Constant

OpCodeType('8d')

Defined in

dist/smart-contract/builtins/functions.d.ts:618


OP_2OVER

Static Readonly OP_2OVER: OpCodeType

Copies the pair of items two spaces back in the stack to the front.

Name

OP_2OVER

Constant

OpCodeType('70')

Defined in

dist/smart-contract/builtins/functions.d.ts:444


OP_2ROT

Static Readonly OP_2ROT: OpCodeType

The fifth and sixth items back are moved to the top of the stack.

Name

OP_2ROT

Constant

OpCodeType('71')

Defined in

dist/smart-contract/builtins/functions.d.ts:450


OP_2SWAP

Static Readonly OP_2SWAP: OpCodeType

Swaps the top two pairs of items.

Name

OP_2SWAP

Constant

OpCodeType('72')

Defined in

dist/smart-contract/builtins/functions.d.ts:456


OP_3

Static Readonly OP_3: OpCodeType

The number 3 is pushed onto the stack.

Name

OP_3

Constant

OpCodeType('53')

Defined in

dist/smart-contract/builtins/functions.d.ts:230


OP_3DUP

Static Readonly OP_3DUP: OpCodeType

Duplicates the top three stack items.

Name

OP_3DUP

Constant

OpCodeType('6f')

Defined in

dist/smart-contract/builtins/functions.d.ts:438


OP_4

Static Readonly OP_4: OpCodeType

The number 4 is pushed onto the stack.

Name

OP_4

Constant

OpCodeType('54')

Defined in

dist/smart-contract/builtins/functions.d.ts:236


OP_5

Static Readonly OP_5: OpCodeType

The number 5 is pushed onto the stack.

Name

OP_5

Constant

OpCodeType('55')

Defined in

dist/smart-contract/builtins/functions.d.ts:242


OP_6

Static Readonly OP_6: OpCodeType

The number 6 is pushed onto the stack.

Name

OP_6

Constant

OpCodeType('56')

Defined in

dist/smart-contract/builtins/functions.d.ts:248


OP_7

Static Readonly OP_7: OpCodeType

The number 7 is pushed onto the stack.

Name

OP_7

Constant

OpCodeType('57')

Defined in

dist/smart-contract/builtins/functions.d.ts:254


OP_8

Static Readonly OP_8: OpCodeType

The number 8 is pushed onto the stack.

Name

OP_8

Constant

OpCodeType('58')

Defined in

dist/smart-contract/builtins/functions.d.ts:260


OP_9

Static Readonly OP_9: OpCodeType

The number 9 is pushed onto the stack.

Name

OP_9

Constant

OpCodeType('59')

Defined in

dist/smart-contract/builtins/functions.d.ts:266


OP_ABS

Static Readonly OP_ABS: OpCodeType

The input is made positive.

Name

OP_ABS

Constant

OpCodeType('90')

Defined in

dist/smart-contract/builtins/functions.d.ts:636


OP_ADD

Static Readonly OP_ADD: OpCodeType

a is added to b.

Name

OP_ADD

Constant

OpCodeType('93')

Defined in

dist/smart-contract/builtins/functions.d.ts:654


OP_AND

Static Readonly OP_AND: OpCodeType

Boolean and between each bit in the inputs.

Name

OP_AND

Constant

OpCodeType('84')

Defined in

dist/smart-contract/builtins/functions.d.ts:564


OP_BIN2NUM

Static Readonly OP_BIN2NUM: OpCodeType

Converts byte sequence x into a numeric value.

Name

OP_BIN2NUM

Constant

OpCodeType('81')

Defined in

dist/smart-contract/builtins/functions.d.ts:546


OP_BOOLAND

Static Readonly OP_BOOLAND: OpCodeType

If both a and b are not 0, the output is 1. Otherwise 0.

Name

OP_BOOLAND

Constant

OpCodeType('9a')

Defined in

dist/smart-contract/builtins/functions.d.ts:696


OP_BOOLOR

Static Readonly OP_BOOLOR: OpCodeType

If a or b is not 0, the output is 1. Otherwise 0.

Name

OP_BOOLOR

Constant

OpCodeType('9b')

Defined in

dist/smart-contract/builtins/functions.d.ts:702


OP_CAT

Static Readonly OP_CAT: OpCodeType

Concatenates two strings.

Name

OP_CAT

Constant

OpCodeType('7e')

Defined in

dist/smart-contract/builtins/functions.d.ts:528


OP_CHECKMULTISIG

Static Readonly OP_CHECKMULTISIG: OpCodeType

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, an extra unused value (x) is removed from the stack. Script spenders must account for this by adding a junk value (typically zero) to the stack.

Name

OP_CHECKMULTISIG

Constant

OpCodeType('ae')

Defined in

dist/smart-contract/builtins/functions.d.ts:818


OP_CHECKMULTISIGVERIFY

Static Readonly OP_CHECKMULTISIGVERIFY: OpCodeType

Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.

Name

OP_CHECKMULTISIGVERIFY

Constant

OpCodeType('af')

Defined in

dist/smart-contract/builtins/functions.d.ts:824


OP_CHECKSIG

Static Readonly OP_CHECKSIG: OpCodeType

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

Name

OP_CHECKSIG

Constant

OpCodeType('ac')

Defined in

dist/smart-contract/builtins/functions.d.ts:806


OP_CHECKSIGVERIFY

Static Readonly OP_CHECKSIGVERIFY: OpCodeType

Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.

Name

OP_CHECKSIGVERIFY

Constant

OpCodeType('ad')

Defined in

dist/smart-contract/builtins/functions.d.ts:812


OP_CODESEPARATOR

Static Readonly OP_CODESEPARATOR: OpCodeType

All of the signature checking words will only match signatures to the data after the most recently-executed [OP_CODESEPARATOR][https://wiki.bitcoinsv.io/index.php/OP_CODESEPARATOR](https://wiki.bitcoinsv.io/index.php/OP_CODESEPARATOR).

Name

OP_CODESEPARATOR

Constant

OpCodeType('ab')

Defined in

dist/smart-contract/builtins/functions.d.ts:799


OP_DEPTH

Static Readonly OP_DEPTH: OpCodeType

Counts the number of stack items onto the stack and places the value on the top

Name

OP_DEPTH

Constant

OpCodeType('74')

Defined in

dist/smart-contract/builtins/functions.d.ts:468


OP_DIV

Static Readonly OP_DIV: OpCodeType

a is divided by b.

Name

OP_DIV

Constant

OpCodeType('96')

Defined in

dist/smart-contract/builtins/functions.d.ts:672


OP_DROP

Static Readonly OP_DROP: OpCodeType

Removes the top stack item.

Name

OP_DROP

Constant

OpCodeType('75')

Defined in

dist/smart-contract/builtins/functions.d.ts:474


OP_DUP

Static Readonly OP_DUP: OpCodeType

Duplicates the top stack item.

Name

OP_DUP

Constant

OpCodeType('76')

Defined in

dist/smart-contract/builtins/functions.d.ts:480


OP_ELSE

Static Readonly OP_ELSE: OpCodeType

If the preceding IF or NOTIF check was not valid then statement 2 is executed.

Name

OP_ELSE

Constant

OpCodeType('67')

Example

`[expression] IF
[statement 1]
ELSE
[statement 2]
ENDIF`

Defined in

dist/smart-contract/builtins/functions.d.ts:383


OP_ENDIF

Static Readonly OP_ENDIF: OpCodeType

Ends an if/else block. All blocks must end, or the transaction is invalid. An OP_ENDIF without a prior matching OP_IF or OP_NOTIF is also invalid.

Name

OP_ENDIF

Constant

OpCodeType('68')

Example

`[expression] IF
[statement 1]
ELSE
[statement 2]
ENDIF`

Defined in

dist/smart-contract/builtins/functions.d.ts:396


OP_EQUAL

Static Readonly OP_EQUAL: OpCodeType

Returns 1 if the inputs are exactly equal, 0 otherwise.

Name

OP_EQUAL

Constant

OpCodeType('87')

Defined in

dist/smart-contract/builtins/functions.d.ts:582


OP_EQUALVERIFY

Static Readonly OP_EQUALVERIFY: OpCodeType

Same as OP_EQUAL, but runs OP_VERIFY afterward.

Name

OP_EQUALVERIFY

Constant

OpCodeType('88')

Defined in

dist/smart-contract/builtins/functions.d.ts:588


OP_FALSE

Static Readonly OP_FALSE: OpCodeType

An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)

Name

OP_FALSE

Constant

OpCodeType('00')

Defined in

dist/smart-contract/builtins/functions.d.ts:176


OP_FROMALTSTACK

Static Readonly OP_FROMALTSTACK: OpCodeType

Puts the input onto the top of the main stack. Removes it from the alt stack.

Name

OP_FROMALTSTACK

Constant

OpCodeType('6c')

Defined in

dist/smart-contract/builtins/functions.d.ts:420


OP_GREATERTHAN

Static Readonly OP_GREATERTHAN: OpCodeType

Returns 1 if a is greater than b, 0 otherwise.

Name

OP_GREATERTHAN

Constant

OpCodeType('a0')

Defined in

dist/smart-contract/builtins/functions.d.ts:732


OP_GREATERTHANOREQUAL

Static Readonly OP_GREATERTHANOREQUAL: OpCodeType

Returns 1 if a is greater than or equal to b, 0 otherwise.

Name

OP_GREATERTHANOREQUAL

Constant

OpCodeType('a2')

Defined in

dist/smart-contract/builtins/functions.d.ts:744


OP_HASH160

Static Readonly OP_HASH160: OpCodeType

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

Name

OP_HASH160

Constant

OpCodeType('a9')

Defined in

dist/smart-contract/builtins/functions.d.ts:786


OP_HASH256

Static Readonly OP_HASH256: OpCodeType

The input is hashed two times with SHA-256.

Name

OP_HASH256

Constant

OpCodeType('aa')

Defined in

dist/smart-contract/builtins/functions.d.ts:792


OP_IF

Static Readonly OP_IF: OpCodeType

If the top stack value is TRUE, statement 1 is executed. If the top stack value is FALSE and ELSE is used, statement 2 is executed. If ELSE is NOT used, the script jumps to ENDIF. The top stack value is removed.

Deprecated

Name

OP_IF

Constant

OpCodeType('63')

Example

`[expression] IF
[statement 1]
ENDIF`
OR
`[expression] IF
[statement 1]
ELSE
[statement 2]
ENDIF`

Defined in

dist/smart-contract/builtins/functions.d.ts:340


OP_IFDUP

Static Readonly OP_IFDUP: OpCodeType

If the top stack value is not 0, duplicate it.

Name

OP_IFDUP

Constant

OpCodeType('73')

Defined in

dist/smart-contract/builtins/functions.d.ts:462


OP_INVALIDOPCODE

Static Readonly OP_INVALIDOPCODE: OpCodeType

Matches any opcode that is not yet assigned. The word is used internally for assisting with transaction matching. They are invalid if used in actual scripts.

Name

OP_PUBKEY

Constant

OpCodeType('ff')

Defined in

dist/smart-contract/builtins/functions.d.ts:902


OP_INVERT

Static Readonly OP_INVERT: OpCodeType

Flips all of the bits in the input.

Name

OP_INVERT

Constant

OpCodeType('83')

Defined in

dist/smart-contract/builtins/functions.d.ts:558


OP_LESSTHAN

Static Readonly OP_LESSTHAN: OpCodeType

Returns 1 if a is less than b, 0 otherwise.

Name

OP_LESSTHAN

Constant

OpCodeType('9f')

Defined in

dist/smart-contract/builtins/functions.d.ts:726


OP_LESSTHANOREQUAL

Static Readonly OP_LESSTHANOREQUAL: OpCodeType

Returns 1 if a is less than or equal to b, 0 otherwise.

Name

OP_LESSTHANOREQUAL

Constant

OpCodeType('a1')

Defined in

dist/smart-contract/builtins/functions.d.ts:738


OP_LSHIFT

Static Readonly OP_LSHIFT: OpCodeType

Logical left shift b bits. Sign data is discarded

Name

OP_LSHIFT

Constant

OpCodeType('98')

Defined in

dist/smart-contract/builtins/functions.d.ts:684


OP_MAX

Static Readonly OP_MAX: OpCodeType

Returns the larger of a and b.

Name

OP_MAX

Constant

OpCodeType('a4')

Defined in

dist/smart-contract/builtins/functions.d.ts:756


OP_MIN

Static Readonly OP_MIN: OpCodeType

Returns the smaller of a and b.

Name

OP_MIN

Constant

OpCodeType('a3')

Defined in

dist/smart-contract/builtins/functions.d.ts:750


OP_MOD

Static Readonly OP_MOD: OpCodeType

Returns the remainder after dividing a by b.

Name

OP_MOD

Constant

OpCodeType('97')

Defined in

dist/smart-contract/builtins/functions.d.ts:678


OP_MUL

Static Readonly OP_MUL: OpCodeType

a is multiplied by b.

Name

OP_MUL

Constant

OpCodeType('95')

Defined in

dist/smart-contract/builtins/functions.d.ts:666


OP_NEGATE

Static Readonly OP_NEGATE: OpCodeType

The sign of the input is flipped.

Name

OP_NEGATE

Constant

OpCodeType('8f')

Defined in

dist/smart-contract/builtins/functions.d.ts:630


OP_NIP

Static Readonly OP_NIP: OpCodeType

Removes the second-to-top stack item.

Name

OP_NIP

Constant

OpCodeType('77')

Defined in

dist/smart-contract/builtins/functions.d.ts:486


OP_NOP

Static Readonly OP_NOP: OpCodeType

Does nothing.

Name

OP_NOP

Constant

OpCodeType('61')

Defined in

dist/smart-contract/builtins/functions.d.ts:314


OP_NOP1

Static Readonly OP_NOP1: OpCodeType

No operation. The word is ignored.

Name

OP_NOP1

Constant

OpCodeType('b0')

Defined in

dist/smart-contract/builtins/functions.d.ts:830


OP_NOP10

Static Readonly OP_NOP10: OpCodeType

No operation. The word is ignored.

Name

OP_NOP10

Constant

OpCodeType('b9')

Defined in

dist/smart-contract/builtins/functions.d.ts:884


OP_NOP2

Static Readonly OP_NOP2: OpCodeType

No operation. The word is ignored. (previously OP_CHECKLOCKTIMEVERIFY)

Name

OP_NOP2

Constant

OpCodeType('b1')

Defined in

dist/smart-contract/builtins/functions.d.ts:836


OP_NOP3

Static Readonly OP_NOP3: OpCodeType

No operation. The word is ignored. (previously OP_CHECKSEQUENCEVERIFY)

Name

OP_NOP3

Constant

OpCodeType('b2')

Defined in

dist/smart-contract/builtins/functions.d.ts:842


OP_NOP4

Static Readonly OP_NOP4: OpCodeType

No operation. The word is ignored.

Name

OP_NOP4

Constant

OpCodeType('b3')

Defined in

dist/smart-contract/builtins/functions.d.ts:848


OP_NOP5

Static Readonly OP_NOP5: OpCodeType

No operation. The word is ignored.

Name

OP_NOP5

Constant

OpCodeType('b4')

Defined in

dist/smart-contract/builtins/functions.d.ts:854


OP_NOP6

Static Readonly OP_NOP6: OpCodeType

No operation. The word is ignored.

Name

OP_NOP6

Constant

OpCodeType('b5')

Defined in

dist/smart-contract/builtins/functions.d.ts:860


OP_NOP7

Static Readonly OP_NOP7: OpCodeType

No operation. The word is ignored.

Name

OP_NOP7

Constant

OpCodeType('b6')

Defined in

dist/smart-contract/builtins/functions.d.ts:866


OP_NOP8

Static Readonly OP_NOP8: OpCodeType

No operation. The word is ignored.

Name

OP_NOP8

Constant

OpCodeType('b7')

Defined in

dist/smart-contract/builtins/functions.d.ts:872


OP_NOP9

Static Readonly OP_NOP9: OpCodeType

No operation. The word is ignored.

Name

OP_NOP9

Constant

OpCodeType('b8')

Defined in

dist/smart-contract/builtins/functions.d.ts:878


OP_NOT

Static Readonly OP_NOT: OpCodeType

If the input is 0 or 1, it is flipped. Otherwise the output will be 0.

Name

OP_NOT

Constant

OpCodeType('91')

Defined in

dist/smart-contract/builtins/functions.d.ts:642


OP_NOTIF

Static Readonly OP_NOTIF: OpCodeType

If the top stack value is FALSE, statement 1 is executed. If the top stack value is TRUE and ELSE is used, statement 2 is executed. If ELSE is NOT used, the script jumps to ENDIF. The top stack value is removed.

Deprecated

Name

OP_NOTIF

Constant

OpCodeType('64')

Example

`[expression] NOTIF
[statement 1]
ENDIF`
OR
`[expression] NOTIF
[statement 1]
ELSE
[statement 2]
ENDIF`

Defined in

dist/smart-contract/builtins/functions.d.ts:359


OP_NUM2BIN

Static Readonly OP_NUM2BIN: OpCodeType

Converts numeric value a into byte sequence of length b.

Name

OP_NUM2BIN

Constant

OpCodeType('80')

Defined in

dist/smart-contract/builtins/functions.d.ts:540


OP_NUMEQUAL

Static Readonly OP_NUMEQUAL: OpCodeType

Returns 1 if the numbers are equal, 0 otherwise.

Name

OP_NUMEQUAL

Constant

OpCodeType('9c')

Defined in

dist/smart-contract/builtins/functions.d.ts:708


OP_NUMEQUALVERIFY

Static Readonly OP_NUMEQUALVERIFY: OpCodeType

Same as OP_NUMEQUAL, but runs OP_VERIFY afterward.

Name

OP_NUMEQUALVERIFY

Constant

OpCodeType('9d')

Defined in

dist/smart-contract/builtins/functions.d.ts:714


OP_NUMNOTEQUAL

Static Readonly OP_NUMNOTEQUAL: OpCodeType

Returns 1 if the numbers are not equal, 0 otherwise.

Name

OP_NUMNOTEQUAL

Constant

OpCodeType('9e')

Defined in

dist/smart-contract/builtins/functions.d.ts:720


OP_OR

Static Readonly OP_OR: OpCodeType

Boolean or between each bit in the inputs.

Name

OP_OR

Constant

OpCodeType('85')

Defined in

dist/smart-contract/builtins/functions.d.ts:570


OP_OVER

Static Readonly OP_OVER: OpCodeType

Copies the second-to-top stack item to the top.

Name

OP_OVER

Constant

OpCodeType('78')

Defined in

dist/smart-contract/builtins/functions.d.ts:492


OP_PICK

Static Readonly OP_PICK: OpCodeType

The item n back in the stack is copied to the top.

Name

OP_PICK

Constant

OpCodeType('79')

Defined in

dist/smart-contract/builtins/functions.d.ts:498


OP_PUBKEY

Static Readonly OP_PUBKEY: OpCodeType

Represents a public key compatible with OP_CHECKSIG. The word is used internally for assisting with transaction matching. They are invalid if used in actual scripts.

Name

OP_PUBKEY

Constant

OpCodeType('fe')

Defined in

dist/smart-contract/builtins/functions.d.ts:896


OP_PUBKEYHASH

Static Readonly OP_PUBKEYHASH: OpCodeType

Represents a public key hashed with OP_HASH160. The word is used internally for assisting with transaction matching. They are invalid if used in actual scripts.

Name

OP_PUBKEYHASH

Constant

OpCodeType('fd')

Defined in

dist/smart-contract/builtins/functions.d.ts:890


OP_PUSHDATA1

Static Readonly OP_PUSHDATA1: OpCodeType

The next byte contains the number of bytes to be pushed onto the stack.

Name

OP_PUSHDATA1

Constant

OpCodeType('4c')

Defined in

dist/smart-contract/builtins/functions.d.ts:182


OP_PUSHDATA2

Static Readonly OP_PUSHDATA2: OpCodeType

The next two bytes contain the number of bytes to be pushed onto the stack in little endian order.

Name

OP_PUSHDATA2

Constant

OpCodeType('4d')

Defined in

dist/smart-contract/builtins/functions.d.ts:188


OP_PUSHDATA4

Static Readonly OP_PUSHDATA4: OpCodeType

The next four bytes contain the number of bytes to be pushed onto the stack in little endian order.

Name

OP_PUSHDATA4

Constant

OpCodeType('4e')

Defined in

dist/smart-contract/builtins/functions.d.ts:194


OP_RESERVED

Static Readonly OP_RESERVED: OpCodeType

Transaction is invalid unless occuring in an unexecuted OP_IF branch

Name

OP_RESERVED

Constant

OpCodeType('50')

Defined in

dist/smart-contract/builtins/functions.d.ts:206


OP_RESERVED1

Static Readonly OP_RESERVED1: OpCodeType

Any opcode not assigned is also reserved. Using an unassigned opcode makes the transaction invalid.

Name

OP_RESERVED1

Constant

OpCodeType('89')

Defined in

dist/smart-contract/builtins/functions.d.ts:594


OP_RESERVED2

Static Readonly OP_RESERVED2: OpCodeType

Any opcode not assigned is also reserved. Using an unassigned opcode makes the transaction invalid.

Name

OP_RESERVED2

Constant

OpCodeType('8a')

Defined in

dist/smart-contract/builtins/functions.d.ts:600


OP_RETURN

Static Readonly OP_RETURN: OpCodeType

OP_RETURN can also be used to create "False Return" outputs with a scriptPubKey consisting of OP_FALSE OP_RETURN followed by data. Such outputs are provably unspendable and should be given a value of zero Satoshis. These outputs can be pruned from storage in the UTXO set, reducing its size. Currently the BitcoinSV network supports multiple FALSE RETURN outputs in a given transaction with each one capable of holding up to 100kB of data. After the Genesis upgrade in 2020 miners will be free to mine transactions containing FALSE RETURN outputs of any size.

Name

OP_RETURN

Constant

OpCodeType('6a')

Defined in

dist/smart-contract/builtins/functions.d.ts:408


OP_RIPEMD160

Static Readonly OP_RIPEMD160: OpCodeType

The input is hashed using RIPEMD-160.

Name

OP_RIPEMD160

Constant

OpCodeType('a6')

Defined in

dist/smart-contract/builtins/functions.d.ts:768


OP_ROLL

Static Readonly OP_ROLL: OpCodeType

The item n back in the stack is moved to the top.

Name

OP_ROLL

Constant

OpCodeType('7a')

Defined in

dist/smart-contract/builtins/functions.d.ts:504


OP_ROT

Static Readonly OP_ROT: OpCodeType

The top three items on the stack are rotated to the left.

Name

OP_ROT

Constant

OpCodeType('7b')

Defined in

dist/smart-contract/builtins/functions.d.ts:510


OP_RSHIFT

Static Readonly OP_RSHIFT: OpCodeType

Logical right shift b bits. Sign data is discarded

Name

OP_RSHIFT

Constant

OpCodeType('99')

Defined in

dist/smart-contract/builtins/functions.d.ts:690


OP_SHA1

Static Readonly OP_SHA1: OpCodeType

The input is hashed using SHA-1.

Name

OP_SHA1

Constant

OpCodeType('a7')

Defined in

dist/smart-contract/builtins/functions.d.ts:774


OP_SHA256

Static Readonly OP_SHA256: OpCodeType

The input is hashed using SHA-256.

Name

OP_SHA256

Constant

OpCodeType('a8')

Defined in

dist/smart-contract/builtins/functions.d.ts:780


OP_SIZE

Static Readonly OP_SIZE: OpCodeType

Pushes the string length of the top element of the stack (without popping it).

Name

OP_SIZE

Constant

OpCodeType('82')

Defined in

dist/smart-contract/builtins/functions.d.ts:552


OP_SPLIT

Static Readonly OP_SPLIT: OpCodeType

Splits byte sequence x at position n.

Name

OP_SPLIT

Constant

OpCodeType('7f')

Defined in

dist/smart-contract/builtins/functions.d.ts:534


OP_SUB

Static Readonly OP_SUB: OpCodeType

b is subtracted from a.

Name

OP_SUB

Constant

OpCodeType('94')

Defined in

dist/smart-contract/builtins/functions.d.ts:660


OP_SWAP

Static Readonly OP_SWAP: OpCodeType

The top two items on the stack are swapped.

Name

OP_SWAP

Constant

OpCodeType('7c')

Defined in

dist/smart-contract/builtins/functions.d.ts:516


OP_TOALTSTACK

Static Readonly OP_TOALTSTACK: OpCodeType

Puts the input onto the top of the alt stack. Removes it from the main stack.

Name

OP_TOALTSTACK

Constant

OpCodeType('6b')

Defined in

dist/smart-contract/builtins/functions.d.ts:414


OP_TRUE

Static Readonly OP_TRUE: OpCodeType

The number 1 is pushed onto the stack.

Name

OP_TRUE

Constant

OpCodeType('51')

Defined in

dist/smart-contract/builtins/functions.d.ts:218


OP_TUCK

Static Readonly OP_TUCK: OpCodeType

The item at the top of the stack is copied and inserted before the second-to-top item.

Name

OP_TUCK

Constant

OpCodeType('7d')

Defined in

dist/smart-contract/builtins/functions.d.ts:522


OP_VER

Static Readonly OP_VER: OpCodeType

Puts the version of the protocol under which this transaction will be evaluated onto the stack.

Deprecated

DISABLED

Name

OP_VER

Constant

OpCodeType('62')

Defined in

dist/smart-contract/builtins/functions.d.ts:321


OP_VERIF

Static Readonly OP_VERIF: OpCodeType

Name

OP_VERIF

Constant

OpCodeType('65')

Deprecated

DISABLED

Defined in

dist/smart-contract/builtins/functions.d.ts:365


OP_VERIFY

Static Readonly OP_VERIFY: OpCodeType

Marks transaction as invalid if top stack value is not true. The top stack value is removed.

Name

OP_VERIFY

Constant

OpCodeType('69')

Defined in

dist/smart-contract/builtins/functions.d.ts:402


OP_VERNOTIF

Static Readonly OP_VERNOTIF: OpCodeType

Name

OP_VERNOTIF

Constant

OpCodeType('66')

Deprecated

DISABLED

Defined in

dist/smart-contract/builtins/functions.d.ts:371


OP_WITHIN

Static Readonly OP_WITHIN: OpCodeType

Returns 1 if x is within the specified range (left-inclusive), 0 otherwise.

Name

OP_WITHIN

Constant

OpCodeType('a5')

Defined in

dist/smart-contract/builtins/functions.d.ts:762


OP_XOR

Static Readonly OP_XOR: OpCodeType

Boolean exclusive or between each bit in the inputs.

Name

OP_XOR

Constant

OpCodeType('86')

Defined in

dist/smart-contract/builtins/functions.d.ts:576