Skip to content

Simulator issues relating to Pedersen hash #670

@codygunton

Description

@codygunton

It took some hacking to us the correct version of pedersen in various places. Here is a note I wrote to myself:

The circuit type (formerly “composer type”) is put in the vk. I don’t actually understand why. This means that UltraPlonk is hard-coded in at least 93 places in artifacts uses by e2e tests. So I need to make the simulator’s CircuitType be UltraPlonk. On the one hand, I think we should make sure somehow that the circuit simulator is actually using the UP code paths, but we don’t do that. In the common_contract_logic function, private_call_vk_hash is computed via the recursive code path, where HasPlookup determines the output. I can’t set HasPlookup for some reason. On the other hand, in abis__hash_vk, the hash is computed through compress_native in a vk datum, and here we determine whether to use lookups at runtime.

I've already discussed the vk issue here: #562. I would spend more energy understanding what's going on with Pedersen, but it sounds most efficient to wait for the new Pedersen hash be introduced--it makes more sense to undwind the hacks then, rather than to refactor now and then unwind them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions