diff --git a/src/interface/blockchain.cpp b/src/interface/blockchain.cpp index b082df73..8fa2ee0c 100644 --- a/src/interface/blockchain.cpp +++ b/src/interface/blockchain.cpp @@ -129,7 +129,7 @@ void blockchain::fetch_block_header_by_hash(server_node& node, const auto& data = request.data(); BITCOIN_ASSERT(data.size() == hash_size); - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const auto block_hash = deserial.read_hash(); node.chain().fetch_block_header(block_hash, @@ -143,7 +143,7 @@ void blockchain::fetch_block_header_by_height(server_node& node, const auto& data = request.data(); BITCOIN_ASSERT(data.size() == sizeof(uint32_t)); - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const uint64_t height = deserial.read_4_bytes_little_endian(); node.chain().fetch_block_header(height, @@ -184,7 +184,7 @@ void blockchain::fetch_block_transaction_hashes_by_hash(server_node& node, const auto& data = request.data(); BITCOIN_ASSERT(data.size() == hash_size); - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const auto block_hash = deserial.read_hash(); node.chain().fetch_merkle_block(block_hash, std::bind(&blockchain::merkle_block_fetched, @@ -197,7 +197,7 @@ void blockchain::fetch_block_transaction_hashes_by_height(server_node& node, const auto& data = request.data(); BITCOIN_ASSERT(data.size() == sizeof(uint32_t)); - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const size_t block_height = deserial.read_4_bytes_little_endian(); node.chain().fetch_merkle_block(block_height, std::bind(&blockchain::merkle_block_fetched, @@ -210,7 +210,7 @@ void blockchain::merkle_block_fetched(const code& ec, merkle_block_ptr block, // [ code:4 ] // [[ hash:32 ]...] data_chunk result(code_size + hash_size * block->hashes().size()); - auto serial = make_serializer(result.begin()); + auto serial = make_unsafe_serializer(result.begin()); serial.write_error_code(ec); for (const auto& tx_hash: block->hashes()) @@ -230,7 +230,7 @@ void blockchain::fetch_transaction_position(server_node& node, return; } - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const auto tx_hash = deserial.read_hash(); node.chain().fetch_transaction_position(tx_hash, @@ -310,7 +310,7 @@ void blockchain::fetch_block_height(server_node& node, return; } - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const auto block_hash = deserial.read_hash(); node.chain().fetch_block_height(block_hash, std::bind(&blockchain::block_height_fetched, @@ -345,7 +345,7 @@ void blockchain::fetch_stealth(server_node& node, const message& request, return; } - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); // number_bits const auto bit_size = deserial.read_byte(); @@ -358,7 +358,7 @@ void blockchain::fetch_stealth(server_node& node, const message& request, } // actual bitfield data - const auto blocks = deserial.read_data(binary::blocks_size(bit_size)); + const auto blocks = deserial.read_bytes(binary::blocks_size(bit_size)); const binary prefix(bit_size, blocks); // from_height @@ -378,7 +378,7 @@ void blockchain::stealth_fetched(const code& ec, // [ code:4 ] // [[ ephemeral_key_hash:32 ][ address_hash:20 ][ tx_hash:32 ]...] data_chunk result(code_size + row_size * stealth_results.size()); - auto serial = make_serializer(result.begin()); + auto serial = make_unsafe_serializer(result.begin()); serial.write_error_code(ec); for (const auto& row: stealth_results) @@ -402,7 +402,7 @@ void blockchain::fetch_stealth2(server_node& node, const message& request, return; } - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); // number_bits const auto bit_size = deserial.read_byte(); @@ -415,7 +415,7 @@ void blockchain::fetch_stealth2(server_node& node, const message& request, } // actual bitfield data - const auto blocks = deserial.read_data(binary::blocks_size(bit_size)); + const auto blocks = deserial.read_bytes(binary::blocks_size(bit_size)); const binary prefix(bit_size, blocks); // from_height @@ -433,7 +433,7 @@ void blockchain::stealth_fetched2(const code& ec, // [ code:4 ] // [[ tx_hash:32 ]...] data_chunk result(code_size + hash_size * stealth_results.size()); - auto serial = make_serializer(result.begin()); + auto serial = make_unsafe_serializer(result.begin()); serial.write_error_code(ec); for (const auto& row: stealth_results) diff --git a/src/interface/transaction_pool.cpp b/src/interface/transaction_pool.cpp index 3484e63a..fc64b2e6 100644 --- a/src/interface/transaction_pool.cpp +++ b/src/interface/transaction_pool.cpp @@ -98,7 +98,7 @@ void transaction_pool::handle_validated(const code& ec, // [ code:4 ] // [[ unconfirmed_index:4 ]...] data_chunk result(code_size + unconfirmed.size() * index_size); - auto serial = make_serializer(result.begin()); + auto serial = make_unsafe_serializer(result.begin()); serial.write_error_code(ec); for (const auto unconfirmed_index: unconfirmed) diff --git a/src/utility/fetch_helpers.cpp b/src/utility/fetch_helpers.cpp index 59325bd1..2835e8c6 100644 --- a/src/utility/fetch_helpers.cpp +++ b/src/utility/fetch_helpers.cpp @@ -52,7 +52,7 @@ bool unwrap_fetch_history_args(payment_address& address, } // TODO: add serialization to history_compact. - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); const auto version_byte = deserial.read_byte(); const auto hash = deserial.read_short_hash(); from_height = static_cast(deserial.read_4_bytes_little_endian()); @@ -69,7 +69,7 @@ void send_history_result(const code& ec, const history_compact::list& history, sizeof(uint32_t) + sizeof(uint64_t); data_chunk result(code_size + row_size * history.size()); - auto serial = make_serializer(result.begin()); + auto serial = make_unsafe_serializer(result.begin()); serial.write_error_code(ec); ////BITCOIN_ASSERT(serial.iterator() == result.begin() + code_size); @@ -78,7 +78,7 @@ void send_history_result(const code& ec, const history_compact::list& history, { BITCOIN_ASSERT(row.height <= max_uint32); serial.write_byte(static_cast(row.kind)); - serial.write_data(row.point.to_data()); + serial.write_bytes(row.point.to_data()); serial.write_4_bytes_little_endian(row.height); serial.write_8_bytes_little_endian(row.value); } @@ -103,7 +103,7 @@ bool unwrap_fetch_transaction_args(hash_digest& hash, return false; } - auto deserial = make_deserializer(data.begin(), data.end()); + auto deserial = make_safe_deserializer(data.begin(), data.end()); hash = deserial.read_hash(); return true; }