Bitcoin Core  0.18.99
P2P Digital Currency
Macros | Typedefs | Enumerations | Functions
bitcoinconsensus.h File Reference
#include <stdint.h>
Include dependency graph for bitcoinconsensus.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define EXPORT_SYMBOL
 
#define BITCOINCONSENSUS_API_VER   1
 

Typedefs

typedef enum bitcoinconsensus_error_t bitcoinconsensus_error
 

Enumerations

enum  bitcoinconsensus_error_t {
  bitcoinconsensus_ERR_OK = 0, bitcoinconsensus_ERR_TX_INDEX, bitcoinconsensus_ERR_TX_SIZE_MISMATCH, bitcoinconsensus_ERR_TX_DESERIALIZE,
  bitcoinconsensus_ERR_AMOUNT_REQUIRED, bitcoinconsensus_ERR_INVALID_FLAGS
}
 
enum  {
  bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE = 0, bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH = (1U << 0), bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG = (1U << 2), bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY = (1U << 4),
  bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY = (1U << 9), bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY = (1U << 10), bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS = (1U << 11), bitcoinconsensus_SCRIPT_FLAGS_VERIFY_ALL
}
 Script verification flags. More...
 

Functions

EXPORT_SYMBOL int bitcoinconsensus_verify_script (const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, const unsigned char *txTo, unsigned int txToLen, unsigned int nIn, unsigned int flags, bitcoinconsensus_error *err)
 Returns 1 if the input nIn of the serialized transaction pointed to by txTo correctly spends the scriptPubKey pointed to by scriptPubKey under the additional constraints specified by flags. More...
 
EXPORT_SYMBOL int bitcoinconsensus_verify_script_with_amount (const unsigned char *scriptPubKey, unsigned int scriptPubKeyLen, int64_t amount, const unsigned char *txTo, unsigned int txToLen, unsigned int nIn, unsigned int flags, bitcoinconsensus_error *err)
 
EXPORT_SYMBOL unsigned int bitcoinconsensus_version ()
 

Macro Definition Documentation

◆ BITCOINCONSENSUS_API_VER

#define BITCOINCONSENSUS_API_VER   1

Definition at line 36 of file bitcoinconsensus.h.

◆ EXPORT_SYMBOL

#define EXPORT_SYMBOL

Definition at line 29 of file bitcoinconsensus.h.

Typedef Documentation

◆ bitcoinconsensus_error

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Script verification flags.

Enumerator
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS 
bitcoinconsensus_SCRIPT_FLAGS_VERIFY_ALL 

Definition at line 49 of file bitcoinconsensus.h.

◆ bitcoinconsensus_error_t

Enumerator
bitcoinconsensus_ERR_OK 
bitcoinconsensus_ERR_TX_INDEX 
bitcoinconsensus_ERR_TX_SIZE_MISMATCH 
bitcoinconsensus_ERR_TX_DESERIALIZE 
bitcoinconsensus_ERR_AMOUNT_REQUIRED 
bitcoinconsensus_ERR_INVALID_FLAGS 

Definition at line 38 of file bitcoinconsensus.h.

Function Documentation

◆ bitcoinconsensus_verify_script()

EXPORT_SYMBOL int bitcoinconsensus_verify_script ( const unsigned char *  scriptPubKey,
unsigned int  scriptPubKeyLen,
const unsigned char *  txTo,
unsigned int  txToLen,
unsigned int  nIn,
unsigned int  flags,
bitcoinconsensus_error err 
)

Returns 1 if the input nIn of the serialized transaction pointed to by txTo correctly spends the scriptPubKey pointed to by scriptPubKey under the additional constraints specified by flags.

If not nullptr, err will contain an error/success code for the operation

Definition at line 113 of file bitcoinconsensus.cpp.

◆ bitcoinconsensus_verify_script_with_amount()

EXPORT_SYMBOL int bitcoinconsensus_verify_script_with_amount ( const unsigned char *  scriptPubKey,
unsigned int  scriptPubKeyLen,
int64_t  amount,
const unsigned char *  txTo,
unsigned int  txToLen,
unsigned int  nIn,
unsigned int  flags,
bitcoinconsensus_error err 
)

Definition at line 104 of file bitcoinconsensus.cpp.

◆ bitcoinconsensus_version()

EXPORT_SYMBOL unsigned int bitcoinconsensus_version ( )

Definition at line 125 of file bitcoinconsensus.cpp.