The bp Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The bp Reference Manual

This is the bp Reference Manual, version 0.0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Dec 02 09:08:17 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

BP - Bitcoin Protocol

Quicklisp Build Status

This is a Common Lisp implementation of the various components of the Bitcoin Protocol. The serialization/deserialization utils may be used for reading the block data both from peers and from local database on disk. The cryptographic utilities are aggregated from FFI bindings to the secp256k1 and ironclad. HTTP client code uses aserve, while and JSON handling is done with jsown package.

THIS BITCOIN CONSENSUS RULES IMPLEMENTATION IS NOT, AND WILL PROBABLY NEVER BE FULLY COMPLIANT WITH BITCOIN CORE IMPLEMENTATION. DO NOT RELY ON IT FOR VALIDATING YOUR MAINNET TRANSACTIONS, AS IT MAY EASILY PUT YOU OUT OF SYNC WITH THE NETWORK IN A LOT OF CORNER CASES.

Installation

Elliptic curve cryptography utilities (transaction signing and verification) use a secp256k1 library, so it must be installed before building the bp system (either manually, or using the system package manager if available):

# Ubuntu
apt install libsecp256k1 libsecp256k1-dev

# Arch Linux
pacman -Syu libsecp256k1

# macOS
brew tap cuber/homebrew-libsecp256k1
brew install libsecp256k1

Once secp256k1 is ready, bp can be installed via quicklisp tool:

(ql:quickload "bp")

Alternatively, bp system can be loaded from sources, assuming the following Common Lisp packages are available locally:

In order to load bp from sources, evaluate the following form (this assumes that ASDF is able to find the system definition; more on that here):

(asdf:load-system "bp")

Interface

Currently, this library only provides utilities for stateless interaction with Bitcoin from REPL. Storage, wallet and full node capabilities are somewhere in a distant future.

Chain interface

Functions bp:get-block-hash, bp:get-block and bp:get-transaction allow to pull chain data from any external supplier specified with the bp:with-chain-supplier macro:

CL-USER> (bp:with-chain-supplier (bp:node-connection
                                  :url "http://localhost:8332"
                                  :username "btcuser"
                                  :password "btcpassword")
           (bp:get-transaction "0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098"))
#<BP/CORE/TRANSACTION:TX 0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098>

Non-nil keyword argument :encoded can be used with bp:get-block and bp:get-transaction to return serialized transaction hex-encoded in a string:

CL-USER> (bp:get-transaction "14...c3" :encoded t)
"010000000...ae00000000"

Under the hood, these operations call corresponding generic functions bp:chain-get-{block-hash,block,transaction} which take the supplier object as an explicit first argument.

Model and serialization

Bitcoin data entities are represented by the following structures:

Functions named bp:block-* (both for bp:block-header and bp:cblock), bp:tx-*, bp:txin-* and bp:txout-* provide access to the components of the corresponding entities.

Functions bp:parse and bp:serialize can be used to read and write any Bitcoin entity from and to any octet stream respectively:

