One of the changes that will need to happen here to propagate the backend changes through poseidon377 is making decaf377 a dependency of poseidon-parameters and poseidon-permutation instead of ark-ff (previously these two crates were generic over ark_ff::PrimeField)
TODO
[x] Propagate changes through poseidon-parameters - this compiles now on the target platform, all tests pass
[x] Propagate changes through poseidon-paramgen (i.e. make it use the latest poseidon-parameters) - may do this in a followup, it's not included currently as a build time dependency in favor of using the hardcoded existing parameter set, filed followup #58
[x] Propagate changes through poseidon-permutation - this compiles now on the target platform, all tests pass
[x] Propagate changes through poseidon377 - this compiles now on the target platform, all tests pass
Once generic_const_exprs is stabilized, these crates can be simplified significantly, e.g. the structs with parameters STATE_SIZE and STATE_SIZE_MINUS_1 can be STATE_SIZE, STATE_SIZE - 1. Similarly, NUM_ELEMENTS can be removed in favor of computing NUM_ROWS * NUM_COLS - filed as #57
Followup to restore poseidon-paramgen - #58
Test Plan
We're testing each package builds in the target environment via:
Work towards #3675
One of the changes that will need to happen here to propagate the backend changes through
poseidon377
is makingdecaf377
a dependency ofposeidon-parameters
andposeidon-permutation
instead ofark-ff
(previously these two crates were generic overark_ff::PrimeField
)TODO
poseidon-parameters
- this compiles now on the target platform, all tests passposeidon-paramgen
(i.e. make it use the latestposeidon-parameters
) - may do this in a followup, it's not included currently as a build time dependency in favor of using the hardcoded existing parameter set, filed followup #58poseidon-permutation
- this compiles now on the target platform, all tests passposeidon377
- this compiles now on the target platform, all tests passFq
) into decaf377: preparing here https://github.com/penumbra-zone/decaf377/pull/98Followups
generic_const_exprs
is stabilized, these crates can be simplified significantly, e.g. the structs with parametersSTATE_SIZE
andSTATE_SIZE_MINUS_1
can beSTATE_SIZE, STATE_SIZE - 1
. Similarly,NUM_ELEMENTS
can be removed in favor of computingNUM_ROWS * NUM_COLS
- filed as #57poseidon-paramgen
- #58Test Plan
We're testing each package builds in the target environment via: