To make Honk work on Grumpkin we have to template the gates in https://github.com/AztecProtocol/barretenberg/blob/master/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp. Right know, to create as little friction as possible, each gate is foo_gate_<FF> and aliased foo_gate = foo_gate_<barretenberg::fr> because the majority of the codebase uses bn254. Ideally, to avoid having foo_gate and foo_gate_grumpkin we'd just want to make the gate type explicit because the structures in the file are primarily only used as function arguments (rather than being repeated in many palces). Moreover, the read/write operations only work with bn254 and this needs to be addressed.
To make Honk work on Grumpkin we have to template the gates in https://github.com/AztecProtocol/barretenberg/blob/master/cpp/src/barretenberg/proof_system/arithmetization/gate_data.hpp. Right know, to create as little friction as possible, each gate is
foo_gate_<FF>and aliasedfoo_gate=foo_gate_<barretenberg::fr>because the majority of the codebase uses bn254. Ideally, to avoid havingfoo_gateandfoo_gate_grumpkinwe'd just want to make the gate type explicit because the structures in the file are primarily only used as function arguments (rather than being repeated in many palces). Moreover, the read/write operations only work with bn254 and this needs to be addressed.