Bitcoin Core
28.1.0
P2P Digital Currency
src
script
script_error.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-2020 The Bitcoin Core developers
3
// Distributed under the MIT software license, see the accompanying
4
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6
#ifndef BITCOIN_SCRIPT_SCRIPT_ERROR_H
7
#define BITCOIN_SCRIPT_SCRIPT_ERROR_H
8
9
#include <string>
10
11
typedef
enum
ScriptError_t
12
{
13
SCRIPT_ERR_OK
= 0,
14
SCRIPT_ERR_UNKNOWN_ERROR
,
15
SCRIPT_ERR_EVAL_FALSE
,
16
SCRIPT_ERR_OP_RETURN
,
17
18
/* Max sizes */
19
SCRIPT_ERR_SCRIPT_SIZE
,
20
SCRIPT_ERR_PUSH_SIZE
,
21
SCRIPT_ERR_OP_COUNT
,
22
SCRIPT_ERR_STACK_SIZE
,
23
SCRIPT_ERR_SIG_COUNT
,
24
SCRIPT_ERR_PUBKEY_COUNT
,
25
26
/* Failed verify operations */
27
SCRIPT_ERR_VERIFY
,
28
SCRIPT_ERR_EQUALVERIFY
,
29
SCRIPT_ERR_CHECKMULTISIGVERIFY
,
30
SCRIPT_ERR_CHECKSIGVERIFY
,
31
SCRIPT_ERR_NUMEQUALVERIFY
,
32
33
/* Logical/Format/Canonical errors */
34
SCRIPT_ERR_BAD_OPCODE
,
35
SCRIPT_ERR_DISABLED_OPCODE
,
36
SCRIPT_ERR_INVALID_STACK_OPERATION
,
37
SCRIPT_ERR_INVALID_ALTSTACK_OPERATION
,
38
SCRIPT_ERR_UNBALANCED_CONDITIONAL
,
39
40
/* CHECKLOCKTIMEVERIFY and CHECKSEQUENCEVERIFY */
41
SCRIPT_ERR_NEGATIVE_LOCKTIME
,
42
SCRIPT_ERR_UNSATISFIED_LOCKTIME
,
43
44
/* Malleability */
45
SCRIPT_ERR_SIG_HASHTYPE
,
46
SCRIPT_ERR_SIG_DER
,
47
SCRIPT_ERR_MINIMALDATA
,
48
SCRIPT_ERR_SIG_PUSHONLY
,
49
SCRIPT_ERR_SIG_HIGH_S
,
50
SCRIPT_ERR_SIG_NULLDUMMY
,
51
SCRIPT_ERR_PUBKEYTYPE
,
52
SCRIPT_ERR_CLEANSTACK
,
53
SCRIPT_ERR_MINIMALIF
,
54
SCRIPT_ERR_SIG_NULLFAIL
,
55
56
/* softfork safeness */
57
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS
,
58
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
,
59
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION
,
60
SCRIPT_ERR_DISCOURAGE_OP_SUCCESS
,
61
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_PUBKEYTYPE
,
62
63
/* segregated witness */
64
SCRIPT_ERR_WITNESS_PROGRAM_WRONG_LENGTH
,
65
SCRIPT_ERR_WITNESS_PROGRAM_WITNESS_EMPTY
,
66
SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH
,
67
SCRIPT_ERR_WITNESS_MALLEATED
,
68
SCRIPT_ERR_WITNESS_MALLEATED_P2SH
,
69
SCRIPT_ERR_WITNESS_UNEXPECTED
,
70
SCRIPT_ERR_WITNESS_PUBKEYTYPE
,
71
72
/* Taproot */
73
SCRIPT_ERR_SCHNORR_SIG_SIZE
,
74
SCRIPT_ERR_SCHNORR_SIG_HASHTYPE
,
75
SCRIPT_ERR_SCHNORR_SIG
,
76
SCRIPT_ERR_TAPROOT_WRONG_CONTROL_SIZE
,
77
SCRIPT_ERR_TAPSCRIPT_VALIDATION_WEIGHT
,
78
SCRIPT_ERR_TAPSCRIPT_CHECKMULTISIG
,
79
SCRIPT_ERR_TAPSCRIPT_MINIMALIF
,
80
81
/* Constant scriptCode */
82
SCRIPT_ERR_OP_CODESEPARATOR
,
83
SCRIPT_ERR_SIG_FINDANDDELETE
,
84
85
SCRIPT_ERR_ERROR_COUNT
86
}
ScriptError
;
87
88
#define SCRIPT_ERR_LAST SCRIPT_ERR_ERROR_COUNT
89
90
std::string
ScriptErrorString
(
const
ScriptError
error);
91
92
#endif // BITCOIN_SCRIPT_SCRIPT_ERROR_H
SCRIPT_ERR_STACK_SIZE
Definition:
script_error.h:22
SCRIPT_ERR_SIG_PUSHONLY
Definition:
script_error.h:48
SCRIPT_ERR_SCHNORR_SIG_HASHTYPE
Definition:
script_error.h:74
SCRIPT_ERR_WITNESS_PROGRAM_WRONG_LENGTH
Definition:
script_error.h:64
SCRIPT_ERR_CLEANSTACK
Definition:
script_error.h:52
SCRIPT_ERR_VERIFY
Definition:
script_error.h:27
SCRIPT_ERR_INVALID_STACK_OPERATION
Definition:
script_error.h:36
ScriptError
enum ScriptError_t ScriptError
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS
Definition:
script_error.h:57
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION
Definition:
script_error.h:59
SCRIPT_ERR_UNKNOWN_ERROR
Definition:
script_error.h:14
SCRIPT_ERR_SIG_NULLFAIL
Definition:
script_error.h:54
SCRIPT_ERR_SIG_COUNT
Definition:
script_error.h:23
SCRIPT_ERR_SIG_HIGH_S
Definition:
script_error.h:49
SCRIPT_ERR_NUMEQUALVERIFY
Definition:
script_error.h:31
SCRIPT_ERR_OP_CODESEPARATOR
Definition:
script_error.h:82
SCRIPT_ERR_DISCOURAGE_OP_SUCCESS
Definition:
script_error.h:60
SCRIPT_ERR_TAPROOT_WRONG_CONTROL_SIZE
Definition:
script_error.h:76
SCRIPT_ERR_UNSATISFIED_LOCKTIME
Definition:
script_error.h:42
SCRIPT_ERR_TAPSCRIPT_MINIMALIF
Definition:
script_error.h:79
SCRIPT_ERR_SCRIPT_SIZE
Definition:
script_error.h:19
SCRIPT_ERR_DISABLED_OPCODE
Definition:
script_error.h:35
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
Definition:
script_error.h:58
SCRIPT_ERR_ERROR_COUNT
Definition:
script_error.h:85
SCRIPT_ERR_WITNESS_MALLEATED
Definition:
script_error.h:67
SCRIPT_ERR_SIG_HASHTYPE
Definition:
script_error.h:45
SCRIPT_ERR_OP_COUNT
Definition:
script_error.h:21
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_PUBKEYTYPE
Definition:
script_error.h:61
SCRIPT_ERR_OK
Definition:
script_error.h:13
SCRIPT_ERR_TAPSCRIPT_CHECKMULTISIG
Definition:
script_error.h:78
SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH
Definition:
script_error.h:66
SCRIPT_ERR_CHECKSIGVERIFY
Definition:
script_error.h:30
SCRIPT_ERR_TAPSCRIPT_VALIDATION_WEIGHT
Definition:
script_error.h:77
SCRIPT_ERR_WITNESS_PUBKEYTYPE
Definition:
script_error.h:70
ScriptError_t
ScriptError_t
Definition:
script_error.h:11
SCRIPT_ERR_PUBKEY_COUNT
Definition:
script_error.h:24
SCRIPT_ERR_EVAL_FALSE
Definition:
script_error.h:15
SCRIPT_ERR_PUBKEYTYPE
Definition:
script_error.h:51
SCRIPT_ERR_BAD_OPCODE
Definition:
script_error.h:34
SCRIPT_ERR_MINIMALDATA
Definition:
script_error.h:47
SCRIPT_ERR_WITNESS_MALLEATED_P2SH
Definition:
script_error.h:68
SCRIPT_ERR_EQUALVERIFY
Definition:
script_error.h:28
SCRIPT_ERR_OP_RETURN
Definition:
script_error.h:16
SCRIPT_ERR_SIG_FINDANDDELETE
Definition:
script_error.h:83
SCRIPT_ERR_INVALID_ALTSTACK_OPERATION
Definition:
script_error.h:37
SCRIPT_ERR_NEGATIVE_LOCKTIME
Definition:
script_error.h:41
SCRIPT_ERR_SCHNORR_SIG_SIZE
Definition:
script_error.h:73
SCRIPT_ERR_CHECKMULTISIGVERIFY
Definition:
script_error.h:29
SCRIPT_ERR_SIG_DER
Definition:
script_error.h:46
ScriptErrorString
std::string ScriptErrorString(const ScriptError error)
Definition:
script_error.cpp:10
SCRIPT_ERR_PUSH_SIZE
Definition:
script_error.h:20
SCRIPT_ERR_WITNESS_PROGRAM_WITNESS_EMPTY
Definition:
script_error.h:65
SCRIPT_ERR_WITNESS_UNEXPECTED
Definition:
script_error.h:69
SCRIPT_ERR_SCHNORR_SIG
Definition:
script_error.h:75
SCRIPT_ERR_SIG_NULLDUMMY
Definition:
script_error.h:50
SCRIPT_ERR_MINIMALIF
Definition:
script_error.h:53
SCRIPT_ERR_UNBALANCED_CONDITIONAL
Definition:
script_error.h:38
Generated on Tue Jan 7 2025 12:00:00 for Bitcoin Core by
1.8.14