CL-USER> (ironclad:with-octet-input-stream (stream #(1 0 ... 0 0))
           (bp:parse 'bp:tx in-stream))
#<BP/CORE/TRANSACTION:TX 17e590f116d3deeb9b121bbb1c37b7916e6b7859461a3af7edf74e2348a9b347>
CL-USER> (ironclad:with-octet-output-stream (stream)
           (bp:parse 'tx out-stream))
#(1 0 ... 0 0)

Note that while bp:serialize function take an entity as its first argument, bp:parse takes the symbol naming the class of the entity, behaving as class method.

Functions bp:decode and bp:encode wrap above functions to decode and encode Bitcoin entities from and to hex-encoded strings:

CL-USER> (bp:decode 'bp:tx "0100000002f8615378...e097a988ac00000000")
#<BP/CORE/TRANSACTION:TX 17e590f116d3deeb9b121bbb1c37b7916e6b7859461a3af7edf74e2348a9b347>
CL-USER> (bp:encode *)
"0100000002f8615378...e097a988ac00000000"

Validation

Functions bp:validate and bp:validp take an entity as well as the optional context parameters, and validate it according to an approximation of Bitcoin consensus rules.

Both functions return t if the entity is valid, but the bp:validate function signals an error otherwise, while the bp:validp function simply returns nil.

Both functions assume the chain supplier context (i.e. they are called within the body of bp:with-chain-supplier).

Dynamic variable bp:*trace-script-execution* can be used to enable printing the steps of script execution (chain supplier macro omitted):

CL-USER> (setf bp:*trace-script-execution* t)
t
CL-USER> (bp:validate
          (bp:get-transaction "17e590f116d3deeb9b121bbb1c37b7916e6b7859461a3af7edf74e2348a9b347"))
op:       OP_PUSH22
payload:  #(0 14 a4 b4 ca 48 de b 3f ff c1 54 4 a1 ac dc 8d ba ae 22 69
            55)
commands: <>
stack:    ()

op:       OP_HASH160
payload:  -
commands: <OP_PUSH20 OP_EQUAL>
stack:    (#(0 14 a4 b4 ca 48 de b 3f ff c1 54 4 a1 ac dc 8d ba ae 22
             69 55))

op:       OP_PUSH20
payload:  #(29 28 f4 3a f1 8d 2d 60 e8 a8 43 54 d 80 86 b3 5 34 13 39)
commands: <OP_EQUAL>
stack:    (#(29 28 f4 3a f1 8d 2d 60 e8 a8 43 54 d 80 86 b3 5 34 13 39))

op:       OP_EQUAL
payload:  -
commands: <>
stack:    (#(29 28 f4 3a f1 8d 2d 60 e8 a8 43 54 d 80 86 b3 5 34 13 39)
           #(29 28 f4 3a f1 8d 2d 60 e8 a8 43 54 d 80 86 b3 5 34 13 39))

op:       OP_FALSE
payload:  -
commands: <OP_PUSH20>
stack:    ()

op:       OP_PUSH20
payload:  #(a4 b4 ca 48 de b 3f ff c1 54 4 a1 ac dc 8d ba ae 22 69 55)
commands: <>
stack:    (#())

t

Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 bp

Author

whythat <whythat@protonmail.com>

License

MIT

Description

Bitcoin Protocol components in Common Lisp

Version

0.0.1

Dependencies
Source

bp.asd (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.2 bp/core/all

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.3 bp/core/consensus

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.4 bp/core/chain

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.5 bp/core/block

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.6 bp/core/transaction

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.7 bp/core/script

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.8 bp/core/encoding

Author

whythat <whythat@protonmail.com>

License

MIT

Dependency

ironclad

Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.9 bp/crypto/all

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.10 bp/crypto/hash

Author

whythat <whythat@protonmail.com>

License

MIT

Dependency

ironclad

Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.11 bp/crypto/secp256k1

Author

whythat <whythat@protonmail.com>

License

MIT

Dependencies
Source

bp.asd (file)

Component

lisp.lisp (file)


Previous: , Up: Systems   [Contents][Index]

2.12 bp/crypto/random

Author

whythat <whythat@protonmail.com>

License

MIT

Source

bp.asd (file)

Component

lisp.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 bp.asd

Location

bp.asd

Systems

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 bp/core/all/lisp.lisp

Parent

bp/core/all (system)

Location

core/all.lisp

Packages

bp/core/all


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 bp/core/consensus/lisp.lisp

Parent

bp/core/consensus (system)

Location

core/consensus.lisp

Packages

bp/core/consensus

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 bp/core/chain/lisp.lisp

Parent

bp/core/chain (system)

Location

core/chain.lisp

Packages

bp/core/chain

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 bp/core/block/lisp.lisp

Parent

bp/core/block (system)

Location

core/block.lisp

Packages

bp/core/block

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 bp/core/transaction/lisp.lisp

Parent

bp/core/transaction (system)

Location

core/transaction.lisp

Packages

bp/core/transaction

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 bp/core/script/lisp.lisp

Parent

bp/core/script (system)

Location

core/script.lisp

Packages

bp/core/script

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 bp/core/encoding/lisp.lisp

Parent

bp/core/encoding (system)

Location

core/encoding.lisp

Packages

bp/core/encoding

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.9 bp/crypto/all/lisp.lisp

Parent

bp/crypto/all (system)

Location

crypto/all.lisp

Packages

bp/crypto/all


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.10 bp/crypto/hash/lisp.lisp

Parent

bp/crypto/hash (system)

Location

crypto/hash.lisp

Packages

bp/crypto/hash

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.11 bp/crypto/secp256k1/lisp.lisp

Parent

bp/crypto/secp256k1 (system)

Location

crypto/secp256k1.lisp

Packages

bp/crypto/secp256k1

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.12 bp/crypto/random/lisp.lisp

Parent

bp/crypto/random (system)

Location

crypto/random.lisp

Packages

bp/crypto/random

Exported Definitions

random-bytes (function)


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 bp/core/all

Source

lisp.lisp (file)

Nickname

bp

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 bp/core/consensus

Source

lisp.lisp (file)

Use List
Used By List

bp/core/all

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 bp/core/chain

Source

lisp.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.4 bp/core/block

Source

lisp.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.5 bp/core/transaction

Source

lisp.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.6 bp/core/script

Source

lisp.lisp (file)

Use List
Used By List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.7 bp/core/encoding

Source

lisp.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.8 bp/crypto/all

Source

lisp.lisp (file)

Nickname

bpcrypto

Use List

Next: , Previous: , Up: Packages   [Contents][Index]

4.9 bp/crypto/hash

Source

lisp.lisp (file)

Use List
Used By List
Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.10 bp/crypto/secp256k1

Source

lisp.lisp (file)

Nickname

secp256k1

Use List
Used By List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

4.11 bp/crypto/random

Source

lisp.lisp (file)

Use List

common-lisp

Used By List

bp/crypto/secp256k1

Exported Definitions

random-bytes (function)


Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *trace-script-execution*

Dynamic variable to control printing the steps of script execution.

Package

bp/core/script

Source

lisp.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: with-chain-supplier (TYPE &rest ARGS &key &allow-other-keys) &body BODY
Package

bp/core/chain

Source

lisp.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: block-header INSTANCE
Function: (setf block-header) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-id BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-transaction CBLOCK INDEX
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-transactions INSTANCE
Function: (setf block-transactions) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: context-create-none ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: context-create-sign ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: context-create-verify ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: decode ENTITY-CLASS STRING

Decode Bitcoin Protocol entity given by its class name ENTITY-CLASS from hex STRING.

Package

bp/core/encoding

Source

lisp.lisp (file)

Function: ec-privkey-negate SECKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ec-pubkey-create SECKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ec-pubkey-negate PUBKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ec-pubkey-parse INPUT
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ec-pubkey-serialize PUBKEY &key COMPRESSED
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ec-seckey-verify SECKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-sign MSG32 SECKEY

Create an ECDSA signature.

Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-signature-normalize SIGIN
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-signature-parse-compact INPUT64
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-signature-parse-der INPUT
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-signature-serialize-compact SIGNATURE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-signature-serialize-der SIGNATURE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: ecdsa-verify SIGNATURE MSG32 PUBKEY

Verify an ECDSA signature.

Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: encode ENTITY

Encode Bitcoin Protocol ENTITY into a hex string.

Package

bp/core/encoding

Source

lisp.lisp (file)

Function: execute-script SCRIPT &key STATE

Execute a script using a state that can be provided externally.

Package

bp/core/script

Source

lisp.lisp (file)

Function: execute-scripts SCRIPT-SIG SCRIPT-PUBKEY &key STATE

Execute SCRIPT-SIG and SCRIPT-PUBKEY in succession, preserving the stack and performing the special rule detection (P2SH, SegWit).

Package

bp/core/script

Source

lisp.lisp (file)

Function: from-hex STRING

Shortcut to avoid using long symbol IRONCLAD:HEX-STRING-TO-BYTE-ARRAY.

Package

bp/core/encoding

Source

lisp.lisp (file)

Function: get-block HASH &key ENCODED
Package

bp/core/chain

Source

lisp.lisp (file)

Function: get-block-hash HEIGHT
Package

bp/core/chain

Source

lisp.lisp (file)

Function: get-transaction ID &key ENCODED
Package

bp/core/chain

Source

lisp.lisp (file)

Function: hash160 BYTES
Package

bp/crypto/hash

Source

lisp.lisp (file)

Function: hash256 BYTES
Package

bp/crypto/hash

Source

lisp.lisp (file)

Function: make-key ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: make-pubkey KEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: make-script &key (COMMANDS COMMANDS)
Package

bp/core/script

Source

lisp.lisp (file)

Function: make-script-state &key (COMMANDS COMMANDS) (DISCARD DISCARD) (STACK STACK) (ALTSTACK ALTSTACK) (CONDITIONS CONDITIONS) (WITNESS WITNESS) (SIGHASHF SIGHASHF) (SIGVERSION SIGVERSION)
Package

bp/core/script

Source

lisp.lisp (file)

Function: make-signature KEY HASH
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: parse-pubkey BYTES
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: parse-signature BYTES &key TYPE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: random-bytes SIZE
Package

bp/crypto/random

Source

lisp.lisp (file)

Function: read-bytes STREAM SIZE
Package

bp/core/encoding

Source

lisp.lisp (file)

Function: read-int STREAM &key SIZE BYTE-ORDER
Package

bp/core/encoding

Source

lisp.lisp (file)

Function: read-varint STREAM
Package

bp/core/encoding

Source

lisp.lisp (file)

Function: ripemd160 BYTES
Package

bp/crypto/hash

Source

lisp.lisp (file)

Function: script &rest SYMBOLIC-COMMANDS

Construct a SCRIPT object from a sequence of Lisp objects, doing the best effort to detect/convert the provided values.

Package

bp/core/script

Source

lisp.lisp (file)

Function: script-commands INSTANCE
Function: (setf script-commands) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: serialize-pubkey KEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: serialize-signature SIGNATURE &key TYPE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: to-hex BYTES

Shortcut to avoid using long symbol IRONCLAD:BYTE-ARRAY-TO-HEX-STRING.

Package

bp/core/encoding

Source

lisp.lisp (file)

Function: tx-hash TX

Raw transaction ID is a double SHA256 of its binary serialization.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-id TX

Return hex-encoded txid - little-endian hash of the transaction serialization without witness structures.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-input TX INDEX

Return INDEXth input of the given transaction.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-inputs INSTANCE
Function: (setf tx-inputs) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-locktime INSTANCE
Function: (setf tx-locktime) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-output TX INDEX

Return INDEXth output of the given transaction.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-outputs INSTANCE
Function: (setf tx-outputs) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-version INSTANCE
Function: (setf tx-version) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-wid TX

Return hex-encoded wtxid - little-endian hash of the transaction serialization including witness structures.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-witness TX INDEX

Return INDEXth witness of the given transaction, if it is a SegWit transaction, otherwise return NIL.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-witnesses INSTANCE
Function: (setf tx-witnesses) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txin-previous-tx-id INSTANCE
Function: (setf txin-previous-tx-id) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txin-previous-tx-index INSTANCE
Function: (setf txin-previous-tx-index) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txin-script-sig INSTANCE
Function: (setf txin-script-sig) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txin-sequence INSTANCE
Function: (setf txin-sequence) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txout-amount INSTANCE
Function: (setf txout-amount) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txout-script-pubkey INSTANCE
Function: (setf txout-script-pubkey) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: validp ENTITY &rest CONTEXT &key &allow-other-keys

Return T if the ENTITY is valid, NIL otherwise.

Package

bp/core/consensus

Source

lisp.lisp (file)

Function: verify-signature PUBKEY HASH SIGNATURE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: witness-items INSTANCE
Function: (setf witness-items) VALUE INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: write-bytes BYTES STREAM SIZE
Package

bp/core/encoding

Source

lisp.lisp (file)

Function: write-int I STREAM &key SIZE BYTE-ORDER
Package

bp/core/encoding

Source

lisp.lisp (file)

Function: write-varint I STREAM
Package

bp/core/encoding

Source

lisp.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: block-bits BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-bits (CBLOCK cblock)
Method: block-bits (BLOCK-HEADER block-header)
Generic Function: block-hash BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-hash (CBLOCK cblock)
Method: block-hash (BLOCK-HEADER block-header)
Generic Function: block-merkle-root BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-merkle-root (CBLOCK cblock)
Method: block-merkle-root (BLOCK-HEADER block-header)
Generic Function: block-nonce BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-nonce (CBLOCK cblock)
Method: block-nonce (BLOCK-HEADER block-header)
Generic Function: block-previous-block-hash BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-previous-block-hash (CBLOCK cblock)
Method: block-previous-block-hash (BLOCK-HEADER block-header)
Generic Function: block-timestamp BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-timestamp (CBLOCK cblock)
Method: block-timestamp (BLOCK-HEADER block-header)
Generic Function: block-version BLOCK
Package

bp/core/block

Source

lisp.lisp (file)

Methods
Method: block-version (CBLOCK cblock)
Method: block-version (BLOCK-HEADER block-header)
Generic Function: chain-get-block SUPPLIER HASH &key ENCODED

Get raw block data from SUPPLIER by its HASH. HASH
can be either a hex-encoded string or a byte array. If ENCODED is non-NIL, returns a hex-encoded string, otherwise returns CBLOCK object.

Package

bp/core/chain

Source

lisp.lisp (file)

Methods
Method: chain-get-block (SUPPLIER node-connection) HASH &key ENCODED
Generic Function: chain-get-block-hash SUPPLIER HEIGHT

Get the hash of the block from SUPPLIER by its HEIGHT in the chain. HEIGHT must be an integer.

Package

bp/core/chain

Source

lisp.lisp (file)

Methods
Method: chain-get-block-hash (SUPPLIER node-connection) HEIGHT
Generic Function: chain-get-transaction SUPPLIER ID &key ENCODED

Get raw transaction data from SUPPLIER by its
ID. ID can be either a hex-encoded string or a byte array. If ENCODED is non-NIL, returns a hex-encoded string, otherwise returns TX object.

Package

bp/core/chain

Source

lisp.lisp (file)

Methods
Method: chain-get-transaction (SUPPLIER node-connection) ID &key ENCODED
Generic Function: parse ENTITY-CLASS STREAM

Parse bytes from the STREAM into an instance of the class named ENTITY-CLASS.

Package

bp/core/encoding

Source

lisp.lisp (file)

Methods
Method: parse (ENTITY-TYPE (eql cblock)) STREAM
Source

lisp.lisp (file)

Method: parse (ENTITY-TYPE (eql block-header)) STREAM
Source

lisp.lisp (file)

Method: parse (ENTITY-TYPE (eql witness)) STREAM
Source

lisp.lisp (file)

Method: parse (ENTITY-TYPE (eql txout)) STREAM
Source

lisp.lisp (file)

Method: parse (ENTITY-TYPE (eql txin)) STREAM
Source

lisp.lisp (file)

Method: parse (ENTITY-TYPE (eql tx)) STREAM
Source

lisp.lisp (file)

Method: parse (ENTITY-NAME (eql script)) STREAM
Source

lisp.lisp (file)

Generic Function: serialize ENTITY STREAM

Serialize ENTITY into the stream.

Package

bp/core/encoding

Source

lisp.lisp (file)

Methods
Method: serialize (CBLOCK cblock) STREAM
Source

lisp.lisp (file)

Method: serialize (BLOCK-HEADER block-header) STREAM
Source

lisp.lisp (file)

Method: serialize (WITNESS witness) STREAM
Source

lisp.lisp (file)

Method: serialize (TXOUT txout) STREAM
Source

lisp.lisp (file)

Method: serialize (TXIN txin) STREAM
Source

lisp.lisp (file)

Method: serialize (TX tx) STREAM
Source

lisp.lisp (file)

Method: serialize (SCRIPT script) STREAM
Source

lisp.lisp (file)

Generic Function: validate ENTITY &key TX TXIN-INDEX &allow-other-keys

Validate entity according to the Bitcoin Protocol
consensus rules, throw an error if an entity is invalid for any reason.

Package

bp/core/consensus

Source

lisp.lisp (file)

Methods
Method: validate (TXOUT txout) &key
Method: validate (TXIN txin) &key TX TXIN-INDEX
Method: validate (TX tx) &key
Method: validate (CBLOCK cblock) &key
Method: validate (BLOCK-HEADER block-header) &key

Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Structures

Structure: block-header ()
Package

bp/core/block

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: version
Readers

block-header-version (function)

Writers

(setf block-header-version) (function)

Slot: previous-block-hash
Readers

block-header-previous-block-hash (function)

Writers

(setf block-header-previous-block-hash) (function)

Slot: merkle-root
Readers

block-header-merkle-root (function)

Writers

(setf block-header-merkle-root) (function)

Slot: timestamp
Readers

block-header-timestamp (function)

Writers

(setf block-header-timestamp) (function)

Slot: bits
Readers

block-header-bits (function)

Writers

(setf block-header-bits) (function)

Slot: nonce
Readers

block-header-nonce (function)

Writers

(setf block-header-nonce) (function)

Structure: cblock ()
Package

bp/core/block

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: header
Readers

block-header (function)

Writers

(setf block-header) (function)

Slot: transactions
Readers

block-transactions (function)

Writers

(setf block-transactions) (function)

Structure: key ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: bytes
Readers

key-bytes (function)

Writers

(setf key-bytes) (function)

Structure: pubkey ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: bytes
Readers

pubkey-bytes (function)

Writers

(setf pubkey-bytes) (function)

Structure: script ()
Package

bp/core/script

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: commands
Readers

script-commands (function)

Writers

(setf script-commands) (function)

Structure: signature ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: bytes
Readers

signature-bytes (function)

Writers

(setf signature-bytes) (function)

Structure: tx ()
Package

bp/core/transaction

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: version
Readers

tx-version (function)

Writers

(setf tx-version) (function)

Slot: inputs
Readers

tx-inputs (function)

Writers

(setf tx-inputs) (function)

Slot: outputs
Readers

tx-outputs (function)

Writers

(setf tx-outputs) (function)

Slot: witnesses
Readers

tx-witnesses (function)

Writers

(setf tx-witnesses) (function)

Slot: locktime
Readers

tx-locktime (function)

Writers

(setf tx-locktime) (function)

Structure: txin ()
Package

bp/core/transaction

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: previous-tx-id
Readers

txin-previous-tx-id (function)

Writers

(setf txin-previous-tx-id) (function)

Slot: previous-tx-index
Readers

txin-previous-tx-index (function)

Writers

(setf txin-previous-tx-index) (function)

Slot: script-sig
Readers

txin-script-sig (function)

Writers

(setf txin-script-sig) (function)

Slot: sequence
Readers

txin-sequence (function)

Writers

(setf txin-sequence) (function)

Structure: txout ()
Package

bp/core/transaction

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: amount
Readers

txout-amount (function)

Writers

(setf txout-amount) (function)

Slot: script-pubkey
Readers

txout-script-pubkey (function)

Writers

(setf txout-script-pubkey) (function)

Structure: witness ()
Package

bp/core/transaction

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: items
Readers

witness-items (function)

Writers

(setf witness-items) (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Classes

Class: node-connection ()
Package

bp/core/chain

Source

lisp.lisp (file)

Direct superclasses

chain-supplier (class)

Direct methods
Direct slots
Slot: url
Initargs

:url

Readers

node-connection-url (generic function)

Writers

(setf node-connection-url) (generic function)

Slot: username
Initargs

:username

Readers

node-connection-username (generic function)

Writers

(setf node-connection-username) (generic function)

Slot: password
Initargs

:password

Readers

node-connection-password (generic function)

Writers

(setf node-connection-password) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +secp256k1-context-none+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-context-sign+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-context-verify+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-ec-compressed+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-ec-uncompressed+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-flags-bit-compression+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-flags-bit-context-sign+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-flags-bit-context-verify+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-flags-type-compression+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-flags-type-context+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-flags-type-mask+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-tag-pubkey-even+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-tag-pubkey-hybrid-even+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-tag-pubkey-hybrid-odd+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-tag-pubkey-odd+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +secp256k1-tag-pubkey-uncompressed+
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Constant: +sighash-all+
Package

bp/core/consensus

Source

lisp.lisp (file)

Constant: +sighash-anyonecanpay+
Package

bp/core/consensus

Source

lisp.lisp (file)

Constant: +sighash-none+
Package

bp/core/consensus

Source

lisp.lisp (file)

Constant: +sighash-single+
Package

bp/core/consensus

Source

lisp.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *chain-supplier*

Global chain supplier bound by the WITH-CHAIN-SUPPLIER context manager.

Package

bp/core/chain

Source

lisp.lisp (file)

Special Variable: *context-none*
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Special Variable: *context-sign*
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Special Variable: *context-verify*
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Special Variable: *opcodes-by-code*

Table mapping opcodes to pairs (<list of opcode-names> . <function>).

Package

bp/core/script

Source

lisp.lisp (file)

Special Variable: *opcodes-by-name*

Table mapping opcode names to pairs (<code> . <function>).

Package

bp/core/script

Source

lisp.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: bytes-from-foreign BYTES POINTER SIZE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Macro: bytes-to-foreign BYTES POINTER SIZE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Macro: define-disabled-opcode OP-NAME OP-CODE OP-HEX-CODE (&rest ARGS) &body DOC
Package

bp/core/script

Source

lisp.lisp (file)

Macro: define-opcode OP-NAME OP-CODE OP-HEX-CODE (&rest ARGS) &body DOC

Define opcode function named OP-NAME for a given OP-CODE. OP-HEX-CODE is ignored and used only for documentation purposes.

Package

bp/core/script

Source

lisp.lisp (file)

Macro: define-opcode-alias NEW-OP-NAME OLD-OP-NAME
Package

bp/core/script

Source

lisp.lisp (file)

Macro: define-opcode-range (OP-NAME-PREFIX OP-NAME-START OP-NAME-END) (OP-CODE-START OP-CODE-END) (OP-HEX-CODE-START OP-HEX-CODE-END) (&rest ARGS) &body BODY
Package

bp/core/script

Source

lisp.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Functions

Function: %make-key &key (BYTES BYTES)
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: %make-pubkey &key (BYTES BYTES)
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: %make-signature &key (BYTES BYTES)
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: @altstack INSTANCE
Function: (setf @altstack) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @commands INSTANCE
Function: (setf @commands) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @conditions INSTANCE
Function: (setf @conditions) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @discard INSTANCE
Function: (setf @discard) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @execp STATE OP

A command is considered executable if current branch is an executable one (i.e. the current code path does not contain false conditions), or it is a branching command.

For this purpose, OP_IF pushes its condition to CONDITIONS stack in script state (OP_NOTIF pushes an inverted condition), OP_ELSE inverts the top condition in CONDITIONS, while OP_ENDIF simply pops the top condition. For OP_ELSE/OP_ENDIF commands, empty CONDITIONS stack means that the branching construction is unbalanced.

This follows the implementation of script interpreter in Bitcoin Core.

Package

bp/core/script

Source

lisp.lisp (file)

Function: @sighash STATE HASHTYPE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @sighashf INSTANCE
Function: (setf @sighashf) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @sigversion INSTANCE
Function: (setf @sigversion) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @stack INSTANCE
Function: (setf @stack) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: @witness INSTANCE
Function: (setf @witness) VALUE INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: bits-to-target BITS
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: block-difficulty BLOCK
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: block-header-bits INSTANCE
Function: (setf block-header-bits) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-header-merkle-root INSTANCE
Function: (setf block-header-merkle-root) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-header-nonce INSTANCE
Function: (setf block-header-nonce) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-header-p OBJECT
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-header-previous-block-hash INSTANCE
Function: (setf block-header-previous-block-hash) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-header-timestamp INSTANCE
Function: (setf block-header-timestamp) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-header-version INSTANCE
Function: (setf block-header-version) VALUE INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: block-target BLOCK
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: cblock-p OBJECT
Package

bp/core/block

Source

lisp.lisp (file)

Function: command-op COMMAND
Package

bp/core/script

Source

lisp.lisp (file)

Function: command-payload COMMAND
Package

bp/core/script

Source

lisp.lisp (file)

Function: copy-block-header INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: copy-cblock INSTANCE
Package

bp/core/block

Source

lisp.lisp (file)

Function: copy-key INSTANCE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: copy-pubkey INSTANCE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: copy-script INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: copy-script-state INSTANCE
Package

bp/core/script

Source

lisp.lisp (file)

Function: copy-signature INSTANCE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: copy-tx INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: copy-txin INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: copy-txout INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: copy-witness INSTANCE
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: decode-integer BYTES
Package

bp/core/script

Source

lisp.lisp (file)

Function: do-simple-rpc-call SUPPLIER METHOD &rest ARGUMENTS
Package

bp/core/chain

Source

lisp.lisp (file)

Function: ecdsa-signature-parse-der-lax INPUT

This function is taken from the libsecp256k1 distribution and implements DER parsing for ECDSA signatures, while supporting an arbitrary subset of format violations (see Bitcoin’s pubkey.cpp).

Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: encode-integer INTEGER
Package

bp/core/script

Source

lisp.lisp (file)

Function: execute-p2sh SCRIPT-PUBKEY &key STATE
Package

bp/core/script

Source

lisp.lisp (file)

Function: execute-p2wpkh SCRIPT-PUBKEY &key STATE
Package

bp/core/script

Source

lisp.lisp (file)

Function: execute-p2wsh SCRIPT-PUBKEY &key STATE
Package

bp/core/script

Source

lisp.lisp (file)

Function: key-bytes INSTANCE
Function: (setf key-bytes) VALUE INSTANCE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: key-p OBJECT
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: make-block-header &key (VERSION VERSION) (PREVIOUS-BLOCK-HASH PREVIOUS-BLOCK-HASH) (MERKLE-ROOT MERKLE-ROOT) (TIMESTAMP TIMESTAMP) (BITS BITS) (NONCE NONCE)
Package

bp/core/block

Source

lisp.lisp (file)

Function: make-cblock &key (HEADER HEADER) (TRANSACTIONS TRANSACTIONS)
Package

bp/core/block

Source

lisp.lisp (file)

Function: make-tx &key (VERSION VERSION) (INPUTS INPUTS) (OUTPUTS OUTPUTS) (WITNESSES WITNESSES) (LOCKTIME LOCKTIME)
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: make-txin &key (PREVIOUS-TX-ID PREVIOUS-TX-ID) (PREVIOUS-TX-INDEX PREVIOUS-TX-INDEX) (SCRIPT-SIG SCRIPT-SIG) (SEQUENCE SEQUENCE)
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: make-txout &key (AMOUNT AMOUNT) (SCRIPT-PUBKEY SCRIPT-PUBKEY)
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: make-witness &key (ITEMS ITEMS)
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: op_0 STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_0notequal STATE

Returns 0 if the input is 0. 1 otherwise.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_1 STATE

The number 1 is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_10 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_11 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_12 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_13 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_14 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_15 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_16 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_1add STATE

1 is added to the input.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_1negate STATE

The number -1 is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_1sub STATE

1 is subtracted from the input.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2div STATE

The input is divided by 2.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2drop STATE

Removes the top two stack items.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2dup STATE

Duplicates the top two stack items.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2mul STATE

The input is multiplied by 2.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2over STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2rot STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_2swap STATE

Swaps the top two pairs of items.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_3 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_3dup STATE

Duplicates the top three stack items.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_4 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_5 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_6 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_7 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_8 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_9 STATE

The number in the word name (2-16) is pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_abs STATE

The input is made positive.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_add STATE

a is added to b.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_and STATE

Boolean and between each bit in the inputs.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_booland STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_boolor STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_cat STATE

Concatenates two strings.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_checklocktimeverify STATE

Marks transaction as invalid if the top stack item is greater than the transaction’s nLockTime field, otherwise script evaluation continues as though an OP_NOP was executed. Transaction is also invalid if 1. the stack is empty; or 2. the top stack item is negative; or 3. the top stack item is greater than or equal to 500000000 while the transaction’s nLockTime field is less than 500000000, or vice versa; or 4. the input’s nSequence field is equal to #xffffffff. The precise semantics are described in BIP 0065.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_checkmultisig STATE

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.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_checkmultisigverify STATE

Same as OP_CHECKMULTISIG, but OP_VERIFY is executed afterward.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_checksequenceverify STATE

Marks transaction as invalid if the relative lock time of the input (enforced by BIP 0068 with nSequence) is not equal to or longer than the value of the top stack item. The precise semantics are described in BIP 0112.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_checksig STATE

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.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_checksigverify STATE

Same as OP_CHECKSIG, but OP_VERIFY is executed afterward.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_codeseparator STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_depth STATE

Puts the number of stack items onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_div STATE

a is divided by b.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_drop STATE

Removes the top stack item.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_dup STATE

Duplicates the top stack item.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_else STATE

If the preceding OP_IF or OP_NOTIF or OP_ELSE was not executed then these statements are and if the preceding OP_IF or OP_NOTIF or OP_ELSE was executed then these statements are not. See @EXECP for more details on how branching works.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_endif STATE

Ends an if/else block. All blocks must end, or the transaction is invalid. An OP_ENDIF without OP_IF earlier is also invalid. See @EXECP for more details on how branching works.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_equal STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_equalverify STATE

Same as OP_EQUAL, but runs OP_VERIFY afterward.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_fromaltstack STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_greaterthan STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_greaterthanorequal STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_hash160 STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_hash256 STATE

The input is hashed two times with SHA-256.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_if STATE

If the top stack value is not False, the statements are
executed. The top stack value is removed. See @EXECP for more details on how branching works.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_ifdup STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_invalidopcode STATE

Matches any opcode that is not yet assigned.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_invert STATE

Flips all of the bits in the input.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_left STATE

Keeps only characters left of the specified point in a string.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_lessthan STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_lessthanorequal STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_lshift STATE

Shifts a left b bits, preserving sign.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_max STATE

Returns the larger of a and b.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_min STATE

Returns the smaller of a and b.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_mod STATE

Returns the remainder after dividing a by b.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_mul STATE

a is multiplied by b.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_negate STATE

The sign of the input is flipped.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nip STATE

Removes the second-to-top stack item.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop STATE

Does nothing.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop1 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop10 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop4 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop5 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop6 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop7 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop8 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_nop9 STATE

The word is ignored. Does not mark transaction as invalid.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_not STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_notif STATE

If the top stack value is False, the statements are executed. The top stack value is removed. See @EXECP for more details on how branching works.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_numequal STATE

Returns 1 if the numbers are equal, 0 otherwise.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_numequalverify STATE

Same as OP_NUMEQUAL, but runs OP_VERIFY afterward.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_numnotequal STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_or STATE

Boolean or between each bit in the inputs.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_over STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_pick STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_pubkey STATE

Represents a public key compatible with OP_CHECKSIG.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_pubkeyhash STATE

Represents a public key hashed with OP_HASH160.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push1 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push10 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push11 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push12 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push13 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push14 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push15 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push16 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push17 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push18 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push19 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push2 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push20 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push21 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push22 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push23 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push24 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push25 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push26 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push27 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push28 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push29 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push3 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push30 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push31 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push32 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push33 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push34 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push35 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push36 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push37 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push38 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push39 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push4 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push40 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push41 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push42 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push43 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push44 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push45 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push46 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push47 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push48 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push49 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push5 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push50 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push51 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push52 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push53 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push54 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push55 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push56 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push57 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push58 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push59 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push6 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push60 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push61 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push62 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push63 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push64 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push65 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push66 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push67 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push68 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push69 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push7 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push70 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push71 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push72 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push73 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push74 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push75 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push8 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_push9 STATE

The next opcode bytes is data to be pushed onto the stack.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_pushdata1 STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_pushdata2 STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_pushdata4 STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_reserved STATE

Transaction is invalid unless occuring in an unexecuted OP_IF branch.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_reserved1 STATE

Transaction is invalid unless occuring in an unexecuted OP_IF branch.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_reserved2 STATE

Transaction is invalid unless occuring in an unexecuted OP_IF branch.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_return STATE

Marks transaction as invalid. Since bitcoin 0.9, a standard way of attaching extra data to transactions is to add a zero-value output with a scriptPubKey consisting of OP_RETURN followed by data. Such outputs are provably unspendable and specially discarded from storage in the UTXO set, reducing their cost to the network. Since 0.12, standard relay rules allow a single output with OP_RETURN, that contains any sequence of push statements (or OP_RESERVED[1]) after the OP_RETURN provided the total scriptPubKey length is at most 83 bytes.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_right STATE

Keeps only characters right of the specified point in a string.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_ripemd160 STATE

The input is hashed using RIPEMD-160.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_roll STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_rot STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_rshift STATE

Shifts a right b bits, preserving sign.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_sha1 STATE

The input is hashed using SHA-1.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_sha256 STATE

The input is hashed using SHA-256.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_size STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_sub STATE

b is subtracted from a.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_substr STATE

Returns a section of a string.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_swap STATE

The top two items on the stack are swapped.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_toaltstack STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_tuck STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_ver STATE

Transaction is invalid unless occuring in an unexecuted OP_IF branch.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_verif STATE

Transaction is invalid even when occuring in an unexecuted OP_IF branch.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_verify STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_vernotif STATE

Transaction is invalid even when occuring in an unexecuted OP_IF branch.

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_within STATE

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

Package

bp/core/script

Source

lisp.lisp (file)

Function: op_xor STATE

Boolean exclusive or between each bit in the inputs.

Package

bp/core/script

Source

lisp.lisp (file)

Function: opcode OPCODE/NAME

For a given OPCODE/NAME return (VALUES <code> <function>) if OPCODE/NAME is a keyword, and (VALUES <list of names> <function>) otherwise.

Package

bp/core/script

Source

lisp.lisp (file)

Function: p2sh-p SCRIPT-PUBKEY

Check if current SCRIPT-PUBKEY indicates the BIP 0016 (p2sh) pattern:
<redeem-script>
OP_HASH160
<hash160>
OP_EQUAL

Package

bp/core/script

Source

lisp.lisp (file)

Function: p2wpkh-p SCRIPT-PUBKEY

Check if given SCRIPT-PUBKEY indicates a Pay to Witness Public Key Hash script structure:
<version-byte>
<20-byte witness-program>

Package

bp/core/script

Source

lisp.lisp (file)

Function: p2wsh-p SCRIPT-PUBKEY

Check if given SCRIPT-PUBKEY indicates a Pay to Witness Script Hash script structure:
<version-byte>
<20-byte witness-program>

Package

bp/core/script

Source

lisp.lisp (file)

Function: print-script-execution-state CURRENT-COMMAND STATE
Package

bp/core/script

Source

lisp.lisp (file)

Function: pubkey-bytes INSTANCE
Function: (setf pubkey-bytes) VALUE INSTANCE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: pubkey-p OBJECT
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: read-num-inputs-or-segwit-flag STREAM

If currently parsed transaction is a SegWit one, it will have SegWit marker and flag fields (0x00 0x01) bytes after its version field instead of the number of inputs, so this function reads a varint and if it is 0x00, verifies that the next byte is 0x01. Returns list (<number-of-inputs> <segwit-flag>), where <segwit-flag> is the value of the flag (0x01) if transaction is SegWit, or NIL otherwise.

Package

bp/core/transaction

Source

lisp.lisp (file)

Function: register-opcode CODE NAME &optional FUNCTION
Package

bp/core/script

Source

lisp.lisp (file)

Function: script-p OBJECT
Package

bp/core/script

Source

lisp.lisp (file)

Function: script-sigversion SCRIPT

For non-SegWit transactions, signature version is represented as constant :BASE, and for SegWit ones - :WITNESS-V<N>, where N is the first op of the witness script pubkey.

Package

bp/core/script

Source

lisp.lisp (file)

Function: script-state-p OBJECT
Package

bp/core/script

Source

lisp.lisp (file)

Function: secp256k1-context-clone CTX
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-context-create FLAGS
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-context-destroy CTX
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-context-randomize CTX SEED32
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-privkey-negate CTX SECKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-privkey-tweak-add CTX SECKEY TWEAK
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-privkey-tweak-mul CTX SECKEY TWEAK
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-combine CTX OUT INS N
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-create CTX PUBKEY SECKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-negate CTX PUBKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-parse CTX PUBKEY INPUT INPUTLEN
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-serialize CTX OUTPUT OUTPUTLEN PUBKEY FLAGS
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-tweak-add CTX PUBKEY TWEAK
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-pubkey-tweak-mul CTX PUBKEY TWEAK
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ec-seckey-verify CTX SECKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-sign CTX SIG MSG32 SECKEY NONCEFP NDATA
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-signature-normalize CTX SIGOUT SIGIN
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-signature-parse-compact CTX SIG INPUT64
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-signature-parse-der CTX SIG INPUT INPUTLEN
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-signature-serialize-compact CTX OUTPUT64 SIG
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-signature-serialize-der CTX OUTPUT OUTPUTLEN SIG
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-ecdsa-verify CTX SIG MSG32 PUBKEY
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-scratch-space-create CTX MAX-SIZE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: secp256k1-scratch-space-destroy SCRATCH
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: segwit-p SCRIPT-PUBKEY

Check if given SCRIPT-PUBKEY indicates the BIP 0141 (Segregated Witness) structure:
<version-byte> (1 byte, OP_{0..16}) <witness-program> (2-40 bytes)

Package

bp/core/script

Source

lisp.lisp (file)

Function: signature-bytes INSTANCE
Function: (setf signature-bytes) VALUE INSTANCE
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: signature-p OBJECT
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Function: tx-outputs-hash TX TXIN-INDEX SIGHASH-TYPE
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: tx-p OBJECT
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: tx-previous-outputs-hash TX SIGHASH-TYPE
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: tx-sequence-hash TX SIGHASH-TYPE
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: tx-sighash TX TXIN-INDEX AMOUNT SCRIPT-CODE SIGHASH-TYPE SIGVERSION
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: tx-sighash-base TX TXIN-INDEX SCRIPT-CODE SIGHASH-TYPE
Package

bp/core/consensus

Source

lisp.lisp (file)

Function: tx-sighash-witness-v0 TX TXIN-INDEX AMOUNT SCRIPT-CODE SIGHASH-TYPE

Compute sighash for version 0 witness transactions in BIP-0143 (see the spec at https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki).

Package

bp/core/consensus

Source

lisp.lisp (file)

Function: txin-p OBJECT
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: txout-p OBJECT
Package

bp/core/transaction

Source

lisp.lisp (file)

Function: witness-p OBJECT
Package

bp/core/transaction

Source

lisp.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Generic functions

Generic Function: chain-supplier-network OBJECT
Generic Function: (setf chain-supplier-network) NEW-VALUE OBJECT
Package

bp/core/chain

Methods
Method: chain-supplier-network (CHAIN-SUPPLIER chain-supplier)
Method: (setf chain-supplier-network) NEW-VALUE (CHAIN-SUPPLIER chain-supplier)

Network marker (one of :MAINNET, :TESTNET, :REGTEST).

Source

lisp.lisp (file)

Generic Function: node-connection-password OBJECT
Generic Function: (setf node-connection-password) NEW-VALUE OBJECT
Package

bp/core/chain

Methods
Method: node-connection-password (NODE-CONNECTION node-connection)

automatically generated reader method

Source

lisp.lisp (file)

Method: (setf node-connection-password) NEW-VALUE (NODE-CONNECTION node-connection)

automatically generated writer method

Source

lisp.lisp (file)

Generic Function: node-connection-url OBJECT
Generic Function: (setf node-connection-url) NEW-VALUE OBJECT
Package

bp/core/chain

Methods
Method: node-connection-url (NODE-CONNECTION node-connection)

automatically generated reader method

Source

lisp.lisp (file)

Method: (setf node-connection-url) NEW-VALUE (NODE-CONNECTION node-connection)

automatically generated writer method

Source

lisp.lisp (file)

Generic Function: node-connection-username OBJECT
Generic Function: (setf node-connection-username) NEW-VALUE OBJECT
Package

bp/core/chain

Methods
Method: node-connection-username (NODE-CONNECTION node-connection)

automatically generated reader method

Source

lisp.lisp (file)

Method: (setf node-connection-username) NEW-VALUE (NODE-CONNECTION node-connection)

automatically generated writer method

Source

lisp.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Structures

Structure: script-state ()
Package

bp/core/script

Source

lisp.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: commands
Readers

@commands (function)

Writers

(setf @commands) (function)

Slot: discard
Readers

@discard (function)

Writers

(setf @discard) (function)

Slot: stack
Readers

@stack (function)

Writers

(setf @stack) (function)

Slot: altstack
Readers

@altstack (function)

Writers

(setf @altstack) (function)

Slot: conditions
Readers

@conditions (function)

Writers

(setf @conditions) (function)

Slot: witness
Readers

@witness (function)

Writers

(setf @witness) (function)

Slot: sighashf
Readers

@sighashf (function)

Writers

(setf @sighashf) (function)

Slot: sigversion
Readers

@sigversion (function)

Writers

(setf @sigversion) (function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.7 Classes

Class: chain-supplier ()
Package

bp/core/chain

Source

lisp.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

node-connection (class)

Direct methods
Direct slots
Slot: network

Network marker (one of :MAINNET, :TESTNET, :REGTEST).

Initargs

:network

Initform

:mainnet

Readers

chain-supplier-network (generic function)

Writers

(setf chain-supplier-network) (generic function)

Class: secp256k1-ecdsa-signature-tclass ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)
Class: secp256k1-pubkey-tclass ()
Package

bp/crypto/secp256k1

Source

lisp.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   B   F   L  
Index Entry  Section

B
bp.asd: The bp․asd file
bp/core/all/lisp.lisp: The bp/core/all/lisp․lisp file
bp/core/block/lisp.lisp: The bp/core/block/lisp․lisp file
bp/core/chain/lisp.lisp: The bp/core/chain/lisp․lisp file
bp/core/consensus/lisp.lisp: The bp/core/consensus/lisp․lisp file
bp/core/encoding/lisp.lisp: The bp/core/encoding/lisp․lisp file
bp/core/script/lisp.lisp: The bp/core/script/lisp․lisp file
bp/core/transaction/lisp.lisp: The bp/core/transaction/lisp․lisp file
bp/crypto/all/lisp.lisp: The bp/crypto/all/lisp․lisp file
bp/crypto/hash/lisp.lisp: The bp/crypto/hash/lisp․lisp file
bp/crypto/random/lisp.lisp: The bp/crypto/random/lisp․lisp file
bp/crypto/secp256k1/lisp.lisp: The bp/crypto/secp256k1/lisp․lisp file

F
File, Lisp, bp.asd: The bp․asd file
File, Lisp, bp/core/all/lisp.lisp: The bp/core/all/lisp․lisp file
File, Lisp, bp/core/block/lisp.lisp: The bp/core/block/lisp․lisp file
File, Lisp, bp/core/chain/lisp.lisp: The bp/core/chain/lisp․lisp file
File, Lisp, bp/core/consensus/lisp.lisp: The bp/core/consensus/lisp․lisp file
File, Lisp, bp/core/encoding/lisp.lisp: The bp/core/encoding/lisp․lisp file
File, Lisp, bp/core/script/lisp.lisp: The bp/core/script/lisp․lisp file
File, Lisp, bp/core/transaction/lisp.lisp: The bp/core/transaction/lisp․lisp file
File, Lisp, bp/crypto/all/lisp.lisp: The bp/crypto/all/lisp․lisp file
File, Lisp, bp/crypto/hash/lisp.lisp: The bp/crypto/hash/lisp․lisp file
File, Lisp, bp/crypto/random/lisp.lisp: The bp/crypto/random/lisp․lisp file
File, Lisp, bp/crypto/secp256k1/lisp.lisp: The bp/crypto/secp256k1/lisp․lisp file

L
Lisp File, bp.asd: The bp․asd file
Lisp File, bp/core/all/lisp.lisp: The bp/core/all/lisp․lisp file
Lisp File, bp/core/block/lisp.lisp: The bp/core/block/lisp․lisp file
Lisp File, bp/core/chain/lisp.lisp: The bp/core/chain/lisp․lisp file
Lisp File, bp/core/consensus/lisp.lisp: The bp/core/consensus/lisp․lisp file
Lisp File, bp/core/encoding/lisp.lisp: The bp/core/encoding/lisp․lisp file
Lisp File, bp/core/script/lisp.lisp: The bp/core/script/lisp․lisp file
Lisp File, bp/core/transaction/lisp.lisp: The bp/core/transaction/lisp․lisp file
Lisp File, bp/crypto/all/lisp.lisp: The bp/crypto/all/lisp․lisp file
Lisp File, bp/crypto/hash/lisp.lisp: The bp/crypto/hash/lisp․lisp file
Lisp File, bp/crypto/random/lisp.lisp: The bp/crypto/random/lisp․lisp file
Lisp File, bp/crypto/secp256k1/lisp.lisp: The bp/crypto/secp256k1/lisp․lisp file

Jump to:   B   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (   @  
B   C   D   E   F   G   H   K   M   N   O   P   R   S   T   V   W  
Index Entry  Section

%
%make-key: Internal functions
%make-pubkey: Internal functions
%make-signature: Internal functions

(
(setf @altstack): Internal functions
(setf @commands): Internal functions
(setf @conditions): Internal functions
(setf @discard): Internal functions
(setf @sighashf): Internal functions
(setf @sigversion): Internal functions
(setf @stack): Internal functions
(setf @witness): Internal functions
(setf block-header): Exported functions
(setf block-header-bits): Internal functions
(setf block-header-merkle-root): Internal functions
(setf block-header-nonce): Internal functions
(setf block-header-previous-block-hash): Internal functions
(setf block-header-timestamp): Internal functions
(setf block-header-version): Internal functions
(setf block-transactions): Exported functions
(setf chain-supplier-network): Internal generic functions
(setf chain-supplier-network): Internal generic functions
(setf key-bytes): Internal functions
(setf node-connection-password): Internal generic functions
(setf node-connection-password): Internal generic functions
(setf node-connection-url): Internal generic functions
(setf node-connection-url): Internal generic functions
(setf node-connection-username): Internal generic functions
(setf node-connection-username): Internal generic functions
(setf pubkey-bytes): Internal functions
(setf script-commands): Exported functions
(setf signature-bytes): Internal functions
(setf tx-inputs): Exported functions
(setf tx-locktime): Exported functions
(setf tx-outputs): Exported functions
(setf tx-version): Exported functions
(setf tx-witnesses): Exported functions
(setf txin-previous-tx-id): Exported functions
(setf txin-previous-tx-index): Exported functions
(setf txin-script-sig): Exported functions
(setf txin-sequence): Exported functions
(setf txout-amount): Exported functions
(setf txout-script-pubkey): Exported functions
(setf witness-items): Exported functions

@
@altstack: Internal functions
@commands: Internal functions
@conditions: Internal functions
@discard: Internal functions
@execp: Internal functions
@sighash: Internal functions
@sighashf: Internal functions
@sigversion: Internal functions
@stack: Internal functions
@witness: Internal functions

B
bits-to-target: Internal functions
block-bits: Exported generic functions
block-bits: Exported generic functions
block-bits: Exported generic functions
block-difficulty: Internal functions
block-hash: Exported generic functions
block-hash: Exported generic functions
block-hash: Exported generic functions
block-header: Exported functions
block-header-bits: Internal functions
block-header-merkle-root: Internal functions
block-header-nonce: Internal functions
block-header-p: Internal functions
block-header-previous-block-hash: Internal functions
block-header-timestamp: Internal functions
block-header-version: Internal functions
block-id: Exported functions
block-merkle-root: Exported generic functions
block-merkle-root: Exported generic functions
block-merkle-root: Exported generic functions
block-nonce: Exported generic functions
block-nonce: Exported generic functions
block-nonce: Exported generic functions
block-previous-block-hash: Exported generic functions
block-previous-block-hash: Exported generic functions
block-previous-block-hash: Exported generic functions
block-target: Internal functions
block-timestamp: Exported generic functions
block-timestamp: Exported generic functions
block-timestamp: Exported generic functions
block-transaction: Exported functions
block-transactions: Exported functions
block-version: Exported generic functions
block-version: Exported generic functions
block-version: Exported generic functions
bytes-from-foreign: Internal macros
bytes-to-foreign: Internal macros

C
cblock-p: Internal functions
chain-get-block: Exported generic functions
chain-get-block: Exported generic functions
chain-get-block-hash: Exported generic functions
chain-get-block-hash: Exported generic functions
chain-get-transaction: Exported generic functions
chain-get-transaction: Exported generic functions
chain-supplier-network: Internal generic functions
chain-supplier-network: Internal generic functions
command-op: Internal functions
command-payload: Internal functions
context-create-none: Exported functions
context-create-sign: Exported functions
context-create-verify: Exported functions
copy-block-header: Internal functions
copy-cblock: Internal functions
copy-key: Internal functions
copy-pubkey: Internal functions
copy-script: Internal functions
copy-script-state: Internal functions
copy-signature: Internal functions
copy-tx: Internal functions
copy-txin: Internal functions
copy-txout: Internal functions
copy-witness: Internal functions

D
decode: Exported functions
decode-integer: Internal functions
define-disabled-opcode: Internal macros
define-opcode: Internal macros
define-opcode-alias: Internal macros
define-opcode-range: Internal macros
do-simple-rpc-call: Internal functions

E
ec-privkey-negate: Exported functions
ec-pubkey-create: Exported functions
ec-pubkey-negate: Exported functions
ec-pubkey-parse: Exported functions
ec-pubkey-serialize: Exported functions
ec-seckey-verify: Exported functions
ecdsa-sign: Exported functions
ecdsa-signature-normalize: Exported functions
ecdsa-signature-parse-compact: Exported functions
ecdsa-signature-parse-der: Exported functions
ecdsa-signature-parse-der-lax: Internal functions
ecdsa-signature-serialize-compact: Exported functions
ecdsa-signature-serialize-der: Exported functions
ecdsa-verify: Exported functions
encode: Exported functions
encode-integer: Internal functions
execute-p2sh: Internal functions
execute-p2wpkh: Internal functions
execute-p2wsh: Internal functions
execute-script: Exported functions
execute-scripts: Exported functions

F
from-hex: Exported functions
Function, %make-key: Internal functions
Function, %make-pubkey: Internal functions
Function, %make-signature: Internal functions
Function, (setf @altstack): Internal functions
Function, (setf @commands): Internal functions
Function, (setf @conditions): Internal functions
Function, (setf @discard): Internal functions
Function, (setf @sighashf): Internal functions
Function, (setf @sigversion): Internal functions
Function, (setf @stack): Internal functions
Function, (setf @witness): Internal functions
Function, (setf block-header): Exported functions
Function, (setf block-header-bits): Internal functions
Function, (setf block-header-merkle-root): Internal functions
Function, (setf block-header-nonce): Internal functions
Function, (setf block-header-previous-block-hash): Internal functions
Function, (setf block-header-timestamp): Internal functions
Function, (setf block-header-version): Internal functions
Function, (setf block-transactions): Exported functions
Function, (setf key-bytes): Internal functions
Function, (setf pubkey-bytes): Internal functions
Function, (setf script-commands): Exported functions
Function, (setf signature-bytes): Internal functions
Function, (setf tx-inputs): Exported functions
Function, (setf tx-locktime): Exported functions
Function, (setf tx-outputs): Exported functions
Function, (setf tx-version): Exported functions
Function, (setf tx-witnesses): Exported functions
Function, (setf txin-previous-tx-id): Exported functions
Function, (setf txin-previous-tx-index): Exported functions
Function, (setf txin-script-sig): Exported functions
Function, (setf txin-sequence): Exported functions
Function, (setf txout-amount): Exported functions
Function, (setf txout-script-pubkey): Exported functions
Function, (setf witness-items): Exported functions
Function, @altstack: Internal functions
Function, @commands: Internal functions
Function, @conditions: Internal functions
Function, @discard: Internal functions
Function, @execp: Internal functions
Function, @sighash: Internal functions
Function, @sighashf: Internal functions
Function, @sigversion: Internal functions
Function, @stack: Internal functions
Function, @witness: Internal functions
Function, bits-to-target: Internal functions
Function, block-difficulty: Internal functions
Function, block-header: Exported functions
Function, block-header-bits: Internal functions
Function, block-header-merkle-root: Internal functions
Function, block-header-nonce: Internal functions
Function, block-header-p: Internal functions
Function, block-header-previous-block-hash: Internal functions
Function, block-header-timestamp: Internal functions
Function, block-header-version: Internal functions
Function, block-id: Exported functions
Function, block-target: Internal functions
Function, block-transaction: Exported functions
Function, block-transactions: Exported functions
Function, cblock-p: Internal functions
Function, command-op: Internal functions
Function, command-payload: Internal functions
Function, context-create-none: Exported functions
Function, context-create-sign: Exported functions
Function, context-create-verify: Exported functions
Function, copy-block-header: Internal functions
Function, copy-cblock: Internal functions
Function, copy-key: Internal functions
Function, copy-pubkey: Internal functions
Function, copy-script: Internal functions
Function, copy-script-state: Internal functions
Function, copy-signature: Internal functions
Function, copy-tx: Internal functions
Function, copy-txin: Internal functions
Function, copy-txout: Internal functions
Function, copy-witness: Internal functions
Function, decode: Exported functions
Function, decode-integer: Internal functions
Function, do-simple-rpc-call: Internal functions
Function, ec-privkey-negate: Exported functions
Function, ec-pubkey-create: Exported functions
Function, ec-pubkey-negate: Exported functions
Function, ec-pubkey-parse: Exported functions
Function, ec-pubkey-serialize: Exported functions
Function, ec-seckey-verify: Exported functions
Function, ecdsa-sign: Exported functions
Function, ecdsa-signature-normalize: Exported functions
Function, ecdsa-signature-parse-compact: Exported functions
Function, ecdsa-signature-parse-der: Exported functions
Function, ecdsa-signature-parse-der-lax: Internal functions
Function, ecdsa-signature-serialize-compact: Exported functions
Function, ecdsa-signature-serialize-der: Exported functions
Function, ecdsa-verify: Exported functions
Function, encode: Exported functions
Function, encode-integer: Internal functions
Function, execute-p2sh: Internal functions
Function, execute-p2wpkh: Internal functions
Function, execute-p2wsh: Internal functions
Function, execute-script: Exported functions
Function, execute-scripts: Exported functions
Function, from-hex: Exported functions
Function, get-block: Exported functions
Function, get-block-hash: Exported functions
Function, get-transaction: Exported functions
Function, hash160: Exported functions
Function, hash256: Exported functions
Function, key-bytes: Internal functions
Function, key-p: Internal functions
Function, make-block-header: Internal functions
Function, make-cblock: Internal functions
Function, make-key: Exported functions
Function, make-pubkey: Exported functions
Function, make-script: Exported functions
Function, make-script-state: Exported functions
Function, make-signature: Exported functions
Function, make-tx: Internal functions
Function, make-txin: Internal functions
Function, make-txout: Internal functions
Function, make-witness: Internal functions
Function, opcode: Internal functions
Function, op_0: Internal functions
Function, op_0notequal: Internal functions
Function, op_1: Internal functions
Function, op_10: Internal functions
Function, op_11: Internal functions
Function, op_12: Internal functions
Function, op_13: Internal functions
Function, op_14: Internal functions
Function, op_15: Internal functions
Function, op_16: Internal functions
Function, op_1add: Internal functions
Function, op_1negate: Internal functions
Function, op_1sub: Internal functions
Function, op_2: Internal functions
Function, op_2div: Internal functions
Function, op_2drop: Internal functions
Function, op_2dup: Internal functions
Function, op_2mul: Internal functions
Function, op_2over: Internal functions
Function, op_2rot: Internal functions
Function, op_2swap: Internal functions
Function, op_3: Internal functions
Function, op_3dup: Internal functions
Function, op_4: Internal functions
Function, op_5: Internal functions
Function, op_6: Internal functions
Function, op_7: Internal functions
Function, op_8: Internal functions
Function, op_9: Internal functions
Function, op_abs: Internal functions
Function, op_add: Internal functions
Function, op_and: Internal functions
Function, op_booland: Internal functions
Function, op_boolor: Internal functions
Function, op_cat: Internal functions
Function, op_checklocktimeverify: Internal functions
Function, op_checkmultisig: Internal functions
Function, op_checkmultisigverify: Internal functions
Function, op_checksequenceverify: Internal functions
Function, op_checksig: Internal functions
Function, op_checksigverify: Internal functions
Function, op_codeseparator: Internal functions
Function, op_depth: Internal functions
Function, op_div: Internal functions
Function, op_drop: Internal functions
Function, op_dup: Internal functions
Function, op_else: Internal functions
Function, op_endif: Internal functions
Function, op_equal: Internal functions
Function, op_equalverify: Internal functions
Function, op_fromaltstack: Internal functions
Function, op_greaterthan: Internal functions
Function, op_greaterthanorequal: Internal functions
Function, op_hash160: Internal functions
Function, op_hash256: Internal functions
Function, op_if: Internal functions
Function, op_ifdup: Internal functions
Function, op_invalidopcode: Internal functions
Function, op_invert: Internal functions
Function, op_left: Internal functions
Function, op_lessthan: Internal functions
Function, op_lessthanorequal: Internal functions
Function, op_lshift: Internal functions
Function, op_max: Internal functions
Function, op_min: Internal functions
Function, op_mod: Internal functions
Function, op_mul: Internal functions
Function, op_negate: Internal functions
Function, op_nip: Internal functions
Function, op_nop: Internal functions
Function, op_nop1: Internal functions
Function, op_nop10: Internal functions
Function, op_nop4: Internal functions
Function, op_nop5: Internal functions
Function, op_nop6: Internal functions
Function, op_nop7: Internal functions
Function, op_nop8: Internal functions
Function, op_nop9: Internal functions
Function, op_not: Internal functions
Function, op_notif: Internal functions
Function, op_numequal: Internal functions
Function, op_numequalverify: Internal functions
Function, op_numnotequal: Internal functions
Function, op_or: Internal functions
Function, op_over: Internal functions
Function, op_pick: Internal functions
Function, op_pubkey: Internal functions
Function, op_pubkeyhash: Internal functions
Function, op_push1: Internal functions
Function, op_push10: Internal functions
Function, op_push11: Internal functions
Function, op_push12: Internal functions
Function, op_push13: Internal functions
Function, op_push14: Internal functions
Function, op_push15: Internal functions
Function, op_push16: Internal functions
Function, op_push17: Internal functions
Function, op_push18: Internal functions
Function, op_push19: Internal functions
Function, op_push2: Internal functions
Function, op_push20: Internal functions
Function, op_push21: Internal functions
Function, op_push22: Internal functions
Function, op_push23: Internal functions
Function, op_push24: Internal functions
Function, op_push25: Internal functions
Function, op_push26: Internal functions
Function, op_push27: Internal functions
Function, op_push28: Internal functions
Function, op_push29: Internal functions
Function, op_push3: Internal functions
Function, op_push30: Internal functions
Function, op_push31: Internal functions
Function, op_push32: Internal functions
Function, op_push33: Internal functions
Function, op_push34: Internal functions
Function, op_push35: Internal functions
Function, op_push36: Internal functions
Function, op_push37: Internal functions
Function, op_push38: Internal functions
Function, op_push39: Internal functions
Function, op_push4: Internal functions
Function, op_push40: Internal functions
Function, op_push41: Internal functions
Function, op_push42: Internal functions
Function, op_push43: Internal functions
Function, op_push44: Internal functions
Function, op_push45: Internal functions
Function, op_push46: Internal functions
Function, op_push47: Internal functions
Function, op_push48: Internal functions
Function, op_push49: Internal functions
Function, op_push5: Internal functions
Function, op_push50: Internal functions
Function, op_push51: Internal functions
Function, op_push52: Internal functions
Function, op_push53: Internal functions
Function, op_push54: Internal functions
Function, op_push55: Internal functions
Function, op_push56: Internal functions
Function, op_push57: Internal functions
Function, op_push58: Internal functions
Function, op_push59: Internal functions
Function, op_push6: Internal functions
Function, op_push60: Internal functions
Function, op_push61: Internal functions
Function, op_push62: Internal functions
Function, op_push63: Internal functions
Function, op_push64: Internal functions
Function, op_push65: Internal functions
Function, op_push66: Internal functions
Function, op_push67: Internal functions
Function, op_push68: Internal functions
Function, op_push69: Internal functions
Function, op_push7: Internal functions
Function, op_push70: Internal functions
Function, op_push71: Internal functions
Function, op_push72: Internal functions
Function, op_push73: Internal functions
Function, op_push74: Internal functions
Function, op_push75: Internal functions
Function, op_push8: Internal functions
Function, op_push9: Internal functions
Function, op_pushdata1: Internal functions
Function, op_pushdata2: Internal functions
Function, op_pushdata4: Internal functions
Function, op_reserved: Internal functions
Function, op_reserved1: Internal functions
Function, op_reserved2: Internal functions
Function, op_return: Internal functions
Function, op_right: Internal functions
Function, op_ripemd160: Internal functions
Function, op_roll: Internal functions
Function, op_rot: Internal functions
Function, op_rshift: Internal functions
Function, op_sha1: Internal functions
Function, op_sha256: Internal functions
Function, op_size: Internal functions
Function, op_sub: Internal functions
Function, op_substr: Internal functions
Function, op_swap: Internal functions
Function, op_toaltstack: Internal functions
Function, op_tuck: Internal functions
Function, op_ver: Internal functions
Function, op_verif: Internal functions
Function, op_verify: Internal functions
Function, op_vernotif: Internal functions
Function, op_within: Internal functions
Function, op_xor: Internal functions
Function, p2sh-p: Internal functions
Function, p2wpkh-p: Internal functions
Function, p2wsh-p: Internal functions
Function, parse-pubkey: Exported functions
Function, parse-signature: Exported functions
Function, print-script-execution-state: Internal functions
Function, pubkey-bytes: Internal functions
Function, pubkey-p: Internal functions
Function, random-bytes: Exported functions
Function, read-bytes: Exported functions
Function, read-int: Exported functions
Function, read-num-inputs-or-segwit-flag: Internal functions
Function, read-varint: Exported functions
Function, register-opcode: Internal functions
Function, ripemd160: Exported functions
Function, script: Exported functions
Function, script-commands: Exported functions
Function, script-p: Internal functions
Function, script-sigversion: Internal functions
Function, script-state-p: Internal functions
Function, secp256k1-context-clone: Internal functions
Function, secp256k1-context-create: Internal functions
Function, secp256k1-context-destroy: Internal functions
Function, secp256k1-context-randomize: Internal functions
Function, secp256k1-ec-privkey-negate: Internal functions
Function, secp256k1-ec-privkey-tweak-add: Internal functions
Function, secp256k1-ec-privkey-tweak-mul: Internal functions
Function, secp256k1-ec-pubkey-combine: Internal functions
Function, secp256k1-ec-pubkey-create: Internal functions
Function, secp256k1-ec-pubkey-negate: Internal functions
Function, secp256k1-ec-pubkey-parse: Internal functions
Function, secp256k1-ec-pubkey-serialize: Internal functions
Function, secp256k1-ec-pubkey-tweak-add: Internal functions
Function, secp256k1-ec-pubkey-tweak-mul: Internal functions
Function, secp256k1-ec-seckey-verify: Internal functions
Function, secp256k1-ecdsa-sign: Internal functions
Function, secp256k1-ecdsa-signature-normalize: Internal functions
Function, secp256k1-ecdsa-signature-parse-compact: Internal functions
Function, secp256k1-ecdsa-signature-parse-der: Internal functions
Function, secp256k1-ecdsa-signature-serialize-compact: Internal functions
Function, secp256k1-ecdsa-signature-serialize-der: Internal functions
Function, secp256k1-ecdsa-verify: Internal functions
Function, secp256k1-scratch-space-create: Internal functions
Function, secp256k1-scratch-space-destroy: Internal functions
Function, segwit-p: Internal functions
Function, serialize-pubkey: Exported functions
Function, serialize-signature: Exported functions
Function, signature-bytes: Internal functions
Function, signature-p: Internal functions
Function, to-hex: Exported functions
Function, tx-hash: Exported functions
Function, tx-id: Exported functions
Function, tx-input: Exported functions
Function, tx-inputs: Exported functions
Function, tx-locktime: Exported functions
Function, tx-output: Exported functions
Function, tx-outputs: Exported functions
Function, tx-outputs-hash: Internal functions
Function, tx-p: Internal functions
Function, tx-previous-outputs-hash: Internal functions
Function, tx-sequence-hash: Internal functions
Function, tx-sighash: Internal functions
Function, tx-sighash-base: Internal functions
Function, tx-sighash-witness-v0: Internal functions
Function, tx-version: Exported functions
Function, tx-wid: Exported functions
Function, tx-witness: Exported functions
Function, tx-witnesses: Exported functions
Function, txin-p: Internal functions
Function, txin-previous-tx-id: Exported functions
Function, txin-previous-tx-index: Exported functions
Function, txin-script-sig: Exported functions
Function, txin-sequence: Exported functions
Function, txout-amount: Exported functions
Function, txout-p: Internal functions
Function, txout-script-pubkey: Exported functions
Function, validp: Exported functions
Function, verify-signature: Exported functions
Function, witness-items: Exported functions
Function, witness-p: Internal functions
Function, write-bytes: Exported functions
Function, write-int: Exported functions
Function, write-varint: Exported functions

G
Generic Function, (setf chain-supplier-network): Internal generic functions
Generic Function, (setf node-connection-password): Internal generic functions
Generic Function, (setf node-connection-url): Internal generic functions
Generic Function, (setf node-connection-username): Internal generic functions
Generic Function, block-bits: Exported generic functions
Generic Function, block-hash: Exported generic functions
Generic Function, block-merkle-root: Exported generic functions
Generic Function, block-nonce: Exported generic functions
Generic Function, block-previous-block-hash: Exported generic functions
Generic Function, block-timestamp: Exported generic functions
Generic Function, block-version: Exported generic functions
Generic Function, chain-get-block: Exported generic functions
Generic Function, chain-get-block-hash: Exported generic functions
Generic Function, chain-get-transaction: Exported generic functions
Generic Function, chain-supplier-network: Internal generic functions
Generic Function, node-connection-password: Internal generic functions
Generic Function, node-connection-url: Internal generic functions
Generic Function, node-connection-username: Internal generic functions
Generic Function, parse: Exported generic functions
Generic Function, serialize: Exported generic functions
Generic Function, validate: Exported generic functions
get-block: Exported functions
get-block-hash: Exported functions
get-transaction: Exported functions

H
hash160: Exported functions
hash256: Exported functions

K
key-bytes: Internal functions
key-p: Internal functions

M
Macro, bytes-from-foreign: Internal macros
Macro, bytes-to-foreign: Internal macros
Macro, define-disabled-opcode: Internal macros
Macro, define-opcode: Internal macros
Macro, define-opcode-alias: Internal macros
Macro, define-opcode-range: Internal macros
Macro, with-chain-supplier: Exported macros
make-block-header: Internal functions
make-cblock: Internal functions
make-key: Exported functions
make-pubkey: Exported functions
make-script: Exported functions
make-script-state: Exported functions
make-signature: Exported functions
make-tx: Internal functions
make-txin: Internal functions
make-txout: Internal functions
make-witness: Internal functions
Method, (setf chain-supplier-network): Internal generic functions
Method, (setf node-connection-password): Internal generic functions
Method, (setf node-connection-url): Internal generic functions
Method, (setf node-connection-username): Internal generic functions
Method, block-bits: Exported generic functions
Method, block-bits: Exported generic functions
Method, block-hash: Exported generic functions
Method, block-hash: Exported generic functions
Method, block-merkle-root: Exported generic functions
Method, block-merkle-root: Exported generic functions
Method, block-nonce: Exported generic functions
Method, block-nonce: Exported generic functions
Method, block-previous-block-hash: Exported generic functions
Method, block-previous-block-hash: Exported generic functions
Method, block-timestamp: Exported generic functions
Method, block-timestamp: Exported generic functions
Method, block-version: Exported generic functions
Method, block-version: Exported generic functions
Method, chain-get-block: Exported generic functions
Method, chain-get-block-hash: Exported generic functions
Method, chain-get-transaction: Exported generic functions
Method, chain-supplier-network: Internal generic functions
Method, node-connection-password: Internal generic functions
Method, node-connection-url: Internal generic functions
Method, node-connection-username: Internal generic functions
Method, parse: Exported generic functions
Method, parse: Exported generic functions
Method, parse: Exported generic functions
Method, parse: Exported generic functions
Method, parse: Exported generic functions
Method, parse: Exported generic functions
Method, parse: Exported generic functions
Method, serialize: Exported generic functions
Method, serialize: Exported generic functions
Method, serialize: Exported generic functions
Method, serialize: Exported generic functions
Method, serialize: Exported generic functions
Method, serialize: Exported generic functions
Method, serialize: Exported generic functions
Method, validate: Exported generic functions
Method, validate: Exported generic functions
Method, validate: Exported generic functions
Method, validate: Exported generic functions
Method, validate: Exported generic functions

N
node-connection-password: Internal generic functions
node-connection-password: Internal generic functions
node-connection-url: Internal generic functions
node-connection-url: Internal generic functions
node-connection-username: Internal generic functions
node-connection-username: Internal generic functions

O
opcode: Internal functions
op_0: Internal functions
op_0notequal: Internal functions
op_1: Internal functions
op_10: Internal functions
op_11: Internal functions
op_12: Internal functions
op_13: Internal functions
op_14: Internal functions
op_15: Internal functions
op_16: Internal functions
op_1add: Internal functions
op_1negate: Internal functions
op_1sub: Internal functions
op_2: Internal functions
op_2div: Internal functions
op_2drop: Internal functions
op_2dup: Internal functions
op_2mul: Internal functions
op_2over: Internal functions
op_2rot: Internal functions
op_2swap: Internal functions
op_3: Internal functions
op_3dup: Internal functions
op_4: Internal functions
op_5: Internal functions
op_6: Internal functions
op_7: Internal functions
op_8: Internal functions
op_9: Internal functions
op_abs: Internal functions
op_add: Internal functions
op_and: Internal functions
op_booland: Internal functions
op_boolor: Internal functions
op_cat: Internal functions
op_checklocktimeverify: Internal functions
op_checkmultisig: Internal functions
op_checkmultisigverify: Internal functions
op_checksequenceverify: Internal functions
op_checksig: Internal functions
op_checksigverify: Internal functions
op_codeseparator: Internal functions
op_depth: Internal functions
op_div: Internal functions
op_drop: Internal functions
op_dup: Internal functions
op_else: Internal functions
op_endif: Internal functions
op_equal: Internal functions
op_equalverify: Internal functions
op_fromaltstack: Internal functions
op_greaterthan: Internal functions
op_greaterthanorequal: Internal functions
op_hash160: Internal functions
op_hash256: Internal functions
op_if: Internal functions
op_ifdup: Internal functions
op_invalidopcode: Internal functions
op_invert: Internal functions
op_left: Internal functions
op_lessthan: Internal functions
op_lessthanorequal: Internal functions
op_lshift: Internal functions
op_max: Internal functions
op_min: Internal functions
op_mod: Internal functions
op_mul: Internal functions
op_negate: Internal functions
op_nip: Internal functions
op_nop: Internal functions
op_nop1: Internal functions
op_nop10: Internal functions
op_nop4: Internal functions
op_nop5: Internal functions
op_nop6: Internal functions
op_nop7: Internal functions
op_nop8: Internal functions
op_nop9: Internal functions
op_not: Internal functions
op_notif: Internal functions
op_numequal: Internal functions
op_numequalverify: Internal functions
op_numnotequal: Internal functions
op_or: Internal functions
op_over: Internal functions
op_pick: Internal functions
op_pubkey: Internal functions
op_pubkeyhash: Internal functions
op_push1: Internal functions
op_push10: Internal functions
op_push11: Internal functions
op_push12: Internal functions
op_push13: Internal functions
op_push14: Internal functions
op_push15: Internal functions
op_push16: Internal functions
op_push17: Internal functions
op_push18: Internal functions
op_push19: Internal functions
op_push2: Internal functions
op_push20: Internal functions
op_push21: Internal functions
op_push22: Internal functions
op_push23: Internal functions
op_push24: Internal functions
op_push25: Internal functions
op_push26: Internal functions
op_push27: Internal functions
op_push28: Internal functions
op_push29: Internal functions
op_push3: Internal functions
op_push30: Internal functions
op_push31: Internal functions
op_push32: Internal functions
op_push33: Internal functions
op_push34: Internal functions
op_push35: Internal functions
op_push36: Internal functions
op_push37: Internal functions
op_push38: Internal functions
op_push39: Internal functions
op_push4: Internal functions
op_push40: Internal functions
op_push41: Internal functions
op_push42: Internal functions
op_push43: Internal functions
op_push44: Internal functions
op_push45: Internal functions
op_push46: Internal functions
op_push47: Internal functions
op_push48: Internal functions
op_push49: Internal functions
op_push5: Internal functions
op_push50: Internal functions
op_push51: Internal functions
op_push52: Internal functions
op_push53: Internal functions
op_push54: Internal functions
op_push55: Internal functions
op_push56: Internal functions
op_push57: Internal functions
op_push58: Internal functions
op_push59: Internal functions
op_push6: Internal functions
op_push60: Internal functions
op_push61: Internal functions
op_push62: Internal functions
op_push63: Internal functions
op_push64: Internal functions
op_push65: Internal functions
op_push66: Internal functions
op_push67: Internal functions
op_push68: Internal functions
op_push69: Internal functions
op_push7: Internal functions
op_push70: Internal functions
op_push71: Internal functions
op_push72: Internal functions
op_push73: Internal functions
op_push74: Internal functions
op_push75: Internal functions
op_push8: Internal functions
op_push9: Internal functions
op_pushdata1: Internal functions
op_pushdata2: Internal functions
op_pushdata4: Internal functions
op_reserved: Internal functions
op_reserved1: Internal functions
op_reserved2: Internal functions
op_return: Internal functions
op_right: Internal functions
op_ripemd160: Internal functions
op_roll: Internal functions
op_rot: Internal functions
op_rshift: Internal functions
op_sha1: Internal functions
op_sha256: Internal functions
op_size: Internal functions
op_sub: Internal functions
op_substr: Internal functions
op_swap: Internal functions
op_toaltstack: Internal functions
op_tuck: Internal functions
op_ver: Internal functions
op_verif: Internal functions
op_verify: Internal functions
op_vernotif: Internal functions
op_within: Internal functions
op_xor: Internal functions

P
p2sh-p: Internal functions
p2wpkh-p: Internal functions
p2wsh-p: Internal functions
parse: Exported generic functions
parse: Exported generic functions
parse: Exported generic functions
parse: Exported generic functions
parse: Exported generic functions
parse: Exported generic functions
parse: Exported generic functions
parse: Exported generic functions
parse-pubkey: Exported functions
parse-signature: Exported functions
print-script-execution-state: Internal functions
pubkey-bytes: Internal functions
pubkey-p: Internal functions

R
random-bytes: Exported functions
read-bytes: Exported functions
read-int: Exported functions
read-num-inputs-or-segwit-flag: Internal functions
read-varint: Exported functions
register-opcode: Internal functions
ripemd160: Exported functions

S
script: Exported functions
script-commands: Exported functions
script-p: Internal functions
script-sigversion: Internal functions
script-state-p: Internal functions
secp256k1-context-clone: Internal functions
secp256k1-context-create: Internal functions
secp256k1-context-destroy: Internal functions
secp256k1-context-randomize: Internal functions
secp256k1-ec-privkey-negate: Internal functions
secp256k1-ec-privkey-tweak-add: Internal functions
secp256k1-ec-privkey-tweak-mul: Internal functions
secp256k1-ec-pubkey-combine: Internal functions
secp256k1-ec-pubkey-create: Internal functions
secp256k1-ec-pubkey-negate: Internal functions
secp256k1-ec-pubkey-parse: Internal functions
secp256k1-ec-pubkey-serialize: Internal functions
secp256k1-ec-pubkey-tweak-add: Internal functions
secp256k1-ec-pubkey-tweak-mul: Internal functions
secp256k1-ec-seckey-verify: Internal functions
secp256k1-ecdsa-sign: Internal functions
secp256k1-ecdsa-signature-normalize: Internal functions
secp256k1-ecdsa-signature-parse-compact: Internal functions
secp256k1-ecdsa-signature-parse-der: Internal functions
secp256k1-ecdsa-signature-serialize-compact: Internal functions
secp256k1-ecdsa-signature-serialize-der: Internal functions
secp256k1-ecdsa-verify: Internal functions
secp256k1-scratch-space-create: Internal functions
secp256k1-scratch-space-destroy: Internal functions
segwit-p: Internal functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize: Exported generic functions
serialize-pubkey: Exported functions
serialize-signature: Exported functions
signature-bytes: Internal functions
signature-p: Internal functions

T
to-hex: Exported functions
tx-hash: Exported functions
tx-id: Exported functions
tx-input: Exported functions
tx-inputs: Exported functions
tx-locktime: Exported functions
tx-output: Exported functions
tx-outputs: Exported functions
tx-outputs-hash: Internal functions
tx-p: Internal functions
tx-previous-outputs-hash: Internal functions
tx-sequence-hash: Internal functions
tx-sighash: Internal functions
tx-sighash-base: Internal functions
tx-sighash-witness-v0: Internal functions
tx-version: Exported functions
tx-wid: Exported functions
tx-witness: Exported functions
tx-witnesses: Exported functions
txin-p: Internal functions
txin-previous-tx-id: Exported functions
txin-previous-tx-index: Exported functions
txin-script-sig: Exported functions
txin-sequence: Exported functions
txout-amount: Exported functions
txout-p: Internal functions
txout-script-pubkey: Exported functions

V
validate: Exported generic functions
validate: Exported generic functions
validate: Exported generic functions
validate: Exported generic functions
validate: Exported generic functions
validate: Exported generic functions
validp: Exported functions
verify-signature: Exported functions

W
with-chain-supplier: Exported macros
witness-items: Exported functions
witness-p: Internal functions
write-bytes: Exported functions
write-int: Exported functions
write-varint: Exported functions

Jump to:   %   (   @  
B   C   D   E   F   G   H   K   M   N   O   P   R   S   T   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
A   B   C   D   H   I   L   M   N   O   P   S   T   U   V   W  
Index Entry  Section

*
*chain-supplier*: Internal special variables
*context-none*: Internal special variables
*context-sign*: Internal special variables
*context-verify*: Internal special variables
*opcodes-by-code*: Internal special variables
*opcodes-by-name*: Internal special variables
*trace-script-execution*: Exported special variables

+
+secp256k1-context-none+: Internal constants
+secp256k1-context-sign+: Internal constants
+secp256k1-context-verify+: Internal constants
+secp256k1-ec-compressed+: Internal constants
+secp256k1-ec-uncompressed+: Internal constants
+secp256k1-flags-bit-compression+: Internal constants
+secp256k1-flags-bit-context-sign+: Internal constants
+secp256k1-flags-bit-context-verify+: Internal constants
+secp256k1-flags-type-compression+: Internal constants
+secp256k1-flags-type-context+: Internal constants
+secp256k1-flags-type-mask+: Internal constants
+secp256k1-tag-pubkey-even+: Internal constants
+secp256k1-tag-pubkey-hybrid-even+: Internal constants
+secp256k1-tag-pubkey-hybrid-odd+: Internal constants
+secp256k1-tag-pubkey-odd+: Internal constants
+secp256k1-tag-pubkey-uncompressed+: Internal constants
+sighash-all+: Internal constants
+sighash-anyonecanpay+: Internal constants
+sighash-none+: Internal constants
+sighash-single+: Internal constants

A
altstack: Internal structures
amount: Exported structures

B
bits: Exported structures
bytes: Exported structures
bytes: Exported structures
bytes: Exported structures

C
commands: Exported structures
commands: Internal structures
conditions: Internal structures
Constant, +secp256k1-context-none+: Internal constants
Constant, +secp256k1-context-sign+: Internal constants
Constant, +secp256k1-context-verify+: Internal constants
Constant, +secp256k1-ec-compressed+: Internal constants
Constant, +secp256k1-ec-uncompressed+: Internal constants
Constant, +secp256k1-flags-bit-compression+: Internal constants
Constant, +secp256k1-flags-bit-context-sign+: Internal constants
Constant, +secp256k1-flags-bit-context-verify+: Internal constants
Constant, +secp256k1-flags-type-compression+: Internal constants
Constant, +secp256k1-flags-type-context+: Internal constants
Constant, +secp256k1-flags-type-mask+: Internal constants
Constant, +secp256k1-tag-pubkey-even+: Internal constants
Constant, +secp256k1-tag-pubkey-hybrid-even+: Internal constants
Constant, +secp256k1-tag-pubkey-hybrid-odd+: Internal constants
Constant, +secp256k1-tag-pubkey-odd+: Internal constants
Constant, +secp256k1-tag-pubkey-uncompressed+: Internal constants
Constant, +sighash-all+: Internal constants
Constant, +sighash-anyonecanpay+: Internal constants
Constant, +sighash-none+: Internal constants
Constant, +sighash-single+: Internal constants

D
discard: Internal structures

H
header: Exported structures

I
inputs: Exported structures
items: Exported structures

L
locktime: Exported structures

M
merkle-root: Exported structures

N
network: Internal classes
nonce: Exported structures

O
outputs: Exported structures

P
password: Exported classes
previous-block-hash: Exported structures
previous-tx-id: Exported structures
previous-tx-index: Exported structures

S
script-pubkey: Exported structures
script-sig: Exported structures
sequence: Exported structures
sighashf: Internal structures
sigversion: Internal structures
Slot, altstack: Internal structures
Slot, amount: Exported structures
Slot, bits: Exported structures
Slot, bytes: Exported structures
Slot, bytes: Exported structures
Slot, bytes: Exported structures
Slot, commands: Exported structures
Slot, commands: Internal structures
Slot, conditions: Internal structures
Slot, discard: Internal structures
Slot, header: Exported structures
Slot, inputs: Exported structures
Slot, items: Exported structures
Slot, locktime: Exported structures
Slot, merkle-root: Exported structures
Slot, network: Internal classes
Slot, nonce: Exported structures
Slot, outputs: Exported structures
Slot, password: Exported classes
Slot, previous-block-hash: Exported structures
Slot, previous-tx-id: Exported structures
Slot, previous-tx-index: Exported structures
Slot, script-pubkey: Exported structures
Slot, script-sig: Exported structures
Slot, sequence: Exported structures
Slot, sighashf: Internal structures
Slot, sigversion: Internal structures
Slot, stack: Internal structures
Slot, timestamp: Exported structures
Slot, transactions: Exported structures
Slot, url: Exported classes
Slot, username: Exported classes
Slot, version: Exported structures
Slot, version: Exported structures
Slot, witness: Internal structures
Slot, witnesses: Exported structures
Special Variable, *chain-supplier*: Internal special variables
Special Variable, *context-none*: Internal special variables
Special Variable, *context-sign*: Internal special variables
Special Variable, *context-verify*: Internal special variables
Special Variable, *opcodes-by-code*: Internal special variables
Special Variable, *opcodes-by-name*: Internal special variables
Special Variable, *trace-script-execution*: Exported special variables
stack: Internal structures

T
timestamp: Exported structures
transactions: Exported structures

U
url: Exported classes
username: Exported classes

V
version: Exported structures
version: Exported structures

W
witness: Internal structures
witnesses: Exported structures

Jump to:   *   +  
A   B   C   D   H   I   L   M   N   O   P   S   T   U   V   W  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   B   C   K   N   P   S   T   W  
Index Entry  Section

B
block-header: Exported structures
bp: The bp system
bp/core/all: The bp/core/all system
bp/core/all: The bp/core/all package
bp/core/block: The bp/core/block system
bp/core/block: The bp/core/block package
bp/core/chain: The bp/core/chain system
bp/core/chain: The bp/core/chain package
bp/core/consensus: The bp/core/consensus system
bp/core/consensus: The bp/core/consensus package
bp/core/encoding: The bp/core/encoding system
bp/core/encoding: The bp/core/encoding package
bp/core/script: The bp/core/script system
bp/core/script: The bp/core/script package
bp/core/transaction: The bp/core/transaction system
bp/core/transaction: The bp/core/transaction package
bp/crypto/all: The bp/crypto/all system
bp/crypto/all: The bp/crypto/all package
bp/crypto/hash: The bp/crypto/hash system
bp/crypto/hash: The bp/crypto/hash package
bp/crypto/random: The bp/crypto/random system
bp/crypto/random: The bp/crypto/random package
bp/crypto/secp256k1: The bp/crypto/secp256k1 system
bp/crypto/secp256k1: The bp/crypto/secp256k1 package

C
cblock: Exported structures
chain-supplier: Internal classes
Class, chain-supplier: Internal classes
Class, node-connection: Exported classes
Class, secp256k1-ecdsa-signature-tclass: Internal classes
Class, secp256k1-pubkey-tclass: Internal classes

K
key: Exported structures

N
node-connection: Exported classes

P
Package, bp/core/all: The bp/core/all package
Package, bp/core/block: The bp/core/block package
Package, bp/core/chain: The bp/core/chain package
Package, bp/core/consensus: The bp/core/consensus package
Package, bp/core/encoding: The bp/core/encoding package
Package, bp/core/script: The bp/core/script package
Package, bp/core/transaction: The bp/core/transaction package
Package, bp/crypto/all: The bp/crypto/all package
Package, bp/crypto/hash: The bp/crypto/hash package
Package, bp/crypto/random: The bp/crypto/random package
Package, bp/crypto/secp256k1: The bp/crypto/secp256k1 package
pubkey: Exported structures

S
script: Exported structures
script-state: Internal structures
secp256k1-ecdsa-signature-tclass: Internal classes
secp256k1-pubkey-tclass: Internal classes
signature: Exported structures
Structure, block-header: Exported structures
Structure, cblock: Exported structures
Structure, key: Exported structures
Structure, pubkey: Exported structures
Structure, script: Exported structures
Structure, script-state: Internal structures
Structure, signature: Exported structures
Structure, tx: Exported structures
Structure, txin: Exported structures
Structure, txout: Exported structures
Structure, witness: Exported structures
System, bp: The bp system
System, bp/core/all: The bp/core/all system
System, bp/core/block: The bp/core/block system
System, bp/core/chain: The bp/core/chain system
System, bp/core/consensus: The bp/core/consensus system
System, bp/core/encoding: The bp/core/encoding system
System, bp/core/script: The bp/core/script system
System, bp/core/transaction: The bp/core/transaction system
System, bp/crypto/all: The bp/crypto/all system
System, bp/crypto/hash: The bp/crypto/hash system
System, bp/crypto/random: The bp/crypto/random system
System, bp/crypto/secp256k1: The bp/crypto/secp256k1 system

T
tx: Exported structures
txin: Exported structures
txout: Exported structures

W
witness: Exported structures

Jump to:   B   C   K   N   P   S   T   W