Skip to content

Commit 108b784

Browse files
committed
feat: refactor domain objects deserialization
1 parent a3727b9 commit 108b784

9 files changed

Lines changed: 26 additions & 26 deletions

File tree

conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def requirements(self):
8484

8585
def build_requirements(self):
8686
if self.options.tests:
87-
self.test_requires("catch2/3.6.0")
87+
self.test_requires("catch2/3.7.1")
8888

8989
def config_options(self):
9090
KnuthConanFileV2.config_options(self)

include/kth/capi/chain/transaction.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ kth_hash_t kth_chain_transaction_hash(kth_transaction_t transaction);
4242
KTH_EXPORT
4343
void kth_chain_transaction_hash_out(kth_transaction_t transaction, kth_hash_t* out_hash);
4444

45-
KTH_EXPORT
46-
kth_hash_t kth_chain_transaction_hash_sighash_type(kth_transaction_t transaction, uint32_t sighash_type);
45+
// KTH_EXPORT
46+
// kth_hash_t kth_chain_transaction_hash_sighash_type(kth_transaction_t transaction, uint32_t sighash_type);
4747

48-
KTH_EXPORT
49-
void kth_chain_transaction_hash_sighash_type_out(kth_transaction_t transaction, uint32_t sighash_type, kth_hash_t* out_hash);
48+
// KTH_EXPORT
49+
// void kth_chain_transaction_hash_sighash_type_out(kth_transaction_t transaction, uint32_t sighash_type, kth_hash_t* out_hash);
5050

5151
KTH_EXPORT
5252
uint32_t kth_chain_transaction_locktime(kth_transaction_t transaction);

