Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
script
script_error.h
Go to the documentation of this file.
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-present 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
SCRIPT_ERR_SCRIPTNUM
,
18
19
/* Max sizes */
20
SCRIPT_ERR_SCRIPT_SIZE
,
21
SCRIPT_ERR_PUSH_SIZE
,
22
SCRIPT_ERR_OP_COUNT
,
23
SCRIPT_ERR_STACK_SIZE
,
24
SCRIPT_ERR_SIG_COUNT
,
25
SCRIPT_ERR_PUBKEY_COUNT
,
26
27
/* Failed verify operations */
28
SCRIPT_ERR_VERIFY
,
29
SCRIPT_ERR_EQUALVERIFY
,
30
SCRIPT_ERR_CHECKMULTISIGVERIFY
,
31
SCRIPT_ERR_CHECKSIGVERIFY
,
32
SCRIPT_ERR_NUMEQUALVERIFY
,
33
34
/* Logical/Format/Canonical errors */
35
SCRIPT_ERR_BAD_OPCODE
,
36
SCRIPT_ERR_DISABLED_OPCODE
,
37
SCRIPT_ERR_INVALID_STACK_OPERATION
,
38
SCRIPT_ERR_INVALID_ALTSTACK_OPERATION
,
39
SCRIPT_ERR_UNBALANCED_CONDITIONAL
,
40
41
/* CHECKLOCKTIMEVERIFY and CHECKSEQUENCEVERIFY */
42
SCRIPT_ERR_NEGATIVE_LOCKTIME
,
43
SCRIPT_ERR_UNSATISFIED_LOCKTIME
,
44
45
/* Malleability */
46
SCRIPT_ERR_SIG_HASHTYPE
,
47
SCRIPT_ERR_SIG_DER
,
48
SCRIPT_ERR_MINIMALDATA
,
49
SCRIPT_ERR_SIG_PUSHONLY
,
50
SCRIPT_ERR_SIG_HIGH_S
,
51
SCRIPT_ERR_SIG_NULLDUMMY
,
52
SCRIPT_ERR_PUBKEYTYPE
,
53
SCRIPT_ERR_CLEANSTACK
,
54
SCRIPT_ERR_MINIMALIF
,
55
SCRIPT_ERR_SIG_NULLFAIL
,
56
57
/* softfork safeness */
58
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS
,
59
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
,
60
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION
,
61
SCRIPT_ERR_DISCOURAGE_OP_SUCCESS
,
62
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_PUBKEYTYPE
,
63
64
/* segregated witness */
65
SCRIPT_ERR_WITNESS_PROGRAM_WRONG_LENGTH
,
66
SCRIPT_ERR_WITNESS_PROGRAM_WITNESS_EMPTY
,
67
SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH
,
68
SCRIPT_ERR_WITNESS_MALLEATED
,
69
SCRIPT_ERR_WITNESS_MALLEATED_P2SH
,
70
SCRIPT_ERR_WITNESS_UNEXPECTED
,
71
SCRIPT_ERR_WITNESS_PUBKEYTYPE
,
72
73
/* Taproot */
74
SCRIPT_ERR_SCHNORR_SIG_SIZE
,
75
SCRIPT_ERR_SCHNORR_SIG_HASHTYPE
,
76
SCRIPT_ERR_SCHNORR_SIG
,
77
SCRIPT_ERR_TAPROOT_WRONG_CONTROL_SIZE
,
78
SCRIPT_ERR_TAPSCRIPT_VALIDATION_WEIGHT
,
79
SCRIPT_ERR_TAPSCRIPT_CHECKMULTISIG
,
80
SCRIPT_ERR_TAPSCRIPT_MINIMALIF
,
81
SCRIPT_ERR_TAPSCRIPT_EMPTY_PUBKEY
,
82
83
/* Constant scriptCode */
84
SCRIPT_ERR_OP_CODESEPARATOR
,
85
SCRIPT_ERR_SIG_FINDANDDELETE
,
86
87
SCRIPT_ERR_ERROR_COUNT
88
}
ScriptError
;
89
90
std::string
ScriptErrorString
(
ScriptError
error);
91
92
#endif
// BITCOIN_SCRIPT_SCRIPT_ERROR_H
ScriptError
enum ScriptError_t ScriptError
ScriptError_t
ScriptError_t
Definition
script_error.h:12
SCRIPT_ERR_OP_CODESEPARATOR
@ SCRIPT_ERR_OP_CODESEPARATOR
Definition
script_error.h:84
SCRIPT_ERR_SIG_PUSHONLY
@ SCRIPT_ERR_SIG_PUSHONLY
Definition
script_error.h:49
SCRIPT_ERR_OP_COUNT
@ SCRIPT_ERR_OP_COUNT
Definition
script_error.h:22
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_PUBKEYTYPE
@ SCRIPT_ERR_DISCOURAGE_UPGRADABLE_PUBKEYTYPE
Definition
script_error.h:62
SCRIPT_ERR_EVAL_FALSE
@ SCRIPT_ERR_EVAL_FALSE
Definition
script_error.h:15
SCRIPT_ERR_NUMEQUALVERIFY
@ SCRIPT_ERR_NUMEQUALVERIFY
Definition
script_error.h:32
SCRIPT_ERR_VERIFY
@ SCRIPT_ERR_VERIFY
Definition
script_error.h:28
SCRIPT_ERR_TAPSCRIPT_CHECKMULTISIG
@ SCRIPT_ERR_TAPSCRIPT_CHECKMULTISIG
Definition
script_error.h:79
SCRIPT_ERR_DISABLED_OPCODE
@ SCRIPT_ERR_DISABLED_OPCODE
Definition
script_error.h:36
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION
@ SCRIPT_ERR_DISCOURAGE_UPGRADABLE_TAPROOT_VERSION
Definition
script_error.h:60
SCRIPT_ERR_INVALID_ALTSTACK_OPERATION
@ SCRIPT_ERR_INVALID_ALTSTACK_OPERATION
Definition
script_error.h:38
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
@ SCRIPT_ERR_DISCOURAGE_UPGRADABLE_WITNESS_PROGRAM
Definition
script_error.h:59
SCRIPT_ERR_TAPSCRIPT_EMPTY_PUBKEY
@ SCRIPT_ERR_TAPSCRIPT_EMPTY_PUBKEY
Definition
script_error.h:81
SCRIPT_ERR_ERROR_COUNT
@ SCRIPT_ERR_ERROR_COUNT
Definition
script_error.h:87
SCRIPT_ERR_SCRIPT_SIZE
@ SCRIPT_ERR_SCRIPT_SIZE
Definition
script_error.h:20
SCRIPT_ERR_TAPSCRIPT_MINIMALIF
@ SCRIPT_ERR_TAPSCRIPT_MINIMALIF
Definition
script_error.h:80
SCRIPT_ERR_UNKNOWN_ERROR
@ SCRIPT_ERR_UNKNOWN_ERROR
Definition
script_error.h:14
SCRIPT_ERR_WITNESS_PROGRAM_WRONG_LENGTH
@ SCRIPT_ERR_WITNESS_PROGRAM_WRONG_LENGTH
Definition
script_error.h:65
SCRIPT_ERR_SIG_HASHTYPE
@ SCRIPT_ERR_SIG_HASHTYPE
Definition
script_error.h:46
SCRIPT_ERR_MINIMALDATA
@ SCRIPT_ERR_MINIMALDATA
Definition
script_error.h:48
SCRIPT_ERR_SCRIPTNUM
@ SCRIPT_ERR_SCRIPTNUM
Definition
script_error.h:17
SCRIPT_ERR_CHECKSIGVERIFY
@ SCRIPT_ERR_CHECKSIGVERIFY
Definition
script_error.h:31
SCRIPT_ERR_STACK_SIZE
@ SCRIPT_ERR_STACK_SIZE
Definition
script_error.h:23
SCRIPT_ERR_WITNESS_MALLEATED_P2SH
@ SCRIPT_ERR_WITNESS_MALLEATED_P2SH
Definition
script_error.h:69
SCRIPT_ERR_SCHNORR_SIG_SIZE
@ SCRIPT_ERR_SCHNORR_SIG_SIZE
Definition
script_error.h:74
SCRIPT_ERR_WITNESS_MALLEATED
@ SCRIPT_ERR_WITNESS_MALLEATED
Definition
script_error.h:68
SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS
@ SCRIPT_ERR_DISCOURAGE_UPGRADABLE_NOPS
Definition
script_error.h:58
SCRIPT_ERR_EQUALVERIFY
@ SCRIPT_ERR_EQUALVERIFY
Definition
script_error.h:29
SCRIPT_ERR_TAPSCRIPT_VALIDATION_WEIGHT
@ SCRIPT_ERR_TAPSCRIPT_VALIDATION_WEIGHT
Definition
script_error.h:78
SCRIPT_ERR_INVALID_STACK_OPERATION
@ SCRIPT_ERR_INVALID_STACK_OPERATION
Definition
script_error.h:37
SCRIPT_ERR_DISCOURAGE_OP_SUCCESS
@ SCRIPT_ERR_DISCOURAGE_OP_SUCCESS
Definition
script_error.h:61
SCRIPT_ERR_SIG_COUNT
@ SCRIPT_ERR_SIG_COUNT
Definition
script_error.h:24
SCRIPT_ERR_SIG_HIGH_S
@ SCRIPT_ERR_SIG_HIGH_S
Definition
script_error.h:50
SCRIPT_ERR_SIG_DER
@ SCRIPT_ERR_SIG_DER
Definition
script_error.h:47
SCRIPT_ERR_WITNESS_UNEXPECTED
@ SCRIPT_ERR_WITNESS_UNEXPECTED
Definition
script_error.h:70
SCRIPT_ERR_NEGATIVE_LOCKTIME
@ SCRIPT_ERR_NEGATIVE_LOCKTIME
Definition
script_error.h:42
SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH
@ SCRIPT_ERR_WITNESS_PROGRAM_MISMATCH
Definition
script_error.h:67
SCRIPT_ERR_OP_RETURN
@ SCRIPT_ERR_OP_RETURN
Definition
script_error.h:16
SCRIPT_ERR_PUSH_SIZE
@ SCRIPT_ERR_PUSH_SIZE
Definition
script_error.h:21
SCRIPT_ERR_SIG_NULLFAIL
@ SCRIPT_ERR_SIG_NULLFAIL
Definition
script_error.h:55
SCRIPT_ERR_OK
@ SCRIPT_ERR_OK
Definition
script_error.h:13
SCRIPT_ERR_SIG_NULLDUMMY
@ SCRIPT_ERR_SIG_NULLDUMMY
Definition
script_error.h:51
SCRIPT_ERR_PUBKEYTYPE
@ SCRIPT_ERR_PUBKEYTYPE
Definition
script_error.h:52
SCRIPT_ERR_CHECKMULTISIGVERIFY
@ SCRIPT_ERR_CHECKMULTISIGVERIFY
Definition
script_error.h:30
SCRIPT_ERR_TAPROOT_WRONG_CONTROL_SIZE
@ SCRIPT_ERR_TAPROOT_WRONG_CONTROL_SIZE
Definition
script_error.h:77
SCRIPT_ERR_SCHNORR_SIG
@ SCRIPT_ERR_SCHNORR_SIG
Definition
script_error.h:76
SCRIPT_ERR_UNSATISFIED_LOCKTIME
@ SCRIPT_ERR_UNSATISFIED_LOCKTIME
Definition
script_error.h:43
SCRIPT_ERR_WITNESS_PUBKEYTYPE
@ SCRIPT_ERR_WITNESS_PUBKEYTYPE
Definition
script_error.h:71
SCRIPT_ERR_SIG_FINDANDDELETE
@ SCRIPT_ERR_SIG_FINDANDDELETE
Definition
script_error.h:85
SCRIPT_ERR_BAD_OPCODE
@ SCRIPT_ERR_BAD_OPCODE
Definition
script_error.h:35
SCRIPT_ERR_PUBKEY_COUNT
@ SCRIPT_ERR_PUBKEY_COUNT
Definition
script_error.h:25
SCRIPT_ERR_WITNESS_PROGRAM_WITNESS_EMPTY
@ SCRIPT_ERR_WITNESS_PROGRAM_WITNESS_EMPTY
Definition
script_error.h:66
SCRIPT_ERR_SCHNORR_SIG_HASHTYPE
@ SCRIPT_ERR_SCHNORR_SIG_HASHTYPE
Definition
script_error.h:75
SCRIPT_ERR_CLEANSTACK
@ SCRIPT_ERR_CLEANSTACK
Definition
script_error.h:53
SCRIPT_ERR_UNBALANCED_CONDITIONAL
@ SCRIPT_ERR_UNBALANCED_CONDITIONAL
Definition
script_error.h:39
SCRIPT_ERR_MINIMALIF
@ SCRIPT_ERR_MINIMALIF
Definition
script_error.h:54
ScriptErrorString
std::string ScriptErrorString(ScriptError error)
Definition
script_error.cpp:10
Generated on
for Bitcoin Core by
1.17.0