Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
poseidon2.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <array>
4#include <vector>
5
8
9namespace bb::avm2::simulation {
10
11// Forward declarations
12class MemoryInterface;
13
15 public:
16 virtual ~Poseidon2Interface() = default;
17 virtual FF hash(const std::vector<FF>& input) = 0;
18 virtual std::array<FF, 4> permutation(const std::array<FF, 4>& input) = 0;
19 // Overload for opcode execution that takes memory addresses
20 virtual void permutation(MemoryInterface& memory, MemoryAddress src_address, MemoryAddress dst_address) = 0;
21};
22
23} // namespace bb::avm2::simulation
virtual void permutation(MemoryInterface &memory, MemoryAddress src_address, MemoryAddress dst_address)=0
virtual FF hash(const std::vector< FF > &input)=0
virtual std::array< FF, 4 > permutation(const std::array< FF, 4 > &input)=0
uint32_t MemoryAddress
AvmFlavorSettings::FF FF
Definition field.hpp:10