src/chain/block.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ kth_block_t kth_chain_block_construct(kth_header_t header, kth_transaction_list_
2727

2828
kth_block_t kth_chain_block_factory_from_data(uint8_t* data, kth_size_t n) {
2929
kth::data_chunk data_cpp(data, std::next(data, n));
30-
auto block = kth::domain::create<kth::domain::chain::block>(data_cpp);
30+
auto block = kth::domain::create_old<kth::domain::chain::block>(data_cpp);
3131
return kth::move_or_copy_and_leak(std::move(block));
3232
}
3333

src/chain/chain_async.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,14 @@ void kth_chain_async_block_header_by_hash(kth_chain_t chain, void* ctx, kth_hash
8080
}
8181

8282
void kth_chain_async_block_by_height(kth_chain_t chain, void* ctx, kth_size_t height, kth_block_fetch_handler_t handler) {
83-
safe_chain(chain).fetch_block(height, kth::witness(), [chain, ctx, handler](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
83+
safe_chain(chain).fetch_block(height, [chain, ctx, handler](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
8484
handler(chain, ctx, kth::to_c_err(ec), kth::leak_if_success(block, ec), h);
8585
});
8686
}
8787

8888
void kth_chain_async_block_by_hash(kth_chain_t chain, void* ctx, kth_hash_t hash, kth_block_fetch_handler_t handler) {
8989
auto hash_cpp = kth::to_array(hash.hash);
90-
safe_chain(chain).fetch_block(hash_cpp, kth::witness(), [chain, ctx, handler](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
90+
safe_chain(chain).fetch_block(hash_cpp, [chain, ctx, handler](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
9191
handler(chain, ctx, kth::to_c_err(ec), kth::leak_if_success(block, ec), h);
9292
});
9393
}
@@ -140,7 +140,7 @@ void kth_chain_async_block_by_height_timestamp(kth_chain_t chain, void* ctx, kth
140140
void kth_chain_async_transaction(kth_chain_t chain, void* ctx, kth_hash_t hash, kth_bool_t require_confirmed, kth_transaction_fetch_handler_t handler) {
141141
//precondition: [hash, 32] is a valid range
142142
auto hash_cpp = kth::to_array(hash.hash);
143-
safe_chain(chain).fetch_transaction(hash_cpp, kth::int_to_bool(require_confirmed), kth::witness(), [chain, ctx, handler](std::error_code const& ec, kth::domain::message::transaction::const_ptr transaction, size_t i, size_t h) {
143+
safe_chain(chain).fetch_transaction(hash_cpp, kth::int_to_bool(require_confirmed), [chain, ctx, handler](std::error_code const& ec, kth::domain::message::transaction::const_ptr transaction, size_t i, size_t h) {
144144
handler(chain, ctx, kth::to_c_err(ec), kth::leak_if_success(transaction, ec), i, h);
145145
});
146146
}

src/chain/chain_sync.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ kth_error_code_t kth_chain_sync_block_by_height(kth_chain_t chain, kth_size_t he
120120
std::latch latch(1); //Note: workaround to fix an error on some versions of Boost.Threads
121121
kth_error_code_t res;
122122

123-
safe_chain(chain).fetch_block(height, kth::witness(), [&](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
123+
safe_chain(chain).fetch_block(height, [&](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
124124
if (ec == kth::error::success) {
125125
*out_block = kth::leak_if_success(block, ec);
126126
} else {
@@ -142,7 +142,7 @@ kth_error_code_t kth_chain_sync_block_by_hash(kth_chain_t chain, kth_hash_t hash
142142

143143
auto hash_cpp = kth::to_array(hash.hash);
144144

145-
safe_chain(chain).fetch_block(hash_cpp, kth::witness(), [&](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
145+
safe_chain(chain).fetch_block(hash_cpp, [&](std::error_code const& ec, kth::domain::message::block::const_ptr block, size_t h) {
146146
if (ec == kth::error::success) {
147147
*out_block = kth::leak_if_success(block, ec);
148148
} else {
@@ -280,7 +280,7 @@ kth_error_code_t kth_chain_sync_transaction(kth_chain_t chain, kth_hash_t hash,
280280

281281
auto hash_cpp = kth::to_array(hash.hash);
282282

283-
safe_chain(chain).fetch_transaction(hash_cpp, kth::int_to_bool(require_confirmed), kth::witness(), [&](std::error_code const& ec, kth::domain::message::transaction::const_ptr transaction, size_t i, size_t h) {
283+
safe_chain(chain).fetch_transaction(hash_cpp, kth::int_to_bool(require_confirmed), [&](std::error_code const& ec, kth::domain::message::transaction::const_ptr transaction, size_t i, size_t h) {
284284
*out_transaction = kth::leak_if_success(transaction, ec);
285285
*out_height = h;
286286
*out_index = i;
@@ -375,7 +375,7 @@ kth_error_code_t kth_chain_sync_confirmed_transactions(kth_chain_t chain, kth_pa
375375
kth_mempool_transaction_list_t kth_chain_sync_mempool_transactions(kth_chain_t chain, kth_payment_address_t address, kth_bool_t use_testnet_rules) {
376376
auto const& address_cpp = kth_wallet_payment_address_const_cpp(address);
377377
if (address_cpp) {
378-
auto txs = safe_chain(chain).get_mempool_transactions(address_cpp.encoded_cashaddr(false), kth::int_to_bool(use_testnet_rules), kth::witness());
378+
auto txs = safe_chain(chain).get_mempool_transactions(address_cpp.encoded_cashaddr(false), kth::int_to_bool(use_testnet_rules));
379379
auto ret_txs = kth::leak(txs);
380380
return static_cast<kth_mempool_transaction_list_t>(ret_txs);
381381
}
@@ -385,7 +385,7 @@ kth_mempool_transaction_list_t kth_chain_sync_mempool_transactions(kth_chain_t c
385385

386386
kth_transaction_list_t kth_chain_sync_mempool_transactions_from_wallets(kth_chain_t chain, kth_payment_address_list_t addresses, kth_bool_t use_testnet_rules) {
387387
auto const& addresses_cpp = *static_cast<std::vector<kth::domain::wallet::payment_address> const*>(addresses);
388-
auto txs = safe_chain(chain).get_mempool_transactions_from_wallets(addresses_cpp, kth::int_to_bool(use_testnet_rules), kth::witness());
388+
auto txs = safe_chain(chain).get_mempool_transactions_from_wallets(addresses_cpp, kth::int_to_bool(use_testnet_rules));
389389
return kth::move_or_copy_and_leak(std::move(txs));
390390
}
391391

src/chain/header.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ extern "C" {
1313

1414
kth_header_t kth_chain_header_factory_from_data(uint8_t* data, kth_size_t n) {
1515
kth::data_chunk data_cpp(data, std::next(data, n));
16-
auto header = kth::domain::create<kth::domain::chain::header>(data_cpp);
16+
auto header = kth::domain::create_old<kth::domain::chain::header>(data_cpp);
1717
return kth::move_or_copy_and_leak(std::move(header));
1818
}
1919

src/chain/input.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ void kth_chain_input_destruct(kth_input_t input) {
2929

3030
kth_input_t kth_chain_input_factory_from_data(uint8_t* data, kth_size_t n) {
3131
kth::data_chunk data_cpp(data, std::next(data, n));
32-
auto input = kth::domain::create<kth::domain::chain::input>(data_cpp);
32+
auto input = kth::domain::create_old<kth::domain::chain::input>(data_cpp, true);
3333
return kth::move_or_copy_and_leak(std::move(input));
3434
}
3535

src/chain/output.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ void kth_chain_output_destruct(kth_output_t output) {
9898

9999
kth_output_t kth_chain_output_factory_from_data(uint8_t* data, kth_size_t n) {
100100
kth::data_chunk data_cpp(data, std::next(data, n));
101-
auto output = kth::domain::create<kth::domain::chain::output>(data_cpp);
101+
auto output = kth::domain::create_old<kth::domain::chain::output>(data_cpp);
102102
return kth::move_or_copy_and_leak(std::move(output));
103103
}
104104

src/chain/transaction.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ extern "C" {
1818

1919
kth_transaction_t kth_chain_transaction_factory_from_data(uint8_t* data, kth_size_t n) {
2020
kth::data_chunk data_cpp(data, std::next(data, n));
21-
auto tx = kth::domain::create<kth::domain::chain::transaction>(data_cpp);
21+
auto tx = kth::domain::create_old<kth::domain::chain::transaction>(data_cpp);
2222
return kth::move_or_copy_and_leak(std::move(tx));
2323
}
2424

@@ -58,15 +58,15 @@ void kth_chain_transaction_hash_out(kth_transaction_t transaction, kth_hash_t* o
5858
kth::copy_c_hash(hash_cpp, out_hash);
5959
}
6060

61-
kth_hash_t kth_chain_transaction_hash_sighash_type(kth_transaction_t transaction, uint32_t sighash_type) {
62-
auto const& hash_cpp = kth_chain_transaction_const_cpp(transaction).hash(sighash_type != 0u);
63-
return kth::to_hash_t(hash_cpp);
64-
}
61+
// kth_hash_t kth_chain_transaction_hash_sighash_type(kth_transaction_t transaction, uint32_t sighash_type) {
62+
// auto const& hash_cpp = kth_chain_transaction_const_cpp(transaction).hash(sighash_type != 0u);
63+
// return kth::to_hash_t(hash_cpp);
64+
// }
6565

66-
void kth_chain_transaction_hash_sighash_type_out(kth_transaction_t transaction, uint32_t sighash_type, kth_hash_t* out_hash) {
67-
auto const& hash_cpp = kth_chain_transaction_const_cpp(transaction).hash(sighash_type != 0u);
68-
kth::copy_c_hash(hash_cpp, out_hash);
69-
}
66+
// void kth_chain_transaction_hash_sighash_type_out(kth_transaction_t transaction, uint32_t sighash_type, kth_hash_t* out_hash) {
67+
// auto const& hash_cpp = kth_chain_transaction_const_cpp(transaction).hash(sighash_type != 0u);
68+
// kth::copy_c_hash(hash_cpp, out_hash);
69+
// }
7070

7171
uint32_t kth_chain_transaction_locktime(kth_transaction_t transaction) {
7272
return kth_chain_transaction_const_cpp(transaction).locktime();

0 commit comments

Comments
 (0)