Skip to content

Commit 7cc8f45

Browse files
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from 9f6541e27cc6..ca3508d37517
ca3508d37517 Change kernel install directory temporarily 4cd28090065b Add BlockReader functionality to kernel library REVERT: 9f6541e27cc6 Change kernel install directory temporarily REVERT: dcc4322d6202 Add BlockReader functionality to kernel library git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: ca3508d37517ab07c96ffc337f28a70db5e5352d
1 parent 4a078de commit 7cc8f45

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/kernel/blockreader/blockreader.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,4 +538,21 @@ bool kernel_witness_is_null(const kernel_TransactionWitness* _witness)
538538
return witness->IsNull();
539539
}
540540

541+
uint32_t kernel_transaction_get_output_count(const kernel_Transaction* _transaction)
542+
{
543+
const auto* transaction = cast_const_transaction(_transaction);
544+
545+
return transaction->vout.size();
546+
}
547+
548+
const kernel_TransactionOutput* kernel_transaction_get_output(const kernel_Transaction* _transaction, size_t index)
549+
{
550+
const auto* transaction = cast_const_transaction(_transaction);
551+
552+
if (index >= transaction->vout.size()) {
553+
return nullptr;
554+
}
555+
556+
return reinterpret_cast<const kernel_TransactionOutput*>(&transaction->vout[index]);
557+
}
541558
} // extern "C"

src/kernel/blockreader/blockreader.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ BITCOINKERNEL_API kernel_ByteArray* BITCOINKERNEL_WARN_UNUSED_RESULT kernel_witn
137137

138138
BITCOINKERNEL_API bool BITCOINKERNEL_WARN_UNUSED_RESULT kernel_witness_is_null(const kernel_TransactionWitness* witness) BITCOINKERNEL_ARG_NONNULL(1);
139139

140+
BITCOINKERNEL_API uint32_t BITCOINKERNEL_WARN_UNUSED_RESULT kernel_transaction_get_output_count(const kernel_Transaction* transaction) BITCOINKERNEL_ARG_NONNULL(1);
141+
142+
BITCOINKERNEL_API const kernel_TransactionOutput* BITCOINKERNEL_WARN_UNUSED_RESULT kernel_transaction_get_output(const kernel_Transaction* transaction, size_t index) BITCOINKERNEL_ARG_NONNULL(1);
143+
140144
#ifdef __cplusplus
141145
}
142146
#endif

0 commit comments

Comments
 (0)