26 .
setup_calls =
static_cast<uint32_t
>(
tx.setup_enqueued_calls.size()),
27 .app_logic_calls =
static_cast<uint32_t
>(
tx.app_logic_enqueued_calls.size()),
28 .teardown_call =
tx.teardown_enqueued_call.has_value(),
35 throw std::runtime_error(
36 "Too many enqueued calls. Setup calls: " +
std::to_string(
tx.setup_enqueued_calls.size()) +
40 std::ranges::transform(
tx.setup_enqueued_calls.begin(),
41 tx.setup_enqueued_calls.end(),
43 [](
const auto& call) { return call.request; });
44 std::ranges::transform(
tx.app_logic_enqueued_calls,
46 [](
const auto& call) { return call.request; });
49 if (
tx.teardown_enqueued_call.has_value()) {
63 .
note_hashes =
static_cast<uint32_t
>(
tx.non_revertible_accumulated_data.note_hashes.size()),
64 .nullifiers =
static_cast<uint32_t
>(
tx.non_revertible_accumulated_data.nullifiers.size()),
65 .l2_to_l1_msgs =
static_cast<uint32_t
>(
tx.non_revertible_accumulated_data.l2_to_l1_messages.size()),
73 throw std::runtime_error(
74 "Too many non-revertible side effects from private. Note hashes: " +
76 ", Nullifiers: " +
std::to_string(
tx.non_revertible_accumulated_data.nullifiers.size()) +
77 ", L2 to L1 messages: " +
std::to_string(
tx.non_revertible_accumulated_data.l2_to_l1_messages.size()));
80 std::ranges::copy(
tx.non_revertible_accumulated_data.note_hashes,
82 std::ranges::copy(
tx.non_revertible_accumulated_data.nullifiers,
84 std::ranges::copy(
tx.non_revertible_accumulated_data.l2_to_l1_messages,
89 .
note_hashes =
static_cast<uint32_t
>(
tx.revertible_accumulated_data.note_hashes.size()),
90 .nullifiers =
static_cast<uint32_t
>(
tx.revertible_accumulated_data.nullifiers.size()),
91 .l2_to_l1_msgs =
static_cast<uint32_t
>(
tx.revertible_accumulated_data.l2_to_l1_messages.size()),
99 throw std::runtime_error(
100 "Too many revertible side effects from private. Note hashes: " +
102 ", Nullifiers: " +
std::to_string(
tx.revertible_accumulated_data.nullifiers.size()) +
103 ", L2 to L1 messages: " +
std::to_string(
tx.revertible_accumulated_data.l2_to_l1_messages.size()));
106 std::ranges::copy(
tx.revertible_accumulated_data.note_hashes,
108 std::ranges::copy(
tx.revertible_accumulated_data.nullifiers,
110 std::ranges::copy(
tx.revertible_accumulated_data.l2_to_l1_messages,