## Description
Adds assertions to the public inputs from bytes function. The inputs are
expected to be concatenated which has caused some confusion. These new
assertions should give a more meaningful error msg to devs.
This also adds a `flatten` function for vectors.
## Test plan
Unit tests.
---
## Release notes
Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.
For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.
- [x] Protocol: Fail fast on invalid public inputs to Groth16 zk-proof
verification. Add a `flatten` Move function which flattens a vector of
vectors into a single vector. This introduces a new protocol version 59.
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK:
- [ ] REST API:
---------
Co-authored-by: Todd Nowacki <tmn@mystenlabs.com>