2#include "barretenberg/numeric/uint256/uint256.hpp"
3#include "barretenberg/stdlib/commitment/pedersen/pedersen.hpp"
4#include "barretenberg/stdlib/primitives/bool/bool.hpp"
5#include "barretenberg/stdlib/primitives/field/field.hpp"
6#include "barretenberg/stdlib/primitives/group/cycle_group.hpp"
7#include "barretenberg/stdlib/primitives/witness/witness.hpp"
15using stdlib::cycle_group;
17using stdlib::pedersen_commitment;
18using stdlib::witness_t;
28 : address_(other.address_){};
39 operator fr() {
return address_; }
41 operator fr()
const {
return address_; }
43 constexpr bool operator==(
address const& other)
const {
return this->address_ == other.address_; }
45 friend std::ostream& operator<<(std::ostream& os,
address const& v) {
return os << v.address_; }
47 fr to_field()
const {
return address_; }
50 void msgpack_pack(
auto& packer)
const { address_.msgpack_pack(packer); }
51 void msgpack_unpack(
auto const& o) { address_.msgpack_unpack(o); }
53 void msgpack_schema(
auto& packer)
const { packer.pack_alias(
"Address",
"bin32"); }
56template <
typename B>
void read(B& it,
address& addr)
58 using serialize::read;
60 read(it, address_field);
64template <
typename B>
void write(B& buf, address
const& addr)
66 using serialize::write;
67 write(buf, addr.address_);
79 : address_(other.address_)
80 , context_(other.context_){};
88 , context_(
nullptr){};
92 , context_(
nullptr){};
97 context_ = witness.context;
102 address_ = other.address_;
103 context_ = other.context_;
113 fr get_value()
const {
return address_.get_value(); };
115 void assert_equal(
const address_t& rhs, std::string
const& msg =
"address_t::assert_equal")
const
120 void assert_is_in_set(
const std::vector<address_t>& set,
121 std::string
const& msg =
"address_t::assert_is_in_set")
const
123 std::vector<field_t<Builder>> field_set;
124 for (
const auto& e : set) {
125 field_set.push_back(e.address_);
127 address_.assert_is_in_set(field_set, msg);
143 friend std::ostream& operator<<(std::ostream& os,
address_t<Builder> const& v) {
return os << v.address_; }
Definition: uint256.hpp:25
Definition: standard_circuit_builder.hpp:12
Definition: address.hpp:71
Definition: address.hpp:21
cycle_group represents a group Element of the proving system's embedded curve i.e....
Definition: cycle_group.hpp:27
void assert_equal(const field_t &rhs, std::string const &msg="field_t::assert_equal") const
Constrain that this field is equal to the given field.
Definition: field.cpp:749
Definition: witness.hpp:10
Definition: widget.bench.cpp:13
static cycle_scalar create_from_bn254_scalar(const field_t &_in, bool skip_primality_test=false)
Use when we want to multiply a group element by a string of bits of known size. N....
Definition: cycle_group.cpp:610