21 uint32_t data_index_upper_bound =
static_cast<uint32_t
>(
22 std::min(
static_cast<uint64_t
>(rd_offset) + rd_copy_size,
static_cast<uint64_t
>(
last_child_rd_size)));
25 padded_returndata.reserve(rd_copy_size);
27 for (uint32_t i = rd_offset; i < data_index_upper_bound; i++) {
31 padded_returndata.resize(rd_copy_size, MemoryValue::from<FF>(0));
33 return padded_returndata;
49 uint64_t calldata_size =
static_cast<uint64_t
>(
calldata.size());
51 uint64_t data_index_upper_bound = std::min(
static_cast<uint64_t
>(
cd_offset) + cd_copy_size, calldata_size);
54 padded_calldata.reserve(cd_copy_size);
56 for (
size_t i =
cd_offset; i < data_index_upper_bound; i++) {
57 padded_calldata.push_back(
calldata[i]);
60 padded_calldata.resize(cd_copy_size, MemoryValue::from<FF>(0));
62 return padded_calldata;
90 .internal_call_id = call_stack.get_call_id(),
91 .internal_call_return_id = call_stack.get_return_call_id(),
92 .next_internal_call_id = call_stack.get_next_call_id(),
98 .numUnencryptedLogFields = side_effects.get_num_unencrypted_log_fields(),
99 .numL2ToL1Messages =
static_cast<uint32_t
>(side_effects.l2_to_l1_messages.size()),
113 uint64_t parent_cd_size_u64 =
static_cast<uint64_t
>(
parent_cd_size);
115 uint64_t data_index_upper_bound = std::min(
static_cast<uint64_t
>(
cd_offset) + cd_copy_size, parent_cd_size_u64);
118 padded_calldata.reserve(cd_copy_size);
120 for (uint32_t i =
cd_offset; i < data_index_upper_bound; i++) {
126 padded_calldata.resize(cd_copy_size, MemoryValue::from<FF>(0));
128 return padded_calldata;
156 .internal_call_id = call_stack.get_call_id(),
157 .internal_call_return_id = call_stack.get_return_call_id(),
158 .next_internal_call_id = call_stack.get_next_call_id(),
164 .numUnencryptedLogFields = side_effects.get_num_unencrypted_log_fields(),
165 .numL2ToL1Messages =
static_cast<uint32_t
>(side_effects.l2_to_l1_messages.size()),
MemoryAddress last_child_rd_size
const AztecAddress & get_address() const override
TransactionPhase get_phase() const override
InternalCallStackManagerInterface & get_internal_call_stack_manager() override
MemoryAddress get_last_rd_addr() const override
SideEffectTrackerInterface & get_side_effect_tracker() override
RetrievedBytecodesTreeCheckInterface & retrieved_bytecodes_tree
uint32_t get_last_rd_size() const override
Gas get_gas_used() const override
const AztecAddress & get_msg_sender() const override
ContextInterface & get_child_context() override
WrittenPublicDataSlotsTreeCheckInterface & written_public_data_slots_tree
std::unique_ptr< ContextInterface > child_context
std::vector< MemoryValue > get_returndata(uint32_t rd_offset, uint32_t rd_copy_size) const override
uint32_t get_context_id() const override
uint32_t get_last_child_id() const override
BytecodeManagerInterface & get_bytecode_manager() override
bool get_last_success() const override
Gas get_gas_limit() const override
HighLevelMerkleDBInterface & merkle_db
const FF & get_transaction_fee() const override
uint32_t get_pc() const override
bool get_is_static() const override
virtual std::optional< BytecodeId > get_retrieved_bytecode_id()=0
virtual MemoryInterface & get_memory()=0
std::vector< MemoryValue > get_calldata(uint32_t cd_offset, uint32_t cd_copy_size) const override
ContextEvent serialize_context_event() override
Gas get_parent_gas_used() const override
Gas get_parent_gas_limit() const override
uint32_t get_parent_cd_size() const override
virtual TreeStates get_tree_state() const =0
virtual const MemoryValue & get(MemoryAddress index) const =0
uint32_t get_parent_id() const override
MemoryAddress parent_cd_addr
ContextEvent serialize_context_event() override
std::vector< MemoryValue > get_calldata(uint32_t cd_offset, uint32_t cd_copy_size) const override
Gas get_parent_gas_used() const override
Gas get_parent_gas_limit() const override
MemoryAddress parent_cd_size
ContextInterface & parent_context
virtual AppendOnlyTreeSnapshot get_snapshot() const =0
virtual const TrackedSideEffects & get_side_effects() const =0
virtual AppendOnlyTreeSnapshot get_snapshot() const =0
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept