The Taiga as a Product group consists of Vasily (co-lead), Joshua (co-lead), Xuyang, Alberto, Yulia, and Joe. It should be noted that two group members (Vasily and Alberto) had time off during this cycle and two others (Yulia and Joshua) were speaking at EthCC during this cycle.
## What we worked on
We began this cycle by choosing from a list of issues that were identified last cycle. The issues we chose to work on were:
- Taiga APIs
- Execution of Vamp-IR validity predicates
- Unify the number and layout of VP public inputs. Adjust the vp implementation accordingly
- Design the VP time awareness feature (block height, “epoch”, etc. as an input to VP)
- Taiga tutorial
- Internal write-ups on:
- Information flow control
- Lifecycle of a transaction
- How sender_vp and receiver_vp work, and what the app vp does with `app_data_static` and `app_data_dynamic`
- Overview of hashing functions
- Simplify the NullifierKey struct(minor modification) and add more annotation
- Improve the test mod(e.g. move the APIs that only are used in the test to the test mod)
- Blake2 hash circuit(vp commitment)
## What we accomplished
- Opened a PR for a Poseidon hash circuit in duplex mode to our fork of Halo2
- Opened PRs for the VerifierKey struct issue, simplification of the NullifierKey, and unification of public inputs with the verifier key.
- Reviewed and merged some PRs to Vamp-IR from Juvix <-> Taiga integration team regarding the Vamp-IR API, more PRs to be merged after EthCC
- Decided on the structure of public inputs
- Worked on a tutorial explanation of partial transactions
- Updated the Taiga spec
- Refined tests and made some API adjustments
## Conclusion
Despite absences due to EthCC and schedulued vacations, the TaaP team made some clear progress this week, especially on Taiga's interfaces with neighboring components. With these changes, the Anoma stack becomes more solidified and importantly, more easily tested end-to-end.