Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
data_copy.hpp
Go to the documentation of this file.
1#pragma once
2
9
10namespace bb::avm2::simulation {
11
13 public:
14 virtual ~DataCopyInterface() = default;
16 const uint32_t cd_copy_size,
17 const uint32_t cd_offset,
18 const MemoryAddress dst_addr) = 0;
20 const uint32_t rd_copy_size,
21 const uint32_t rd_offset,
22 const MemoryAddress dst_addr) = 0;
23};
24
26 public:
34
36 const uint32_t cd_copy_size,
37 const uint32_t cd_offset,
38 const MemoryAddress dst_addr) override;
40 const uint32_t rd_copy_size,
41 const uint32_t rd_offset,
42 const MemoryAddress dst_addr) override;
43
44 private:
45 uint64_t min(uint64_t a, uint64_t b);
46
50};
51
52} // namespace bb::avm2::simulation
ExecutionIdGetterInterface & execution_id_manager
Definition data_copy.hpp:47
uint64_t min(uint64_t a, uint64_t b)
Definition data_copy.cpp:60
EventEmitterInterface< DataCopyEvent > & events
Definition data_copy.hpp:49
void cd_copy(ContextInterface &context, const uint32_t cd_copy_size, const uint32_t cd_offset, const MemoryAddress dst_addr) override
Writes calldata into dst_addr. There is slight difference in how enqueued and nested contexts,...
Definition data_copy.cpp:87
GreaterThanInterface & gt
Definition data_copy.hpp:48
DataCopy(ExecutionIdGetterInterface &execution_id_manager, GreaterThanInterface &gt, EventEmitterInterface< DataCopyEvent > &event_emitter)
Definition data_copy.hpp:27
void rd_copy(ContextInterface &context, const uint32_t rd_copy_size, const uint32_t rd_offset, const MemoryAddress dst_addr) override
Copies returndata from the last executed context to the dst_addr.
virtual void rd_copy(ContextInterface &context, const uint32_t rd_copy_size, const uint32_t rd_offset, const MemoryAddress dst_addr)=0
virtual void cd_copy(ContextInterface &context, const uint32_t cd_copy_size, const uint32_t cd_offset, const MemoryAddress dst_addr)=0
EventEmitter< DataCopyEvent > event_emitter
uint32_t dst_addr
FF a
FF b
uint32_t MemoryAddress
uint32_t cd_offset