Skip to content

Commit d905aa7

Browse files
committed
Reorganize errors.go by Go struct categories
1 parent 16ac1b8 commit d905aa7

File tree

4 files changed

+73
-59
lines changed

4 files changed

+73
-59
lines changed

kernel/block_spent_outputs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func (bso *BlockSpentOutputs) GetTransactionSpentOutputsAt(index uint64) (*Trans
2626
checkReady(bso)
2727
ptr := C.btck_block_spent_outputs_get_transaction_spent_outputs_at(bso.ptr, C.uint64_t(index))
2828
if ptr == nil {
29-
return nil, ErrBlockSpentOutputsGetTransactionSpentOutputsAt
29+
return nil, ErrKernelBlockSpentOutputsGetTransactionSpentOutputsAt
3030
}
3131

3232
txSpentOutputs := &TransactionSpentOutputs{ptr: ptr}

kernel/errors.go

Lines changed: 66 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -6,64 +6,78 @@ import (
66
)
77

88
var (
9-
ErrBlockUninitialized = &UninitializedError{ObjectName: "block"}
10-
ErrBlockHashUninitialized = &UninitializedError{ObjectName: "blockHash"}
11-
ErrBlockTreeEntryUninitialized = &UninitializedError{ObjectName: "blockTreeEntry"}
12-
ErrScriptPubkeyUninitialized = &UninitializedError{ObjectName: "scriptPubkey"}
13-
ErrBlockSpentOutputsUninitialized = &UninitializedError{ObjectName: "blockSpentOutputs"}
14-
ErrTransactionSpentOutputsUninitialized = &UninitializedError{ObjectName: "transactionSpentOutputs"}
15-
ErrCoinUninitialized = &UninitializedError{ObjectName: "coin"}
16-
ErrTransactionOutputUninitialized = &UninitializedError{ObjectName: "transactionOutput"}
17-
ErrChainUninitialized = &UninitializedError{ObjectName: "chain"}
18-
ErrChainstateManagerUninitialized = &UninitializedError{ObjectName: "chainstateManager"}
19-
ErrContextUninitialized = &UninitializedError{ObjectName: "context"}
20-
ErrChainParametersUninitialized = &UninitializedError{ObjectName: "chainParameters"}
21-
ErrContextOptionsUninitialized = &UninitializedError{ObjectName: "contextOptions"}
9+
ErrBlockUninitialized = &UninitializedError{ObjectName: "block"}
10+
ErrKernelBlockCreate = &KernelError{Operation: "btck_block_create"}
11+
ErrKernelBlockCopy = &KernelError{Operation: "btck_block_copy"}
12+
ErrKernelBlockGetHash = &KernelError{Operation: "btck_block_get_hash"}
13+
ErrKernelBlockGetTransaction = &KernelError{Operation: "btck_block_get_transaction_at"}
14+
ErrEmptyBlockData = errors.New("empty block data") // constructor error
15+
16+
ErrBlockSpentOutputsUninitialized = &UninitializedError{ObjectName: "blockSpentOutputs"}
17+
ErrKernelBlockSpentOutputsCopy = &KernelError{Operation: "btck_block_spent_outputs_copy"}
18+
ErrKernelBlockSpentOutputsGetTransactionSpentOutputsAt = &KernelError{Operation: "btck_block_spent_outputs_get_transaction_spent_outputs_at"}
19+
20+
ErrBlockTreeEntryUninitialized = &UninitializedError{ObjectName: "blockTreeEntry"}
21+
22+
ErrBlockHashUninitialized = &UninitializedError{ObjectName: "blockHash"}
23+
24+
ErrBlockValidationStateUninitialized = &UninitializedError{ObjectName: "blockValidationState"}
25+
26+
ErrTransactionUninitialized = &UninitializedError{ObjectName: "transaction"}
27+
ErrKernelTransactionCreate = &KernelError{Operation: "btck_transaction_create"}
28+
ErrKernelTransactionCopy = &KernelError{Operation: "btck_transaction_copy"}
29+
ErrKernelTransactionGetOutput = &KernelError{Operation: "btck_transaction_get_output_at"}
30+
ErrEmptyTransactionData = errors.New("empty transaction data") // constructor error
31+
32+
ErrTransactionOutputUninitialized = &UninitializedError{ObjectName: "transactionOutput"}
33+
ErrKernelTransactionOutputCreate = &KernelError{Operation: "btck_transaction_output_create"}
34+
ErrKernelTransactionOutputCopy = &KernelError{Operation: "btck_transaction_output_copy"}
35+
ErrKernelCopyScriptPubkeyFromOutput = &KernelError{Operation: "btck_transaction_output_copy_script_pubkey"}
36+
37+
ErrTransactionSpentOutputsUninitialized = &UninitializedError{ObjectName: "transactionSpentOutputs"}
38+
ErrKernelTransactionSpentOutputsCopy = &KernelError{Operation: "btck_transaction_spent_outputs_copy"}
39+
ErrKernelTransactionSpentOutputsGetCoinAt = &KernelError{Operation: "btck_transaction_spent_outputs_get_coin_at"}
40+
41+
ErrScriptPubkeyUninitialized = &UninitializedError{ObjectName: "scriptPubkey"}
42+
ErrKernelScriptPubkeyCreate = &KernelError{Operation: "btck_script_pubkey_create"}
43+
ErrKernelScriptPubkeyCopy = &KernelError{Operation: "btck_script_pubkey_copy"}
44+
ErrKernelScriptVerify = &KernelError{Operation: "btck_verify_script"}
45+
ErrKernelScriptVerifyInvalidFlags = &KernelError{Operation: "btck_verify_script", Detail: "the provided bitfield for the flags was invalid"}
46+
ErrKernelScriptVerifyInvalidFlagsCombination = &KernelError{Operation: "btck_verify_script", Detail: "the flags were combined in an invalid way"}
47+
ErrKernelScriptVerifySpentOutputsRequired = &KernelError{Operation: "btck_verify_script", Detail: "the taproot flag was set, so valid spent_outputs have to be provided"}
48+
ErrEmptyScriptPubkeyData = errors.New("empty script pubkey data") // constructor error
49+
50+
ErrContextUninitialized = &UninitializedError{ObjectName: "context"}
51+
ErrKernelContextCreate = &KernelError{Operation: "btck_context_create"}
52+
53+
ErrContextOptionsUninitialized = &UninitializedError{ObjectName: "contextOptions"}
54+
ErrKernelContextOptionsCreate = &KernelError{Operation: "btck_context_options_create"}
55+
56+
ErrChainstateManagerUninitialized = &UninitializedError{ObjectName: "chainstateManager"}
57+
ErrKernelChainstateManagerCreate = &KernelError{Operation: "btck_chainstate_manager_create"}
58+
ErrKernelChainstateManagerProcessBlock = &KernelError{Operation: "btck_chainstate_manager_process_block"}
59+
ErrKernelImportBlocks = &KernelError{Operation: "btck_chainstate_manager_import_blocks"}
60+
ErrKernelChainstateManagerReadBlock = &KernelError{Operation: "btck_block_read"}
61+
ErrKernelChainstateManagerReadBlockUndo = &KernelError{Operation: "btck_block_undo_read"}
62+
2263
ErrChainstateManagerOptionsUninitialized = &UninitializedError{ObjectName: "chainstateManagerOptions"}
23-
ErrBlockValidationStateUninitialized = &UninitializedError{ObjectName: "blockValidationState"}
24-
ErrTransactionUninitialized = &UninitializedError{ObjectName: "transaction"}
25-
ErrLoggingConnectionUninitialized = &UninitializedError{ObjectName: "loggingConnection"}
26-
27-
ErrKernelBlockCreate = &KernelError{Operation: "btck_block_create"}
28-
ErrKernelBlockCopy = &KernelError{Operation: "btck_block_copy"}
29-
ErrKernelBlockGetHash = &KernelError{Operation: "btck_block_get_hash"}
30-
ErrKernelBlockGetTransaction = &KernelError{Operation: "btck_block_get_transaction_at"}
31-
ErrKernelScriptPubkeyCreate = &KernelError{Operation: "btck_script_pubkey_create"}
32-
ErrKernelTransactionOutputCreate = &KernelError{Operation: "btck_transaction_output_create"}
33-
ErrKernelCopyScriptPubkeyFromOutput = &KernelError{Operation: "btck_transaction_output_copy_script_pubkey"}
34-
ErrKernelTransactionCreate = &KernelError{Operation: "btck_transaction_create"}
35-
ErrBlockSpentOutputsGetTransactionSpentOutputsAt = &KernelError{Operation: "btck_block_spent_outputs_get_transaction_spent_outputs_at"}
36-
ErrKernelTransactionCopy = &KernelError{Operation: "btck_transaction_copy"}
37-
ErrKernelTransactionGetOutput = &KernelError{Operation: "btck_transaction_get_output_at"}
38-
ErrKernelScriptPubkeyCopy = &KernelError{Operation: "btck_script_pubkey_copy"}
39-
ErrKernelTransactionOutputCopy = &KernelError{Operation: "btck_transaction_output_copy"}
40-
ErrKernelBlockSpentOutputsCopy = &KernelError{Operation: "btck_block_spent_outputs_copy"}
41-
ErrKernelTransactionSpentOutputsCopy = &KernelError{Operation: "btck_transaction_spent_outputs_copy"}
42-
ErrKernelTransactionSpentOutputsGetCoinAt = &KernelError{Operation: "btck_transaction_spent_outputs_get_coin_at"}
43-
ErrKernelCoinCopy = &KernelError{Operation: "btck_coin_copy"}
44-
ErrKernelLoggingConnectionCreate = &KernelError{Operation: "btck_logging_connection_create"}
45-
ErrKernelChainstateManagerCreate = &KernelError{Operation: "btck_chainstate_manager_create"}
46-
ErrKernelChainstateManagerOptionsCreate = &KernelError{Operation: "btck_chainstate_manager_options_create"}
47-
ErrKernelContextCreate = &KernelError{Operation: "btck_context_create"}
48-
ErrKernelChainstateManagerReadBlock = &KernelError{Operation: "btck_block_read"}
49-
ErrKernelChainstateManagerReadBlockUndo = &KernelError{Operation: "btck_block_undo_read"}
50-
ErrKernelChainstateManagerProcessBlock = &KernelError{Operation: "btck_chainstate_manager_process_block"}
51-
ErrKernelImportBlocks = &KernelError{Operation: "btck_chainstate_manager_import_blocks"}
52-
ErrKernelChainParametersCreate = &KernelError{Operation: "btck_chain_parameters_create"}
53-
ErrKernelContextOptionsCreate = &KernelError{Operation: "btck_context_options_create"}
54-
55-
ErrScriptVerify = &KernelError{Operation: "btck_verify_script"}
56-
ErrScriptVerifyInvalidFlags = &KernelError{Operation: "btck_verify_script", Detail: "the provided bitfield for the flags was invalid"}
57-
ErrScriptVerifyInvalidFlagsCombination = &KernelError{Operation: "btck_verify_script", Detail: "the flags were combined in an invalid way"}
58-
ErrScriptVerifySpentOutputsRequired = &KernelError{Operation: "btck_verify_script", Detail: "the taproot flag was set, so valid spent_outputs have to be provided"}
64+
ErrKernelChainstateManagerOptionsCreate = &KernelError{Operation: "btck_chainstate_manager_options_create"}
65+
66+
ErrChainParametersUninitialized = &UninitializedError{ObjectName: "chainParameters"}
67+
ErrKernelChainParametersCreate = &KernelError{Operation: "btck_chain_parameters_create"}
68+
69+
ErrChainUninitialized = &UninitializedError{ObjectName: "chain"}
70+
71+
ErrCoinUninitialized = &UninitializedError{ObjectName: "coin"}
72+
ErrKernelCoinCopy = &KernelError{Operation: "btck_coin_copy"}
73+
74+
ErrLoggingConnectionUninitialized = &UninitializedError{ObjectName: "loggingConnection"}
75+
ErrKernelLoggingConnectionCreate = &KernelError{Operation: "btck_logging_connection_create"}
5976

6077
ErrInvalidChainType = errors.New("invalid chain type")
6178
ErrInvalidLogLevel = errors.New("invalid log level")
6279
ErrInvalidLogCategory = errors.New("invalid log category")
6380
ErrInvalidScriptVerifyStatus = errors.New("invalid script verify status")
64-
ErrEmptyBlockData = errors.New("empty block data")
65-
ErrEmptyScriptPubkeyData = errors.New("empty script pubkey data")
66-
ErrEmptyTransactionData = errors.New("empty transaction data")
6781
ErrNilNotificationCallbacks = errors.New("nil notification callbacks")
6882
ErrNilValidationInterfaceCallbacks = errors.New("nil validation interface callbacks")
6983
)

kernel/script.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,13 @@ const (
8383
func (s ScriptVerifyStatus) err() error {
8484
switch s {
8585
case ScriptVerifyErrorInvalidFlags:
86-
return ErrScriptVerifyInvalidFlags
86+
return ErrKernelScriptVerifyInvalidFlags
8787
case ScriptVerifyErrorInvalidFlagsCombination:
88-
return ErrScriptVerifyInvalidFlagsCombination
88+
return ErrKernelScriptVerifyInvalidFlagsCombination
8989
case ScriptVerifyErrorSpentOutputsRequired:
90-
return ErrScriptVerifySpentOutputsRequired
90+
return ErrKernelScriptVerifySpentOutputsRequired
9191
default:
92-
return ErrScriptVerify
92+
return ErrKernelScriptVerify
9393
}
9494
}
9595

kernel/script_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ func TestInvalidScripts(t *testing.T) {
8989
for _, tt := range tests {
9090
t.Run(tt.name, func(t *testing.T) {
9191
err := testVerifyScript(t, tt.scriptPubkeyHex, tt.amount, tt.txToHex, tt.inputIndex)
92-
if err == nil || !errors.Is(err, ErrScriptVerify) {
93-
t.Errorf("testVerifyScript() was expected to fail with error '%v'", ErrScriptVerify)
92+
if err == nil || !errors.Is(err, ErrKernelScriptVerify) {
93+
t.Errorf("testVerifyScript() was expected to fail with error '%v'", ErrKernelScriptVerify)
9494
}
9595
})
9696
}

0 commit comments

Comments
 (0)