25 uint32_t data_index_upper_bound =
static_cast<uint32_t
>(
26 std::min(
static_cast<uint64_t
>(rd_offset) + rd_copy_size,
static_cast<uint64_t
>(
last_child_rd_size)));
29 padded_returndata.reserve(rd_copy_size);
31 for (uint32_t i = rd_offset; i < data_index_upper_bound; i++) {
35 padded_returndata.resize(rd_copy_size, MemoryValue::from<FF>(0));
37 return padded_returndata;
71 uint64_t data_index_upper_bound = std::min(
static_cast<uint64_t
>(
cd_offset) + cd_copy_size,
calldata_size);
74 padded_calldata.reserve(cd_copy_size);
76 for (
size_t i =
cd_offset; i < data_index_upper_bound; i++) {
77 padded_calldata.push_back(
calldata[i]);
80 padded_calldata.resize(cd_copy_size, MemoryValue::from<FF>(0));
82 return padded_calldata;
123 .numUnencryptedLogFields = side_effects.get_num_unencrypted_log_fields(),
124 .numL2ToL1Messages =
static_cast<uint32_t
>(side_effects.l2_to_l1_messages.size()),
147 uint64_t parent_cd_size_u64 =
static_cast<uint64_t
>(
parent_cd_size);
149 uint64_t data_index_upper_bound = std::min(
static_cast<uint64_t
>(
cd_offset) + cd_copy_size, parent_cd_size_u64);
152 padded_calldata.reserve(cd_copy_size);
154 for (uint32_t i =
cd_offset; i < data_index_upper_bound; i++) {
160 padded_calldata.resize(cd_copy_size, MemoryValue::from<FF>(0));
162 return padded_calldata;
203 .numUnencryptedLogFields = side_effects.get_num_unencrypted_log_fields(),
204 .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
PC get_pc() const override
std::unique_ptr< ContextInterface > child_context
std::vector< MemoryValue > get_returndata(uint32_t rd_offset, uint32_t rd_copy_size) const override
Get the returndata from the child context.
uint32_t get_context_id() const override
uint32_t get_last_child_id() const override
Get the last child id. This is the context id of the last child context. If there is no child context...
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
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
Get the calldata of the enqueued call context.
ContextEvent serialize_context_event() override
Serialize the enqueued call context into a ContextEvent.
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
Serialize the nested context into a ContextEvent.
std::vector< MemoryValue > get_calldata(uint32_t cd_offset, uint32_t cd_copy_size) const override
Get the calldata of the nested context. It is present in the parent memory.
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